All files / domain MoveBuffer.res.mjs

100% Statements 10/10
100% Branches 2/2
100% Functions 8/8
100% Lines 10/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64        7x             315x 315x 315x             4x             2x             1x             2x       5x       3x                            
// Generated by ReScript, PLEASE EDIT WITH CARE
 
 
function initial() {
  return {
    recent: [],
    solution: []
  };
}
 
function pushRecent(state, move) {
  let recent = state.recent.concat([move]);
  let recent$1 = recent.length > 256 ? recent.slice(recent.length - 256 | 0) : recent;
  return {
    recent: recent$1,
    solution: state.solution
  };
}
 
function pushSolution(state, move) {
  return {
    recent: state.recent,
    solution: state.solution.concat([move])
  };
}
 
function clearSolution(state) {
  return {
    recent: state.recent,
    solution: []
  };
}
 
function reset(param) {
  return {
    recent: [],
    solution: []
  };
}
 
function recentReady(state) {
  return state.recent.length > 10;
}
 
function recentMoves(state) {
  return state.recent;
}
 
function solutionMoves(state) {
  return state.solution;
}
 
export {
  initial,
  pushRecent,
  pushSolution,
  clearSolution,
  reset,
  recentReady,
  recentMoves,
  solutionMoves,
}
/* No side effect */