0.2.0 • Published 6 years ago
@minofrk/msf-io-ts v0.2.0
@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-tsCodecs
局面、指し手、棋譜
- 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