document-model 4.1.0-dev.9 → 5.0.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 (149) 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 +3 -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 +11 -13
  10. package/dist/src/document/actions/operations.d.ts.map +1 -1
  11. package/dist/src/document/actions/operations.js +15 -14
  12. package/dist/src/document/actions/operations.js.map +1 -1
  13. package/dist/src/document/object.d.ts +11 -10
  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 +6 -5
  24. package/dist/src/document/reducer.d.ts.map +1 -1
  25. package/dist/src/document/reducer.js +28 -30
  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 +41 -12
  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 +74 -99
  34. package/dist/src/document/types.d.ts.map +1 -1
  35. package/dist/src/document/utils/base.d.ts +6 -7
  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 +6 -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 +3 -2
  48. package/dist/src/document/utils/file.d.ts.map +1 -1
  49. package/dist/src/document/utils/file.js.map +1 -1
  50. package/dist/src/document/utils/header.js.map +1 -1
  51. package/dist/src/document/utils/validation.js +1 -1
  52. package/dist/src/document/utils/validation.js.map +1 -1
  53. package/dist/src/document-model/gen/header/object.d.ts +3 -3
  54. package/dist/src/document-model/gen/header/object.d.ts.map +1 -1
  55. package/dist/src/document-model/gen/header/object.js.map +1 -1
  56. package/dist/src/document-model/gen/module/object.d.ts +3 -3
  57. package/dist/src/document-model/gen/module/object.d.ts.map +1 -1
  58. package/dist/src/document-model/gen/module/object.js.map +1 -1
  59. package/dist/src/document-model/gen/object.d.ts +4 -5
  60. package/dist/src/document-model/gen/object.d.ts.map +1 -1
  61. package/dist/src/document-model/gen/object.js.map +1 -1
  62. package/dist/src/document-model/gen/operation/object.d.ts +3 -4
  63. package/dist/src/document-model/gen/operation/object.d.ts.map +1 -1
  64. package/dist/src/document-model/gen/operation/object.js.map +1 -1
  65. package/dist/src/document-model/gen/operation-error/object.d.ts +3 -4
  66. package/dist/src/document-model/gen/operation-error/object.d.ts.map +1 -1
  67. package/dist/src/document-model/gen/operation-error/object.js.map +1 -1
  68. package/dist/src/document-model/gen/operation-example/object.d.ts +2 -3
  69. package/dist/src/document-model/gen/operation-example/object.d.ts.map +1 -1
  70. package/dist/src/document-model/gen/operation-example/object.js.map +1 -1
  71. package/dist/src/document-model/gen/ph-factories.d.ts +27 -0
  72. package/dist/src/document-model/gen/ph-factories.d.ts.map +1 -0
  73. package/dist/src/document-model/gen/ph-factories.js +60 -0
  74. package/dist/src/document-model/gen/ph-factories.js.map +1 -0
  75. package/dist/src/document-model/gen/reducer.d.ts +3 -3
  76. package/dist/src/document-model/gen/reducer.d.ts.map +1 -1
  77. package/dist/src/document-model/gen/reducer.js.map +1 -1
  78. package/dist/src/document-model/gen/schema/zod.d.ts +6 -6
  79. package/dist/src/document-model/gen/schema/zod.d.ts.map +1 -1
  80. package/dist/src/document-model/gen/state/object.d.ts +3 -3
  81. package/dist/src/document-model/gen/state/object.d.ts.map +1 -1
  82. package/dist/src/document-model/gen/state/object.js.map +1 -1
  83. package/dist/src/document-model/gen/types.d.ts +5 -5
  84. package/dist/src/document-model/gen/types.d.ts.map +1 -1
  85. package/dist/src/document-model/gen/utils.d.ts +6 -7
  86. package/dist/src/document-model/gen/utils.d.ts.map +1 -1
  87. package/dist/src/document-model/gen/utils.js +6 -8
  88. package/dist/src/document-model/gen/utils.js.map +1 -1
  89. package/dist/src/document-model/gen/versioning/object.d.ts +2 -3
  90. package/dist/src/document-model/gen/versioning/object.d.ts.map +1 -1
  91. package/dist/src/document-model/gen/versioning/object.js.map +1 -1
  92. package/dist/src/document-model/types.d.ts +2 -2
  93. package/dist/src/document-model/types.d.ts.map +1 -1
  94. package/dist/test/document/crypto.test.js +25 -48
  95. package/dist/test/document/crypto.test.js.map +1 -1
  96. package/dist/test/document/event-vs-command.test.js +80 -50
  97. package/dist/test/document/event-vs-command.test.js.map +1 -1
  98. package/dist/test/document/local.test.js +26 -43
  99. package/dist/test/document/local.test.js.map +1 -1
  100. package/dist/test/document/operation-id.test.js +4 -6
  101. package/dist/test/document/operation-id.test.js.map +1 -1
  102. package/dist/test/document/prune.test.js +21 -34
  103. package/dist/test/document/prune.test.js.map +1 -1
  104. package/dist/test/document/reducer.test.js +99 -77
  105. package/dist/test/document/reducer.test.js.map +1 -1
  106. package/dist/test/document/skip-operations.test.js +65 -85
  107. package/dist/test/document/skip-operations.test.js.map +1 -1
  108. package/dist/test/document/undo-redo.test.js +60 -34
  109. package/dist/test/document/undo-redo.test.js.map +1 -1
  110. package/dist/test/document/utils.test.js +49 -36
  111. package/dist/test/document/utils.test.js.map +1 -1
  112. package/dist/test/document-helpers/addUndo.test.js +1 -1
  113. package/dist/test/document-helpers/addUndo.test.js.map +1 -1
  114. package/dist/test/document-helpers/attachBranch.test.js +20 -20
  115. package/dist/test/document-helpers/attachBranch.test.js.map +1 -1
  116. package/dist/test/document-helpers/conflictResolution.test.js +10 -10
  117. package/dist/test/document-helpers/conflictResolution.test.js.map +1 -1
  118. package/dist/test/document-helpers/groupOperationsByScope.test.js +70 -70
  119. package/dist/test/document-helpers/groupOperationsByScope.test.js.map +1 -1
  120. package/dist/test/document-helpers/merge.test.js +125 -125
  121. package/dist/test/document-helpers/merge.test.js.map +1 -1
  122. package/dist/test/document-helpers/removeExistingOperations.test.js +37 -24
  123. package/dist/test/document-helpers/removeExistingOperations.test.js.map +1 -1
  124. package/dist/test/document-helpers/reshuffleByTimestamp.test.js +15 -15
  125. package/dist/test/document-helpers/reshuffleByTimestamp.test.js.map +1 -1
  126. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js +21 -21
  127. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js.map +1 -1
  128. package/dist/test/document-helpers/skipHeaderOperations.test.js +33 -40
  129. package/dist/test/document-helpers/skipHeaderOperations.test.js.map +1 -1
  130. package/dist/test/document-helpers/split.test.js +2 -2
  131. package/dist/test/document-helpers/split.test.js.map +1 -1
  132. package/dist/test/document-helpers/utils.d.ts +1 -0
  133. package/dist/test/document-helpers/utils.d.ts.map +1 -1
  134. package/dist/test/document-helpers/utils.js +13 -8
  135. package/dist/test/document-helpers/utils.js.map +1 -1
  136. package/dist/test/document-model/replay.test.js +3 -20
  137. package/dist/test/document-model/replay.test.js.map +1 -1
  138. package/dist/test/document-model/skip-operations.test.js +4 -5
  139. package/dist/test/document-model/skip-operations.test.js.map +1 -1
  140. package/dist/test/document-model/validation.test.js +15 -6
  141. package/dist/test/document-model/validation.test.js.map +1 -1
  142. package/dist/test/document-model/zip.test.js +1 -1
  143. package/dist/test/document-model/zip.test.js.map +1 -1
  144. package/dist/test/helpers.d.ts +42 -8
  145. package/dist/test/helpers.d.ts.map +1 -1
  146. package/dist/test/helpers.js +55 -6
  147. package/dist/test/helpers.js.map +1 -1
  148. package/dist/tsconfig.tsbuildinfo +1 -1
  149. 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, createTestState, 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,100 +103,126 @@ 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;
