document-model 4.1.0-dev.9 → 4.1.0-staging.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/index.d.ts +8 -7
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +5 -4
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/document/actions/creators.d.ts +2 -2
  6. package/dist/src/document/actions/creators.d.ts.map +1 -1
  7. package/dist/src/document/actions/creators.js +1 -1
  8. package/dist/src/document/actions/creators.js.map +1 -1
  9. package/dist/src/document/actions/operations.d.ts +5 -5
  10. package/dist/src/document/actions/operations.d.ts.map +1 -1
  11. package/dist/src/document/actions/operations.js +11 -9
  12. package/dist/src/document/actions/operations.js.map +1 -1
  13. package/dist/src/document/object.d.ts +3 -3
  14. package/dist/src/document/object.d.ts.map +1 -1
  15. package/dist/src/document/object.js +1 -1
  16. package/dist/src/document/object.js.map +1 -1
  17. package/dist/src/document/ph-factories.d.ts +34 -3
  18. package/dist/src/document/ph-factories.d.ts.map +1 -1
  19. package/dist/src/document/ph-factories.js +64 -33
  20. package/dist/src/document/ph-factories.js.map +1 -1
  21. package/dist/src/document/ph-types.d.ts +10 -2
  22. package/dist/src/document/ph-types.d.ts.map +1 -1
  23. package/dist/src/document/reducer.d.ts +4 -4
  24. package/dist/src/document/reducer.d.ts.map +1 -1
  25. package/dist/src/document/reducer.js +27 -29
  26. package/dist/src/document/reducer.js.map +1 -1
  27. package/dist/src/document/schema/types.d.ts +13 -1
  28. package/dist/src/document/schema/types.d.ts.map +1 -1
  29. package/dist/src/document/schema/zod.d.ts +31 -2
  30. package/dist/src/document/schema/zod.d.ts.map +1 -1
  31. package/dist/src/document/schema/zod.js +23 -11
  32. package/dist/src/document/schema/zod.js.map +1 -1
  33. package/dist/src/document/types.d.ts +58 -62
  34. package/dist/src/document/types.d.ts.map +1 -1
  35. package/dist/src/document/utils/base.d.ts +5 -6
  36. package/dist/src/document/utils/base.d.ts.map +1 -1
  37. package/dist/src/document/utils/base.js +31 -30
  38. package/dist/src/document/utils/base.js.map +1 -1
  39. package/dist/src/document/utils/crypto.d.ts +5 -5
  40. package/dist/src/document/utils/crypto.d.ts.map +1 -1
  41. package/dist/src/document/utils/crypto.js +25 -15
  42. package/dist/src/document/utils/crypto.js.map +1 -1
  43. package/dist/src/document/utils/document-helpers.d.ts +9 -14
  44. package/dist/src/document/utils/document-helpers.d.ts.map +1 -1
  45. package/dist/src/document/utils/document-helpers.js +47 -17
  46. package/dist/src/document/utils/document-helpers.js.map +1 -1
  47. package/dist/src/document/utils/file.d.ts.map +1 -1
  48. package/dist/src/document/utils/file.js.map +1 -1
  49. package/dist/src/document/utils/header.js.map +1 -1
  50. package/dist/src/document/utils/validation.js +1 -1
  51. package/dist/src/document/utils/validation.js.map +1 -1
  52. package/dist/src/document-model/gen/object.d.ts +2 -2
  53. package/dist/src/document-model/gen/object.d.ts.map +1 -1
  54. package/dist/src/document-model/gen/object.js.map +1 -1
  55. package/dist/src/document-model/gen/schema/zod.d.ts +6 -6
  56. package/dist/src/document-model/gen/schema/zod.d.ts.map +1 -1
  57. package/dist/src/document-model/gen/types.d.ts +2 -2
  58. package/dist/src/document-model/gen/types.d.ts.map +1 -1
  59. package/dist/src/document-model/gen/utils.d.ts +1 -2
  60. package/dist/src/document-model/gen/utils.d.ts.map +1 -1
  61. package/dist/src/document-model/gen/utils.js +6 -8
  62. package/dist/src/document-model/gen/utils.js.map +1 -1
  63. package/dist/test/document/crypto.test.js +25 -48
  64. package/dist/test/document/crypto.test.js.map +1 -1
  65. package/dist/test/document/event-vs-command.test.js +80 -50
  66. package/dist/test/document/event-vs-command.test.js.map +1 -1
  67. package/dist/test/document/local.test.js +26 -43
  68. package/dist/test/document/local.test.js.map +1 -1
  69. package/dist/test/document/operation-id.test.js +4 -6
  70. package/dist/test/document/operation-id.test.js.map +1 -1
  71. package/dist/test/document/prune.test.js +21 -34
  72. package/dist/test/document/prune.test.js.map +1 -1
  73. package/dist/test/document/reducer.test.js +99 -76
  74. package/dist/test/document/reducer.test.js.map +1 -1
  75. package/dist/test/document/skip-operations.test.js +65 -85
  76. package/dist/test/document/skip-operations.test.js.map +1 -1
  77. package/dist/test/document/undo-redo.test.js +60 -34
  78. package/dist/test/document/undo-redo.test.js.map +1 -1
  79. package/dist/test/document/utils.test.js +49 -36
  80. package/dist/test/document/utils.test.js.map +1 -1
  81. package/dist/test/document-helpers/addUndo.test.js +1 -1
  82. package/dist/test/document-helpers/addUndo.test.js.map +1 -1
  83. package/dist/test/document-helpers/attachBranch.test.js +20 -20
  84. package/dist/test/document-helpers/attachBranch.test.js.map +1 -1
  85. package/dist/test/document-helpers/conflictResolution.test.js +10 -10
  86. package/dist/test/document-helpers/conflictResolution.test.js.map +1 -1
  87. package/dist/test/document-helpers/groupOperationsByScope.test.js +70 -70
  88. package/dist/test/document-helpers/groupOperationsByScope.test.js.map +1 -1
  89. package/dist/test/document-helpers/merge.test.js +125 -125
  90. package/dist/test/document-helpers/merge.test.js.map +1 -1
  91. package/dist/test/document-helpers/removeExistingOperations.test.js +37 -24
  92. package/dist/test/document-helpers/removeExistingOperations.test.js.map +1 -1
  93. package/dist/test/document-helpers/reshuffleByTimestamp.test.js +15 -15
  94. package/dist/test/document-helpers/reshuffleByTimestamp.test.js.map +1 -1
  95. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js +21 -21
  96. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js.map +1 -1
  97. package/dist/test/document-helpers/skipHeaderOperations.test.js +33 -40
  98. package/dist/test/document-helpers/skipHeaderOperations.test.js.map +1 -1
  99. package/dist/test/document-helpers/split.test.js +2 -2
  100. package/dist/test/document-helpers/split.test.js.map +1 -1
  101. package/dist/test/document-helpers/utils.d.ts +1 -0
  102. package/dist/test/document-helpers/utils.d.ts.map +1 -1
  103. package/dist/test/document-helpers/utils.js +13 -8
  104. package/dist/test/document-helpers/utils.js.map +1 -1
  105. package/dist/test/document-model/replay.test.js +3 -20
  106. package/dist/test/document-model/replay.test.js.map +1 -1
  107. package/dist/test/document-model/skip-operations.test.js +4 -5
  108. package/dist/test/document-model/skip-operations.test.js.map +1 -1
  109. package/dist/test/document-model/validation.test.js.map +1 -1
  110. package/dist/test/document-model/zip.test.js +1 -1
  111. package/dist/test/document-model/zip.test.js.map +1 -1
  112. package/dist/test/helpers.d.ts +25 -2
  113. package/dist/test/helpers.d.ts.map +1 -1
  114. package/dist/test/helpers.js +55 -6
  115. package/dist/test/helpers.js.map +1 -1
  116. package/dist/tsconfig.tsbuildinfo +1 -1
  117. package/package.json +4 -2
