@lionweb/class-core 0.7.0-alpha.1 → 0.7.0-alpha.11

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 (79) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/dist/base-types.d.ts.map +1 -1
  3. package/dist/base-types.js.map +1 -1
  4. package/dist/deltas/appliers.d.ts +3 -2
  5. package/dist/deltas/appliers.d.ts.map +1 -1
  6. package/dist/deltas/appliers.js +362 -160
  7. package/dist/deltas/appliers.js.map +1 -1
  8. package/dist/deltas/inverters.d.ts.map +1 -1
  9. package/dist/deltas/inverters.js +65 -26
  10. package/dist/deltas/inverters.js.map +1 -1
  11. package/dist/deltas/serialization/deserializer.g.d.ts.map +1 -1
  12. package/dist/deltas/serialization/deserializer.g.js +168 -57
  13. package/dist/deltas/serialization/deserializer.g.js.map +1 -1
  14. package/dist/deltas/serialization/serializer-helpers.d.ts +1 -1
  15. package/dist/deltas/serialization/serializer-helpers.d.ts.map +1 -1
  16. package/dist/deltas/serialization/serializer-helpers.js +4 -4
  17. package/dist/deltas/serialization/serializer-helpers.js.map +1 -1
  18. package/dist/deltas/serialization/serializer.g.d.ts +2 -2
  19. package/dist/deltas/serialization/serializer.g.d.ts.map +1 -1
  20. package/dist/deltas/serialization/serializer.g.js +186 -47
  21. package/dist/deltas/serialization/serializer.g.js.map +1 -1
  22. package/dist/deltas/serialization/types.g.d.ts +156 -43
  23. package/dist/deltas/serialization/types.g.d.ts.map +1 -1
  24. package/dist/deltas/types.g.d.ts +155 -55
  25. package/dist/deltas/types.g.d.ts.map +1 -1
  26. package/dist/deltas/types.g.js +170 -57
  27. package/dist/deltas/types.g.js.map +1 -1
  28. package/dist/deserializer.d.ts +2 -2
  29. package/dist/deserializer.d.ts.map +1 -1
  30. package/dist/deserializer.js +8 -8
  31. package/dist/deserializer.js.map +1 -1
  32. package/dist/duplicator.d.ts.map +1 -1
  33. package/dist/duplicator.js.map +1 -1
  34. package/dist/factory.d.ts +7 -0
  35. package/dist/factory.d.ts.map +1 -0
  36. package/dist/factory.js +44 -0
  37. package/dist/factory.js.map +1 -0
  38. package/dist/id-mapping.d.ts +3 -0
  39. package/dist/id-mapping.d.ts.map +1 -1
  40. package/dist/id-mapping.js +3 -0
  41. package/dist/id-mapping.js.map +1 -1
  42. package/dist/index.d.ts +1 -0
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +1 -0
  45. package/dist/index.js.map +1 -1
  46. package/dist/serializer.d.ts +3 -3
  47. package/dist/serializer.d.ts.map +1 -1
  48. package/dist/serializer.js +3 -3
  49. package/dist/serializer.js.map +1 -1
  50. package/dist/value-managers/annotations.d.ts +5 -0
  51. package/dist/value-managers/annotations.d.ts.map +1 -1
  52. package/dist/value-managers/annotations.js +30 -1
  53. package/dist/value-managers/annotations.js.map +1 -1
  54. package/dist/value-managers/containments.d.ts +3 -0
  55. package/dist/value-managers/containments.d.ts.map +1 -1
  56. package/dist/value-managers/containments.js +78 -8
  57. package/dist/value-managers/containments.js.map +1 -1
  58. package/dist/value-managers/references.d.ts +3 -0
  59. package/dist/value-managers/references.d.ts.map +1 -1
  60. package/dist/value-managers/references.js +26 -8
  61. package/dist/value-managers/references.js.map +1 -1
  62. package/package.json +7 -10
  63. package/src/base-types.ts +0 -1
  64. package/src/deltas/appliers.ts +380 -184
  65. package/src/deltas/inverters.ts +83 -35
  66. package/src/deltas/serialization/deserializer.g.ts +195 -66
  67. package/src/deltas/serialization/serializer-helpers.ts +10 -4
  68. package/src/deltas/serialization/serializer.g.ts +246 -67
  69. package/src/deltas/serialization/types.g.ts +192 -53
  70. package/src/deltas/types.g.ts +192 -53
  71. package/src/deserializer.ts +14 -12
  72. package/src/duplicator.ts +1 -1
  73. package/src/factory.ts +49 -0
  74. package/src/id-mapping.ts +3 -0
  75. package/src/index.ts +1 -0
  76. package/src/serializer.ts +6 -7
  77. package/src/value-managers/annotations.ts +27 -1
  78. package/src/value-managers/containments.ts +73 -8
  79. package/src/value-managers/references.ts +28 -8
