- // https://stackoverflow.com/a/38750895
- const allowed = ['appear', 'vanish', 'start', 'end'];
- const filtered_move = Object.keys(o.move)
- .filter(key => allowed.includes(key))
- .reduce((obj, key) => {
- obj[key] = raw[key];
- return obj;
- }, {});
- gameState.moves.push(filtered_move);
- gameState.fen = o.move.fen;
- const colorIdx = ["w","b","g","r"][o.move.color];
- gameState.clocks[colorIdx] = o.move.clock;