1 | "use strict";
|
2 | var load_1 = require("./load");
|
3 | var nextId_1 = require("../nextId");
|
4 | var log = require('debug')('redux-dag-history:DagHistory');
|
5 | function createHistory(initialState, config) {
|
6 | if (initialState === void 0) { initialState = {}; }
|
7 | log('creating history');
|
8 | var stateId = nextId_1.default();
|
9 | var branchId = nextId_1.default();
|
10 | var initialStateName = config.initialStateName, initialBranchName = config.initialBranchName;
|
11 | var initialStateData = {
|
12 | name: initialStateName,
|
13 | branch: 1,
|
14 | };
|
15 | var stateHash = {};
|
16 | if (config.stateKeyGenerator) {
|
17 | var initialHash = config.stateKeyGenerator(initialState);
|
18 | stateHash[initialHash] = stateId;
|
19 | initialStateData['hash'] = initialHash;
|
20 | }
|
21 | return load_1.default({
|
22 | current: initialState,
|
23 | graph: {
|
24 | lastStateId: stateId,
|
25 | lastBranchId: branchId,
|
26 | stateHash: stateHash,
|
27 | chronologicalStates: [stateId],
|
28 | current: {
|
29 | state: stateId,
|
30 | branch: branchId,
|
31 | },
|
32 | branches: (_a = {},
|
33 | _a[branchId] = {
|
34 | latest: stateId,
|
35 | name: initialBranchName,
|
36 | first: stateId,
|
37 | committed: stateId,
|
38 | },
|
39 | _a),
|
40 | states: (_b = {},
|
41 | _b[stateId] = initialStateData,
|
42 | _b),
|
43 | physicalStates: (_c = {},
|
44 | _c[stateId] = initialState,
|
45 | _c),
|
46 | },
|
47 | });
|
48 | var _a, _b, _c;
|
49 | }
|
50 | Object.defineProperty(exports, "__esModule", { value: true });
|
51 | exports.default = createHistory;
|