UNPKG

@gamepark/rules-api

Version:

API to implement the rules of a board game

15 lines (14 loc) 673 B
import { EnumOption } from './EnumOption'; export type PlayerEnumOption<T = any> = EnumOption<T> & { mandatory?: (players: number) => T[]; unavailable?: (players: number) => T[]; share?: boolean; optional?: boolean; }; export type PlayerIdOption<T = any> = PlayerEnumOption<T> & { share?: false; optional?: false; }; export declare function getPlayersMandatoryValues<T = any>(spec: PlayerEnumOption<T>, players: number): T[]; export declare function getPlayersAvailableValues<T = any>(spec: PlayerEnumOption<T>, players: number): T[]; export declare function generatePlayersOption<T>(playersChoices: (T | null)[], option: PlayerEnumOption<T>): T[];