document-model 5.3.0-staging.1 → 6.0.0-dev.2

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 (41) hide show
  1. package/dist/src/core/actions.d.ts.map +1 -1
  2. package/dist/src/core/actions.js +1 -1
  3. package/dist/src/core/actions.js.map +1 -1
  4. package/dist/src/core/documents.d.ts +18 -1
  5. package/dist/src/core/documents.d.ts.map +1 -1
  6. package/dist/src/core/documents.js +64 -48
  7. package/dist/src/core/documents.js.map +1 -1
  8. package/dist/src/core/operations.d.ts +16 -0
  9. package/dist/src/core/operations.d.ts.map +1 -1
  10. package/dist/src/core/operations.js +38 -0
  11. package/dist/src/core/operations.js.map +1 -1
  12. package/dist/src/core/ph-types.d.ts +16 -1
  13. package/dist/src/core/ph-types.d.ts.map +1 -1
  14. package/dist/src/core/ph-types.js.map +1 -1
  15. package/dist/src/core/reducer.d.ts +2 -2
  16. package/dist/src/core/reducer.d.ts.map +1 -1
  17. package/dist/src/core/reducer.js +42 -12
  18. package/dist/src/core/reducer.js.map +1 -1
  19. package/dist/src/core/schemas.d.ts +1 -1
  20. package/dist/src/core/schemas.d.ts.map +1 -1
  21. package/dist/src/core/types.d.ts +15 -0
  22. package/dist/src/core/types.d.ts.map +1 -1
  23. package/dist/src/document-model/reducers.d.ts.map +1 -1
  24. package/dist/src/document-model/reducers.js +26 -1
  25. package/dist/src/document-model/reducers.js.map +1 -1
  26. package/dist/src/document-model/types.d.ts +2 -1
  27. package/dist/src/document-model/types.d.ts.map +1 -1
  28. package/dist/test/document/undo-redo-v2.test.d.ts +2 -0
  29. package/dist/test/document/undo-redo-v2.test.d.ts.map +1 -0
  30. package/dist/test/document/undo-redo-v2.test.js +207 -0
  31. package/dist/test/document/undo-redo-v2.test.js.map +1 -0
  32. package/dist/test/document-model/versioning.test.d.ts +2 -0
  33. package/dist/test/document-model/versioning.test.d.ts.map +1 -0
  34. package/dist/test/document-model/versioning.test.js +93 -0
  35. package/dist/test/document-model/versioning.test.js.map +1 -0
  36. package/dist/tsconfig.tsbuildinfo +1 -1
  37. package/package.json +2 -2
  38. package/dist/test/document-helpers/calculateUndoSkipNumber.test.d.ts +0 -2
  39. package/dist/test/document-helpers/calculateUndoSkipNumber.test.d.ts.map +0 -1
  40. package/dist/test/document-helpers/calculateUndoSkipNumber.test.js +0 -289
  41. package/dist/test/document-helpers/calculateUndoSkipNumber.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/document-model/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/document-model/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=undo-redo-v2.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"undo-redo-v2.test.d.ts","sourceRoot":"","sources":["../../../test/document/undo-redo-v2.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,207 @@
1
+ import { baseCreateDocument, processUndoRedo, undo } from "document-model/core";
2
+ import { countReducer, createCountDocumentState, increment, testCreateBaseState, } from "document-model/test";
3
+ import { beforeEach, describe, expect, it } from "vitest";
4
+ describe("UNDO/REDO with protocolVersion: 2", () => {
5
+ let document;
6
+ beforeEach(() => {
7
+ const initialState = testCreateBaseState({ count: 0 }, { name: "" });
8
+ document = baseCreateDocument(createCountDocumentState, initialState);
9
+ document = countReducer(document, increment());
10
+ document = countReducer(document, increment());
11
+ document = countReducer(document, increment());
12
+ });
13
+ describe("processUndoRedo with protocolVersion: 2", () => {
14
+ it("should return reuseLastOperationIndex: false", () => {
15
+ const undoAction = undo();
16
+ const result = processUndoRedo(document, undoAction, 0, 2);
17
+ expect(result.reuseLastOperationIndex).toBe(false);
18
+ });
19
+ it("should always return skip=1 for v2", () => {
20
+ const undoAction = undo();
21
+ const result = processUndoRedo(document, undoAction, 0, 2);
22
+ expect(result.skip).toBe(1);
23
+ expect(result.action.type).toBe("NOOP");
24
+ });
25
+ it("should always return reuseLastOperationIndex: false even after NOOP", () => {
26
+ document = countReducer(document, undo());
27
+ const undoAction = undo();
28
+ const result = processUndoRedo(document, undoAction, 0, 2);
29
+ expect(result.reuseLastOperationIndex).toBe(false);
30
+ });
31
+ });
32
+ describe("comparison: protocolVersion 1 vs 2", () => {
33
+ it("protocolVersion 1 allows index reuse after NOOP", () => {
34
+ document = countReducer(document, undo());
35
+ const undoAction = undo();
36
+ const resultV1 = processUndoRedo(document, undoAction, 0, 1);
37
+ expect(resultV1.reuseLastOperationIndex).toBe(true);
38
+ });
39
+ it("protocolVersion 2 never allows index reuse", () => {
40
+ document = countReducer(document, undo());
41
+ const undoAction = undo();
42
+ const resultV2 = processUndoRedo(document, undoAction, 0, 2);
43
+ expect(resultV2.reuseLastOperationIndex).toBe(false);
44
+ });
45
+ });
46
+ describe("end-to-end with protocolVersion: 2 in reducer", () => {
47
+ it("should create NOOP operations with correct skip value", () => {
48
+ document = countReducer(document, undo(), undefined, {
49
+ protocolVersion: 2,
50
+ });
51
+ const ops = document.operations.global;
52
+ const lastOp = ops[ops.length - 1];
53
+ expect(lastOp.action.type).toBe("NOOP");
54
+ expect(lastOp.skip).toBe(1);
55
+ expect(lastOp.index).toBe(3);
56
+ });
57
+ it("protocolVersion 2 always creates NOOPs with skip=1", () => {
58
+ document = countReducer(document, undo(), undefined, {
59
+ protocolVersion: 2,
60
+ });
61
+ const ops = document.operations.global;
62
+ const noopOp = ops.find((op) => op.action.type === "NOOP");
63
+ expect(noopOp).toBeDefined();
64
+ expect(noopOp.skip).toBe(1);
65
+ });
66
+ it("should correctly undo state with protocolVersion 2", () => {
67
+ expect(document.state.global.count).toBe(3);
68
+ document = countReducer(document, undo(), undefined, {
69
+ protocolVersion: 2,
70
+ });
71
+ expect(document.state.global.count).toBe(2);
72
+ });
73
+ it("consecutive undos should all have skip=1 and incrementing indices", () => {
74
+ // First undo
75
+ document = countReducer(document, undo(), undefined, {
76
+ protocolVersion: 2,
77
+ });
78
+ const ops1 = document.operations.global;
79
+ const noop1 = ops1[ops1.length - 1];
80
+ expect(noop1.action.type).toBe("NOOP");
81
+ expect(noop1.skip).toBe(1);
82
+ expect(noop1.index).toBe(3);
83
+ expect(document.state.global.count).toBe(2);
84
+ // Second undo
85
+ document = countReducer(document, undo(), undefined, {
86
+ protocolVersion: 2,
87
+ });
88
+ const ops2 = document.operations.global;
89
+ const noop2 = ops2[ops2.length - 1];
90
+ expect(noop2.action.type).toBe("NOOP");
91
+ expect(noop2.skip).toBe(1);
92
+ expect(noop2.index).toBe(4); // Should increment, not reuse
93
+ expect(document.state.global.count).toBe(1);
94
+ // Third undo
95
+ document = countReducer(document, undo(), undefined, {
96
+ protocolVersion: 2,
97
+ });
98
+ const ops3 = document.operations.global;
99
+ const noop3 = ops3[ops3.length - 1];
100
+ expect(noop3.action.type).toBe("NOOP");
101
+ expect(noop3.skip).toBe(1);
102
+ expect(noop3.index).toBe(5); // Should increment, not reuse
103
+ expect(document.state.global.count).toBe(0);
104
+ });
105
+ it("should throw when trying to undo more than available", () => {
106
+ // Undo all 3 increments
107
+ document = countReducer(document, undo(), undefined, {
108
+ protocolVersion: 2,
109
+ });
110
+ document = countReducer(document, undo(), undefined, {
111
+ protocolVersion: 2,
112
+ });
113
+ document = countReducer(document, undo(), undefined, {
114
+ protocolVersion: 2,
115
+ });
116
+ expect(document.state.global.count).toBe(0);
117
+ // Try to undo when there's nothing left
118
+ expect(() => countReducer(document, undo(), undefined, {
119
+ protocolVersion: 2,
120
+ })).toThrow("Cannot undo: no more operations to undo in scope history");
121
+ });
122
+ it("operations list should preserve all operations including NOOPs", () => {
123
+ document = countReducer(document, undo(), undefined, {
124
+ protocolVersion: 2,
125
+ });
126
+ document = countReducer(document, undo(), undefined, {
127
+ protocolVersion: 2,
128
+ });
129
+ const ops = document.operations.global;
130
+ // Should have: 3 increments + 2 NOOPs = 5 operations
131
+ expect(ops.length).toBe(5);
132
+ expect(ops.map((op) => op.action.type)).toEqual([
133
+ "INCREMENT",
134
+ "INCREMENT",
135
+ "INCREMENT",
136
+ "NOOP",
137
+ "NOOP",
138
+ ]);
139
+ expect(ops.map((op) => op.index)).toEqual([0, 1, 2, 3, 4]);
140
+ });
141
+ it("should handle undo after new operations added following undos (gapped indices)", () => {
142
+ // This test reproduces the bug where undo fails after:
143
+ // 1. Multiple undos create NOOPs
144
+ // 2. New operations are added after the undos
145
+ // 3. Undo is triggered again
146
+ //
147
+ // The issue is that garbageCollectV2 creates a set of effective operations
148
+ // with gaps in indices (e.g., [0, 5, 6] instead of [0, 1, 2, 3, 4, 5, 6])
149
+ // and the state rebuild fails due to index validation.
150
+ // Initial state: count = 3 with operations [0: INC, 1: INC, 2: INC]
151
+ expect(document.state.global.count).toBe(3);
152
+ // Undo twice: count = 1
153
+ // Operations: [0: INC, 1: INC, 2: INC, 3: NOOP(skip=1), 4: NOOP(skip=1)]
154
+ document = countReducer(document, undo(), undefined, {
155
+ protocolVersion: 2,
156
+ });
157
+ document = countReducer(document, undo(), undefined, {
158
+ protocolVersion: 2,
159
+ });
160
+ expect(document.state.global.count).toBe(1);
161
+ // Add new operations after undos: count = 3
162
+ // Operations: [0: INC, 1: INC, 2: INC, 3: NOOP, 4: NOOP, 5: INC, 6: INC]
163
+ document = countReducer(document, increment(), undefined, {
164
+ protocolVersion: 2,
165
+ });
166
+ document = countReducer(document, increment(), undefined, {
167
+ protocolVersion: 2,
168
+ });
169
+ expect(document.state.global.count).toBe(3);
170
+ const opsBeforeUndo = document.operations.global;
171
+ expect(opsBeforeUndo.map((op) => op.action.type)).toEqual([
172
+ "INCREMENT",
173
+ "INCREMENT",
174
+ "INCREMENT",
175
+ "NOOP",
176
+ "NOOP",
177
+ "INCREMENT",
178
+ "INCREMENT",
179
+ ]);
180
+ expect(opsBeforeUndo.map((op) => op.index)).toEqual([
181
+ 0, 1, 2, 3, 4, 5, 6,
182
+ ]);
183
+ // Now undo - this is where the bug occurs
184
+ // garbageCollectV2 will return effective operations with gapped indices
185
+ // (operations 1, 2 are "undone" by NOOPs at 3, 4)
186
+ // Effective non-NOOP ops: indices [0, 5, 6] - there's a gap!
187
+ document = countReducer(document, undo(), undefined, {
188
+ protocolVersion: 2,
189
+ });
190
+ // Should have undone the last increment
191
+ expect(document.state.global.count).toBe(2);
192
+ const opsAfterUndo = document.operations.global;
193
+ expect(opsAfterUndo.length).toBe(8);
194
+ expect(opsAfterUndo.map((op) => op.action.type)).toEqual([
195
+ "INCREMENT",
196
+ "INCREMENT",
197
+ "INCREMENT",
198
+ "NOOP",
199
+ "NOOP",
200
+ "INCREMENT",
201
+ "INCREMENT",
202
+ "NOOP",
203
+ ]);
204
+ });
205
+ });
206
+ });
207
+ //# sourceMappingURL=undo-redo-v2.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"undo-redo-v2.test.js","sourceRoot":"","sources":["../../../test/document/undo-redo-v2.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=versioning.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versioning.test.d.ts","sourceRoot":"","sources":["../../../test/document-model/versioning.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,93 @@
1
+ import { addModule, documentModelCreateDocument, documentModelReducer, releaseNewVersion, setStateSchema, } from "document-model";
2
+ describe("Document Model Versioning", () => {
3
+ let doc;
4
+ beforeEach(() => {
5
+ doc = documentModelCreateDocument({
6
+ id: "test/versioned-doc",
7
+ name: "Test Versioned Doc",
8
+ description: "Test description",
9
+ extension: "tvd",
10
+ authorName: "Test",
11
+ authorWebsite: "https://test.com",
12
+ });
13
+ });
14
+ describe("releaseNewVersion", () => {
15
+ it("should create v2 specification with incremented version", () => {
16
+ const newDoc = documentModelReducer(doc, releaseNewVersion());
17
+ const specs = newDoc.state.global.specifications;
18
+ expect(specs).toHaveLength(2);
19
+ expect(specs[0].version).toBe(1);
20
+ expect(specs[1].version).toBe(2);
21
+ });
22
+ it("should start new version with empty changelog", () => {
23
+ const newDoc = documentModelReducer(doc, releaseNewVersion());
24
+ const v2Spec = newDoc.state.global.specifications[1];
25
+ expect(v2Spec.changeLog).toEqual([]);
26
+ });
27
+ it("should copy state schema from previous version", () => {
28
+ const schema = "type TestState { id: Int! }";
29
+ let newDoc = documentModelReducer(doc, setStateSchema({ schema, scope: "global" }));
30
+ newDoc = documentModelReducer(newDoc, releaseNewVersion());
31
+ const v1State = newDoc.state.global.specifications[0].state.global;
32
+ const v2State = newDoc.state.global.specifications[1].state.global;
33
+ expect(v1State.schema).toBe(schema);
34
+ expect(v2State.schema).toBe(schema);
35
+ });
36
+ it("should deep copy modules from previous version", () => {
37
+ let newDoc = documentModelReducer(doc, addModule({
38
+ id: "module-1",
39
+ name: "TestModule",
40
+ }));
41
+ newDoc = documentModelReducer(newDoc, releaseNewVersion());
42
+ const v1Modules = newDoc.state.global.specifications[0].modules;
43
+ const v2Modules = newDoc.state.global.specifications[1].modules;
44
+ expect(v1Modules).toHaveLength(1);
45
+ expect(v2Modules).toHaveLength(1);
46
+ expect(v1Modules[0].name).toBe("TestModule");
47
+ expect(v2Modules[0].name).toBe("TestModule");
48
+ expect(v1Modules[0]).not.toBe(v2Modules[0]);
49
+ });
50
+ it("should not affect previous version when modifying new version", () => {
51
+ let newDoc = documentModelReducer(doc, addModule({
52
+ id: "module-1",
53
+ name: "OriginalModule",
54
+ }));
55
+ newDoc = documentModelReducer(newDoc, releaseNewVersion());
56
+ newDoc = documentModelReducer(newDoc, addModule({
57
+ id: "module-2",
58
+ name: "NewModule",
59
+ }));
60
+ const v1Modules = newDoc.state.global.specifications[0].modules;
61
+ const v2Modules = newDoc.state.global.specifications[1].modules;
62
+ expect(v1Modules).toHaveLength(1);
63
+ expect(v2Modules).toHaveLength(2);
64
+ });
65
+ it("should support multiple version releases (v1 -> v2 -> v3)", () => {
66
+ let newDoc = documentModelReducer(doc, releaseNewVersion());
67
+ newDoc = documentModelReducer(newDoc, releaseNewVersion());
68
+ const specs = newDoc.state.global.specifications;
69
+ expect(specs).toHaveLength(3);
70
+ expect(specs[0].version).toBe(1);
71
+ expect(specs[1].version).toBe(2);
72
+ expect(specs[2].version).toBe(3);
73
+ });
74
+ it("should preserve all specifications when releasing multiple versions", () => {
75
+ let newDoc = documentModelReducer(doc, addModule({ id: "v1-module", name: "V1Module" }));
76
+ newDoc = documentModelReducer(newDoc, releaseNewVersion());
77
+ newDoc = documentModelReducer(newDoc, addModule({ id: "v2-module", name: "V2Module" }));
78
+ newDoc = documentModelReducer(newDoc, releaseNewVersion());
79
+ newDoc = documentModelReducer(newDoc, addModule({ id: "v3-module", name: "V3Module" }));
80
+ const specs = newDoc.state.global.specifications;
81
+ expect(specs[0].modules).toHaveLength(1);
82
+ expect(specs[0].modules[0].name).toBe("V1Module");
83
+ expect(specs[1].modules).toHaveLength(2);
84
+ expect(specs[1].modules[0].name).toBe("V1Module");
85
+ expect(specs[1].modules[1].name).toBe("V2Module");
86
+ expect(specs[2].modules).toHaveLength(3);
87
+ expect(specs[2].modules[0].name).toBe("V1Module");
88
+ expect(specs[2].modules[1].name).toBe("V2Module");
89
+ expect(specs[2].modules[2].name).toBe("V3Module");
90
+ });
91
+ });
92
+ });
93
+ //# sourceMappingURL=versioning.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versioning.test.js","sourceRoot":"","sources":["../../../test/document-model/versioning.test.ts"],"names":[],"mappings":"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"}