112
- // eslint-disable-next-line
113
114
  expect(input.id).toBe(id);
114
115
  expect(input.documentType).toBe("test");
115
116
  });
116
117
  });
117
118
  it("should throw an error when there is a missing index operation", () => {
118
- let document = baseCreateDocument();
119
- document = wrappedEmptyReducer(document, {
119
+ let document = baseCreateDocument(defaultPHDocumentCreateState);
120
+ document = wrappedEmptyReducer(document, fakeAction({
120
121
  type: "TEST_0",
121
122
  input: {},
122
123
  scope: "global",
123
- });
124
- document = wrappedEmptyReducer(document, {
124
+ }));
125
+ document = wrappedEmptyReducer(document, fakeAction({
125
126
  type: "TEST_1",
126
127
  input: {},
127
128
  scope: "global",
129
+ }));
130
+ const action = fakeAction({
131
+ type: "TEST_2",
132
+ input: {},
133
+ scope: "global",
134
+ index: 3,
128
135
  });
129
136
  expect(() => {
130
- wrappedEmptyReducer(document, {
131
- type: "TEST_2",
132
- input: {},
133
- scope: "global",
134
- index: 3,
137
+ wrappedEmptyReducer(document, action, undefined, {
138
+ replayOptions: {
139
+ operation: {
140
+ action,
141
+ hash: "",
142
+ timestampUtcMs: action.timestampUtcMs,
143
+ index: 3,
144
+ skip: 0,
145
+ },
146
+ },
135
147
  });
136
148
  }).toThrow("Missing operations: expected 2 with skip 0 or equivalent, got index 3 with skip 0");
137
149
  });
138
150
  it("should throw an error when there is a missing index operation + skip", () => {
139
- let document = baseCreateDocument();
140
- document = wrappedEmptyReducer(document, {
151
+ let document = baseCreateDocument(defaultPHDocumentCreateState);
152
+ document = wrappedEmptyReducer(document, fakeAction({
141
153
  type: "TEST_0",
142
154
  input: {},
143
155
  scope: "global",
144
- });
145
- document = wrappedEmptyReducer(document, {
156
+ }));
157
+ document = wrappedEmptyReducer(document, fakeAction({
146
158
  type: "TEST_1",
147
159
  input: {},
148
160
  scope: "global",
161
+ }));
162
+ const action = fakeAction({
163
+ type: "TEST_2",
164
+ input: {},
165
+ scope: "global",
166
+ index: 4,
149
167
  });
150
168
  expect(() => {
151
- wrappedEmptyReducer(document, {
152
- type: "TEST_2",
153
- input: {},
154
- scope: "global",
155
- index: 4,
156
- }, undefined, { skip: 1 });
169
+ wrappedEmptyReducer(document, action, undefined, {
170
+ skip: 1,
171
+ replayOptions: {
172
+ operation: {
173
+ action,
174
+ hash: "",
175
+ timestampUtcMs: action.timestampUtcMs,
176
+ index: 4,
177
+ skip: 1,
178
+ },
179
+ },
180
+ });
157
181
  }).toThrow("Missing operations: expected 2 with skip 0 or equivalent, got index 4 with skip 1");
158
182
  });
159
183
  it("should not throw an error when there is a valid index operation + skip", () => {
160
- let document = baseCreateDocument();
161
- document = wrappedEmptyReducer(document, {
184
+ let document = baseCreateDocument(defaultPHDocumentCreateState);
185
+ document = wrappedEmptyReducer(document, fakeAction({
162
186
  type: "TEST_0",
163
187
  input: {},
164
188
  scope: "global",
165
- });
166
- document = wrappedEmptyReducer(document, {
189
+ }));
190
+ document = wrappedEmptyReducer(document, fakeAction({
167
191
  type: "TEST_1",
168
192
  input: {},
169
193
  scope: "global",
170
- });
171
- document = wrappedEmptyReducer(document, {
194
+ }));
195
+ const action = fakeAction({
172
196
  type: "TEST_2",
173
197
  input: {},
174
198
  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,
199
+ });
200
+ document = wrappedEmptyReducer(document, action, undefined, {
201
+ skip: 1,
202
+ pruneOnSkip: false,
203
+ replayOptions: {
204
+ operation: {
205
+ action,
206
+ skip: 1,
207
+ index: 3,
208
+ timestampUtcMs: action.timestampUtcMs,
209
+ hash: "",
210
+ },
190
211
  },
191
- ]);
212
+ });
213
+ expect(document.operations.global[0].action.type).toBe("TEST_0");
214
+ expect(document.operations.global[0].index).toBe(0);
215
+ expect(document.operations.global[0].skip).toBe(0);
216
+ expect(document.operations.global[1].action.type).toBe("TEST_1");
217
+ expect(document.operations.global[1].index).toBe(1);
218
+ expect(document.operations.global[1].skip).toBe(0);
219
+ expect(document.operations.global[2].action.type).toBe("TEST_2");
220
+ expect(document.operations.global[2].index).toBe(3);
221
+ expect(document.operations.global[2].skip).toBe(1);
192
222
  });
193
223
  it("should not throw errors from reducer", () => {
194
- const initialState = baseCreateExtendedState({
195
- state: { global: { count: 0 }, local: { name: "" } },
196
- });
197
- let document = baseCreateDocument(initialState);
224
+ const initialState = createTestState({ count: 0 }, { name: "" });
225
+ let document = baseCreateDocument(createCountDocumentState, initialState);
198
226
  document = countReducer(document, increment());
199
227
  document = countReducer(document, increment());
200
228
  document = countReducer(document, error());
@@ -202,10 +230,8 @@ describe("Base reducer", () => {
202
230
  expect(document.state.global.count).toBe(3);
203
231
  });
204
232
  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);
233
+ const initialState = createTestState({ count: 0 }, { name: "" });
234
+ let document = baseCreateDocument(createCountDocumentState, initialState);
209
235
  document = countReducer(document, increment());
210
236
  document = countReducer(document, increment(), undefined, { skip: 1 });
211
237
  document = countReducer(document, error());
@@ -213,10 +239,8 @@ describe("Base reducer", () => {
213
239
  expect(document.state.global.count).toBe(2);
214
240
  });
215
241
  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);
242
+ const initialState = createTestState({ count: 0 }, { name: "" });
243
+ let document = baseCreateDocument(createCountDocumentState, initialState);
220
244
  document = countReducer(document, increment());
221
245
  document = countReducer(document, increment(), undefined, { skip: 1 });
222
246
  document = countReducer(document, error());
@@ -245,10 +269,8 @@ describe("Base reducer", () => {
245
269
  ]);
246
270
  });
247
271
  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);
272
+ const initialState = createTestState({ count: 0 }, { name: "" });
273
+ let document = baseCreateDocument(createCountDocumentState, initialState);
252
274
  document = countReducer(document, increment());
253
275
  document = countReducer(document, increment());
254
276
  document = countReducer(document, increment());
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.test.js","sourceRoot":"","sources":["../../../test/document/reducer.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAG/D,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,aAAa,GACd,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAEL,YAAY,EACZ,KAAK,EACL,SAAS,EACT,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,EAAE;YAChD,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QACtC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACtB,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACnB,EAAE,CAAC,oBAAoB,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,EAAE;YAChD,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QACH,MAAM,CACJ,WAAW,CAAC,MAAM,CAAC,oBAAoB;YACrC,QAAQ,CAAC,MAAM,CAAC,oBAAoB,CACvC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,EAAE;YAChD,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QAEH,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YAClD;gBACE,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,KAAK,EAAE,CAAC;gBACR,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,8BAA8B;gBACpC,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,SAAS;aACjB;SACF,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC;YAClC,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAsB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QACvE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,EAAE,CACV,mBAAmB,CAAC,QAAQ,EAAE;YAC5B,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,CAAsB;YAC7B,KAAK,EAAE,QAAQ;SAChB,CAAC,CACH,CAAC,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QAEtC,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;YACzD,IAAI,MAAM,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACtC,QAAQ,EAAE,CAAC;oBACT,IAAI,EAAE,uBAAuB;oBAC7B,KAAK,EAAE;wBACL,EAAE;wBACF,YAAY,EAAE,MAAM;qBACrB;iBACF,CAAC,CAAC;YACL,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAW;YAC5B,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,QAAQ;SAChB,CAAC;QAEF,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE;YAC1C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAiC,CAAC;YACvD,2BAA2B;YAC3B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,IAAI,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QACpC,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE;YACvC,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QAEH,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE;YACvC,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QAEH,MAAM,CAAC,GAAG,EAAE;YACV,mBAAmB,CAAC,QAAQ,EAAE;gBAC5B,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,CAAC;aACT,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,OAAO,CACR,mFAAmF,CACpF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,IAAI,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QACpC,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE;YACvC,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QAEH,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE;YACvC,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QAEH,MAAM,CAAC,GAAG,EAAE;YACV,mBAAmB,CACjB,QAAQ,EACR;gBACE,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,CAAC;aACT,EACD,SAAS,EACT,EAAE,IAAI,EAAE,CAAC,EAAE,CACZ,CAAC;QACJ,CAAC,CAAC,CAAC,OAAO,CACR,mFAAmF,CACpF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;QAChF,IAAI,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QACpC,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE;YACvC,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QAEH,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE;YACvC,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QAEH,QAAQ,GAAG,mBAAmB,CAC5B,QAAQ,EACR;YACE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,CAAC;SACT,EACD,SAAS,EACT,EAAE,IAAI,EAAE,CAAC,EAAE,CACZ,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YAC/C;gBACE,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,CAAC;aACT;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,CAAC;aACT;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,CAAC;gBACR,IAAI,EAAE,CAAC;aACR;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,YAAY,GAAG,uBAAuB,CAAgB;YAC1D,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;SACrD,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG,kBAAkB,CAAgB,YAAY,CAAC,CAAC;QAE/D,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/C,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/C,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3C,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAE/C,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gGAAgG,EAAE,GAAG,EAAE;QACxG,MAAM,YAAY,GAAG,uBAAuB,CAAgB;YAC1D,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;SACrD,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG,kBAAkB,CAAgB,YAAY,CAAC,CAAC;QAE/D,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/C,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACvE,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3C,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAE/C,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,YAAY,GAAG,uBAAuB,CAAgB;YAC1D,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;SACrD,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG,kBAAkB,CAAgB,YAAY,CAAC,CAAC;QAE/D,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/C,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACvE,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3C,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAE/C,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YAC/C;gBACE,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,CAAC;gBACR,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,SAAS;aACjB;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,CAAC;gBACR,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,cAAc;aACtB;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,CAAC;gBACR,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,SAAS;aACjB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,YAAY,GAAG,uBAAuB,CAAgB;YAC1D,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;SACrD,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG,kBAAkB,CAAgB,YAAY,CAAC,CAAC;QAE/D,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/C,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/C,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAE/C,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClD,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACnD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
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, createTestState, 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 = createTestState({ 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 = createTestState({ 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 = createTestState({ 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 = createTestState({ 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 = createTestState({ 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 = createTestState({ 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, {