UNPKG

dash-renderer

Version:

render dash components in react

60 lines (59 loc) 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var initialHistory = { past: [], present: {}, future: [] }; function history() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialHistory; var action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case 'UNDO': { var past = state.past, present = state.present, future = state.future; var previous = past[past.length - 1]; var newPast = past.slice(0, past.length - 1); return { past: newPast, present: previous, future: [present, ...future] }; } case 'REDO': { var _past = state.past, _present = state.present, _future = state.future; var next = _future[0]; var newFuture = _future.slice(1); return { past: [..._past, _present], present: next, future: newFuture }; } case 'REVERT': { var _past2 = state.past, _future2 = state.future; var _previous = _past2[_past2.length - 1]; var _newPast = _past2.slice(0, _past2.length - 1); return { past: _newPast, present: _previous, future: [..._future2] }; } default: { return state; } } } var _default = exports.default = history;