@minofrk/msf-io-ts
Version:
Type utilities with io-ts for MSF format.
40 lines • 885 B
JavaScript
import { union, literal, type, tuple } from 'io-ts';
import { Arxe, Sorn } from './piece';
export var Coordinate = union([
literal(0),
literal(1),
literal(2),
literal(3),
literal(4),
literal(5),
literal(6),
]);
export var Position = type({
alsia: Coordinate,
soom: Coordinate,
});
export var FromTo = type({
i: Position,
a: Position,
});
export var LeimMove = type({
pit: literal('leim'),
luul: tuple([FromTo]),
});
export var OkkeMove = type({
pit: literal('okke'),
luul: tuple([FromTo, FromTo]),
});
export var KorMove = type({
pit: literal('kor'),
ka: Position,
});
export var EvMove = type({
pit: literal('ev'),
evol: union([Arxe, Sorn]),
});
export var SedMove = type({
pit: literal('sed'),
});
export var Move = union([LeimMove, OkkeMove, KorMove, EvMove, SedMove]);
//# sourceMappingURL=move.js.map