xchess
Version:
Chess Engine
136 lines (102 loc) • 3.14 kB
JavaScript
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_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`);
}