@gamepark/rules-api
Version:
API to implement the rules of a board game
7 lines (6 loc) • 405 B
TypeScript
import { EnumArrayOption } from './EnumArrayOption';
import { EnumOption } from './EnumOption';
import { Option } from './Option';
import { PlayerEnumOption } from './PlayerEnumOption';
export type OptionSpecOf<T> = [T] extends [boolean] ? Option : [T] extends [any[]] ? EnumArrayOption<T[number]> : EnumOption<T>;
export type PlayerOptionSpecOf<T> = [T] extends [boolean] ? Option : PlayerEnumOption<T>;