@gamepark/rules-api
Version:
API to implement the rules of a board game
15 lines (14 loc) • 673 B
TypeScript
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[];