@lionweb/delta-protocol-common 0.7.0-beta.23 → 0.7.0-beta.25

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 (31) hide show
  1. package/dist/payload/command-types.d.ts +4 -4
  2. package/dist/payload/command-types.d.ts.map +1 -1
  3. package/dist/payload/event-types.d.ts +7 -7
  4. package/dist/payload/event-types.d.ts.map +1 -1
  5. package/dist/payload/query-types.d.ts +11 -0
  6. package/dist/payload/query-types.d.ts.map +1 -1
  7. package/dist/payload/query-types.js.map +1 -1
  8. package/dist/translators/delta-to-command.d.ts +9 -1
  9. package/dist/translators/delta-to-command.d.ts.map +1 -1
  10. package/dist/translators/delta-to-command.js +275 -271
  11. package/dist/translators/delta-to-command.js.map +1 -1
  12. package/dist/translators/delta-to-event.d.ts +16 -1
  13. package/dist/translators/delta-to-event.d.ts.map +1 -1
  14. package/dist/translators/delta-to-event.js +36 -29
  15. package/dist/translators/delta-to-event.js.map +1 -1
  16. package/dist/translators/event-to-delta.d.ts +3 -2
  17. package/dist/translators/event-to-delta.d.ts.map +1 -1
  18. package/dist/translators/event-to-delta.js +6 -6
  19. package/dist/translators/event-to-delta.js.map +1 -1
  20. package/dist/translators/index.d.ts +2 -2
  21. package/dist/translators/index.d.ts.map +1 -1
  22. package/dist/translators/index.js +2 -2
  23. package/dist/translators/index.js.map +1 -1
  24. package/package.json +5 -5
  25. package/src/payload/command-types.ts +4 -4
  26. package/src/payload/event-types.ts +7 -7
  27. package/src/payload/query-types.ts +15 -0
  28. package/src/translators/delta-to-command.ts +289 -276
  29. package/src/translators/delta-to-event.ts +352 -315
  30. package/src/translators/event-to-delta.ts +19 -10
  31. package/src/translators/index.ts +2 -2
@@ -15,280 +15,284 @@
15
15
  // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
16
  // SPDX-License-Identifier: Apache-2.0
17
17
  import { AnnotationAddedDelta, AnnotationDeletedDelta, AnnotationMovedAndReplacedFromOtherParentDelta, AnnotationMovedAndReplacedInSameParentDelta, AnnotationMovedFromOtherParentDelta, AnnotationMovedInSameParentDelta, AnnotationReplacedDelta, ChildAddedDelta, ChildDeletedDelta, ChildMovedAndReplacedFromOtherContainmentDelta, ChildMovedAndReplacedFromOtherContainmentInSameParentDelta, ChildMovedAndReplacedInSameContainmentDelta, ChildMovedFromOtherContainmentDelta, ChildMovedFromOtherContainmentInSameParentDelta, ChildMovedInSameContainmentDelta, ChildReplacedDelta, CompositeDelta, EntryMovedAndReplacedFromOtherReferenceDelta, EntryMovedAndReplacedFromOtherReferenceInSameParentDelta, EntryMovedAndReplacedInSameReferenceDelta, EntryMovedFromOtherReferenceDelta, EntryMovedFromOtherReferenceInSameParentDelta, EntryMovedInSameReferenceDelta, NoOpDelta, PartitionAddedDelta, PartitionDeletedDelta, PropertyAddedDelta, PropertyChangedDelta, PropertyDeletedDelta, ReferenceAddedDelta, ReferenceChangedDelta, ReferenceDeletedDelta, serializeNodeBases } from "@lionweb/class-core";
18
- import { metaPointerFor, serializedRef } from "@lionweb/core";
18
+ import { nodeBaseReader } from "@lionweb/class-core/dist/serializer.js";
19
+ import { builtinPropertyValueSerializer, metaPointerFor, serializedRef } from "@lionweb/core";
19
20
  /**
20
21
  * @return a {@link IDelta delta} as a {@link Command command} with the given `commandId`.
21
22
  */