@@ -2,49 +2,49 @@ import { beforeAll, describe, expect, it, vi } from "vitest";
2
2
  import { generateId } from "../../index.js";
3
3
  import { setName } from "../../src/document/actions/creators.js";
4
4
  import { SET_NAME } from "../../src/document/actions/types.js";
5
- import { baseCreateDocument, baseCreateExtendedState, createAction, createReducer, } from "../../src/document/utils/base.js";
6
- import { countReducer, error, increment, wrappedEmptyReducer, } from "../helpers.js";
5
+ import { baseCreateDocument, createAction, createReducer, } from "../../src/document/utils/base.js";
6
+ import { countReducer, createBaseState, createCountDocumentState, defaultPHDocumentCreateState, error, fakeAction, increment, wrappedEmptyReducer, } from "../helpers.js";
7
7
  describe("Base reducer", () => {
8
8
  beforeAll(() => {
9
9
  vi.useFakeTimers().setSystemTime(new Date("2020-01-01"));
10
10
  });
11
11
  it("should update revision", async () => {
12
- const document = baseCreateDocument();
13
- const newDocument = wrappedEmptyReducer(document, {
12
+ const document = baseCreateDocument(defaultPHDocumentCreateState);
13
+ const newDocument = wrappedEmptyReducer(document, fakeAction({
14
14
  type: "TEST",
15
15
  input: {},
16
16
  scope: "global",
17
- });
17
+ }));
18
18
  expect(newDocument.header.revision.global).toBe(1);
19
19
  });
20
20
  it("should update lastModified", async () => {
21
21
  vi.useFakeTimers();
22
- const document = baseCreateDocument();
22
+ const document = baseCreateDocument(defaultPHDocumentCreateState);
23
23
  await new Promise((r) => {
24
24
  setTimeout(r, 100);
25
25
  vi.runOnlyPendingTimers();
26
26
  });
27
- const newDocument = wrappedEmptyReducer(document, {
27
+ const newDocument = wrappedEmptyReducer(document, fakeAction({
28
28
  type: "TEST",
29
29
  input: {},
30
30
  scope: "global",
31
- });
31
+ }));
32
32
  expect(newDocument.header.lastModifiedAtUtcIso >
33
33
  document.header.lastModifiedAtUtcIso).toBe(true);
34
34
  vi.useRealTimers();
35
35
  });
36
36
  it("should update global operations list", async () => {
37
37
  vi.useFakeTimers({ now: new Date("2023-01-01") });
38
- const document = baseCreateDocument();
39
- const newDocument = wrappedEmptyReducer(document, {
38
+ const document = baseCreateDocument(defaultPHDocumentCreateState);
39
+ const newDocument = wrappedEmptyReducer(document, fakeAction({
40
40
  type: "TEST",
41
41
  input: {},
42
42
  scope: "global",
43
- });
43
+ }));
44
44
  expect(newDocument.operations.global).toMatchObject([
45
45
  {
46
46
  type: "TEST",
47
- timestamp: new Date().toISOString(),
47
+ timestampUtcMs: new Date().toISOString(),
48
48
  index: 0,
49
49
  skip: 0,
50
50
  input: {},
@@ -64,6 +64,8 @@ describe("Base reducer", () => {
64
64
  it("should create SET_NAME action", () => {
65
65
  const setNameAction = setName("Document");
66
66
  expect(setNameAction).toStrictEqual({
67
+ id: setNameAction.id,
68
+ timestampUtcMs: setNameAction.timestampUtcMs,
67
69
  type: SET_NAME,
68
70
  input: "Document",
69
71
  scope: "global",
@@ -73,21 +75,21 @@ describe("Base reducer", () => {
73
75
  expect(() => setName(1)).toThrow();
74
76
  });
75
77
  it("should set document name", async () => {
76
- const document = baseCreateDocument();
78
+ const document = baseCreateDocument(defaultPHDocumentCreateState);
77
79
  const newDocument = wrappedEmptyReducer(document, setName("Document"));
78
80
  expect(newDocument.header.name).toBe("Document");
79
81
  });
80
82
  it("should throw error on invalid base action", async () => {
81
- const document = baseCreateDocument();
82
- expect(() => wrappedEmptyReducer(document, {
83
+ const document = baseCreateDocument(defaultPHDocumentCreateState);
84
+ expect(() => wrappedEmptyReducer(document, fakeAction({
83
85
  type: "SET_NAME",
84
86
  input: 0,
85
87
  scope: "global",
86
- })).toThrow();
88
+ }))).toThrow();
87
89
  });
88
90
  it("should dispatch trigger action", async () => {
89
91
  expect.assertions(3);
90
- const document = baseCreateDocument();
92
+ const document = baseCreateDocument(defaultPHDocumentCreateState);
91
93
  const id = generateId();
92
94
  const reducer = createReducer((_state, action, dispatch) => {
93
95
  if (action.type === "CREATE_DOCUMENT") {
@@ -101,11 +103,11 @@ describe("Base reducer", () => {
101
103
  }
102
104
  return _state;
103
105
  });
104
- const triggerAction = {
106
+ const triggerAction = fakeAction({
105
107
  type: "CREATE_DOCUMENT",
106
108
  input: "",
107
109
  scope: "global",
108
- };
110
+ });
109
111
  reducer(document, triggerAction, (action) => {
110
112
  expect(action.type).toBe("CREATE_CHILD_DOCUMENT");
111
113
  const input = action.input;
@@ -115,86 +117,113 @@ describe("Base reducer", () => {
115
117
  });
116
118
  });
117
119
  it("should throw an error when there is a missing index operation", () => {
118
- let document = baseCreateDocument();
119
- document = wrappedEmptyReducer(document, {
120
+ let document = baseCreateDocument(defaultPHDocumentCreateState);
121
+ document = wrappedEmptyReducer(document, fakeAction({
120
122
  type: "TEST_0",
121
123
  input: {},
122
124
  scope: "global",
123
- });
124
- document = wrappedEmptyReducer(document, {
125
+ }));
126
+ document = wrappedEmptyReducer(document, fakeAction({
125
127
  type: "TEST_1",
126
128
  input: {},
127
129
  scope: "global",
130
+ }));
131
+ const action = fakeAction({
132
+ type: "TEST_2",
133
+ input: {},
134
+ scope: "global",
135
+ index: 3,
128
136
  });
129
137
  expect(() => {
130
- wrappedEmptyReducer(document, {
131
- type: "TEST_2",
132
- input: {},
133
- scope: "global",
134
- index: 3,
138
+ wrappedEmptyReducer(document, action, undefined, {
139
+ replayOptions: {
140
+ operation: {
141
+ action,
142
+ hash: "",
143
+ timestampUtcMs: action.timestampUtcMs,
144
+ index: 3,
145
+ skip: 0,
146
+ },
147
+ },
135
148
  });
136
149
  }).toThrow("Missing operations: expected 2 with skip 0 or equivalent, got index 3 with skip 0");
137
150
  });
138
151
  it("should throw an error when there is a missing index operation + skip", () => {
139
- let document = baseCreateDocument();
140
- document = wrappedEmptyReducer(document, {
152
+ let document = baseCreateDocument(defaultPHDocumentCreateState);
153
+ document = wrappedEmptyReducer(document, fakeAction({
141
154
  type: "TEST_0",
142
155
  input: {},
143
156
  scope: "global",
144
- });
145
- document = wrappedEmptyReducer(document, {
157
+ }));
158
+ document = wrappedEmptyReducer(document, fakeAction({
146
159
  type: "TEST_1",
147
160
  input: {},
148
161
  scope: "global",
162
+ }));
163
+ const action = fakeAction({
164
+ type: "TEST_2",
165
+ input: {},
166
+ scope: "global",
167
+ index: 4,
149
168
  });
150
169
  expect(() => {
151
- wrappedEmptyReducer(document, {
152
- type: "TEST_2",
153
- input: {},
154
- scope: "global",
155
- index: 4,
156
- }, undefined, { skip: 1 });
170
+ wrappedEmptyReducer(document, action, undefined, {
171
+ skip: 1,
172
+ replayOptions: {
173
+ operation: {
174
+ action,
175
+ hash: "",
176
+ timestampUtcMs: action.timestampUtcMs,
177
+ index: 4,
178
+ skip: 1,
179
+ },
180
+ },
181
+ });
157
182
  }).toThrow("Missing operations: expected 2 with skip 0 or equivalent, got index 4 with skip 1");
158
183
  });
159
184
  it("should not throw an error when there is a valid index operation + skip", () => {
160
- let document = baseCreateDocument();
161
- document = wrappedEmptyReducer(document, {
185
+ let document = baseCreateDocument(defaultPHDocumentCreateState);
186
+ document = wrappedEmptyReducer(document, fakeAction({
162
187
  type: "TEST_0",
163
188
  input: {},
164
189
  scope: "global",
165
- });
166
- document = wrappedEmptyReducer(document, {
190
+ }));
191
+ document = wrappedEmptyReducer(document, fakeAction({
167
192
  type: "TEST_1",
168
193
  input: {},
169
194
  scope: "global",
170
- });
171
- document = wrappedEmptyReducer(document, {
195
+ }));
196
+ const action = fakeAction({
172
197
  type: "TEST_2",
173
198
  input: {},
174
199
  scope: "global",
175
- index: 3,
176
- }, undefined, { skip: 1 });
177
- expect(document.operations.global).toMatchObject([
178
- {
179
- type: "TEST_0",
180
- index: 0,
181
- },
182
- {
183
- type: "TEST_1",
184
- index: 1,
185
- },
186
- {
187
- type: "TEST_2",
188
- index: 3,
189
- skip: 1,
200
+ });
201
+ document = wrappedEmptyReducer(document, action, undefined, {
202
+ skip: 1,
203
+ pruneOnSkip: false,
204
+ replayOptions: {
205
+ operation: {
206
+ action,
207
+ skip: 1,
208
+ index: 3,
209
+ timestampUtcMs: action.timestampUtcMs,
210
+ hash: "",
211
+ },
190
212
  },
191
- ]);
213
+ });
214
+ expect(document.operations.global[0].action.type).toBe("TEST_0");
215
+ expect(document.operations.global[0].index).toBe(0);
216
+ expect(document.operations.global[0].skip).toBe(0);
217
+ expect(document.operations.global[1].action.type).toBe("TEST_1");
218
+ expect(document.operations.global[1].index).toBe(1);
219
+ expect(document.operations.global[1].skip).toBe(0);
220
+ expect(document.operations.global[2].action.type).toBe("TEST_2");
221
+ expect(document.operations.global[2].index).toBe(3);
222
+ expect(document.operations.global[2].skip).toBe(1);
192
223
  });
193
224
  it("should not throw errors from reducer", () => {
194
- const initialState = baseCreateExtendedState({
195
- state: { global: { count: 0 }, local: { name: "" } },
196
- });
197
- let document = baseCreateDocument(initialState);
225
+ const initialState = createBaseState({ count: 0 }, { name: "" });
226
+ let document = baseCreateDocument(createCountDocumentState, initialState);
198
227
  document = countReducer(document, increment());
199
228
  document = countReducer(document, increment());
200
229
  document = countReducer(document, error());
@@ -202,10 +231,8 @@ describe("Base reducer", () => {
202
231
  expect(document.state.global.count).toBe(3);
203
232
  });
204
233
  it("should not throw errors from reducer when there is an error after an operation with skip value", () => {
205
- const initialState = baseCreateExtendedState({
206
- state: { global: { count: 0 }, local: { name: "" } },
207
- });
208
- let document = baseCreateDocument(initialState);
234
+ const initialState = createBaseState({ count: 0 }, { name: "" });
235
+ let document = baseCreateDocument(createCountDocumentState, initialState);
209
236
  document = countReducer(document, increment());
210
237
  document = countReducer(document, increment(), undefined, { skip: 1 });
211
238
  document = countReducer(document, error());
@@ -213,10 +240,8 @@ describe("Base reducer", () => {
213
240
  expect(document.state.global.count).toBe(2);
214
241
  });
215
242
  it("should include error message into error operation prop", () => {
216
- const initialState = baseCreateExtendedState({
217
- state: { global: { count: 0 }, local: { name: "" } },
218
- });
219
- let document = baseCreateDocument(initialState);
243
+ const initialState = createBaseState({ count: 0 }, { name: "" });
244
+ let document = baseCreateDocument(createCountDocumentState, initialState);
220
245
  document = countReducer(document, increment());
221
246
  document = countReducer(document, increment(), undefined, { skip: 1 });
222
247
  document = countReducer(document, error());
@@ -245,10 +270,8 @@ describe("Base reducer", () => {
245
270
  ]);
246
271
  });
247
272
  it("should not include error message in successful operations", () => {
248
- const initialState = baseCreateExtendedState({
249
- state: { global: { count: 0 }, local: { name: "" } },
250
- });
251
- let document = baseCreateDocument(initialState);
273
+ const initialState = createBaseState({ count: 0 }, { name: "" });
274
+ let document = baseCreateDocument(createCountDocumentState, initialState);
252
275
  document = countReducer(document, increment());
253
276
  document = countReducer(document, increment());
254
277
  document = countReducer(document, increment());
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.test.js","sourceRoot":"","sources":["../../../test/document/reducer.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reducer.test.js","sourceRoot":"","sources":["../../../test/document/reducer.test.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { setName } from "../../src/document/actions/creators.js";
2
- import { baseCreateDocument, baseCreateExtendedState, mapSkippedOperations, replayOperations, } from "../../src/document/utils/base.js";
2
+ import { baseCreateDocument, mapSkippedOperations, replayOperations, } from "../../src/document/utils/base.js";
3
3
  import { garbageCollectDocumentOperations } from "../../src/document/utils/document-helpers.js";
4
- import { baseCountReducer, countReducer, createFakeOperation, error, increment, mapOperations, wrappedEmptyReducer, } from "../helpers.js";
4
+ import { baseCountReducer, countReducer, createBaseState, createCountDocumentState, defaultPHDocumentCreateState, error, fakeOperation, increment, mapOperations, wrappedEmptyReducer, } from "../helpers.js";
5
5
  describe("skip operations", () => {
6
6
  describe("skip operation param", () => {
7
7
  it("should include skip param in base operations with default value to 0 if not provided", () => {
8
- let document = baseCreateDocument();
8
+ let document = baseCreateDocument(defaultPHDocumentCreateState);
9
9
  document = wrappedEmptyReducer(document, setName("TEST_1"));
10
10
  document = wrappedEmptyReducer(document, setName("TEST_2"));
11
11
  document = wrappedEmptyReducer(document, setName("TEST_3"));
@@ -17,7 +17,7 @@ describe("skip operations", () => {
17
17
  });
18
18
  });
19
19
  it("should include skip param in base operations with provided value", () => {
20
- let document = baseCreateDocument();
20
+ let document = baseCreateDocument(defaultPHDocumentCreateState);
21
21
  document = wrappedEmptyReducer(document, setName("TEST_1"), undefined, {
22
22
  skip: 1,
23
23
  ignoreSkipOperations: true,
@@ -41,9 +41,9 @@ describe("skip operations", () => {
41
41
  describe("mapSkippedOperations", () => {
42
42
  it('should tag as "ignored" operation 2 when operation 3 -> (skip=1)', () => {
43
43
  const operations = [
44
- createFakeOperation(1),
45
- createFakeOperation(2),
46
- createFakeOperation(3, 1),
44
+ fakeOperation(1),
45
+ fakeOperation(2),
46
+ fakeOperation(3, 1),
47
47
  ];
48
48
  const ignoredIndexes = [2];
49
49
  const mappedOps = mapSkippedOperations(operations);
@@ -58,11 +58,11 @@ describe("skip operations", () => {
58
58
  });
59
59
  it('should tag as "ignored" operation 2, 3 and 4 when operation 5 -> (skip=3)', () => {
60
60
  const operations = [
61
- createFakeOperation(1),
62
- createFakeOperation(2),
63
- createFakeOperation(3),
64
- createFakeOperation(4),
65
- createFakeOperation(5, 3),
61
+ fakeOperation(1),
62
+ fakeOperation(2),
63
+ fakeOperation(3),
64
+ fakeOperation(4),
65
+ fakeOperation(5, 3),
66
66
  ];
67
67
  const ignoredIndexes = [2, 3, 4];
68
68
  const mappedOps = mapSkippedOperations(operations);
@@ -77,12 +77,12 @@ describe("skip operations", () => {
77
77
  });
78
78
  it('should tag as "ignored" operation 2 and 5 when opration 3 -> (skip=1) and operation 6 -> (skip=1)', () => {
79
79
  const operations = [
80
- createFakeOperation(1),
81
- createFakeOperation(2),
82
- createFakeOperation(3, 1),
83
- createFakeOperation(4),
84
- createFakeOperation(5),
85
- createFakeOperation(6, 1),
80
+ fakeOperation(1),
81
+ fakeOperation(2),
82
+ fakeOperation(3, 1),
83
+ fakeOperation(4),
84
+ fakeOperation(5),
85
+ fakeOperation(6, 1),
86
86
  ];
87
87
  const ignoredIndexes = [2, 5];
88
88
  const mappedOps = mapSkippedOperations(operations);
@@ -97,13 +97,13 @@ describe("skip operations", () => {
97
97
  });
98
98
  it('should tag as "ignored" operation 1, 2, 3, 4, 5 and 6 when opration 7 -> (skip=6)', () => {
99
99
  const operations = [
100
- createFakeOperation(1),
101
- createFakeOperation(2),
102
- createFakeOperation(3),
103
- createFakeOperation(4),
104
- createFakeOperation(5),
105
- createFakeOperation(6),
106
- createFakeOperation(7, 6),
100
+ fakeOperation(1),
101
+ fakeOperation(2),
102
+ fakeOperation(3),
103
+ fakeOperation(4),
104
+ fakeOperation(5),
105
+ fakeOperation(6),
106
+ fakeOperation(7, 6),
107
107
  ];
108
108
  const ignoredIndexes = [1, 2, 3, 4, 5, 6];
109
109
  const mappedOps = mapSkippedOperations(operations);
@@ -118,11 +118,11 @@ describe("skip operations", () => {
118
118
  });
119
119
  it('should tag as "ignored" operation 2, 3, and 4 when operation 5 -> (skip=2) and operation 3 -> (skip=1)', () => {
120
120
  const operations = [
121
- createFakeOperation(1),
122
- createFakeOperation(2),
123
- createFakeOperation(3, 1),
124
- createFakeOperation(4),
125
- createFakeOperation(5, 2),
121
+ fakeOperation(1),
122
+ fakeOperation(2),
123
+ fakeOperation(3, 1),
124
+ fakeOperation(4),
125
+ fakeOperation(5, 2),
126
126
  ];
127
127
  const ignoredIndexes = [2, 3, 4];
128
128
  const mappedOps = mapSkippedOperations(operations);
@@ -137,14 +137,14 @@ describe("skip operations", () => {
137
137
  });
138
138
  it('should tag as "ignored" operations 3, 4, 5, 6, and 7 when operation 6 -> (skip=1) and operation 8 -> (skip=5)', () => {
139
139
  const operations = [
140
- createFakeOperation(1),
141
- createFakeOperation(2),
142
- createFakeOperation(3),
143
- createFakeOperation(4),
144
- createFakeOperation(5),
145
- createFakeOperation(6, 1),
146
- createFakeOperation(7),
147
- createFakeOperation(8, 5),
140
+ fakeOperation(1),
141
+ fakeOperation(2),
142
+ fakeOperation(3),
143
+ fakeOperation(4),
144
+ fakeOperation(5),
145
+ fakeOperation(6, 1),
146
+ fakeOperation(7),
147
+ fakeOperation(8, 5),
148
148
  ];
149
149
  const ignoredIndexes = [3, 4, 5, 6, 7];
150
150
  const mappedOps = mapSkippedOperations(operations);
@@ -159,11 +159,11 @@ describe("skip operations", () => {
159
159
  });
160
160
  it('should tag all the previous operations as "ignored" when operation 5 -> (skip=4)', () => {
161
161
  const operations = [
162
- createFakeOperation(1),
163
- createFakeOperation(2),
164
- createFakeOperation(3),
165
- createFakeOperation(4),
166
- createFakeOperation(5, 4),
162
+ fakeOperation(1),
163
+ fakeOperation(2),
164
+ fakeOperation(3),
165
+ fakeOperation(4),
166
+ fakeOperation(5, 4),
167
167
  ];
168
168
  const ignoredIndexes = [1, 2, 3, 4];
169
169
  const mappedOps = mapSkippedOperations(operations);
@@ -177,11 +177,7 @@ describe("skip operations", () => {
177
177
  });
178
178
  });
179
179
  it("should not skip operations if there's not skipped operations and skippedHeadOperations is not provided", () => {
180
- const operations = [
181
- createFakeOperation(1),
182
- createFakeOperation(2),
183
- createFakeOperation(3),
184
- ];
180
+ const operations = [fakeOperation(1), fakeOperation(2), fakeOperation(3)];
185
181
  const mappedOps = mapSkippedOperations(operations);
186
182
  expect(mappedOps.length).toBe(3);
187
183
  mappedOps.forEach((mapOp) => {
@@ -189,11 +185,7 @@ describe("skip operations", () => {
189
185
  });
190
186
  });
191
187
  it("should skip the latest operation when skippedHeadOperations = 1", () => {
192
- const operations = [
193
- createFakeOperation(1),
194
- createFakeOperation(2),
195
- createFakeOperation(3),
196
- ];
188
+ const operations = [fakeOperation(1), fakeOperation(2), fakeOperation(3)];
197
189
  const ignoredIndexes = [3];
198
190
  const mappedOps = mapSkippedOperations(operations, 1);
199
191
  expect(mappedOps.length).toBe(3);
@@ -207,11 +199,11 @@ describe("skip operations", () => {
207
199
  });
208
200
  it("should skip the latest 2 operations when skippedHeadOperations = 2", () => {
209
201
  const operations = [
210
- createFakeOperation(1),
211
- createFakeOperation(2),
212
- createFakeOperation(3),
213
- createFakeOperation(4),
214
- createFakeOperation(5),
202
+ fakeOperation(1),
203
+ fakeOperation(2),
204
+ fakeOperation(3),
205
+ fakeOperation(4),
206
+ fakeOperation(5),
215
207
  ];
216
208
  const ignoredIndexes = [4, 5];
217
209
  const mappedOps = mapSkippedOperations(operations, 2);
@@ -226,9 +218,9 @@ describe("skip operations", () => {
226
218
  });
227
219
  it("should be able to detect cleared operations", () => {
228
220
  const operations = [
229
- createFakeOperation(0),
230
- createFakeOperation(1),
231
- createFakeOperation(3, 1),
221
+ fakeOperation(0),
222
+ fakeOperation(1),
223
+ fakeOperation(3, 1),
232
224
  ];
233
225
  const mappedOps = mapSkippedOperations(operations);
234
226
  expect(mappedOps.length).toBe(3);
@@ -239,10 +231,8 @@ describe("skip operations", () => {
239
231
  });
240
232
  describe("replayOperations", () => {
241
233
  it("should ignore operation 2, when operation 3 -> (skip=1)", () => {
242
- const initialState = baseCreateExtendedState({
243
- state: { global: { count: 0 }, local: { name: "" } },
244
- });
245
- let document = baseCreateDocument(initialState);
234
+ const initialState = createBaseState({ count: 0 }, { name: "" });
235
+ let document = baseCreateDocument(createCountDocumentState, initialState);
246
236
  document = countReducer(document, increment()); // valid operation, skip 0
247
237
  document = countReducer(document, increment()); // skipped
248
238
  document = countReducer(
@@ -266,10 +256,8 @@ describe("skip operations", () => {
266
256
  ]);
267
257
  });
268
258
  it("should ignore operation 2, 3 and 4, when operation 5 -> (skip=3)", () => {
269
- const initialState = baseCreateExtendedState({
270
- state: { global: { count: 0 }, local: { name: "" } },
271
- });
272
- let document = baseCreateDocument(initialState);
259
+ const initialState = createBaseState({ count: 0 }, { name: "" });
260
+ let document = baseCreateDocument(createCountDocumentState, initialState);
273
261
  document = countReducer(document, increment()); // valid operation, skip 0
274
262
  document = countReducer(document, increment()); // skipped
275
263
  document = countReducer(document, increment()); // skipped
@@ -295,10 +283,8 @@ describe("skip operations", () => {
295
283
  ]);
296
284
  });
297
285
  it("should ignore operation 2 and 5, when operation 3 -> (skip=1) and operation 6 -> (skip=1)", () => {
298
- const initialState = baseCreateExtendedState({
299
- state: { global: { count: 0 }, local: { name: "" } },
300
- });
301
- let document = baseCreateDocument(initialState);
286
+ const initialState = createBaseState({ count: 0 }, { name: "" });
287
+ let document = baseCreateDocument(createCountDocumentState, initialState);
302
288
  document = countReducer(document, increment()); // valid operation, skip 0
303
289
  document = countReducer(document, increment()); // skipped
304
290
  document = countReducer(
@@ -337,10 +323,8 @@ describe("skip operations", () => {
337
323
  ]);
338
324
  });
339
325
  it("should ignore all the previous operations, when operation 5 -> (skip=4)", () => {
340
- const initialState = baseCreateExtendedState({
341
- state: { global: { count: 0 }, local: { name: "" } },
342
- });
343
- let document = baseCreateDocument(initialState);
326
+ const initialState = createBaseState({ count: 0 }, { name: "" });
327
+ let document = baseCreateDocument(createCountDocumentState, initialState);
344
328
  document = countReducer(document, increment()); // skipped
345
329
  document = countReducer(document, increment()); // skipped
346
330
  document = countReducer(document, increment()); // skipped
@@ -361,10 +345,8 @@ describe("skip operations", () => {
361
345
  ]);
362
346
  });
363
347
  it("should skip operations when dispatch a new action with an skip value", () => {
364
- const initialState = baseCreateExtendedState({
365
- state: { global: { count: 0 }, local: { name: "" } },
366
- });
367
- let document = baseCreateDocument(initialState);
348
+ const initialState = createBaseState({ count: 0 }, { name: "" });
349
+ let document = baseCreateDocument(createCountDocumentState, initialState);
368
350
  document = countReducer(document, increment());
369
351
  document = countReducer(document, increment());
370
352
  document = countReducer(document, increment(), undefined, {
@@ -395,10 +377,8 @@ describe("skip operations", () => {
395
377
  ]);
396
378
  });
397
379
  it("should not process and skip operation that throws an error", () => {
398
- const initialState = baseCreateExtendedState({
399
- state: { global: { count: 0 }, local: { name: "" } },
400
- });
401
- let document = baseCreateDocument(initialState);
380
+ const initialState = createBaseState({ count: 0 }, { name: "" });
381
+ let document = baseCreateDocument(createCountDocumentState, initialState);
402
382
  document = countReducer(document, increment());
403
383
  document = countReducer(document, increment());
404
384
  document = countReducer(document, error(), undefined, {