@minofrk/msf-io-ts
Version:
Type utilities with io-ts for MSF format.
42 lines • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var io_ts_1 = require("io-ts");
var piece_1 = require("./piece");
exports.Coordinate = io_ts_1.union([
io_ts_1.literal(0),
io_ts_1.literal(1),
io_ts_1.literal(2),
io_ts_1.literal(3),
io_ts_1.literal(4),
io_ts_1.literal(5),
io_ts_1.literal(6),
]);
exports.Position = io_ts_1.type({
alsia: exports.Coordinate,
soom: exports.Coordinate,
});
exports.FromTo = io_ts_1.type({
i: exports.Position,
a: exports.Position,
});
exports.LeimMove = io_ts_1.type({
pit: io_ts_1.literal('leim'),
luul: io_ts_1.tuple([exports.FromTo]),
});
exports.OkkeMove = io_ts_1.type({
pit: io_ts_1.literal('okke'),
luul: io_ts_1.tuple([exports.FromTo, exports.FromTo]),
});
exports.KorMove = io_ts_1.type({
pit: io_ts_1.literal('kor'),
ka: exports.Position,
});
exports.EvMove = io_ts_1.type({
pit: io_ts_1.literal('ev'),
evol: io_ts_1.union([piece_1.Arxe, piece_1.Sorn]),
});
exports.SedMove = io_ts_1.type({
pit: io_ts_1.literal('sed'),
});
exports.Move = io_ts_1.union([exports.LeimMove, exports.OkkeMove, exports.KorMove, exports.EvMove, exports.SedMove]);
//# sourceMappingURL=move.js.map