1 | "use strict";
|
2 | var DagGraph_1 = require("../DagGraph");
|
3 | var unfreeze_1 = require("./unfreeze");
|
4 | var log = require('debug')('redux-dag-history:DagHistory');
|
5 | function jump(stateId, history, callback) {
|
6 | if (callback === void 0) { callback = function () { return ({}); }; }
|
7 | var graph = history.graph;
|
8 | var reader = new DagGraph_1.default(graph);
|
9 | var targetState = reader.getState(stateId);
|
10 | return {
|
11 | current: unfreeze_1.default(targetState),
|
12 | graph: graph.withMutations(function (g) {
|
13 | var writer = new DagGraph_1.default(g)
|
14 | .setCurrentStateId(stateId);
|
15 | callback(writer);
|
16 | }),
|
17 | };
|
18 | }
|
19 | exports.jump = jump;
|
20 | function jumpLog(stateId, history, callback) {
|
21 | if (callback === void 0) { callback = function () { return ({}); }; }
|
22 | var graph = history.graph;
|
23 | var alternateParent = new DagGraph_1.default(graph).currentStateId;
|
24 | return jump(stateId, history, function (writer) {
|
25 | writer.setAlternateParent(stateId, alternateParent);
|
26 | callback(writer);
|
27 | });
|
28 | }
|
29 | exports.jumpLog = jumpLog;
|