@lionweb/class-core 0.6.13-beta.7 → 0.7.0-alpha.10
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.
- package/CHANGELOG.md +7 -1
- package/README.md +1 -1
- package/dist/{lionCore_builtins.g.d.ts → LionCore_builtins.g.d.ts} +1 -1
- package/dist/{lionCore_builtins.g.d.ts.map → LionCore_builtins.g.d.ts.map} +1 -1
- package/dist/{lionCore_builtins.g.js → LionCore_builtins.g.js} +1 -1
- package/dist/{lionCore_builtins.g.js.map → LionCore_builtins.g.js.map} +1 -1
- package/dist/base-types.d.ts +5 -4
- package/dist/base-types.d.ts.map +1 -1
- package/dist/base-types.js +1 -1
- package/dist/base-types.js.map +1 -1
- package/dist/convenience.d.ts +4 -3
- package/dist/convenience.d.ts.map +1 -1
- package/dist/convenience.js.map +1 -1
- package/dist/deltas/appliers.d.ts.map +1 -1
- package/dist/deltas/appliers.js.map +1 -1
- package/dist/deltas/handlers.d.ts.map +1 -1
- package/dist/deltas/handlers.js.map +1 -1
- package/dist/deltas/inverters.d.ts.map +1 -1
- package/dist/deltas/inverters.js.map +1 -1
- package/dist/deltas/serialization/base.d.ts +1 -1
- package/dist/deltas/serialization/base.d.ts.map +1 -1
- package/dist/deltas/serialization/deserializer.g.d.ts.map +1 -1
- package/dist/deltas/serialization/deserializer.g.js.map +1 -1
- package/dist/deltas/serialization/serializer-helpers.d.ts +1 -1
- package/dist/deltas/serialization/serializer-helpers.d.ts.map +1 -1
- package/dist/deltas/serialization/serializer-helpers.js +4 -4
- package/dist/deltas/serialization/serializer-helpers.js.map +1 -1
- package/dist/deltas/serialization/serializer.g.d.ts.map +1 -1
- package/dist/deltas/serialization/serializer.g.js.map +1 -1
- package/dist/deltas/serialization/types.g.d.ts +58 -57
- package/dist/deltas/serialization/types.g.d.ts.map +1 -1
- package/dist/deltas/types.g.d.ts.map +1 -1
- package/dist/deserializer.d.ts +5 -4
- package/dist/deserializer.d.ts.map +1 -1
- package/dist/deserializer.js +7 -6
- package/dist/deserializer.js.map +1 -1
- package/dist/duplicator.d.ts.map +1 -1
- package/dist/duplicator.js +3 -2
- package/dist/duplicator.js.map +1 -1
- package/dist/factory.d.ts +7 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/factory.js +44 -0
- package/dist/factory.js.map +1 -0
- package/dist/id-mapping.d.ts +5 -4
- package/dist/id-mapping.d.ts.map +1 -1
- package/dist/id-mapping.js +2 -3
- package/dist/id-mapping.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/linking.d.ts +3 -2
- package/dist/linking.d.ts.map +1 -1
- package/dist/serializer.d.ts +5 -5
- package/dist/serializer.d.ts.map +1 -1
- package/dist/serializer.js +4 -4
- package/dist/serializer.js.map +1 -1
- package/dist/textualizer.d.ts.map +1 -1
- package/dist/textualizer.js +2 -2
- package/dist/textualizer.js.map +1 -1
- package/dist/value-managers/annotations.d.ts.map +1 -1
- package/dist/value-managers/annotations.js.map +1 -1
- package/dist/value-managers/base.d.ts.map +1 -1
- package/dist/value-managers/base.js.map +1 -1
- package/dist/value-managers/containments.d.ts.map +1 -1
- package/dist/value-managers/containments.js +1 -1
- package/dist/value-managers/containments.js.map +1 -1
- package/dist/value-managers/properties.d.ts +1 -1
- package/dist/value-managers/properties.d.ts.map +1 -1
- package/dist/value-managers/properties.js +1 -1
- package/dist/value-managers/properties.js.map +1 -1
- package/dist/value-managers/references.d.ts.map +1 -1
- package/dist/value-managers/references.js +1 -1
- package/dist/value-managers/references.js.map +1 -1
- package/package.json +14 -10
- package/src/{lionCore_builtins.g.ts → LionCore_builtins.g.ts} +5 -2
- package/src/base-types.ts +6 -6
- package/src/convenience.ts +6 -9
- package/src/deltas/appliers.ts +6 -6
- package/src/deltas/handlers.ts +2 -2
- package/src/deltas/inverters.ts +2 -2
- package/src/deltas/serialization/base.ts +2 -2
- package/src/deltas/serialization/deserializer.g.ts +5 -5
- package/src/deltas/serialization/serializer-helpers.ts +11 -6
- package/src/deltas/serialization/serializer.g.ts +4 -4
- package/src/deltas/serialization/types.g.ts +58 -57
- package/src/deltas/types.g.ts +2 -2
- package/src/deserializer.ts +19 -21
- package/src/duplicator.ts +8 -6
- package/src/factory.ts +49 -0
- package/src/id-mapping.ts +8 -9
- package/src/index.ts +4 -3
- package/src/linking.ts +4 -3
- package/src/serializer.ts +9 -10
- package/src/textualizer.ts +4 -5
- package/src/value-managers/annotations.ts +4 -4
- package/src/value-managers/base.ts +3 -3
- package/src/value-managers/containments.ts +6 -12
- package/src/value-managers/properties.ts +5 -5
- package/src/value-managers/references.ts +6 -11
- package/dist/utils.d.ts +0 -6
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -22
- package/dist/utils.js.map +0 -1
- package/src/utils.ts +0 -24
|
@@ -1,147 +1,148 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IdOrUnresolved } from "@lionweb/core";
|
|
2
|
+
import { LionWebId, LionWebJsonMetaPointer, LionWebJsonChunk } from "@lionweb/json";
|
|
2
3
|
export type SerializedDelta = NoOpSerializedDelta | PropertyAddedSerializedDelta | PropertyDeletedSerializedDelta | PropertyChangedSerializedDelta | ChildAddedSerializedDelta | ChildDeletedSerializedDelta | ChildReplacedSerializedDelta | ChildMovedSerializedDelta | ChildMovedInSameContainmentSerializedDelta | ReferenceAddedSerializedDelta | ReferenceDeletedSerializedDelta | ReferenceReplacedSerializedDelta | ReferenceMovedSerializedDelta | ReferenceMovedInSameReferenceSerializedDelta | AnnotationAddedSerializedDelta | AnnotationDeletedSerializedDelta | AnnotationReplacedSerializedDelta | AnnotationMovedFromOtherParentSerializedDelta | AnnotationMovedInSameParentSerializedDelta;
|
|
3
4
|
export type NoOpSerializedDelta = {
|
|
4
5
|
kind: "NoOp";
|
|
5
6
|
};
|
|
6
7
|
export type PropertyAddedSerializedDelta = {
|
|
7
8
|
kind: "PropertyAdded";
|
|
8
|
-
container:
|
|
9
|
-
property:
|
|
9
|
+
container: LionWebId;
|
|
10
|
+
property: LionWebJsonMetaPointer;
|
|
10
11
|
value: string;
|
|
11
12
|
};
|
|
12
13
|
export type PropertyDeletedSerializedDelta = {
|
|
13
14
|
kind: "PropertyDeleted";
|
|
14
|
-
container:
|
|
15
|
-
property:
|
|
15
|
+
container: LionWebId;
|
|
16
|
+
property: LionWebJsonMetaPointer;
|
|
16
17
|
oldValue: string;
|
|
17
18
|
};
|
|
18
19
|
export type PropertyChangedSerializedDelta = {
|
|
19
20
|
kind: "PropertyChanged";
|
|
20
|
-
container:
|
|
21
|
-
property:
|
|
21
|
+
container: LionWebId;
|
|
22
|
+
property: LionWebJsonMetaPointer;
|
|
22
23
|
oldValue: string;
|
|
23
24
|
newValue: string;
|
|
24
25
|
};
|
|
25
26
|
export type ChildAddedSerializedDelta = {
|
|
26
27
|
kind: "ChildAdded";
|
|
27
|
-
parent:
|
|
28
|
-
containment:
|
|
28
|
+
parent: LionWebId;
|
|
29
|
+
containment: LionWebJsonMetaPointer;
|
|
29
30
|
index: number;
|
|
30
|
-
newChild:
|
|
31
|
-
newNodes:
|
|
31
|
+
newChild: LionWebId;
|
|
32
|
+
newNodes: LionWebJsonChunk;
|
|
32
33
|
};
|
|
33
34
|
export type ChildDeletedSerializedDelta = {
|
|
34
35
|
kind: "ChildDeleted";
|
|
35
|
-
parent:
|
|
36
|
-
containment:
|
|
36
|
+
parent: LionWebId;
|
|
37
|
+
containment: LionWebJsonMetaPointer;
|
|
37
38
|
index: number;
|
|
38
|
-
deletedChild:
|
|
39
|
-
deletedNodes:
|
|
39
|
+
deletedChild: LionWebId;
|
|
40
|
+
deletedNodes: LionWebJsonChunk;
|
|
40
41
|
};
|
|
41
42
|
export type ChildReplacedSerializedDelta = {
|
|
42
43
|
kind: "ChildReplaced";
|
|
43
|
-
parent:
|
|
44
|
-
containment:
|
|
44
|
+
parent: LionWebId;
|
|
45
|
+
containment: LionWebJsonMetaPointer;
|
|
45
46
|
index: number;
|
|
46
|
-
replacedChild:
|
|
47
|
-
replacedNodes:
|
|
48
|
-
newChild:
|
|
49
|
-
newNodes:
|
|
47
|
+
replacedChild: LionWebId;
|
|
48
|
+
replacedNodes: LionWebJsonChunk;
|
|
49
|
+
newChild: LionWebId;
|
|
50
|
+
newNodes: LionWebJsonChunk;
|
|
50
51
|
};
|
|
51
52
|
export type ChildMovedSerializedDelta = {
|
|
52
53
|
kind: "ChildMoved";
|
|
53
|
-
oldParent:
|
|
54
|
-
oldContainment:
|
|
54
|
+
oldParent: LionWebId;
|
|
55
|
+
oldContainment: LionWebJsonMetaPointer;
|
|
55
56
|
oldIndex: number;
|
|
56
|
-
newParent:
|
|
57
|
-
newContainment:
|
|
57
|
+
newParent: LionWebId;
|
|
58
|
+
newContainment: LionWebJsonMetaPointer;
|
|
58
59
|
newIndex: number;
|
|
59
|
-
child:
|
|
60
|
+
child: LionWebId;
|
|
60
61
|
};
|
|
61
62
|
export type ChildMovedInSameContainmentSerializedDelta = {
|
|
62
63
|
kind: "ChildMovedInSameContainment";
|
|
63
|
-
parent:
|
|
64
|
-
containment:
|
|
64
|
+
parent: LionWebId;
|
|
65
|
+
containment: LionWebJsonMetaPointer;
|
|
65
66
|
oldIndex: number;
|
|
66
67
|
newIndex: number;
|
|
67
|
-
child:
|
|
68
|
+
child: LionWebId;
|
|
68
69
|
};
|
|
69
70
|
export type ReferenceAddedSerializedDelta = {
|
|
70
71
|
kind: "ReferenceAdded";
|
|
71
|
-
container:
|
|
72
|
-
reference:
|
|
72
|
+
container: LionWebId;
|
|
73
|
+
reference: LionWebJsonMetaPointer;
|
|
73
74
|
index: number;
|
|
74
75
|
newTarget: IdOrUnresolved;
|
|
75
76
|
};
|
|
76
77
|
export type ReferenceDeletedSerializedDelta = {
|
|
77
78
|
kind: "ReferenceDeleted";
|
|
78
|
-
container:
|
|
79
|
-
reference:
|
|
79
|
+
container: LionWebId;
|
|
80
|
+
reference: LionWebJsonMetaPointer;
|
|
80
81
|
index: number;
|
|
81
82
|
deletedTarget: IdOrUnresolved;
|
|
82
83
|
};
|
|
83
84
|
export type ReferenceReplacedSerializedDelta = {
|
|
84
85
|
kind: "ReferenceReplaced";
|
|
85
|
-
container:
|
|
86
|
-
reference:
|
|
86
|
+
container: LionWebId;
|
|
87
|
+
reference: LionWebJsonMetaPointer;
|
|
87
88
|
index: number;
|
|
88
89
|
replacedTarget: IdOrUnresolved;
|
|
89
90
|
newTarget: IdOrUnresolved;
|
|
90
91
|
};
|
|
91
92
|
export type ReferenceMovedSerializedDelta = {
|
|
92
93
|
kind: "ReferenceMoved";
|
|
93
|
-
oldContainer:
|
|
94
|
-
oldReference:
|
|
94
|
+
oldContainer: LionWebId;
|
|
95
|
+
oldReference: LionWebJsonMetaPointer;
|
|
95
96
|
oldIndex: number;
|
|
96
|
-
newContainer:
|
|
97
|
-
newReference:
|
|
97
|
+
newContainer: LionWebId;
|
|
98
|
+
newReference: LionWebJsonMetaPointer;
|
|
98
99
|
newIndex: number;
|
|
99
100
|
target: IdOrUnresolved;
|
|
100
101
|
};
|
|
101
102
|
export type ReferenceMovedInSameReferenceSerializedDelta = {
|
|
102
103
|
kind: "ReferenceMovedInSameReference";
|
|
103
|
-
container:
|
|
104
|
-
reference:
|
|
104
|
+
container: LionWebId;
|
|
105
|
+
reference: LionWebJsonMetaPointer;
|
|
105
106
|
oldIndex: number;
|
|
106
107
|
newIndex: number;
|
|
107
108
|
target: IdOrUnresolved;
|
|
108
109
|
};
|
|
109
110
|
export type AnnotationAddedSerializedDelta = {
|
|
110
111
|
kind: "AnnotationAdded";
|
|
111
|
-
parent:
|
|
112
|
+
parent: LionWebId;
|
|
112
113
|
index: number;
|
|
113
|
-
newAnnotation:
|
|
114
|
-
newAnnotationNodes:
|
|
114
|
+
newAnnotation: LionWebId;
|
|
115
|
+
newAnnotationNodes: LionWebJsonChunk;
|
|
115
116
|
};
|
|
116
117
|
export type AnnotationDeletedSerializedDelta = {
|
|
117
118
|
kind: "AnnotationDeleted";
|
|
118
|
-
parent:
|
|
119
|
+
parent: LionWebId;
|
|
119
120
|
index: number;
|
|
120
|
-
deletedAnnotation:
|
|
121
|
-
deletedAnnotationNodes:
|
|
121
|
+
deletedAnnotation: LionWebId;
|
|
122
|
+
deletedAnnotationNodes: LionWebJsonChunk;
|
|
122
123
|
};
|
|
123
124
|
export type AnnotationReplacedSerializedDelta = {
|
|
124
125
|
kind: "AnnotationReplaced";
|
|
125
|
-
parent:
|
|
126
|
+
parent: LionWebId;
|
|
126
127
|
index: number;
|
|
127
|
-
replacedAnnotation:
|
|
128
|
-
replacedAnnotationNodes:
|
|
129
|
-
newAnnotation:
|
|
130
|
-
newAnnotationNodes:
|
|
128
|
+
replacedAnnotation: LionWebId;
|
|
129
|
+
replacedAnnotationNodes: LionWebJsonChunk;
|
|
130
|
+
newAnnotation: LionWebId;
|
|
131
|
+
newAnnotationNodes: LionWebJsonChunk;
|
|
131
132
|
};
|
|
132
133
|
export type AnnotationMovedFromOtherParentSerializedDelta = {
|
|
133
134
|
kind: "AnnotationMovedFromOtherParent";
|
|
134
|
-
oldParent:
|
|
135
|
+
oldParent: LionWebId;
|
|
135
136
|
oldIndex: number;
|
|
136
|
-
newParent:
|
|
137
|
+
newParent: LionWebId;
|
|
137
138
|
newIndex: number;
|
|
138
|
-
movedAnnotation:
|
|
139
|
+
movedAnnotation: LionWebId;
|
|
139
140
|
};
|
|
140
141
|
export type AnnotationMovedInSameParentSerializedDelta = {
|
|
141
142
|
kind: "AnnotationMovedInSameParent";
|
|
142
|
-
parent:
|
|
143
|
+
parent: LionWebId;
|
|
143
144
|
oldIndex: number;
|
|
144
145
|
newIndex: number;
|
|
145
|
-
movedAnnotation:
|
|
146
|
+
movedAnnotation: LionWebId;
|
|
146
147
|
};
|
|
147
148
|
//# sourceMappingURL=types.g.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.g.d.ts","sourceRoot":"","sources":["../../../src/deltas/serialization/types.g.ts"],"names":[],"mappings":"AAoBA,OAAO,
|
|
1
|
+
{"version":3,"file":"types.g.d.ts","sourceRoot":"","sources":["../../../src/deltas/serialization/types.g.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGpF,MAAM,MAAM,eAAe,GACrB,mBAAmB,GACnB,4BAA4B,GAC5B,8BAA8B,GAC9B,8BAA8B,GAC9B,yBAAyB,GACzB,2BAA2B,GAC3B,4BAA4B,GAC5B,yBAAyB,GACzB,0CAA0C,GAC1C,6BAA6B,GAC7B,+BAA+B,GAC/B,gCAAgC,GAChC,6BAA6B,GAC7B,4CAA4C,GAC5C,8BAA8B,GAC9B,gCAAgC,GAChC,iCAAiC,GACjC,6CAA6C,GAC7C,0CAA0C,CAC3C;AAGL,MAAM,MAAM,mBAAmB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACvC,IAAI,EAAE,eAAe,CAAA;IACrB,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,sBAAsB,CAAA;IAChC,KAAK,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG;IACzC,IAAI,EAAE,iBAAiB,CAAA;IACvB,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,sBAAsB,CAAA;IAChC,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG;IACzC,IAAI,EAAE,iBAAiB,CAAA;IACvB,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,sBAAsB,CAAA;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACpC,IAAI,EAAE,YAAY,CAAA;IAClB,MAAM,EAAE,SAAS,CAAA;IACjB,WAAW,EAAE,sBAAsB,CAAA;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,SAAS,CAAA;IACnB,QAAQ,EAAE,gBAAgB,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACtC,IAAI,EAAE,cAAc,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,WAAW,EAAE,sBAAsB,CAAA;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,SAAS,CAAA;IACvB,YAAY,EAAE,gBAAgB,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACvC,IAAI,EAAE,eAAe,CAAA;IACrB,MAAM,EAAE,SAAS,CAAA;IACjB,WAAW,EAAE,sBAAsB,CAAA;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,SAAS,CAAA;IACxB,aAAa,EAAE,gBAAgB,CAAA;IAC/B,QAAQ,EAAE,SAAS,CAAA;IACnB,QAAQ,EAAE,gBAAgB,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACpC,IAAI,EAAE,YAAY,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,cAAc,EAAE,sBAAsB,CAAA;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,cAAc,EAAE,sBAAsB,CAAA;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,SAAS,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,0CAA0C,GAAG;IACrD,IAAI,EAAE,6BAA6B,CAAA;IACnC,MAAM,EAAE,SAAS,CAAA;IACjB,WAAW,EAAE,sBAAsB,CAAA;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,SAAS,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG;IACxC,IAAI,EAAE,gBAAgB,CAAA;IACtB,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,sBAAsB,CAAA;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,cAAc,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC1C,IAAI,EAAE,kBAAkB,CAAA;IACxB,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,sBAAsB,CAAA;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,cAAc,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC3C,IAAI,EAAE,mBAAmB,CAAA;IACzB,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,sBAAsB,CAAA;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,cAAc,CAAA;IAC9B,SAAS,EAAE,cAAc,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG;IACxC,IAAI,EAAE,gBAAgB,CAAA;IACtB,YAAY,EAAE,SAAS,CAAA;IACvB,YAAY,EAAE,sBAAsB,CAAA;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,SAAS,CAAA;IACvB,YAAY,EAAE,sBAAsB,CAAA;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,cAAc,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,4CAA4C,GAAG;IACvD,IAAI,EAAE,+BAA+B,CAAA;IACrC,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,sBAAsB,CAAA;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,cAAc,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG;IACzC,IAAI,EAAE,iBAAiB,CAAA;IACvB,MAAM,EAAE,SAAS,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,SAAS,CAAA;IACxB,kBAAkB,EAAE,gBAAgB,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC3C,IAAI,EAAE,mBAAmB,CAAA;IACzB,MAAM,EAAE,SAAS,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB,EAAE,SAAS,CAAA;IAC5B,sBAAsB,EAAE,gBAAgB,CAAA;CAC3C,CAAA;AAED,MAAM,MAAM,iCAAiC,GAAG;IAC5C,IAAI,EAAE,oBAAoB,CAAA;IAC1B,MAAM,EAAE,SAAS,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,kBAAkB,EAAE,SAAS,CAAA;IAC7B,uBAAuB,EAAE,gBAAgB,CAAA;IACzC,aAAa,EAAE,SAAS,CAAA;IACxB,kBAAkB,EAAE,gBAAgB,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,6CAA6C,GAAG;IACxD,IAAI,EAAE,gCAAgC,CAAA;IACtC,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,SAAS,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,0CAA0C,GAAG;IACrD,IAAI,EAAE,6BAA6B,CAAA;IACnC,MAAM,EAAE,SAAS,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,SAAS,CAAA;CAC7B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.g.d.ts","sourceRoot":"","sources":["../../src/deltas/types.g.ts"],"names":[],"mappings":"AAoBA,OAAO,EACH,WAAW,EACX,QAAQ,EACR,SAAS,EACT,SAAS,EACZ,MAAM,eAAe,CAAC;AAEvB,OAAO,
|
|
1
|
+
{"version":3,"file":"types.g.d.ts","sourceRoot":"","sources":["../../src/deltas/types.g.ts"],"names":[],"mappings":"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"}
|
package/dist/deserializer.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PropertyValueDeserializer, SimplisticHandler } from "@lionweb/core";
|
|
2
|
+
import { LionWebJsonChunk } from "@lionweb/json";
|
|
2
3
|
import { DeltaHandler, IdMapping, ILanguageBase, INodeBase } from "./index.js";
|
|
3
4
|
/**
|
|
4
5
|
* A type for deserializer functions that are parametrized in their return type.
|
|
5
6
|
*/
|
|
6
|
-
export type Deserializer<T> = (serializationChunk:
|
|
7
|
+
export type Deserializer<T> = (serializationChunk: LionWebJsonChunk, dependentNodes?: INodeBase[], propertyValueDeserializer?: PropertyValueDeserializer, problemHandler?: SimplisticHandler) => T;
|
|
7
8
|
/**
|
|
8
9
|
* A quasi-tuple of the roots (of type {@link INodeBase}) of a model,
|
|
9
10
|
* and its {@link IdMapping} instance.
|
|
@@ -14,13 +15,13 @@ export type RootsWithIdMapping = {
|
|
|
14
15
|
};
|
|
15
16
|
/**
|
|
16
17
|
* @return a {@link Deserializer} function for the given languages (given as {@link ILanguageBase}s) that returns a {@link RootsWithIdMapping}.
|
|
17
|
-
* @param languageBases the {@link ILanguageBase}s for (at least) all the languages used in the {@link
|
|
18
|
+
* @param languageBases the {@link ILanguageBase}s for (at least) all the languages used in the {@link LionWebJsonChunk} to deserialize, minus LionCore M3 and built-ins.
|
|
18
19
|
* @param handleDelta an optional {@link DeltaHandler} that will be injected in all {@link INodeBase nodes} created.
|
|
19
20
|
*/
|
|
20
21
|
export declare const nodeBaseDeserializerWithIdMapping: (languageBases: ILanguageBase[], handleDelta?: DeltaHandler) => Deserializer<RootsWithIdMapping>;
|
|
21
22
|
/**
|
|
22
23
|
* @return a {@link Deserializer} function for the languages (given as {@link ILanguageBase}s) that returns the roots (of type {@link INodeBase}) of the deserialized model.
|
|
23
|
-
* @param languageBases the {@link ILanguageBase}s for (at least) all the languages used in the {@link
|
|
24
|
+
* @param languageBases the {@link ILanguageBase}s for (at least) all the languages used in the {@link LionWebJsonChunk} to deserialize, minus LionCore M3 and built-ins.
|
|
24
25
|
* @param handleDelta an optional {@link DeltaHandler} that will be injected in all {@link INodeBase nodes} created.
|
|
25
26
|
*/
|
|
26
27
|
export declare const nodeBaseDeserializer: (languageBases: ILanguageBase[], handleDelta?: DeltaHandler) => Deserializer<INodeBase[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AAiBA,OAAO,
|
|
1
|
+
{"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AAiBA,OAAO,EAUH,yBAAyB,EAEzB,iBAAiB,EAEpB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAa,gBAAgB,EAAmB,MAAM,eAAe,CAAA;AAG5E,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAI9E;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAC1B,kBAAkB,EAAE,gBAAgB,EACpC,cAAc,CAAC,EAAE,SAAS,EAAE,EAC5B,yBAAyB,CAAC,EAAE,yBAAyB,EACrD,cAAc,CAAC,EAAE,iBAAiB,KACjC,CAAC,CAAC;AAkBP;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CAAC;AAG9E;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,kBAAmB,aAAa,EAAE,gBAAgB,YAAY,KAAG,aAAa,kBAAkB,CAwI7I,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,kBAAmB,aAAa,EAAE,gBAAgB,YAAY,KAAG,aAAa,SAAS,EAAE,CASzH,CAAA"}
|
package/dist/deserializer.js
CHANGED
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
//
|
|
15
15
|
// SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
|
|
16
16
|
// SPDX-License-Identifier: Apache-2.0
|
|
17
|
-
import {
|
|
17
|
+
import { BuiltinPropertyValueDeserializer, Classifier, Containment, defaultSimplisticHandler, Enumeration, MemoisingSymbolTable, PrimitiveType, Property, Reference, unresolved } from "@lionweb/core";
|
|
18
|
+
import { byIdMap } from "@lionweb/ts-utils";
|
|
18
19
|
import { IdMapping } from "./index.js";
|
|
19
20
|
const languageBaseLookupFor = (languageBases) => (language) => {
|
|
20
21
|
const languageBase = languageBases.find((languageBase) => languageBase.language === language);
|
|
@@ -29,14 +30,14 @@ const factoryLookupFor = (languageBases, handleDelta) => {
|
|
|
29
30
|
};
|
|
30
31
|
/**
|
|
31
32
|
* @return a {@link Deserializer} function for the given languages (given as {@link ILanguageBase}s) that returns a {@link RootsWithIdMapping}.
|
|
32
|
-
* @param languageBases the {@link ILanguageBase}s for (at least) all the languages used in the {@link
|
|
33
|
+
* @param languageBases the {@link ILanguageBase}s for (at least) all the languages used in the {@link LionWebJsonChunk} to deserialize, minus LionCore M3 and built-ins.
|
|
33
34
|
* @param handleDelta an optional {@link DeltaHandler} that will be injected in all {@link INodeBase nodes} created.
|
|
34
35
|
*/
|
|
35
36
|
export const nodeBaseDeserializerWithIdMapping = (languageBases, handleDelta) => {
|
|
36
37
|
const symbolTable = new MemoisingSymbolTable(languageBases.map(({ language }) => language));
|
|
37
38
|
const languageBaseFor = languageBaseLookupFor(languageBases);
|
|
38
39
|
const factoryFor = factoryLookupFor(languageBases, handleDelta);
|
|
39
|
-
return (serializationChunk, dependentNodes = [],
|
|
40
|
+
return (serializationChunk, dependentNodes = [], propertyValueDeserializer = new BuiltinPropertyValueDeserializer(), problemsHandler = defaultSimplisticHandler) => {
|
|
40
41
|
const nodesToInstall = [];
|
|
41
42
|
const createNode = ({ id, classifier: classifierMetaPointer, properties, containments, references, annotations }) => {
|
|
42
43
|
const languageMessage = `language ${classifierMetaPointer.language} (${classifierMetaPointer.version})`;
|
|
@@ -53,7 +54,7 @@ export const nodeBaseDeserializerWithIdMapping = (languageBases, handleDelta) =>
|
|
|
53
54
|
}
|
|
54
55
|
else if (feature instanceof Property) {
|
|
55
56
|
if (feature.type instanceof PrimitiveType) {
|
|
56
|
-
node.getPropertyValueManager(feature).setDirectly(value === null ? undefined :
|
|
57
|
+
node.getPropertyValueManager(feature).setDirectly(value === null ? undefined : propertyValueDeserializer.deserializeValue(value, feature));
|
|
57
58
|
}
|
|
58
59
|
else if (feature.type instanceof Enumeration) {
|
|
59
60
|
if (value !== undefined) {
|
|
@@ -158,11 +159,11 @@ export const nodeBaseDeserializerWithIdMapping = (languageBases, handleDelta) =>
|
|
|
158
159
|
};
|
|
159
160
|
/**
|
|
160
161
|
* @return a {@link Deserializer} function for the languages (given as {@link ILanguageBase}s) that returns the roots (of type {@link INodeBase}) of the deserialized model.
|
|
161
|
-
* @param languageBases the {@link ILanguageBase}s for (at least) all the languages used in the {@link
|
|
162
|
+
* @param languageBases the {@link ILanguageBase}s for (at least) all the languages used in the {@link LionWebJsonChunk} to deserialize, minus LionCore M3 and built-ins.
|
|
162
163
|
* @param handleDelta an optional {@link DeltaHandler} that will be injected in all {@link INodeBase nodes} created.
|
|
163
164
|
*/
|
|
164
165
|
export const nodeBaseDeserializer = (languageBases, handleDelta) => {
|
|
165
166
|
const deserializerWithIdMapping = nodeBaseDeserializerWithIdMapping(languageBases, handleDelta);
|
|
166
|
-
return (serializationChunk, dependentNodes = [],
|
|
167
|
+
return (serializationChunk, dependentNodes = [], propertyValueDeserializer = new BuiltinPropertyValueDeserializer(), problemsHandler = defaultSimplisticHandler) => deserializerWithIdMapping(serializationChunk, dependentNodes, propertyValueDeserializer, problemsHandler).roots;
|
|
167
168
|
};
|
|
168
169
|
//# sourceMappingURL=deserializer.js.map
|
package/dist/deserializer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,EACH,
|
|
1
|
+
{"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"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"}
|
package/dist/duplicator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duplicator.d.ts","sourceRoot":"","sources":["../src/duplicator.ts"],"names":[],"mappings":"AAiBA,OAAO,
|
|
1
|
+
{"version":3,"file":"duplicator.d.ts","sourceRoot":"","sources":["../src/duplicator.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAgB,OAAO,EAA0D,MAAM,eAAe,CAAA;AAI7G,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAM3C;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,SAAS,KAAK,CAAC,cAAc,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,CAAC;AAEtH;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,CAAC;AAEhE;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,kBAAmB,cAAc,KAAG,UAmE7D,CAAC"}
|
package/dist/duplicator.js
CHANGED
|
@@ -14,9 +14,10 @@
|
|
|
14
14
|
//
|
|
15
15
|
// SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
|
|
16
16
|
// SPDX-License-Identifier: Apache-2.0
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
17
|
+
import { Containment, idOf, Link, Property, Reference, unresolved } from "@lionweb/core";
|
|
18
|
+
import { asArray } from "@lionweb/ts-utils";
|
|
19
19
|
import { allNodesFrom } from "./convenience.js";
|
|
20
|
+
import { getFeatureValue } from "./serializer.js";
|
|
20
21
|
/**
|
|
21
22
|
* @return a function that deep-duplicates a given forest of {@link INodeBase nodes}.
|
|
22
23
|
* The result is an array of the deep-duplicated versions of the given nodes *in the same order*.
|
package/dist/duplicator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duplicator.js","sourceRoot":"","sources":["../src/duplicator.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,
|
|
1
|
+
{"version":3,"file":"duplicator.js","sourceRoot":"","sources":["../src/duplicator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ILanguageBase, NodeBaseFactory } from "./base-types.js";
|
|
2
|
+
import { DeltaHandler } from "./deltas/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* @return a {@link NodeBaseFactory factory function} that works for all given {@link ILanguageBase language bases}.
|
|
5
|
+
*/
|
|
6
|
+
export declare const combinedFactoryFor: (languageBases: ILanguageBase[], handleDelta?: DeltaHandler) => NodeBaseFactory;
|
|
7
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD;;GAEG;AACH,eAAO,MAAM,kBAAkB,kBAAmB,aAAa,EAAE,gBAAgB,YAAY,KAAG,eAuB/F,CAAA"}
|
package/dist/factory.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// Copyright 2025 TRUMPF Laser SE and other contributors
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
|
|
16
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
17
|
+
import { lazyMapGet } from "@lionweb/ts-utils";
|
|
18
|
+
/**
|
|
19
|
+
* @return a {@link NodeBaseFactory factory function} that works for all given {@link ILanguageBase language bases}.
|
|
20
|
+
*/
|
|
21
|
+
export const combinedFactoryFor = (languageBases, handleDelta) => {
|
|
22
|
+
// create lookup map:
|
|
23
|
+
const languageKey2version2factory = {};
|
|
24
|
+
languageBases.forEach((languageBase) => {
|
|
25
|
+
const { key, version } = languageBase.language;
|
|
26
|
+
const version2factory = lazyMapGet(languageKey2version2factory, key, () => ({}));
|
|
27
|
+
lazyMapGet(version2factory, version, () => languageBase.factory(handleDelta));
|
|
28
|
+
// (Note: don't destructure factory from languageBase, as that will unbind it as "this"!)
|
|
29
|
+
});
|
|
30
|
+
return (classifier, id) => {
|
|
31
|
+
const { key, version, name } = classifier.language;
|
|
32
|
+
const version2factory = languageKey2version2factory[key];
|
|
33
|
+
if (version2factory === undefined) {
|
|
34
|
+
throw new Error(`language ${name} with key=${key} not known`);
|
|
35
|
+
}
|
|
36
|
+
const factory = version2factory[version];
|
|
37
|
+
if (factory === undefined) {
|
|
38
|
+
const candidateVersions = Object.keys(version2factory);
|
|
39
|
+
throw new Error(`language ${name} with key=${key} and version=${version} not known${candidateVersions.length > 0 ? `- candidate version${candidateVersions.length > 1 ? `s` : ``}: ${candidateVersions.join(", ")}` : ``}`);
|
|
40
|
+
}
|
|
41
|
+
return factory(classifier, id);
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAI9C;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,aAA8B,EAAE,WAA0B,EAAmB,EAAE;IAC9G,qBAAqB;IACrB,MAAM,2BAA2B,GAA8D,EAAE,CAAA;IACjG,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;QACnC,MAAM,EAAC,GAAG,EAAE,OAAO,EAAC,GAAG,YAAY,CAAC,QAAQ,CAAA;QAC5C,MAAM,eAAe,GAAG,UAAU,CAAC,2BAA2B,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChF,UAAU,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;QACzE,yFAAyF;IACjG,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE;QACtB,MAAM,EAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAC,GAAG,UAAU,CAAC,QAAQ,CAAA;QAChD,MAAM,eAAe,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAA;QACxD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,aAAa,GAAG,YAAY,CAAC,CAAA;QACjE,CAAC;QACD,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;QACxC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;YACtD,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,aAAa,GAAG,gBAAgB,OAAO,aAAa,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAC/N,CAAC;QACD,OAAO,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IAClC,CAAC,CAAA;AACL,CAAC,CAAA"}
|
package/dist/id-mapping.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IdOrUnresolved, SingleRef } from "@lionweb/core";
|
|
2
|
+
import { LionWebId } from "@lionweb/json";
|
|
2
3
|
import { INodeBase } from "./index.js";
|
|
3
4
|
type NodesById = {
|
|
4
|
-
[id:
|
|
5
|
+
[id: LionWebId]: INodeBase;
|
|
5
6
|
};
|
|
6
7
|
/**
|
|
7
8
|
* Maintains a mapping ID → node,
|
|
@@ -11,8 +12,8 @@ type NodesById = {
|
|
|
11
12
|
export declare class IdMapping {
|
|
12
13
|
nodesById: NodesById;
|
|
13
14
|
constructor(nodesById: NodesById);
|
|
14
|
-
fromId(id:
|
|
15
|
-
tryFromId: (id:
|
|
15
|
+
fromId(id: LionWebId): INodeBase;
|
|
16
|
+
tryFromId: (id: LionWebId) => (INodeBase | undefined);
|
|
16
17
|
fromRefId: (idOrUnresolved: IdOrUnresolved) => SingleRef<INodeBase>;
|
|
17
18
|
updateWith(node: INodeBase): void;
|
|
18
19
|
}
|
package/dist/id-mapping.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id-mapping.d.ts","sourceRoot":"","sources":["../src/id-mapping.ts"],"names":[],"mappings":"AAiBA,OAAO,
|
|
1
|
+
{"version":3,"file":"id-mapping.d.ts","sourceRoot":"","sources":["../src/id-mapping.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAc,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,KAAK,SAAS,GAAG;IAAE,CAAC,EAAE,EAAE,SAAS,GAAG,SAAS,CAAA;CAAE,CAAA;AAG/C;;;;GAIG;AACH,qBAAa,SAAS;IAElB,SAAS,EAAE,SAAS,CAAC;gBACT,SAAS,EAAE,SAAS;IAKhC,MAAM,CAAC,EAAE,EAAE,SAAS,GAAG,SAAS;IAOhC,SAAS,OAAQ,SAAS,KAAG,CAAC,SAAS,GAAG,SAAS,CAAC,CAC7B;IAEvB,SAAS,mBAAoB,cAAc,KAAG,UAAU,SAAS,CAAC,CAGT;IAEzD,UAAU,CAAC,IAAI,EAAE,SAAS;CAM7B"}
|
package/dist/id-mapping.js
CHANGED
|
@@ -22,14 +22,13 @@ import { unresolved } from "@lionweb/core";
|
|
|
22
22
|
*/
|
|
23
23
|
export class IdMapping {
|
|
24
24
|
constructor(nodesById) {
|
|
25
|
-
this.tryFromId = (id) =>
|
|
26
|
-
? this.nodesById[id]
|
|
27
|
-
: undefined;
|
|
25
|
+
this.tryFromId = (id) => this.nodesById[id];
|
|
28
26
|
this.fromRefId = (idOrUnresolved) => idOrUnresolved === null
|
|
29
27
|
? null
|
|
30
28
|
: (this.nodesById[idOrUnresolved] ?? unresolved);
|
|
31
29
|
this.nodesById = { ...nodesById };
|
|
32
30
|
}
|
|
31
|
+
// TODO consider using an instance of Map<Id, INodeBase> instead
|
|
33
32
|
fromId(id) {
|
|
34
33
|
if (!(id in this.nodesById)) {
|
|
35
34
|
throw new Error(`node with id=${id} not in ID mapping`);
|
package/dist/id-mapping.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id-mapping.js","sourceRoot":"","sources":["../src/id-mapping.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,
|
|
1
|
+
{"version":3,"file":"id-mapping.js","sourceRoot":"","sources":["../src/id-mapping.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,EAA6B,UAAU,EAAE,MAAM,eAAe,CAAA;AAQrE;;;;GAIG;AACH,MAAM,OAAO,SAAS;IAGlB,YAAY,SAAoB;QAYhC,cAAS,GAAG,CAAC,EAAa,EAA2B,EAAE,CACnD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAEvB,cAAS,GAAG,CAAC,cAA8B,EAAwB,EAAE,CACjE,cAAc,KAAK,IAAI;YACnB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,CAAC;QAjBrD,IAAI,CAAC,SAAS,GAAG,EAAC,GAAG,SAAS,EAAC,CAAC;IACpC,CAAC;IACD,iEAAiE;IAEjE,MAAM,CAAC,EAAa;QAChB,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAUD,UAAU,CAAC,IAAe;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAG,4BAA4B;aACvC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;CAEJ"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,8 +4,9 @@ export * from "./deltas/index.js";
|
|
|
4
4
|
export * from "./deserializer.js";
|
|
5
5
|
export { deepDuplicateWith } from "./duplicator.js";
|
|
6
6
|
export * from "./id-mapping.js";
|
|
7
|
-
export
|
|
7
|
+
export { combinedFactoryFor } from "./factory.js";
|
|
8
|
+
export * from "./LionCore_builtins.g.js";
|
|
8
9
|
export { serializeNodeBases } from "./serializer.js";
|
|
9
|
-
export * from "./value-managers/index.js";
|
|
10
10
|
export { asTreeTextWith } from "./textualizer.js";
|
|
11
|
+
export * from "./value-managers/index.js";
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,cAAc,2BAA2B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -20,9 +20,10 @@ export * from "./deltas/index.js";
|
|
|
20
20
|
export * from "./deserializer.js";
|
|
21
21
|
export { deepDuplicateWith } from "./duplicator.js";
|
|
22
22
|
export * from "./id-mapping.js";
|
|
23
|
+
export { combinedFactoryFor } from "./factory.js";
|
|
23
24
|
// skip linking.js: see comment there
|
|
24
|
-
export * from "./
|
|
25
|
+
export * from "./LionCore_builtins.g.js";
|
|
25
26
|
export { serializeNodeBases } from "./serializer.js";
|
|
26
|
-
export * from "./value-managers/index.js";
|
|
27
27
|
export { asTreeTextWith } from "./textualizer.js";
|
|
28
|
+
export * from "./value-managers/index.js";
|
|
28
29
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,qCAAqC;AACrC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,cAAc,2BAA2B,CAAC"}
|
package/dist/linking.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Link } from "@lionweb/core";
|
|
2
|
+
import { LionWebId } from "@lionweb/json";
|
|
2
3
|
import { INodeBase } from "./index.js";
|
|
3
4
|
/**
|
|
4
5
|
* A tuple type for (data concerning) link and annotation values that are involved with deserialization and deep-duplication
|
|
@@ -16,5 +17,5 @@ import { INodeBase } from "./index.js";
|
|
|
16
17
|
* Note: **DON'T** export this types from the package,
|
|
17
18
|
* as these are only used to align the deserializer and deep-cloner.
|
|
18
19
|
*/
|
|
19
|
-
export type NodesToInstall = [container: INodeBase, feature: Link | null, nodesIds:
|
|
20
|
+
export type NodesToInstall = [container: INodeBase, feature: Link | null, nodesIds: LionWebId[], originalReferenceTargets?: INodeBase[]];
|
|
20
21
|
//# sourceMappingURL=linking.d.ts.map
|
package/dist/linking.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linking.d.ts","sourceRoot":"","sources":["../src/linking.ts"],"names":[],"mappings":"AAiBA,OAAO,
|
|
1
|
+
{"version":3,"file":"linking.d.ts","sourceRoot":"","sources":["../src/linking.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAGtC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,cAAc,GAAG,CAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,wBAAwB,CAAC,EAAE,SAAS,EAAE,CAAE,CAAC"}
|