@@ -14,8 +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 { Classifier, Containment, DefaultPrimitiveTypeDeserializer, defaultSimplisticHandler, Enumeration, MemoisingSymbolTable, PrimitiveType, Property, Reference, unresolved } from "@lionweb/core";
18
- import { byIdMap } from "@lionweb/ts-utils";
17
+ import { BuiltinPropertyValueDeserializer, Classifier, Containment, defaultSimplisticHandler, Enumeration, MemoisingSymbolTable, PrimitiveType, Property, Reference, unresolved } from "@lionweb/core";
18
+ import { byIdMap, keepDefineds } from "@lionweb/ts-utils";
19
19
  import { IdMapping } from "./index.js";
20
20
  const languageBaseLookupFor = (languageBases) => (language) => {
21
21
  const languageBase = languageBases.find((languageBase) => languageBase.language === language);
@@ -37,7 +37,7 @@ export const nodeBaseDeserializerWithIdMapping = (languageBases, handleDelta) =>
37
37
  const symbolTable = new MemoisingSymbolTable(languageBases.map(({ language }) => language));
38
38
  const languageBaseFor = languageBaseLookupFor(languageBases);
39
39
  const factoryFor = factoryLookupFor(languageBases, handleDelta);
40
- return (serializationChunk, dependentNodes = [], primitiveTypeDeserializer = new DefaultPrimitiveTypeDeserializer(), problemsHandler = defaultSimplisticHandler) => {
40
+ return (serializationChunk, dependentNodes = [], propertyValueDeserializer = new BuiltinPropertyValueDeserializer(), problemsHandler = defaultSimplisticHandler) => {
41
41
  const nodesToInstall = [];
42
42
  const createNode = ({ id, classifier: classifierMetaPointer, properties, containments, references, annotations }) => {
43
43
  const languageMessage = `language ${classifierMetaPointer.language} (${classifierMetaPointer.version})`;
@@ -54,7 +54,7 @@ export const nodeBaseDeserializerWithIdMapping = (languageBases, handleDelta) =>
54
54
  }
55
55
  else if (feature instanceof Property) {
56
56
  if (feature.type instanceof PrimitiveType) {
57
- node.getPropertyValueManager(feature).setDirectly(value === null ? undefined : primitiveTypeDeserializer.deserializeValue(value, feature));
57
+ node.getPropertyValueManager(feature).setDirectly(value === null ? undefined : propertyValueDeserializer.deserializeValue(value, feature));
58
58
  }
59
59
  else if (feature.type instanceof Enumeration) {
60
60
  if (value !== undefined) {
@@ -101,9 +101,9 @@ export const nodeBaseDeserializerWithIdMapping = (languageBases, handleDelta) =>
101
101
  }
102
102
  return node;
103
103
  };
104
- const nodesById = byIdMap(serializationChunk.nodes
105
- .map(createNode)
106
- .filter((nodeOrUndef) => nodeOrUndef !== undefined));
104
+ const nodesById = byIdMap(keepDefineds(serializationChunk
105
+ .nodes
106
+ .map(createNode)));
107
107
  const dependentNodesById = byIdMap(dependentNodes);
108
108
  const lookupNodeById = (id) => nodesById[id] ?? dependentNodesById[id];
109
109
  nodesToInstall.forEach(([node, feature, ids]) => {
@@ -164,6 +164,6 @@ export const nodeBaseDeserializerWithIdMapping = (languageBases, handleDelta) =>
164
164
  */
165
165
  export const nodeBaseDeserializer = (languageBases, handleDelta) => {
166
166
  const deserializerWithIdMapping = nodeBaseDeserializerWithIdMapping(languageBases, handleDelta);
167
- return (serializationChunk, dependentNodes = [], primitiveTypeDeserializer = new DefaultPrimitiveTypeDeserializer(), problemsHandler = defaultSimplisticHandler) => deserializerWithIdMapping(serializationChunk, dependentNodes, primitiveTypeDeserializer, problemsHandler).roots;
167
+ return (serializationChunk, dependentNodes = [], propertyValueDeserializer = new BuiltinPropertyValueDeserializer(), problemsHandler = defaultSimplisticHandler) => deserializerWithIdMapping(serializationChunk, dependentNodes, propertyValueDeserializer, problemsHandler).roots;
168
168
  };
169
169
  //# sourceMappingURL=deserializer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"duplicator.d.ts","sourceRoot":"","sources":["../src/duplicator.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAe,OAAO,EAA0D,MAAM,eAAe,CAAA;AAI5G,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"duplicator.js","sourceRoot":"","sources":["../src/duplicator.ts"],"names":[],"mappings":"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"}
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,EAAE,WAAW,EAAW,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAa,UAAU,EAAE,MAAM,eAAe,CAAA;AAE5G,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAG3C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAajD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,aAA6B,EAAc,EAAE,CAC3E,CAAC,GAAG,KAAK,EAAE,EAAE;IAET,MAAM,cAAc,GAAqB,EAAE,CAAC;IAE5C,MAAM,KAAK,GAAG,CAAC,IAAe,EAA8C,EAAE;QAC1E,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,qBAAqB,GAAG,CAAC,OAAgB,EAAE,EAAE;YAC/C,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7C,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;gBAC9B,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACvE,CAAC;iBAAM,IAAI,OAAO,YAAY,IAAI,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAwD,CAAC,CAAC;gBACjF,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,UAAU,CAAgB,CAAC;gBACrF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,cAAc,CAAC,IAAI,CAAC;wBAChB,cAAc;wBACd,OAAO;wBACP,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;wBACxB,OAAO,YAAY,SAAS;4BACxB,CAAC,CAAC,cAAc;4BAChB,CAAC,CAAC,SAAS;qBAClB,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC,CAAC;QACF,mBAAmB,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,cAAc,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IACrC,CAAC,CAAA;IAED,MAAM,2BAA2B,GAAG,MAAM,CAAC,WAAW,CAClD,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CACzC,CAAC;IAEF,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,wBAAwB,CAAC,EAAE,EAAE;QAC5E,IAAI,OAAO,YAAY,WAAW,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,UAAU,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;YACpE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBACf,MAAM,aAAa,GAAG,2BAA2B,CAAC,EAAE,CAAC,CAAC;gBACtD,YAAY,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBACxC,aAAa,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QACD,IAAI,OAAO,YAAY,SAAS,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAClE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;gBACtB,MAAM,aAAa,GAAG,2BAA2B,CAAC,EAAE,CAAC,IAAI,wBAAyB,CAAC,KAAK,CAAC,CAAC;gBAC1F,YAAY,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,YAAY,GAAG,UAAU,CAAC,uBAAuB,CAAC;YACxD,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBACf,MAAM,aAAa,GAAG,2BAA2B,CAAC,EAAE,CAAC,CAAC;gBACtD,YAAY,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAA;YACF,OAAO;QACX,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC,CAAC;AAEhE,CAAC,CAAC"}
@@ -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"}
@@ -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"}
@@ -15,6 +15,9 @@ export declare class IdMapping {
15
15
  fromId(id: LionWebId): INodeBase;
16
16
  tryFromId: (id: LionWebId) => (INodeBase | undefined);
17
17
  fromRefId: (idOrUnresolved: IdOrUnresolved) => SingleRef<INodeBase>;
18
+ /**
19
+ * Updates this {@link IdMapping} with the given `node` *and all its descendants* (recursively).
20
+ */
18
21
  updateWith(node: INodeBase): void;
19
22
  }
20
23
  export {};
@@ -1 +1 @@
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"}
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;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,SAAS;CAM7B"}
@@ -35,6 +35,9 @@ export class IdMapping {
35
35
  }
36
36
  return this.nodesById[id];
37
37
  }
38
+ /**
39
+ * Updates this {@link IdMapping} with the given `node` *and all its descendants* (recursively).
40
+ */
38
41
  updateWith(node) {
39
42
  this.nodesById[node.id] = node;
40
43
  node.children // recurse into all children
@@ -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,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"}
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;;OAEG;IACH,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,6 +4,7 @@ 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 { combinedFactoryFor } from "./factory.js";
7
8
  export * from "./LionCore_builtins.g.js";
8
9
  export { serializeNodeBases } from "./serializer.js";
9
10
  export { asTreeTextWith } from "./textualizer.js";
@@ -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,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,cAAc,iBAAiB,CAAC;AAEhC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,cAAc,2BAA2B,CAAC"}
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,6 +20,7 @@ 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
25
  export * from "./LionCore_builtins.g.js";
25
26
  export { serializeNodeBases } from "./serializer.js";
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,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,cAAc,iBAAiB,CAAC;AAChC,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"}
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"}
@@ -1,4 +1,4 @@
1
- import { ExtractionFacade, Feature } from "@lionweb/core";
1
+ import { Feature, Reader } from "@lionweb/core";
2
2
  import { INodeBase } from "./index.js";
3
3
  /**
4
4
  * @return the value of the given {@link Feature feature} (2nd argument) on the given node (of type {@link INodeBase}; 1st argument).
@@ -6,10 +6,10 @@ import { INodeBase } from "./index.js";
6
6
  */
7
7
  export declare const getFeatureValue: (node: INodeBase, feature: Feature) => unknown;
8
8
  /**
9
- * An {@link ExtractionFacade} that works on/for {@link INodeBase}s specifically.
9
+ * A {@link Reader} that works on/for {@link INodeBase}s specifically.
10
10
  * **Note** that this function is for internal use only!
11
11
  */
12
- export declare const nodeBaseReader: ExtractionFacade<INodeBase>;
12
+ export declare const nodeBaseReader: Reader<INodeBase>;
13
13
  /**
14
14
  * @return a serialization of the given nodes (of type {@link INodeBase}) as a {@link LionWebJsonChunk}.
15
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"AAiBA,OAAO,EAKH,gBAAgB,EAChB,OAAO,EAIV,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,SAAS,EAAyB,MAAM,YAAY,CAAA;AAG7D;;;GAGG;AACH,eAAO,MAAM,eAAe,SAAU,SAAS,WAAW,OAAO,YAWhE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,gBAAgB,CAAC,SAAS,CAyBtD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,UAAW,SAAS,EAAE,6CACuB,CAAC"}
1
+ {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"AAiBA,OAAO,EAKH,OAAO,EAGP,MAAM,EAET,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,SAAS,EAAyB,MAAM,YAAY,CAAA;AAG7D;;;GAGG;AACH,eAAO,MAAM,eAAe,SAAU,SAAS,WAAW,OAAO,YAWhE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,SAAS,CAyB5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,kEAAoE,CAAC"}
@@ -14,7 +14,7 @@
14
14
  //
15
15
  // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
16
  // SPDX-License-Identifier: Apache-2.0
17
- import { allSuperTypesOf, builtinClassifiers, builtinFeatures, Containment, Property, Reference, serializeNodes } from "@lionweb/core";
17
+ import { allSuperTypesOf, builtinClassifiers, builtinFeatures, Containment, nodeSerializer, Property, Reference } from "@lionweb/core";
18
18
  import { LionCore_builtinsBase } from "./index.js";
19
19
  /**
20
20
  * @return the value of the given {@link Feature feature} (2nd argument) on the given node (of type {@link INodeBase}; 1st argument).
@@ -33,7 +33,7 @@ export const getFeatureValue = (node, feature) => {
33
33
  throw new Error(`unhandled Feature sub type ${feature.constructor.name}`);
34
34
  };
35
35
  /**
36
- * An {@link ExtractionFacade} that works on/for {@link INodeBase}s specifically.
36
+ * A {@link Reader} that works on/for {@link INodeBase}s specifically.
37
37
  * **Note** that this function is for internal use only!
38
38
  */
39
39
  export const nodeBaseReader = {
@@ -66,5 +66,5 @@ export const nodeBaseReader = {
66
66
  /**
67
67
  * @return a serialization of the given nodes (of type {@link INodeBase}) as a {@link LionWebJsonChunk}.
68
68
  */
69
- export const serializeNodeBases = (nodes) => serializeNodes(nodes, nodeBaseReader, { serializeEmptyFeatures: false });
69
+ export const serializeNodeBases = nodeSerializer(nodeBaseReader, { serializeEmptyFeatures: false });
70
70
  //# sourceMappingURL=serializer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../src/serializer.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,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,WAAW,EAGX,QAAQ,EACR,SAAS,EACT,cAAc,EACjB,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAa,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAG7D;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAe,EAAE,OAAgB,EAAE,EAAE;IACjE,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/D,CAAC;IACD,IAAI,OAAO,YAAY,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAClE,CAAC;IACD,IAAI,OAAO,YAAY,SAAS,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAChE,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;AAC7E,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAgC;IACvD,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU;IACvC,eAAe;IACf,sBAAsB,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE;QAC9C,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAE,CAAC;IAC7E,CAAC;IACD,cAAc,EAAE,CAAC,IAAe,EAAE,EAAE;QAChC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACjB,8FAA8F;YAC9F,IAAI,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;gBACxB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACzD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;QACD,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,aAAa,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,WAAW,EAA0B,CAAC;QAC3G,CAAC;QACD,IAAI,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,EAA0B,CAAC;QAC1H,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAkB,EAAE,EAAE,CACrD,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../src/serializer.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,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,WAAW,EAEX,cAAc,EACd,QAAQ,EAER,SAAS,EACZ,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAa,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAG7D;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAe,EAAE,OAAgB,EAAE,EAAE;IACjE,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/D,CAAC;IACD,IAAI,OAAO,YAAY,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAClE,CAAC;IACD,IAAI,OAAO,YAAY,SAAS,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAChE,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;AAC7E,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC7C,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU;IACvC,eAAe;IACf,sBAAsB,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE;QAC9C,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAE,CAAC;IAC7E,CAAC;IACD,cAAc,EAAE,CAAC,IAAe,EAAE,EAAE;QAChC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACjB,8FAA8F;YAC9F,IAAI,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;gBACxB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACzD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;QACD,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,aAAa,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,WAAW,EAA0B,CAAC;QAC3G,CAAC;QACD,IAAI,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,EAA0B,CAAC;QAC1H,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC,cAAc,EAAE,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,CAAC"}
@@ -27,6 +27,11 @@ export declare class AnnotationsValueManager extends ValueManager {
27
27
  */
28
28
  replaceAtIndexDirectly(newAnnotation: INodeBase, index: number): INodeBase;
29
29
  replaceAtIndex(newAnnotation: INodeBase, index: number): void;
30
+ /**
31
+ * @return the moved and replaced annotations, as an array tuple.
32
+ */
33
+ moveAndReplaceAtIndexDirectly(oldIndex: number, newIndex: number): [INodeBase, INodeBase] | undefined;
34
+ moveAndReplaceAtIndex(oldIndex: number, newIndex: number): void;
30
35
  removeDirectly(annotationToRemove: INodeBase): number;
31
36
  remove(annotationToRemove: INodeBase): void;
32
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/value-managers/annotations.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,SAAS,EAAoB,MAAM,kBAAkB,CAAA;AAQ9D,OAAO,EAAc,YAAY,EAAE,MAAM,WAAW,CAAA;AAGpD;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,YAAY;gBAEzC,SAAS,EAAE,SAAS;IAIhC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkD;IAE9E,GAAG,IAAI,SAAS,EAAE;IAIV,WAAW,CAAC,aAAa,EAAE,SAAS;IAKpC,GAAG,CAAC,aAAa,EAAE,SAAS;IAIpC;;;OAGG;IACK,qBAAqB,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;IAchH,aAAa,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;IAS7D;;OAEG;IACK,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAWvE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAO/C;;OAEG;IACK,sBAAsB,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS;IAS1E,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;IAKtD,cAAc,CAAC,kBAAkB,EAAE,SAAS,GAAG,MAAM;IASrD,MAAM,CAAC,kBAAkB,EAAE,SAAS;CAO/C"}
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/value-managers/annotations.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,SAAS,EAAoB,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAc,YAAY,EAAE,MAAM,WAAW,CAAA;AAWpD;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,YAAY;gBAEzC,SAAS,EAAE,SAAS;IAIhC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkD;IAE9E,GAAG,IAAI,SAAS,EAAE;IAIV,WAAW,CAAC,aAAa,EAAE,SAAS;IAKpC,GAAG,CAAC,aAAa,EAAE,SAAS;IAIpC;;;OAGG;IACK,qBAAqB,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;IAchH,aAAa,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;IAS7D;;OAEG;IACK,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAWvE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAO/C;;OAEG;IACK,sBAAsB,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS;IAS1E,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;IAK9D;;OAEG;IACK,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,SAAS;IAcrG,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAQxD,cAAc,CAAC,kBAAkB,EAAE,SAAS,GAAG,MAAM;IASrD,MAAM,CAAC,kBAAkB,EAAE,SAAS;CAO/C"}
@@ -50,8 +50,8 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
50
50
  };
51
51
  import { action, observable } from "mobx";
52
52
  import { removeFromParent } from "../base-types.js";
53
- import { AnnotationAddedDelta, AnnotationDeletedDelta, AnnotationMovedFromOtherParentDelta, AnnotationMovedInSameParentDelta, AnnotationReplacedDelta } from "../deltas/index.js";
54
53
  import { checkIndex, ValueManager } from "./base.js";
54
+ import { AnnotationAddedDelta, AnnotationDeletedDelta, AnnotationMovedAndReplacedInSameParentDelta, AnnotationMovedFromOtherParentDelta, AnnotationMovedInSameParentDelta, AnnotationReplacedDelta } from "../deltas/index.js";
55
55
  /**
56
56
  * A value manager for annotations.
57
57
  * Annotations (of any type) are simply contained by a parent (which is an {@link INodeBase}),
@@ -69,6 +69,8 @@ let AnnotationsValueManager = (() => {
69
69
  let _move_decorators;
70
70
  let _replaceAtIndexDirectly_decorators;
71
71
  let _replaceAtIndex_decorators;
72
+ let _moveAndReplaceAtIndexDirectly_decorators;
73
+ let _moveAndReplaceAtIndex_decorators;
72
74
  let _removeDirectly_decorators;
73
75
  let _remove_decorators;
74
76
  return _a = class AnnotationsValueManager extends _classSuper {
@@ -147,6 +149,29 @@ let AnnotationsValueManager = (() => {
147
149
  const replacedAnnotation = this.replaceAtIndexDirectly(newAnnotation, index);
148
150
  this.emitDelta(() => new AnnotationReplacedDelta(this.container, index, replacedAnnotation, newAnnotation));
149
151
  }
152
+ /**
153
+ * @return the moved and replaced annotations, as an array tuple.
154
+ */
155
+ moveAndReplaceAtIndexDirectly(oldIndex, newIndex) {
156
+ checkIndex(oldIndex, this.annotations.length, false);
157
+ checkIndex(newIndex, this.annotations.length, false);
158
+ if (oldIndex !== newIndex) {
159
+ const movedAnnotation = this.annotations[oldIndex];
160
+ const replacedAnnotation = this.annotations[newIndex];
161
+ this.annotations[newIndex] = movedAnnotation;
162
+ this.annotations.splice(oldIndex, 1);
163
+ replacedAnnotation.detach();
164
+ return [movedAnnotation, replacedAnnotation];
165
+ }
166
+ return undefined;
167
+ }
168
+ moveAndReplaceAtIndex(oldIndex, newIndex) {
169
+ const participants = this.moveAndReplaceAtIndexDirectly(oldIndex, newIndex);
170
+ if (participants !== undefined) {
171
+ const [movedAnnotation, replacedAnnotation] = participants;
172
+ this.emitDelta(() => new AnnotationMovedAndReplacedInSameParentDelta(this.container, oldIndex, newIndex, replacedAnnotation, movedAnnotation));
173
+ }
174
+ }
150
175
  removeDirectly(annotationToRemove) {
151
176
  const index = this.annotations.indexOf(annotationToRemove);
152
177
  if (index > -1) {
@@ -172,6 +197,8 @@ let AnnotationsValueManager = (() => {
172
197
  _move_decorators = [action];
173
198
  _replaceAtIndexDirectly_decorators = [action];
174
199
  _replaceAtIndex_decorators = [action];
200
+ _moveAndReplaceAtIndexDirectly_decorators = [action];
201
+ _moveAndReplaceAtIndex_decorators = [action];
175
202
  _removeDirectly_decorators = [action];
176
203
  _remove_decorators = [action];
177
204
  __esDecorate(_a, null, _addDirectly_decorators, { kind: "method", name: "addDirectly", static: false, private: false, access: { has: obj => "addDirectly" in obj, get: obj => obj.addDirectly }, metadata: _metadata }, null, _instanceExtraInitializers);
@@ -182,6 +209,8 @@ let AnnotationsValueManager = (() => {
182
209
  __esDecorate(_a, null, _move_decorators, { kind: "method", name: "move", static: false, private: false, access: { has: obj => "move" in obj, get: obj => obj.move }, metadata: _metadata }, null, _instanceExtraInitializers);
183
210
  __esDecorate(_a, null, _replaceAtIndexDirectly_decorators, { kind: "method", name: "replaceAtIndexDirectly", static: false, private: false, access: { has: obj => "replaceAtIndexDirectly" in obj, get: obj => obj.replaceAtIndexDirectly }, metadata: _metadata }, null, _instanceExtraInitializers);
184
211
  __esDecorate(_a, null, _replaceAtIndex_decorators, { kind: "method", name: "replaceAtIndex", static: false, private: false, access: { has: obj => "replaceAtIndex" in obj, get: obj => obj.replaceAtIndex }, metadata: _metadata }, null, _instanceExtraInitializers);
212
+ __esDecorate(_a, null, _moveAndReplaceAtIndexDirectly_decorators, { kind: "method", name: "moveAndReplaceAtIndexDirectly", static: false, private: false, access: { has: obj => "moveAndReplaceAtIndexDirectly" in obj, get: obj => obj.moveAndReplaceAtIndexDirectly }, metadata: _metadata }, null, _instanceExtraInitializers);
213
+ __esDecorate(_a, null, _moveAndReplaceAtIndex_decorators, { kind: "method", name: "moveAndReplaceAtIndex", static: false, private: false, access: { has: obj => "moveAndReplaceAtIndex" in obj, get: obj => obj.moveAndReplaceAtIndex }, metadata: _metadata }, null, _instanceExtraInitializers);
185
214
  __esDecorate(_a, null, _removeDirectly_decorators, { kind: "method", name: "removeDirectly", static: false, private: false, access: { has: obj => "removeDirectly" in obj, get: obj => obj.removeDirectly }, metadata: _metadata }, null, _instanceExtraInitializers);
186
215
  __esDecorate(_a, null, _remove_decorators, { kind: "method", name: "remove", static: false, private: false, access: { has: obj => "remove" in obj, get: obj => obj.remove }, metadata: _metadata }, null, _instanceExtraInitializers);
187
216
  if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
@@ -1 +1 @@
1
- {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../src/value-managers/annotations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../src/value-managers/annotations.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export declare abstract class SingleContainmentValueManager<T extends INodeBase>
21
21
  isSet(): boolean;
22
22
  setDirectly(newChild: T | undefined): void;
23
23
  addDirectly(newChild: T): void;
24
+ replaceWith(newChild: T): void;
24
25
  }
25
26
  export declare class OptionalSingleContainmentValueManager<T extends INodeBase> extends SingleContainmentValueManager<T> {
26
27
  constructor(containment: Containment, container: INodeBase);
@@ -43,8 +44,10 @@ export declare abstract class MultiContainmentValueManager<T extends INodeBase>
43
44
  insertAtIndexDirectly(newChild: T, index: number): void;
44
45
  insertAtIndex(newChild: T, index: number): void;
45
46
  removeDirectly(childToRemove: T): number;
47
+ removeAtIndexDirectly(index: number): void;
46
48
  moveDirectly(oldIndex: number, newIndex: number): T | undefined;
47
49
  move(oldIndex: number, newIndex: number): void;
50
+ replaceAtIndex(movedChild: T, newIndex: number): void;
48
51
  }
49
52
  export declare class OptionalMultiContainmentValueManager<T extends INodeBase> extends MultiContainmentValueManager<T> {
50
53
  constructor(containment: Containment, container: INodeBase);
@@ -1 +1 @@
1
- {"version":3,"file":"containments.d.ts","sourceRoot":"","sources":["../../src/value-managers/containments.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAG3C,OAAO,EAAE,SAAS,EAAoB,MAAM,kBAAkB,CAAA;AAE9D,OAAO,EAAc,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAG3D;;GAEG;AACH,8BAAsB,uBAAuB,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,mBAAmB,CAAC,WAAW,CAAC;IAEvG,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,QAAQ,CAAC,WAAW,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE;IAEzD;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI;CAE1C;AAGD,8BAAsB,6BAA6B,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;IAEvG,SAAS,aAAa,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS;IAKpE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2D;IAEjF,WAAW,IAAI,CAAC,GAAG,SAAS;IAI5B,KAAK,IAAI,OAAO;IAIR,WAAW,CAAC,QAAQ,EAAE,CAAC,GAAG,SAAS;IAInC,WAAW,CAAC,QAAQ,EAAE,CAAC;CAQlC;AAGD,qBAAa,qCAAqC,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,6BAA6B,CAAC,CAAC,CAAC;gBAEhG,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS;IAK1D,GAAG,IAAI,CAAC,GAAG,SAAS;IAIZ,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,SAAS;CAyCtC;AAGD,qBAAa,qCAAqC,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,6BAA6B,CAAC,CAAC,CAAC;gBAEhG,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS;IAK1D,GAAG,IAAI,CAAC;IAQA,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,SAAS;CAuCtC;AAGD,8BAAsB,4BAA4B,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;IAEtG,SAAS,aAAa,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS;IAKpE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0C;IAEnE,WAAW,IAAI,CAAC,EAAE;IAIlB,GAAG,IAAI,CAAC,EAAE;IAIV,KAAK,IAAI,OAAO;IAIR,WAAW,CAAC,QAAQ,EAAE,CAAC;IAIvB,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI;IAItB,qBAAqB,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM;IAKhD,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM;IAYxC,cAAc,CAAC,aAAa,EAAE,CAAC,GAAG,MAAM;IAUxC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAW/D,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAOlD;AAGD,qBAAa,oCAAoC,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,4BAA4B,CAAC,CAAC,CAAC;gBAE9F,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS;IAKlD,MAAM,CAAC,aAAa,EAAE,CAAC;CAUlC;AAGD,qBAAa,oCAAoC,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,4BAA4B,CAAC,CAAC,CAAC;gBAE9F,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS;IAK1D,GAAG,IAAI,CAAC,EAAE;IAQF,MAAM,CAAC,aAAa,EAAE,CAAC;CAalC"}
1
+ {"version":3,"file":"containments.d.ts","sourceRoot":"","sources":["../../src/value-managers/containments.ts"],"names":[],"mappings":"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"}