@minofrk/msf-io-ts
MSF 形式を TypeScript で取り扱う上で有用そうな型を io-ts のコーデックとして用意しています。
import { Move } from '@minofrk/msf-io-ts';
// ...
const something = JSON.parse(json);
if (!Move.is(something)) {
throw new TypeError();
}
const move: Move = something;
その他、有用そうな型エイリアスと関数も用意されています(下記参照)
Install
npm install @minofrk/msf-io-ts
加えて io-ts と fp-ts もインストールします(既にあれば不要です)
npm install io-ts fp-ts
Codecs
局面、指し手、棋譜
State
-
Move
LeimMove
OkkeMove
KorMove
EvMove
SedMove
MSFType
駒
Arxe
Sorn
Piece
Teems
TurnablePiece
その他
-
FalaType
... 0 以上 2147483647 以下の整数 -
DateTimeString
... RFC 3339 に準拠した文字列 Player
-
Coordinate
... 0 以上 6 以下の整数 Position
FromTo
Type aliases
上述したコーデックはそのまま型エイリアスとしても使用できます。
加えて以下の型が用意されています。
ReadonlyState
-
ReadonlyMove
ReadonlyLeimMove
ReadonlyOkkeMove
ReadonlyKorMove
ReadonlyEvMove
ReadonlySedMove
ReadonlyMSFType
ReadonlyPosition
ReadonlyFromTo
Strict validators
仕様への準拠を完全に検査するための関数です。指し手の検査は Move.is()
で既に完全なので isSpecCompliantMove()
はありません。
isSpecCompliantState()
isSpecCompliantMSFType()
License
See LICENSE