UNPKG

xchess

Version:

Chess Engine

148 lines (111 loc) 3.48 kB
export function INVALID_GAME_VALUE(value){ return new TypeError('invalid game value'); } export function INVALID_GAME_CONFIG(config){ return new TypeError('invalid game config'); } export function INVALID_COLOR(value){ return new TypeError('invalid color'); } export function INVALID_RANK(value){ return new TypeError('invalid board rank'); } export function INVALID_FILE(value){ return new TypeError('invalid board file'); } export function INVALID_SQUARE(value){ return new TypeError('invalid board square'); } export function INVALID_PIECE(value){ return new TypeError('invalid piece'); } export function INVALID_PIECE_CLASS(value){ return new TypeError('expected a subclass of Piece'); } export function INVALID_PIECE_CLASS_LIST(value){ return new TypeError('expected an iterable of subclasses of Piece'); } export function INVALID_BOARD(value){ return new TypeError('invalid board'); } export function INVALID_PIECE_TYPE(value){ return new TypeError('invalid piece type'); } export function INVALID_PIECE_LIST(value){ return new TypeError('invalid piece list'); } export function INVALID_PIECE_COLOR(color){ return new Error(`required ${color.invert()} piece`); } export function INVALID_MOVE_COUNT(value){ return new TypeError('invalid moveCount'); } export function INVALID_STATE_COUNT(value){ return new TypeError('invalid state count'); } export function INVALID_STATE_COUNTER(value){ return new TypeError('invalid state counter'); } export function INVALID_FULLMOVE_NUMBER(value){ return new TypeError('invalid fullmoveNumber'); } export function INVALID_HALFMOVE_CLOCK(value){ return new TypeError('invalid halfmoveClock'); } export function INVALID_DOUBLE_MOVE_PAWN(value){ return new TypeError('invalid doubleMovePawn'); } export function FOREIGN_PAWN(pawn){ return new TypeError('foreign pawn'); } export function INVALID_MOVE_VALUE(value){ return new TypeError(`invalid move value`); } export function INVALID_MOVE_STRING(value){ return new TypeError(`invalid move value '${value}'`); } export function AMBIGUOUS_MOVE(value){ return new Error(`ambiguous move '${value}'`); } export function MOVE_PROMOTION_NOT_AVAILABLE(move){ return new Error(`move '${move}' promotion not available`); } export function PAWN_REQUERED(piece){ return new Error('pawn requered'); } export function SQUARE_IS_EMPTY(square){ return new Error(`square "${square}" is empty`); } export function MOVE_NOT_AVAILABLE(value){ return new Error(`move ${value} not available`); } export function GAME_READONLY(){ return new Error('game is readonly'); } export function GAME_NOT_STARTED(){ return new Error('game not started'); } export function GAME_OVER(){ return new Error('game over'); } export function PROMOTION_NOT_AVAILABLE(){ return new Error('promotion not available'); } export function PROMOTION_REQUIRED(){ return new Error('promotion required'); } export function DRAW_NOT_AVAILABLE(){ return new Error('draw not available'); } export function INVALID_META_TAG(tag){ return new Error(`invalid meta tag '${tag}'`); } export function INVALID_META_VALUE(value){ return new Error(`invalid meta value '${value}'`); } export function INVALID_COLOR_OR_COLOR_LIST(value){ return new TypeError(`the provided value is neither a valid color nor an iterable containing a valid combination of these colors`); } export function DUPLICATE_PIECE_IDENTIFIER(value){ return new Error(`duplicate piece identifier '${value}'`); }