UNPKG

@minofrk/msf-io-ts

Version:

Type utilities with io-ts for MSF format.

64 lines (57 loc) 1.12 kB
import { keyof, union, literal, TypeOf } from 'io-ts'; export const Arxe = keyof({ dia: null, vio: null, lis: null, gil: null, ful: null, dyu: null, mel: null, ral: null, zan: null, pal: null, mik: null, fav: null, ruj: null, ser: null, }); export const Sorn = keyof({ rav: null, tan: null, lin: null, rez: null, jil: null, din: null, ket: null, len: null, lax: null, nen: null, pin: null, mat: null, kun: null, mir: null, }); export const Teems = literal('tem'); export const Piece = union([Arxe, Sorn, Teems]); export const TurnablePiece = keyof({ pal: null, ful: null, mik: null, fav: null, zan: null, gil: null, ruj: null, tan: null, jil: null, lax: null, mat: null, kun: null, rez: null, din: null, tem: null, }); export type Arxe = TypeOf<typeof Arxe>; export type Sorn = TypeOf<typeof Sorn>; export type Teems = TypeOf<typeof Teems>; export type Piece = TypeOf<typeof Piece>; export type TurnablePiece = TypeOf<typeof TurnablePiece>;