UNPKG

1.69 kBJavaScriptView Raw
1"use strict";
2var load_1 = require("./load");
3var nextId_1 = require("../nextId");
4var log = require('debug')('redux-dag-history:DagHistory');
5function 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}
50Object.defineProperty(exports, "__esModule", { value: true });
51exports.default = createHistory;