UNPKG

onix-chess-game

Version:
40 lines (38 loc) 1.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createBoardStore = exports.boardReducer = void 0; const onix_board_assets_1 = require("onix-board-assets"); const redux_1 = require("redux"); const BoardActions_1 = require("./BoardActions"); const onix_chess_1 = require("onix-chess"); const INITIAL_STATE = { is3d: false, size: onix_board_assets_1.BoardSize.Normal, piece: "alpha", square: "color-brown", orientation: 'white', coordinates: true, }; const boardReducer = (state = INITIAL_STATE, action) => { switch (action.type) { case BoardActions_1.FLIP_BOARD: const { orientation } = state; const bwOrientation = onix_chess_1.Color.fromName(orientation); return Object.assign(Object.assign({}, state), { orientation: onix_chess_1.Color.toName(onix_chess_1.Color.flip(bwOrientation)) }); case BoardActions_1.SET_COORDS: const { coordinates } = state; return Object.assign(Object.assign({}, state), { coordinates: !coordinates }); case BoardActions_1.CHANGE_SIZE: return Object.assign(Object.assign({}, state), { size: action.size }); case BoardActions_1.SET_PIECE: return Object.assign(Object.assign({}, state), { piece: action.piece }); case BoardActions_1.SET_SQUARE: return Object.assign(Object.assign({}, state), { square: action.square }); default: return state; } }; exports.boardReducer = boardReducer; const createBoardStore = (preloadedState) => redux_1.createStore(exports.boardReducer, preloadedState); exports.createBoardStore = createBoardStore; //# sourceMappingURL=BoardReducer.js.map