22
- export const deltaAsCommand = (delta, commandId) => {
23
- const completed = (commandName, partialCommand) => ({
24
- messageKind: commandName,
25
- commandId,
26
- ...partialCommand,
27
- protocolMessages: []
28
- });
29
- // in order of the specification (§ 6.5):
30
- if (delta instanceof PartitionAddedDelta) {
31
- return completed("AddPartition", {
32
- newPartition: serializeNodeBases([delta.newPartition])
23
+ export const deltaToCommandTranslator = (propertyValueSerializer = builtinPropertyValueSerializer) => {
24
+ const translated = (delta, commandId) => {
25
+ const completed = (commandName, partialCommand) => ({
26
+ messageKind: commandName,
27
+ commandId,
28
+ ...partialCommand,
29
+ protocolMessages: []
33
30
  });
34
- }
35
- if (delta instanceof PartitionDeletedDelta) {
36
- return completed("DeletePartition", {
37
- deletedPartition: delta.deletedPartition.id
38
- });
39
- }
40
- if (delta instanceof PropertyAddedDelta) {
41
- return completed("AddProperty", {
42
- node: delta.node.id,
43
- property: metaPointerFor(delta.property),
44
- newValue: delta.value
45
- });
46
- }
47
- if (delta instanceof PropertyDeletedDelta) {
48
- return completed("DeleteProperty", {
49
- node: delta.node.id,
50
- property: metaPointerFor(delta.property)
51
- });
52
- }
53
- if (delta instanceof PropertyChangedDelta) {
54
- return completed("ChangeProperty", {
55
- node: delta.node.id,
56
- property: metaPointerFor(delta.property),
57
- newValue: delta.newValue
58
- });
59
- }
60
- if (delta instanceof ChildAddedDelta) {
61
- return completed("AddChild", {
62
- parent: delta.parent.id,
63
- newChild: serializeNodeBases([delta.newChild]),
64
- containment: metaPointerFor(delta.containment),
65
- index: delta.index
66
- });
67
- }
68
- if (delta instanceof ChildDeletedDelta) {
69
- return completed("DeleteChild", {
70
- parent: delta.parent.id,
71
- containment: metaPointerFor(delta.containment),
72
- index: delta.index,
73
- deletedChild: delta.deletedChild.id
74
- });
75
- }
76
- if (delta instanceof ChildReplacedDelta) {
77
- return completed("ReplaceChild", {
78
- newChild: serializeNodeBases([delta.newChild]),
79
- parent: delta.parent.id,
80
- containment: metaPointerFor(delta.containment),
81
- index: delta.index,
82
- replacedChild: delta.replacedChild.id
83
- });
84
- }
85
- if (delta instanceof ChildMovedFromOtherContainmentDelta) {
86
- return completed("MoveChildFromOtherContainment", {
87
- newParent: delta.newParent.id,
88
- newContainment: metaPointerFor(delta.newContainment),
89
- newIndex: delta.newIndex,
90
- movedChild: delta.movedChild.id
91
- });
92
- }
93
- if (delta instanceof ChildMovedFromOtherContainmentInSameParentDelta) {
94
- return completed("MoveChildFromOtherContainmentInSameParent", {
95
- newContainment: metaPointerFor(delta.newContainment),
96
- newIndex: delta.newIndex,
97
- movedChild: delta.movedChild.id,
98
- parent: delta.parent.id,
99
- oldContainment: metaPointerFor(delta.oldContainment),
100
- oldIndex: delta.oldIndex
101
- });
102
- }
103
- if (delta instanceof ChildMovedInSameContainmentDelta) {
104
- return completed("MoveChildInSameContainment", {
105
- newIndex: delta.newIndex,
106
- movedChild: delta.movedChild.id
107
- });
108
- }
109
- if (delta instanceof ChildMovedAndReplacedFromOtherContainmentDelta) {
110
- return completed("MoveAndReplaceChildFromOtherContainment", {
111
- newParent: delta.newParent.id,
112
- newContainment: metaPointerFor(delta.newContainment),
113
- newIndex: delta.newIndex,
114
- replacedChild: delta.replacedChild.id,
115
- movedChild: delta.movedChild.id
116
- });
117
- }
118
- if (delta instanceof ChildMovedAndReplacedFromOtherContainmentInSameParentDelta) {
119
- return completed("MoveAndReplaceChildFromOtherContainmentInSameParent", {
120
- newContainment: metaPointerFor(delta.newContainment),
121
- newIndex: delta.newIndex,
122
- replacedChild: delta.replacedChild.id,
123
- movedChild: delta.movedChild.id
124
- });
125
- }
126
- if (delta instanceof ChildMovedAndReplacedInSameContainmentDelta) {
127
- return completed("MoveAndReplaceChildInSameContainment", {
128
- newIndex: delta.newIndex,
129
- replacedChild: delta.replacedChild.id
130
- });
131
- }
132
- if (delta instanceof AnnotationAddedDelta) {
133
- return completed("AddAnnotation", {
134
- parent: delta.parent.id,
135
- index: delta.index,
136
- newAnnotation: serializeNodeBases([delta.newAnnotation])
137
- });
138
- }
139
- if (delta instanceof AnnotationDeletedDelta) {
140
- return completed("DeleteAnnotation", {
141
- parent: delta.parent.id,
142
- deletedAnnotation: delta.deletedAnnotation.id,
143
- index: delta.index
144
- });
145
- }
146
- if (delta instanceof AnnotationReplacedDelta) {
147
- return completed("ReplaceAnnotation", {
148
- newAnnotation: serializeNodeBases([delta.newAnnotation]),
149
- parent: delta.parent.id,
150
- index: delta.index,
151
- replacedAnnotation: delta.replacedAnnotation.id
152
- });
153
- }
154
- if (delta instanceof AnnotationMovedFromOtherParentDelta) {
155
- return completed("MoveAnnotationFromOtherParent", {
156
- newParent: delta.newParent.id,
157
- newIndex: delta.newIndex,
158
- movedAnnotation: delta.movedAnnotation.id
159
- });
160
- }
161
- if (delta instanceof AnnotationMovedInSameParentDelta) {
162
- return completed("MoveAnnotationInSameParent", {
163
- newIndex: delta.newIndex,
164
- movedAnnotation: delta.movedAnnotation.id
165
- });
166
- }
167
- if (delta instanceof AnnotationMovedAndReplacedFromOtherParentDelta) {
168
- return completed("MoveAndReplaceAnnotationFromOtherParent", {
169
- newParent: delta.newParent.id,
170
- newIndex: delta.newIndex,
171
- replacedAnnotation: delta.replacedAnnotation.id,
172
- movedAnnotation: delta.movedAnnotation.id
173
- });
174
- }
175
- if (delta instanceof AnnotationMovedAndReplacedInSameParentDelta) {
176
- return completed("MoveAndReplaceAnnotationInSameParent", {
177
- newIndex: delta.newIndex,
178
- replacedAnnotation: delta.replacedAnnotation.id,
179
- movedAnnotation: delta.movedAnnotation.id
180
- });
181
- }
182
- if (delta instanceof ReferenceAddedDelta) {
183
- return completed("AddReference", {
184
- parent: delta.parent.id,
185
- reference: metaPointerFor(delta.reference),
186
- index: delta.index,
187
- newTarget: serializedRef(delta.newTarget),
188
- newResolveInfo: null
189
- });
190
- }
191
- if (delta instanceof ReferenceDeletedDelta) {
192
- return completed("DeleteReference", {
193
- parent: delta.parent.id,
194
- reference: metaPointerFor(delta.reference),
195
- index: delta.index,
196
- deletedTarget: serializedRef(delta.deletedTarget),
197
- deletedResolveInfo: null
198
- });
199
- }
200
- if (delta instanceof ReferenceChangedDelta) {
201
- return completed("ChangeReference", {
202
- parent: delta.parent.id,
203
- reference: metaPointerFor(delta.reference),
204
- index: delta.index,
205
- oldTarget: serializedRef(delta.oldTarget),
206
- oldResolveInfo: null,
207
- newTarget: serializedRef(delta.newTarget),
208
- newResolveInfo: null
209
- });
210
- }
211
- if (delta instanceof EntryMovedFromOtherReferenceDelta) {
212
- return completed("MoveEntryFromOtherReference", {
213
- newParent: delta.newParent.id,
214
- newReference: metaPointerFor(delta.newReference),
215
- newIndex: delta.newIndex,
216
- oldParent: delta.oldParent.id,
217
- oldReference: metaPointerFor(delta.oldReference),
218
- oldIndex: delta.oldIndex,
219
- movedTarget: serializedRef(delta.movedTarget),
220
- movedResolveInfo: null
221
- });
222
- }
223
- if (delta instanceof EntryMovedFromOtherReferenceInSameParentDelta) {
224
- return completed("MoveEntryFromOtherReferenceInSameParent", {
225
- parent: delta.parent.id,
226
- newReference: metaPointerFor(delta.newReference),
227
- newIndex: delta.newIndex,
228
- oldIndex: delta.oldIndex,
229
- movedTarget: serializedRef(delta.movedTarget),
230
- movedResolveInfo: null
231
- });
232
- }
233
- if (delta instanceof EntryMovedInSameReferenceDelta) {
234
- return completed("MoveEntryInSameReference", {
235
- parent: delta.parent.id,
236
- reference: metaPointerFor(delta.reference),
237
- oldIndex: delta.oldIndex,
238
- newIndex: delta.newIndex,
239
- movedTarget: serializedRef(delta.movedTarget),
240
- movedResolveInfo: null
241
- });
242
- }
243
- if (delta instanceof EntryMovedAndReplacedFromOtherReferenceDelta) {
244
- return completed("MoveAndReplaceEntryFromOtherReference", {
245
- newParent: delta.newParent.id,
246
- newReference: metaPointerFor(delta.newReference),
247
- newIndex: delta.newIndex,
248
- replacedTarget: serializedRef(delta.replacedTarget),
249
- replacedResolveInfo: null,
250
- oldParent: delta.oldParent.id,
251
- oldReference: metaPointerFor(delta.oldReference),
252
- oldIndex: delta.oldIndex,
253
- movedTarget: serializedRef(delta.movedTarget),
254
- movedResolveInfo: null
255
- });
256
- }
257
- if (delta instanceof EntryMovedAndReplacedFromOtherReferenceInSameParentDelta) {
258
- return completed("MoveAndReplaceEntryFromOtherReferenceInSameParent", {
259
- parent: delta.parent.id,
260
- newReference: metaPointerFor(delta.newReference),
261
- newIndex: delta.newIndex,
262
- replacedTarget: serializedRef(delta.replacedTarget),
263
- replacedResolveInfo: null,
264
- oldReference: metaPointerFor(delta.oldReference),
265
- oldIndex: delta.oldIndex,
266
- movedTarget: serializedRef(delta.movedTarget),
267
- movedResolveInfo: null
268
- });
269
- }
270
- if (delta instanceof EntryMovedAndReplacedInSameReferenceDelta) {
271
- return completed("MoveAndReplaceEntryInSameReference", {
272
- parent: delta.parent.id,
273
- reference: metaPointerFor(delta.reference),
274
- oldIndex: delta.oldIndex,
275
- movedTarget: serializedRef(delta.movedTarget),
276
- movedResolveInfo: null,
277
- newIndex: delta.newIndex,
278
- replacedTarget: serializedRef(delta.replacedTarget),
279
- replacedResolveInfo: null
280
- });
281
- }
282
- if (delta instanceof CompositeDelta) {
283
- return completed("CompositeCommand", {
284
- parts: delta.parts
285
- .map((part, index) => deltaAsCommand(part, `${commandId}-${index}`)) // TODO inject proper ID generator!
286
- .filter((command) => command !== undefined)
287
- });
288
- }
289
- if (delta instanceof NoOpDelta) {
290
- return undefined;
291
- }
292
- throw new Error(`can't handle delta of type ${delta.constructor.name}`);
31
+ // in order of the specification (§ 6.5):
32
+ if (delta instanceof PartitionAddedDelta) {
33
+ return completed("AddPartition", {
34
+ newPartition: serializeNodeBases([delta.newPartition])
35
+ });
36
+ }
37
+ if (delta instanceof PartitionDeletedDelta) {
38
+ return completed("DeletePartition", {
39
+ deletedPartition: delta.deletedPartition.id
40
+ });
41
+ }
42
+ if (delta instanceof PropertyAddedDelta) {
43
+ return completed("AddProperty", {
44
+ node: delta.node.id,
45
+ property: metaPointerFor(delta.property),
46
+ newValue: propertyValueSerializer.serializeValue(delta.value, delta.property)
47
+ });
48
+ }
49
+ if (delta instanceof PropertyDeletedDelta) {
50
+ return completed("DeleteProperty", {
51
+ node: delta.node.id,
52
+ property: metaPointerFor(delta.property)
53
+ });
54
+ }
55
+ if (delta instanceof PropertyChangedDelta) {
56
+ return completed("ChangeProperty", {
57
+ node: delta.node.id,
58
+ property: metaPointerFor(delta.property),
59
+ newValue: propertyValueSerializer.serializeValue(delta.newValue, delta.property)
60
+ });
61
+ }
62
+ if (delta instanceof ChildAddedDelta) {
63
+ return completed("AddChild", {
64
+ parent: delta.parent.id,
65
+ newChild: serializeNodeBases([delta.newChild]),
66
+ containment: metaPointerFor(delta.containment),
67
+ index: delta.index
68
+ });
69
+ }
70
+ if (delta instanceof ChildDeletedDelta) {
71
+ return completed("DeleteChild", {
72
+ parent: delta.parent.id,
73
+ containment: metaPointerFor(delta.containment),
74
+ index: delta.index,
75
+ deletedChild: delta.deletedChild.id
76
+ });
77
+ }
78
+ if (delta instanceof ChildReplacedDelta) {
79
+ return completed("ReplaceChild", {
80
+ newChild: serializeNodeBases([delta.newChild]),
81
+ parent: delta.parent.id,
82
+ containment: metaPointerFor(delta.containment),
83
+ index: delta.index,
84
+ replacedChild: delta.replacedChild.id
85
+ });
86
+ }
87
+ if (delta instanceof ChildMovedFromOtherContainmentDelta) {
88
+ return completed("MoveChildFromOtherContainment", {
89
+ newParent: delta.newParent.id,
90
+ newContainment: metaPointerFor(delta.newContainment),
91
+ newIndex: delta.newIndex,
92
+ movedChild: delta.movedChild.id
93
+ });
94
+ }
95
+ if (delta instanceof ChildMovedFromOtherContainmentInSameParentDelta) {
96
+ return completed("MoveChildFromOtherContainmentInSameParent", {
97
+ newContainment: metaPointerFor(delta.newContainment),
98
+ newIndex: delta.newIndex,
99
+ movedChild: delta.movedChild.id,
100
+ parent: delta.parent.id,
101
+ oldContainment: metaPointerFor(delta.oldContainment),
102
+ oldIndex: delta.oldIndex
103
+ });
104
+ }
105
+ if (delta instanceof ChildMovedInSameContainmentDelta) {
106
+ return completed("MoveChildInSameContainment", {
107
+ newIndex: delta.newIndex,
108
+ movedChild: delta.movedChild.id
109
+ });
110
+ }
111
+ if (delta instanceof ChildMovedAndReplacedFromOtherContainmentDelta) {
112
+ return completed("MoveAndReplaceChildFromOtherContainment", {
113
+ newParent: delta.newParent.id,
114
+ newContainment: metaPointerFor(delta.newContainment),
115
+ newIndex: delta.newIndex,
116
+ replacedChild: delta.replacedChild.id,
117
+ movedChild: delta.movedChild.id
118
+ });
119
+ }
120
+ if (delta instanceof ChildMovedAndReplacedFromOtherContainmentInSameParentDelta) {
121
+ return completed("MoveAndReplaceChildFromOtherContainmentInSameParent", {
122
+ newContainment: metaPointerFor(delta.newContainment),
123
+ newIndex: delta.newIndex,
124
+ replacedChild: delta.replacedChild.id,
125
+ movedChild: delta.movedChild.id
126
+ });
127
+ }
128
+ if (delta instanceof ChildMovedAndReplacedInSameContainmentDelta) {
129
+ return completed("MoveAndReplaceChildInSameContainment", {
130
+ newIndex: delta.newIndex,
131
+ replacedChild: delta.replacedChild.id
132
+ });
133
+ }
134
+ if (delta instanceof AnnotationAddedDelta) {
135
+ return completed("AddAnnotation", {
136
+ parent: delta.parent.id,
137
+ index: delta.index,
138
+ newAnnotation: serializeNodeBases([delta.newAnnotation])
139
+ });
140
+ }
141
+ if (delta instanceof AnnotationDeletedDelta) {
142
+ return completed("DeleteAnnotation", {
143
+ parent: delta.parent.id,
144
+ deletedAnnotation: delta.deletedAnnotation.id,
145
+ index: delta.index
146
+ });
147
+ }
148
+ if (delta instanceof AnnotationReplacedDelta) {
149
+ return completed("ReplaceAnnotation", {
150
+ newAnnotation: serializeNodeBases([delta.newAnnotation]),
151
+ parent: delta.parent.id,
152
+ index: delta.index,
153
+ replacedAnnotation: delta.replacedAnnotation.id
154
+ });
155
+ }
156
+ if (delta instanceof AnnotationMovedFromOtherParentDelta) {
157
+ return completed("MoveAnnotationFromOtherParent", {
158
+ newParent: delta.newParent.id,
159
+ newIndex: delta.newIndex,
160
+ movedAnnotation: delta.movedAnnotation.id
161
+ });
162
+ }
163
+ if (delta instanceof AnnotationMovedInSameParentDelta) {
164
+ return completed("MoveAnnotationInSameParent", {
165
+ newIndex: delta.newIndex,
166
+ movedAnnotation: delta.movedAnnotation.id
167
+ });
168
+ }
169
+ if (delta instanceof AnnotationMovedAndReplacedFromOtherParentDelta) {
170
+ return completed("MoveAndReplaceAnnotationFromOtherParent", {
171
+ newParent: delta.newParent.id,
172
+ newIndex: delta.newIndex,
173
+ replacedAnnotation: delta.replacedAnnotation.id,
174
+ movedAnnotation: delta.movedAnnotation.id
175
+ });
176
+ }
177
+ if (delta instanceof AnnotationMovedAndReplacedInSameParentDelta) {
178
+ return completed("MoveAndReplaceAnnotationInSameParent", {
179
+ newIndex: delta.newIndex,
180
+ replacedAnnotation: delta.replacedAnnotation.id,
181
+ movedAnnotation: delta.movedAnnotation.id
182
+ });
183
+ }
184
+ if (delta instanceof ReferenceAddedDelta) {
185
+ return completed("AddReference", {
186
+ parent: delta.parent.id,
187
+ reference: metaPointerFor(delta.reference),
188
+ index: delta.index,
189
+ newTarget: serializedRef(delta.newTarget),
190
+ newResolveInfo: nodeBaseReader.resolveInfoFor(delta.newTarget)
191
+ });
192
+ }
193
+ if (delta instanceof ReferenceDeletedDelta) {
194
+ return completed("DeleteReference", {
195
+ parent: delta.parent.id,
196
+ reference: metaPointerFor(delta.reference),
197
+ index: delta.index,
198
+ deletedTarget: serializedRef(delta.deletedTarget),
199
+ deletedResolveInfo: nodeBaseReader.resolveInfoFor(delta.deletedTarget)
200
+ });
201
+ }
202
+ if (delta instanceof ReferenceChangedDelta) {
203
+ return completed("ChangeReference", {
204
+ parent: delta.parent.id,
205
+ reference: metaPointerFor(delta.reference),
206
+ index: delta.index,
207
+ oldTarget: serializedRef(delta.oldTarget),
208
+ oldResolveInfo: nodeBaseReader.resolveInfoFor(delta.oldTarget),
209
+ newTarget: serializedRef(delta.newTarget),
210
+ newResolveInfo: nodeBaseReader.resolveInfoFor(delta.oldTarget)
211
+ });
212
+ }
213
+ if (delta instanceof EntryMovedFromOtherReferenceDelta) {
214
+ return completed("MoveEntryFromOtherReference", {
215
+ newParent: delta.newParent.id,
216
+ newReference: metaPointerFor(delta.newReference),
217
+ newIndex: delta.newIndex,
218
+ oldParent: delta.oldParent.id,
219
+ oldReference: metaPointerFor(delta.oldReference),
220
+ oldIndex: delta.oldIndex,
221
+ movedTarget: serializedRef(delta.movedTarget),
222
+ movedResolveInfo: nodeBaseReader.resolveInfoFor(delta.movedTarget)
223
+ });
224
+ }
225
+ if (delta instanceof EntryMovedFromOtherReferenceInSameParentDelta) {
226
+ return completed("MoveEntryFromOtherReferenceInSameParent", {
227
+ parent: delta.parent.id,
228
+ newReference: metaPointerFor(delta.newReference),
229
+ newIndex: delta.newIndex,
230
+ oldIndex: delta.oldIndex,
231
+ movedTarget: serializedRef(delta.movedTarget),
232
+ movedResolveInfo: nodeBaseReader.resolveInfoFor(delta.movedTarget)
233
+ });
234
+ }
235
+ if (delta instanceof EntryMovedInSameReferenceDelta) {
236
+ return completed("MoveEntryInSameReference", {
237
+ parent: delta.parent.id,
238
+ reference: metaPointerFor(delta.reference),
239
+ oldIndex: delta.oldIndex,
240
+ newIndex: delta.newIndex,
241
+ movedTarget: serializedRef(delta.movedTarget),
242
+ movedResolveInfo: nodeBaseReader.resolveInfoFor(delta.movedTarget)
243
+ });
244
+ }
245
+ if (delta instanceof EntryMovedAndReplacedFromOtherReferenceDelta) {
246
+ return completed("MoveAndReplaceEntryFromOtherReference", {
247
+ newParent: delta.newParent.id,
248
+ newReference: metaPointerFor(delta.newReference),
249
+ newIndex: delta.newIndex,
250
+ replacedTarget: serializedRef(delta.replacedTarget),
251
+ replacedResolveInfo: nodeBaseReader.resolveInfoFor(delta.replacedTarget),
252
+ oldParent: delta.oldParent.id,
253
+ oldReference: metaPointerFor(delta.oldReference),
254
+ oldIndex: delta.oldIndex,
255
+ movedTarget: serializedRef(delta.movedTarget),
256
+ movedResolveInfo: nodeBaseReader.resolveInfoFor(delta.movedTarget)
257
+ });
258
+ }
259
+ if (delta instanceof EntryMovedAndReplacedFromOtherReferenceInSameParentDelta) {
260
+ return completed("MoveAndReplaceEntryFromOtherReferenceInSameParent", {
261
+ parent: delta.parent.id,
262
+ newReference: metaPointerFor(delta.newReference),
263
+ newIndex: delta.newIndex,
264
+ replacedTarget: serializedRef(delta.replacedTarget),
265
+ replacedResolveInfo: nodeBaseReader.resolveInfoFor(delta.replacedTarget),
266
+ oldReference: metaPointerFor(delta.oldReference),
267
+ oldIndex: delta.oldIndex,
268
+ movedTarget: serializedRef(delta.movedTarget),
269
+ movedResolveInfo: nodeBaseReader.resolveInfoFor(delta.movedTarget)
270
+ });
271
+ }
272
+ if (delta instanceof EntryMovedAndReplacedInSameReferenceDelta) {
273
+ return completed("MoveAndReplaceEntryInSameReference", {
274
+ parent: delta.parent.id,
275
+ reference: metaPointerFor(delta.reference),
276
+ oldIndex: delta.oldIndex,
277
+ movedTarget: serializedRef(delta.movedTarget),
278
+ movedResolveInfo: nodeBaseReader.resolveInfoFor(delta.movedTarget),
279
+ newIndex: delta.newIndex,
280
+ replacedTarget: serializedRef(delta.replacedTarget),
281
+ replacedResolveInfo: nodeBaseReader.resolveInfoFor(delta.replacedTarget)
282
+ });
283
+ }
284
+ if (delta instanceof CompositeDelta) {
285
+ return completed("CompositeCommand", {
286
+ parts: delta.parts
287
+ .map((part, index) => translated(part, `${commandId}-${index}`)) // TODO inject proper ID generator!
288
+ .filter((command) => command !== undefined)
289
+ });
290
+ }
291
+ if (delta instanceof NoOpDelta) {
292
+ return undefined;
293
+ }
294
+ throw new Error(`can't handle delta of type ${delta.constructor.name}`);
295
+ };
296
+ return translated;
293
297
  };
294
298
  //# sourceMappingURL=delta-to-command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delta-to-command.js","sourceRoot":"","sources":["../../src/translators/delta-to-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delta-to-command.js","sourceRoot":"","sources":["../../src/translators/delta-to-command.ts"],"names":[],"mappings":"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"}