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
局面、指し手、棋譜
StateMoveLeimMoveOkkeMoveKorMoveEvMoveSedMove
MSFType
駒
ArxeSornPieceTeemsTurnablePiece
その他
FalaType... 0 以上 2147483647 以下の整数DateTimeString... RFC 3339 に準拠した文字列PlayerCoordinate... 0 以上 6 以下の整数PositionFromTo
Type aliases
上述したコーデックはそのまま型エイリアスとしても使用できます。
加えて以下の型が用意されています。
ReadonlyStateReadonlyMoveReadonlyLeimMoveReadonlyOkkeMoveReadonlyKorMoveReadonlyEvMoveReadonlySedMove
ReadonlyMSFTypeReadonlyPositionReadonlyFromTo
Strict validators
仕様への準拠を完全に検査するための関数です。指し手の検査は Move.is() で既に完全なので isSpecCompliantMove() はありません。
isSpecCompliantState()isSpecCompliantMSFType()
License
See LICENSE