@minofrk/msf-io-ts
TypeScript icon, indicating that this package has built-in type declarations

0.2.0 • Public • Published

@minofrk/msf-io-ts

NPM Version License Build Status codecov

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-tsfp-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

Readme

Keywords

Package Sidebar

Install

npm i @minofrk/msf-io-ts

Weekly Downloads

2

Version

0.2.0

License

MIT

Unpacked Size

117 kB

Total Files

129

Last publish

Collaborators

  • minofrk