@lionweb/core 0.10.0-alpha.1 → 0.10.0-alpha.3

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 CHANGED
@@ -5,6 +5,17 @@
5
5
  * Introduce `metaPointerFor{Classifier|Feature|Language}` functions, and deprecate the `metaPointerFor` function taking a `Feature`.
6
6
  (This change has been propagated throughout the entire codebase.)
7
7
  * Expose `isValidIdentifier` function.
8
+ * Change the `UnresolvedReference` type to be a class.
9
+ * Deserialization uses `UnresolvedReference` instances – including original `resolveInfo` – to represent unresolved references.
10
+ * Deprecate the `unresolved` constant/“symbol”.
11
+ * Change the `referenceToSet` function into a proper symbol constant.
12
+ *Note* that this is technically a breaking change, but this function should essentially only be used internally.
13
+ * Add a `isReferenceToSet` function which satisfies `isReferenceToSet(referenceToSet)`.
14
+ * Add a `tryToRenderAsText` convenience function to nicely render a reference as text.
15
+ * Deserialization now reports on serialized nodes that can’t be deserialized, and doesn’t add/set `null` anymore.
16
+ * Serialization skips references that are unresolved and for which no `resolveInfo` can be obtained.
17
+ * *Narrow* the type of the argument of the `asIds` function to `Node[]`.
18
+ *Note* that this is technically a breaking change, but this function is essentially only used internally.
8
19
 
9
20
 
10
21
  ## 0.9.0
@@ -1 +1 @@
1
- {"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,gBAAgB,EAA+B,MAAM,eAAe,CAAA;AAExF,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAA0B,eAAe,EAAE,MAAM,eAAe,CAAA;AAEvE,OAAO,EAAwC,QAAQ,EAAiB,QAAQ,EAAa,MAAM,eAAe,CAAA;AAClH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAA;CACvF;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;CAAG;AAG/E;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAA;AAGnH;;;GAGG;AACH,MAAM,MAAM,yBAAyB,CAAC,EAAE,SAAS,IAAI,IAAI;IACrD;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B;;OAEG;IACH,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB;;;OAGG;IACH,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;CACpC,CAAA;AAGD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,EAAE,SAAS,IAAI,EAAE,eAAe,yBAAyB,CAAC,EAAE,CAAC,KAAG,YAAY,CAAC,EAAE,CA2L/G,CAAA;AAGD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,6BAA6B,GAAI,EAAE,SAAS,IAAI,EACzD,oBAAoB,gBAAgB,EACpC,QAAQ,MAAM,CAAC,EAAE,CAAC,EAClB,WAAW,QAAQ,EAAE,EAErB,gBAAgB,IAAI,EAAE,EAEtB,4BAA2B,yBAA4F,EACvH,kBAAiB,eAAwC,KAC1D,EAAE,EAA8I,CAAA;AAEnJ;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAdiB,EAAE,SAAS,IAAI,sBACrC,gBAAgB,UAC5B,MAAM,CAAC,EAAE,CAAC,aACP,QAAQ,EAAE,kBAEL,IAAI,EAAE,8BAEK,yBAAyB,oBACnC,eAAe,KACjC,EAAE,EAKwD,CAAA"}
1
+ {"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,gBAAgB,EAA+B,MAAM,eAAe,CAAA;AAExF,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAA0B,eAAe,EAAE,MAAM,eAAe,CAAA;AAEvE,OAAO,EAAwC,QAAQ,EAAiB,QAAQ,EAAa,MAAM,eAAe,CAAA;AAClH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAA;CACvF;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;CAAG;AAG/E;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAA;AAGnH;;;GAGG;AACH,MAAM,MAAM,yBAAyB,CAAC,EAAE,SAAS,IAAI,IAAI;IACrD;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B;;OAEG;IACH,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB;;;OAGG;IACH,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;CACpC,CAAA;AAGD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,EAAE,SAAS,IAAI,EAAE,eAAe,yBAAyB,CAAC,EAAE,CAAC,KAAG,YAAY,CAAC,EAAE,CA8L/G,CAAA;AAGD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,6BAA6B,GAAI,EAAE,SAAS,IAAI,EACzD,oBAAoB,gBAAgB,EACpC,QAAQ,MAAM,CAAC,EAAE,CAAC,EAClB,WAAW,QAAQ,EAAE,EAErB,gBAAgB,IAAI,EAAE,EAEtB,4BAA2B,yBAA4F,EACvH,kBAAiB,eAAwC,KAC1D,EAAE,EAA8I,CAAA;AAEnJ;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAdiB,EAAE,SAAS,IAAI,sBACrC,gBAAgB,UAC5B,MAAM,CAAC,EAAE,CAAC,aACP,QAAQ,EAAE,kBAEL,IAAI,EAAE,8BAEK,yBAAyB,oBACnC,eAAe,KACjC,EAAE,EAKwD,CAAA"}
@@ -3,7 +3,7 @@ import { consoleProblemReporter } from "./reporter.js";
3
3
  import { MemoisingSymbolTable } from "./m3/symbol-table.js";
4
4
  import { Classifier, Containment, Enumeration, PrimitiveType, Property, Reference } from "./m3/types.js";
5
5
  import { LionWebVersions } from "./m3/versions.js";
6
- import { unresolved } from "./references.js";
6
+ import { UnresolvedReference } from "./references.js";
7
7
  /**
8
8
  * @return a {@link Deserializer} function.
9
9
  *
@@ -64,7 +64,6 @@ export const deserializerWith = (configuration) => {
64
64
  if (properties !== undefined) {
65
65
  allFeatures
66
66
  .filter(feature => feature instanceof Property)
67
- .map(feature => feature)
68
67
  .forEach(property => {
69
68
  if (property.key in serializedPropertiesPerKey) {
70
69
  const value = serializedPropertiesPerKey[property.key][0].value;
@@ -96,26 +95,32 @@ export const deserializerWith = (configuration) => {
96
95
  }
97
96
  else if (feature instanceof Containment && containments !== undefined && feature.key in serializedContainmentsPerKey) {
98
97
  const childIds = serializedContainmentsPerKey[feature.key].flatMap(serChildren => serChildren.children);
99
- if (feature.multiple) {
100
- childIds.forEach(childId => {
101
- if (childId in serializedNodeById) {
102
- writer.setFeatureValue(node, feature, instantiateMemoised(serializedNodeById[childId], node));
98
+ const deserializeChild = (childId) => {
99
+ if (childId in serializedNodeById) {
100
+ const child = instantiateMemoised(serializedNodeById[childId], node);
101
+ if (child !== null) {
102
+ writer.setFeatureValue(node, feature, child);
103
103
  }
104
- });
105
- }
106
- else {
107
- if (childIds.length > 0) {
108
- // just set the 1st one:
109
- const firstChildId = childIds[0];
110
- if (firstChildId in serializedNodeById) {
111
- writer.setFeatureValue(node, feature, instantiateMemoised(serializedNodeById[firstChildId], node));
104
+ else {
105
+ problemReporter.reportProblem(`child with id=${childId} is not instantiable, so can’t add it to containment ${feature.name} on node with id=${node.id}`);
106
+ // TODO set/add an UnresolvedContainment?
112
107
  }
113
108
  }
109
+ else {
110
+ problemReporter.reportProblem(`child with id=${childId} doesn’t reside in this serialization chunk, so can’t add it to containment ${feature.name} on node with id=${node.id}`);
111
+ }
112
+ };
113
+ if (feature.multiple) {
114
+ childIds.forEach(deserializeChild);
115
+ }
116
+ else if (childIds.length > 0) {
117
+ // just set the 1st one:
118
+ deserializeChild(childIds[0]);
114
119
  }
115
120
  }
116
121
  else if (feature instanceof Reference && references !== undefined && feature.key in serializedReferencesPerKey) {
117
- const serRefs = (serializedReferencesPerKey[feature.key] ?? []).flatMap(serReferences => serReferences.targets.map(t => t.reference));
118
- referencesToInstall.push(...serRefs.filter(serRef => typeof serRef === "string").map(refId => [node, feature, refId]));
122
+ const serRefs = (serializedReferencesPerKey[feature.key] ?? []).flatMap(serReferences => serReferences.targets);
123
+ referencesToInstall.push(...(serRefs.map(({ reference, resolveInfo }) => [node, feature, reference, resolveInfo])));
119
124
  }
120
125
  });
121
126
  node.annotations = keepDefineds(annotations
@@ -129,15 +134,15 @@ export const deserializerWith = (configuration) => {
129
134
  .map(serializedNode => instantiateMemoised(serializedNode)))
130
135
  .map(node => node);
131
136
  const dependentNodesById = byIdMap(dependentNodes);
132
- referencesToInstall.forEach(([node, reference, refId]) => {
137
+ referencesToInstall.forEach(([node, reference, refId, resolveInfo]) => {
133
138
  const target = deserializedNodeById[refId] ?? dependentNodesById[refId];
134
139
  const value = (() => {
135
- if (target === undefined) {
136
- const metaTypeMessage = "concept" in node ? ` and (meta-)type ${node.concept}` : "";
137
- problemReporter.reportProblem(`couldn't resolve the target with id=${refId} of a "${reference.name}" reference on the node with id=${node.id}${metaTypeMessage}`);
138
- return unresolved;
140
+ if (target !== undefined) {
141
+ return target;
139
142
  }
140
- return target;
143
+ const metaTypeMessage = "concept" in node ? ` and (meta-)type ${node.concept}` : "";
144
+ problemReporter.reportProblem(`couldn't resolve the target with id=${refId} of a "${reference.name}" reference on the node with id=${node.id}${metaTypeMessage}`);
145
+ return new UnresolvedReference(refId, resolveInfo);
141
146
  })();
142
147
  writer.setFeatureValue(node, reference, value);
143
148
  });
@@ -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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"}
@@ -6,10 +6,9 @@ import { Classifier, Feature, Language } from "./m3/index.js";
6
6
  */
7
7
  export declare const containmentChain: (node: Node) => Node[];
8
8
  /**
9
- * Maps an array of {@link Node AST nodes} or `null`s to their IDs.
10
- * These `null`s might be the result of unresolved children.
9
+ * Maps an array of {@link Node AST nodes} to their IDs.
11
10
  */
12
- export declare const asIds: (nodeOrNulls: (Node | null)[]) => (LionWebId | null)[];
11
+ export declare const asIds: (nodes: Node[]) => LionWebId[];
13
12
  /**
14
13
  * @return the id of the given {@link Node node}.
15
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAE1F,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAG7D;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,IAAI,KAAG,IAAI,EAGjD,CAAA;AAGD;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,KAAG,CAAC,SAAS,GAAG,IAAI,CAAC,EACQ,CAAA;AAG/E;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,IAAI,EAAE,QAAM,CAAC,KAAG,SACzC,CAAA;AAGN;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,SAAS,OAAO,KAAG,sBAOxD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,YAdoB,OAAO,KAAG,sBAcN,CAAA;AAEnD;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,YAAY,UAAU,KAAG,sBACtC,CAAA;AAE5B;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,kBAAkB,QAAQ,KAAG,uBAE9D,CAAA"}
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAE1F,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAG7D;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,IAAI,KAAG,IAAI,EAGjD,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,KAAK,GAAI,OAAO,IAAI,EAAE,KAAG,SAAS,EAC5B,CAAA;AAGnB;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,IAAI,EAAE,QAAM,CAAC,KAAG,SACzC,CAAA;AAGN;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,SAAS,OAAO,KAAG,sBAOxD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,YAdoB,OAAO,KAAG,sBAcN,CAAA;AAEnD;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,YAAY,UAAU,KAAG,sBACtC,CAAA;AAE5B;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,kBAAkB,QAAQ,KAAG,uBAE9D,CAAA"}
package/dist/functions.js CHANGED
@@ -7,10 +7,9 @@ export const containmentChain = (node) => {
7
7
  return flatMapNonCyclingFollowing(trivialFlatMapper, getParent)(node);
8
8
  };
9
9
  /**
10
- * Maps an array of {@link Node AST nodes} or `null`s to their IDs.
11
- * These `null`s might be the result of unresolved children.
10
+ * Maps an array of {@link Node AST nodes} to their IDs.
12
11
  */
13
- export const asIds = (nodeOrNulls) => nodeOrNulls.map((nodeOrNull) => nodeOrNull === null ? null : nodeOrNull.id);
12
+ export const asIds = (nodes) => nodes.map(idOf);
14
13
  /**
15
14
  * @return the id of the given {@link Node node}.
16
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAKjF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAU,EAAU,EAAE;IACnD,MAAM,SAAS,GAAG,CAAC,CAAO,EAAU,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAC/E,OAAO,0BAA0B,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAA;AACzE,CAAC,CAAA;AAGD;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,WAA4B,EAAwB,EAAE,CACxE,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;AAG/E;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAiB,EAAC,EAAE,EAAI,EAAa,EAAE,CACvD,EAAE,CAAA;AAGN;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAgB,EAA0B,EAAE;IAC9E,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,UAAU,CAAA;IACvC,OAAO;QACH,QAAQ,EAAE,QAAQ,CAAC,GAAG;QACtB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,EAAE,OAAO,CAAC,GAAG;KACnB,CAAA;AACL,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,qBAAqB,CAAA;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,UAAsB,EAA0B,EAAE,CACvF,UAAU,CAAC,WAAW,EAAE,CAAA;AAE5B;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,EAAY,EAA2B,EAAE,CAAC,CAAC;IACxF,GAAG,EAAE,OAAO;CACf,CAAC,CAAA"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAKjF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAU,EAAU,EAAE;IACnD,MAAM,SAAS,GAAG,CAAC,CAAO,EAAU,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAC/E,OAAO,0BAA0B,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAA;AACzE,CAAC,CAAA;AAGD;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAe,EAAE,CAChD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AAGnB;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAiB,EAAC,EAAE,EAAI,EAAa,EAAE,CACvD,EAAE,CAAA;AAGN;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAgB,EAA0B,EAAE;IAC9E,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,UAAU,CAAA;IACvC,OAAO;QACH,QAAQ,EAAE,QAAQ,CAAC,GAAG;QACtB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,EAAE,OAAO,CAAC,GAAG;KACnB,CAAA;AACL,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,qBAAqB,CAAA;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,UAAsB,EAA0B,EAAE,CACvF,UAAU,CAAC,WAAW,EAAE,CAAA;AAE5B;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,EAAY,EAA2B,EAAE,CAAC,CAAC;IACxF,GAAG,EAAE,OAAO;CACf,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"reference-utils.d.ts","sourceRoot":"","sources":["../../src/m1/reference-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAiB,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAGlC;;;GAGG;AACH,qBAAa,cAAc,CAAC,EAAE,SAAS,IAAI;aAEnB,UAAU,EAAE,EAAE;aACd,UAAU,EAAE,EAAE;aACd,SAAS,EAAE,SAAS;aACpB,KAAK,EAAE,MAAM,GAAG,IAAI;gBAHpB,UAAU,EAAE,EAAE,EACd,UAAU,EAAE,EAAE,EACd,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,GAAG,IAAI;CAE3C;AAGD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,GAAI,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,EACjE,OAAO,EAAE,EAAE,EACX,QAAQ,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,KACvB,cAAc,CAAC,EAAE,CAAC,EAyBpB,CAAA;AAGD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kBAAkB,GAAI,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,EACpE,mBAAmB,EAAE,EAAE,GAAG,EAAE,EAC5B,OAAO,EAAE,EAAE,EACX,QAAQ,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,KACvB,cAAc,CAAC,EAAE,CAAC,EAIpB,CAAA;AAGD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,2BAA2B,GAAI,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,EAC7E,OAAO,EAAE,EAAE,EACX,QAAQ,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,KACvB,cAAc,CAAC,EAAE,CAAC,EAE+D,CAAA"}
1
+ {"version":3,"file":"reference-utils.d.ts","sourceRoot":"","sources":["../../src/m1/reference-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAiB,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAGlC;;;GAGG;AACH,qBAAa,cAAc,CAAC,EAAE,SAAS,IAAI;aAEnB,UAAU,EAAE,EAAE;aACd,UAAU,EAAE,EAAE;aACd,SAAS,EAAE,SAAS;aACpB,KAAK,EAAE,MAAM,GAAG,IAAI;gBAHpB,UAAU,EAAE,EAAE,EACd,UAAU,EAAE,EAAE,EACd,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,GAAG,IAAI;CAE3C;AAGD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,GAAI,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,EACjE,OAAO,EAAE,EAAE,EACX,QAAQ,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,KACvB,cAAc,CAAC,EAAE,CAAC,EAwBpB,CAAA;AAGD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kBAAkB,GAAI,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,EACpE,mBAAmB,EAAE,EAAE,GAAG,EAAE,EAC5B,OAAO,EAAE,EAAE,EACX,QAAQ,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,KACvB,cAAc,CAAC,EAAE,CAAC,EAIpB,CAAA;AAGD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,2BAA2B,GAAI,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,EAC7E,OAAO,EAAE,EAAE,EACX,QAAQ,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,KACvB,cAAc,CAAC,EAAE,CAAC,EAE+D,CAAA"}
@@ -39,7 +39,6 @@ export const referenceValues = (scope, reader) => {
39
39
  return [...new Set(scope)] // ~ .distinct()
40
40
  .flatMap((sourceNode) => allFeaturesOf(reader.classifierOf(sourceNode))
41
41
  .filter((feature) => feature instanceof Reference)
42
- .map((feature) => feature)
43
42
  .flatMap((reference) => visit(sourceNode, reference)));
44
43
  };
45
44
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"reference-utils.js","sourceRoot":"","sources":["../../src/m1/reference-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAIzD;;;GAGG;AACH,MAAM,OAAO,cAAc;IACvB,YACoB,UAAc,EACd,UAAc,EACd,SAAoB,EACpB,KAAoB;QAHpB,eAAU,GAAV,UAAU,CAAI;QACd,eAAU,GAAV,UAAU,CAAI;QACd,cAAS,GAAT,SAAS,CAAW;QACpB,UAAK,GAAL,KAAK,CAAe;IACrC,CAAC;CACP;AAGD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,KAAW,EACX,MAAsB,EACF,EAAE;IACtB,MAAM,KAAK,GAAG,CAAC,UAAc,EAAE,SAAoB,EAAwB,EAAE;QACzE,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,CAAS,CAAA;YACjF,OAAO,WAAW;iBACb,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CACvB,IAAI,cAAc,CAAK,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CACnE,CAAA;QACT,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,SAAS,CAAqB,CAAA;QACpF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,cAAc,CAAK,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;QAC5E,CAAC;QAED,OAAO,EAAE,CAAA;IACb,CAAC,CAAA;IAED,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,gBAAgB;SACvC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACpB,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;SACzC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,YAAY,SAAS,CAAC;SACjD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAoB,CAAC;SACtC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAC5D,CAAA;AACT,CAAC,CAAA;AAGD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAC9B,iBAA4B,EAC5B,KAAW,EACX,MAAsB,EACF,EAAE;IACtB,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAA;IAC9F,OAAO,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC;SAChC,MAAM,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AACxF,CAAC,CAAA;AAGD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACvC,KAAW,EACX,MAAsB,EACF,EAAE,CACtB,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC;KACzB,MAAM,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"reference-utils.js","sourceRoot":"","sources":["../../src/m1/reference-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAIzD;;;GAGG;AACH,MAAM,OAAO,cAAc;IACvB,YACoB,UAAc,EACd,UAAc,EACd,SAAoB,EACpB,KAAoB;QAHpB,eAAU,GAAV,UAAU,CAAI;QACd,eAAU,GAAV,UAAU,CAAI;QACd,cAAS,GAAT,SAAS,CAAW;QACpB,UAAK,GAAL,KAAK,CAAe;IACrC,CAAC;CACP;AAGD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,KAAW,EACX,MAAsB,EACF,EAAE;IACtB,MAAM,KAAK,GAAG,CAAC,UAAc,EAAE,SAAoB,EAAwB,EAAE;QACzE,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,CAAS,CAAA;YACjF,OAAO,WAAW;iBACb,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CACvB,IAAI,cAAc,CAAK,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CACnE,CAAA;QACT,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,SAAS,CAAqB,CAAA;QACpF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,cAAc,CAAK,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;QAC5E,CAAC;QAED,OAAO,EAAE,CAAA;IACb,CAAC,CAAA;IAED,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,gBAAgB;SACvC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACpB,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;SACzC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,YAAY,SAAS,CAAC;SACjD,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAC5D,CAAA;AACT,CAAC,CAAA;AAGD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAC9B,iBAA4B,EAC5B,KAAW,EACX,MAAsB,EACF,EAAE;IACtB,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAA;IAC9F,OAAO,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC;SAChC,MAAM,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AACxF,CAAC,CAAA;AAGD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACvC,KAAW,EACX,MAAsB,EACF,EAAE,CACtB,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC;KACzB,MAAM,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { isUnresolvedReference } from "../references.js";
1
+ import { isRef } from "../references.js";
2
2
  /**
3
3
  * Determines whether two data types should be structurally equal based on equality of: meta type, key, and language's key.
4
4
  */
@@ -31,7 +31,7 @@ export const propertyValueDeserializerFrom = (registry) => {
31
31
  throw new Error(`can't deserialize undefined as the value of required property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}")`);
32
32
  }
33
33
  const { type } = property;
34
- if (isUnresolvedReference(type)) {
34
+ if (!isRef(type)) {
35
35
  throw new Error(`can't deserialize property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") with unspecified type`);
36
36
  }
37
37
  const specificDeserializer = byType(type);
@@ -64,7 +64,7 @@ export const propertyValueSerializerFrom = (registry) => {
64
64
  throw new Error(`can't serialize undefined as the value of required property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}")`);
65
65
  }
66
66
  const { type } = property;
67
- if (isUnresolvedReference(type)) {
67
+ if (!isRef(type)) {
68
68
  throw new Error(`can't serialize property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") with unspecified type`);
69
69
  }
70
70
  const specificSerializer = byType(type);
@@ -1 +1 @@
1
- {"version":3,"file":"builtins-common.js","sourceRoot":"","sources":["../../src/m3/builtins-common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builtins-common.js","sourceRoot":"","sources":["../../src/m3/builtins-common.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/m3/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/m3/functions.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Various functions on M3 models.
3
3
  */
4
- import { cycleWith, flatMapNonCyclingFollowing, sortByStringKey } from "@lionweb/ts-utils";
4
+ import { cycleWith, flatMapNonCyclingFollowing, mappedComparer, regularStringComparer, sorterWith } from "@lionweb/ts-utils";
5
5
  import { containmentChain } from "../functions.js";
6
6
  import { isRef } from "../references.js";
7
7
  import { Annotation, Classifier, Concept, Containment, Enumeration, Interface, isINamed, Language, Link, Property, Reference } from "./types.js";
@@ -86,7 +86,7 @@ const nameOf = ({ name }) => name;
86
86
  /**
87
87
  * @return the given named things sorted by name
88
88
  */
89
- export const nameSorted = (ts) => sortByStringKey(ts, nameOf);
89
+ export const nameSorted = (ts) => sorterWith(mappedComparer(nameOf, regularStringComparer))(ts);
90
90
  /**
91
91
  * @return the concatenation of the names of the given nodes using the given separator.
92
92
  */
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/m3/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/m3/functions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/m3/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/m3/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAkB,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAO1D,UAAU,MAAM;IACZ,IAAI,EAAE,MAAM,CAAA;CACf;AAED,QAAA,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,IAAI,IAAI,MACU,CAAA;AAEnD,QAAA,MAAM,iBAAiB,EAAE,kBAAkB,CAAC,IAAI,CACU,CAAA;AAG1D,UAAU,MAAO,SAAQ,MAAM;IAC3B,GAAG,EAAE,SAAS,CAAA;CACjB;AAGD;;;;GAIG;AACH,UAAU,UAAU;IAChB,QAAQ,IAAI,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,uBAAe,MAAO,YAAW,MAAM,EAAE,UAAU;IAC/C,QAAQ,IAAI,MAAM;IAGlB,MAAM,CAAC,EAAE,MAAM,CAAA;IAMf,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,SAAS,CAAA;IACd,SAAS,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM;IAMlF,SAAS,CAAC,GAAG,EAAE,SAAS;IAIxB,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,CAAK;CACpC;AAED,uBAAe,OAAQ,SAAQ,MAAM;IACjC,QAAQ,UAAuB;gBAEnB,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS;IAGhF,UAAU;IAIV,IAAI,UAAU,IAAI,UAAU,CAE3B;CACJ;AAED,cAAM,QAAS,SAAQ,OAAO;IAC1B,QAAQ,IAAI,MAAM;IAGlB,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAiB;IAC1C,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ;CAInC;AAED,uBAAe,IAAK,SAAQ,OAAO;IAC/B,QAAQ,UAAuB;IAC/B,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,CAAiB;IAC5C,UAAU;IAIV,MAAM,CAAC,IAAI,EAAE,UAAU;CAI1B;AAED,cAAM,WAAY,SAAQ,IAAI;IAC1B,QAAQ,IAAI,MAAM;CAGrB;AAED,cAAM,SAAU,SAAQ,IAAI;IACxB,QAAQ,IAAI,MAAM;CAGrB;AAED,uBAAe,cAAe,SAAQ,MAAM;gBAC5B,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS;IAG3E,IAAI,QAAQ,IAAI,QAAQ,CAEvB;CACJ;AAED,uBAAe,UAAW,SAAQ,cAAc;IAC5C,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAK;IACjC,cAAc,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE;IAIrC,WAAW,IAAI,sBAAsB;CAQxC;AAED,cAAM,OAAQ,SAAQ,UAAU;IAC5B,QAAQ,IAAI,MAAM;IAGlB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC5B,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAK;gBACjC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC;IAM9H,YAAY,CAAC,GAAG,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO;IAKjD,WAAW,IAAI,OAAO;CAIzB;AAED,cAAM,UAAW,SAAQ,UAAU;IAC/B,QAAQ,IAAI,MAAM;IAGlB,OAAO,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAA;IAC/B,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAK;IAC7C,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,CAAiB;gBACrC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC;IAI9G,YAAY,CAAC,GAAG,UAAU,EAAE,SAAS,EAAE,GAAG,UAAU;IAKpD,UAAU,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU;CAIjD;AAED,cAAM,SAAU,SAAQ,UAAU;IAC9B,QAAQ,IAAI,MAAM;IAGlB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAK;IAC1C,SAAS,CAAC,GAAG,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS;CAKnD;AAED,uBAAe,QAAS,SAAQ,cAAc;CAAG;AAEjD;;GAEG;AACH,uBAAe,QAAS,SAAQ,QAAQ;CAAG;AAE3C,cAAM,aAAc,SAAQ,QAAQ;IAChC,QAAQ,IAAI,MAAM;CAGrB;AAED,cAAM,WAAY,SAAQ,QAAQ;IAC9B,QAAQ,IAAI,MAAM;IAGlB,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,EAAE,CAAK;IAC5C,cAAc,CAAC,GAAG,QAAQ,EAAE,kBAAkB,EAAE;CAInD;AAED,cAAM,kBAAmB,SAAQ,MAAM;IACnC,QAAQ,IAAI,MAAM;gBAGN,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS;IAGlF,IAAI,WAAW,IAAI,WAAW,CAE7B;CACJ;AAED,cAAM,QAAS,SAAQ,MAAM;IACzB,QAAQ,IAAI,MAAM;IAGlB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAK;IACxC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAK;gBAE/B,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU;IAIzE,cAAc,CAAC,GAAG,QAAQ,EAAE,cAAc,EAAE,GAAG,QAAQ;IAIvD,WAAW,CAAC,GAAG,SAAS,EAAE,QAAQ,EAAE,GAAG,QAAQ;IAO/C,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;CAGlC;AAGD;;;;GAIG;AACH,KAAK,SAAS,GACR,UAAU,GACV,OAAO,GACP,WAAW,GACX,WAAW,GACX,kBAAkB,GAClB,SAAS,GACT,QAAQ,GACR,aAAa,GACb,QAAQ,GACR,SAAS,CAAA;AAGf,OAAO,EACH,UAAU,EACV,UAAU,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,kBAAkB,EAClB,OAAO,EACP,SAAS,EACT,MAAM,EACN,QAAQ,EACR,cAAc,EACd,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,mBAAmB,EACnB,iBAAiB,EACpB,CAAA;AAED,YAAY,EACR,MAAM,EACN,UAAU,EACV,MAAM,EACN,SAAS,EACZ,CAAA"}
package/dist/m3/types.js CHANGED
@@ -43,7 +43,7 @@ class Feature extends M3Node {
43
43
  class Property extends Feature {
44
44
  constructor() {
45
45
  super(...arguments);
46
- this.type = referenceToSet(); // (reference)
46
+ this.type = referenceToSet; // (reference)
47
47
  }
48
48
  metaType() {
49
49
  return "Property";
@@ -57,7 +57,7 @@ class Link extends Feature {
57
57
  constructor() {
58
58
  super(...arguments);
59
59
  this.multiple /*: boolean */ = false;
60
- this.type = referenceToSet(); // (reference)
60
+ this.type = referenceToSet; // (reference)
61
61
  }
62
62
  isMultiple() {
63
63
  this.multiple = true;
@@ -132,7 +132,7 @@ class Annotation extends Classifier {
132
132
  constructor(language, name, key, id, extends_) {
133
133
  super(language, name, key, id);
134
134
  this.implements = []; // (reference)
135
- this.annotates = referenceToSet(); // (reference)
135
+ this.annotates = referenceToSet; // (reference)
136
136
  this.extends = extends_;
137
137
  }
138
138
  implementing(...interfaces) {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/m3/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/m3/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { asMinimalJsonString } from "@lionweb/ts-utils";
2
2
  import { shouldBeIdentical } from "../../builtins-common.js";
3
- import { isUnresolvedReference } from "../../../references.js";
3
+ import { isRef } from "../../../references.js";
4
4
  import { v2023_1 } from "./version.js";
5
5
  class DataTypeRegistry {
6
6
  constructor() {
@@ -48,7 +48,7 @@ export class BuiltinPropertyValueDeserializer extends DataTypeRegistry {
48
48
  throw new Error(`can't deserialize undefined as the value of required property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}")`);
49
49
  }
50
50
  const { type } = property;
51
- if (isUnresolvedReference(type)) {
51
+ if (!isRef(type)) {
52
52
  throw new Error(`can't deserialize property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") with unspecified type`);
53
53
  }
54
54
  const specificDeserializer = this.byType(type);
@@ -88,7 +88,7 @@ export class BuiltinPropertyValueSerializer extends DataTypeRegistry {
88
88
  throw new Error(`can't serialize undefined as the value of required property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}")`);
89
89
  }
90
90
  const { type } = property;
91
- if (isUnresolvedReference(type)) {
91
+ if (!isRef(type)) {
92
92
  throw new Error(`can't serialize property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") with unspecified type`);
93
93
  }
94
94
  const specificSerializer = this.byType(type);
@@ -1 +1 @@
1
- {"version":3,"file":"builtins-legacy.js","sourceRoot":"","sources":["../../../../src/m3/versions/v2023_1/builtins-legacy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builtins-legacy.js","sourceRoot":"","sources":["../../../../src/m3/versions/v2023_1/builtins-legacy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAG5D,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,MAAe,gBAAgB;IAA/B;QACY,QAAG,GAAG,IAAI,GAAG,EAAe,CAAA;QAE5B,YAAO,GAAG,KAAK,CAAA;IAsB3B,CAAC;IApBG,MAAM;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,QAAQ,CAAC,QAAkB,EAAE,CAAI;QACpC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAA;QACtF,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAC7B,CAAC;IAES,MAAM,CAAC,cAAwB;QACrC,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7C,IAAI,iBAAiB,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC9C,OAAO,CAAC,CAAA;YACZ,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAA;IACpB,CAAC;CACJ;AAGD,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,cAAc,CAAA;AAGhH;;;;GAIG;AACH,MAAM,OAAO,gCACT,SAAQ,gBAA4C;IAEpD;QACI,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;QAC/C,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QAC5D,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACxD,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC,CAAA;IACvE,CAAC;IAED,gBAAgB,CAAC,KAAyB,EAAE,QAAkB;QAC1D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACpB,OAAO,SAAS,CAAA;YACpB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,kEAAkE,QAAQ,CAAC,IAAI,qBAAqB,QAAQ,CAAC,UAAU,CAAC,IAAI,kBAAkB,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAA;QACxM,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,CAAC,IAAI,qBAAqB,QAAQ,CAAC,UAAU,CAAC,IAAI,kBAAkB,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,0BAA0B,CAAC,CAAA;QAC3L,CAAC;QACD,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,oBAAoB,IAAI,SAAS,EAAE,CAAC;YACpC,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAA;QACtC,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,CAAC,IAAI,qBAAqB,QAAQ,CAAC,UAAU,CAAC,IAAI,kBAAkB,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,eAAe,IAAK,CAAC,IAAI,MAAM,KAAK,EAAE,CAAC,CAAA;QAChN,CAAC;IACL,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,OAAO,gCAAiC,SAAQ,gCAAgC;CACrF;AAED;;;;GAIG;AACH,MAAM,OAAO,8BAA+B,SAAQ,gBAA4C;IAC5F;QACI,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAe,CAAC,CAAA;QACzD,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAgB,EAAE,CAAC,CAAA;QAChE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAe,EAAE,CAAC,CAAA;QAC/D,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAA;IACtE,CAAC;IAED,cAAc,CAAC,KAA0B,EAAE,QAAkB;QACzD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAA;YACf,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,gEAAgE,QAAQ,CAAC,IAAI,qBAAqB,QAAQ,CAAC,UAAU,CAAC,IAAI,kBAAkB,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAA;QACtM,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,IAAI,qBAAqB,QAAQ,CAAC,UAAU,CAAC,IAAI,kBAAkB,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,0BAA0B,CAAC,CAAA;QACzL,CAAC;QACD,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,kBAAkB,IAAI,SAAS,EAAE,CAAC;YAClC,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAA;QACpC,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,CAAC,IAAI,qBAAqB,QAAQ,CAAC,UAAU,CAAC,IAAI,kBAAkB,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,eAAe,IAAK,CAAC,IAAI,MAAM,KAAK,EAAE,CAAC,CAAA;QAC9M,CAAC;IACL,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,OAAO,8BAA+B,SAAQ,8BAA8B;CACjF"}
@@ -1,32 +1,55 @@
1
+ import { LionWebId } from "@lionweb/json";
1
2
  import { Node } from "./types.js";
3
+ import { INamed } from "./m3/index.js";
2
4
  /**
3
- * The `unresolved` symbol indicates a reference value which hasn't been resolved yet.
5
+ * The `unresolved` symbol indicates a reference value which hasn't been resolved yet.
4
6
  * It differs from an unset (`undefined`) value.
5
7
  * This value shouldn’t be manipulated/compared to directly!
8
+ *
9
+ * @deprecated Use {@link referenceToSet} or {@link UnresolvedReference} instead.
6
10
  */
7
11
  export declare const unresolved: null;
8
12
  /**
9
- * Type for unresolved references.
13
+ * Representation of an unresolved reference.
14
+ * At most one of `targetId` or `resolveInfo` can be `undefined`.
15
+ *
16
+ * *Note* that this instance will **not** exhibit object equality,
17
+ * i.e.: the resolved target of an unresolved reference will be a different object!
10
18
  */
11
- export type UnresolvedReference = typeof unresolved;
19
+ export declare class UnresolvedReference {
20
+ readonly targetId?: LionWebId | undefined;
21
+ resolveInfo?: string | undefined;
22
+ constructor(targetId?: LionWebId | undefined, resolveInfo?: string | undefined);
23
+ toString: () => string;
24
+ }
12
25
  /**
13
- * @return a value of {@link UnresolvedReference} that’s a placeholder for a yet-to-set reference.
26
+ * A singleton representing an unset reference that’s meant to be set,
27
+ * distinguishing that from a reference that’s intentionally not set
28
+ * — which can only happen if that reference is (defined as) optional.
14
29
  */
15
- export declare const referenceToSet: () => null;
30
+ export declare const referenceToSet: unique symbol;
16
31
  /**
17
32
  * A type definition for a reference value that can be unresolved.
18
33
  * Note: this type is primarily meant to be used to type nodes’ properties,
19
34
  * but should be avoided as a return type for “auxiliary” functions.
20
35
  */
21
- export type SingleRef<NT extends Node> = NT | UnresolvedReference;
36
+ export type SingleRef<NT extends Node> = NT | UnresolvedReference | typeof referenceToSet;
22
37
  /**
23
- * @return whether a given (at most) single-valued reference actually refers to something.
38
+ * @return whether the given {@link UnresolvedReference} corresponds to an (explicitly-)unset (yet-to-set) reference.
24
39
  */
25
- export declare const isRef: <NT extends Node>(ref?: SingleRef<NT>) => ref is NT;
40
+ export declare const isReferenceToSet: <T extends Node>(ref?: SingleRef<T>) => ref is typeof referenceToSet;
26
41
  /**
27
42
  * Type function for the {@link UnresolvedReference} type.
28
43
  */
29
44
  export declare const isUnresolvedReference: <NT extends Node>(ref?: SingleRef<NT>) => ref is UnresolvedReference;
45
+ /**
46
+ * @return whether a given (at most) single-valued reference actually refers to something.
47
+ */
48
+ export declare const isRef: <NT extends Node>(ref?: SingleRef<NT>) => ref is NT;
49
+ /**
50
+ * @return either the referenced node’s name, or the `resolveInfo` if the reference is unresolved, or `undefined`.
51
+ */
52
+ export declare const tryToRenderAsText: <T extends Node & INamed>(ref?: SingleRef<T>) => string | undefined;
30
53
  /**
31
54
  * A type alias for a multi-valued reference, to make it look consistent with {@link SingleRef}.
32
55
  * Note: this type is primarily meant to be used to type nodes’ properties,
@@ -1 +1 @@
1
- {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../src/references.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAGjC;;;;GAIG;AACH,eAAO,MAAM,UAAU,MAAO,CAAA;AAE9B;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,UAAU,CAAA;AAEnD;;GAEG;AACH,eAAO,MAAM,cAAc,YACb,CAAA;AAEd;;;;GAIG;AACH,MAAM,MAAM,SAAS,CAAC,EAAE,SAAS,IAAI,IAAI,EAAE,GAAG,mBAAmB,CAAA;AAEjE;;GAEG;AACH,eAAO,MAAM,KAAK,GAAI,EAAE,SAAS,IAAI,EAAE,MAAM,SAAS,CAAC,EAAE,CAAC,KAAG,GAAG,IAAI,EACzB,CAAA;AAE3C;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,EAAE,SAAS,IAAI,EAAE,MAAM,SAAS,CAAC,EAAE,CAAC,KAAG,GAAG,IAAI,mBAC9D,CAAA;AAGtB;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,EAAE,SAAS,IAAI,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE,CAAA"}
1
+ {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../src/references.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAGzC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAGtC;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,MAAO,CAAA;AAG9B;;;;;;GAMG;AACH,qBAAa,mBAAmB;aACA,QAAQ,CAAC,EAAE,SAAS;IAAS,WAAW,CAAC,EAAE,MAAM;gBAAjD,QAAQ,CAAC,EAAE,SAAS,YAAA,EAAS,WAAW,CAAC,EAAE,MAAM,YAAA;IAC7E,QAAQ,eACsF;CACjG;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,eAA8B,CAAA;AAEzD;;;;GAIG;AACH,MAAM,MAAM,SAAS,CAAC,EAAE,SAAS,IAAI,IAAI,EAAE,GAAG,mBAAmB,GAAG,OAAO,cAAc,CAAA;AAEzF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,IAAI,EAAE,MAAM,SAAS,CAAC,CAAC,CAAC,KAAG,GAAG,IAAI,OAAO,cAC1D,CAAA;AAE1B;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,EAAE,SAAS,IAAI,EAAE,MAAM,SAAS,CAAC,EAAE,CAAC,KAAG,GAAG,IAAI,mBAC9C,CAAA;AAEtC;;GAEG;AACH,eAAO,MAAM,KAAK,GAAI,EAAE,SAAS,IAAI,EAAE,MAAM,SAAS,CAAC,EAAE,CAAC,KAAG,GAAG,IAAI,EACU,CAAA;AAE9E;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,IAAI,GAAG,MAAM,EAAE,MAAM,SAAS,CAAC,CAAC,CAAC,KAAG,MAAM,GAAG,SAQxF,CAAA;AAGD;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,EAAE,SAAS,IAAI,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE,CAAA"}
@@ -1,19 +1,54 @@
1
+ import { stringifyPropertiesOf } from "@lionweb/ts-utils";
1
2
  /**
2
- * The `unresolved` symbol indicates a reference value which hasn't been resolved yet.
3
+ * The `unresolved` symbol indicates a reference value which hasn't been resolved yet.
3
4
  * It differs from an unset (`undefined`) value.
4
5
  * This value shouldn’t be manipulated/compared to directly!
6
+ *
7
+ * @deprecated Use {@link referenceToSet} or {@link UnresolvedReference} instead.
5
8
  */
6
9
  export const unresolved = null;
7
10
  /**
8
- * @return a value of {@link UnresolvedReference} that’s a placeholder for a yet-to-set reference.
11
+ * Representation of an unresolved reference.
12
+ * At most one of `targetId` or `resolveInfo` can be `undefined`.
13
+ *
14
+ * *Note* that this instance will **not** exhibit object equality,
15
+ * i.e.: the resolved target of an unresolved reference will be a different object!
9
16
  */
10
- export const referenceToSet = () => unresolved;
17
+ export class UnresolvedReference {
18
+ constructor(targetId, resolveInfo) {
19
+ this.targetId = targetId;
20
+ this.resolveInfo = resolveInfo;
21
+ this.toString = () => `unresolved reference to target:` + stringifyPropertiesOf(this, "targetId", "resolveInfo");
22
+ }
23
+ }
11
24
  /**
12
- * @return whether a given (at most) single-valued reference actually refers to something.
25
+ * A singleton representing an unset reference that’s meant to be set,
26
+ * distinguishing that from a reference that’s intentionally not set
27
+ * — which can only happen if that reference is (defined as) optional.
28
+ */
29
+ export const referenceToSet = Symbol("<unset reference>");
30
+ /**
31
+ * @return whether the given {@link UnresolvedReference} corresponds to an (explicitly-)unset (yet-to-set) reference.
13
32
  */
14
- export const isRef = (ref) => ref !== undefined && ref !== unresolved;
33
+ export const isReferenceToSet = (ref) => ref === referenceToSet;
15
34
  /**
16
35
  * Type function for the {@link UnresolvedReference} type.
17
36
  */
18
- export const isUnresolvedReference = (ref) => ref === unresolved;
37
+ export const isUnresolvedReference = (ref) => ref instanceof UnresolvedReference;
38
+ /**
39
+ * @return whether a given (at most) single-valued reference actually refers to something.
40
+ */
41
+ export const isRef = (ref) => ref !== undefined && !isReferenceToSet(ref) && !isUnresolvedReference(ref);
42
+ /**
43
+ * @return either the referenced node’s name, or the `resolveInfo` if the reference is unresolved, or `undefined`.
44
+ */
45
+ export const tryToRenderAsText = (ref) => {
46
+ if (ref === undefined || isReferenceToSet(ref)) {
47
+ return undefined;
48
+ }
49
+ if (isUnresolvedReference(ref)) {
50
+ return ref.resolveInfo;
51
+ }
52
+ return ref.name;
53
+ };
19
54
  //# sourceMappingURL=references.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"references.js","sourceRoot":"","sources":["../src/references.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAA;AAO9B;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAC/B,UAAU,CAAA;AASd;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAkB,GAAmB,EAAa,EAAE,CACrE,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,UAAU,CAAA;AAE3C;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAkB,GAAmB,EAA8B,EAAE,CACtG,GAAG,KAAK,UAAU,CAAA"}
1
+ {"version":3,"file":"references.js","sourceRoot":"","sources":["../src/references.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAMzD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAA;AAG9B;;;;;;GAMG;AACH,MAAM,OAAO,mBAAmB;IAC5B,YAA4B,QAAoB,EAAS,WAAoB;QAAjD,aAAQ,GAAR,QAAQ,CAAY;QAAS,gBAAW,GAAX,WAAW,CAAS;QAC7E,aAAQ,GAAG,GAAG,EAAE,CACZ,iCAAiC,GAAG,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,CAAA;IAFd,CAAC;CAGpF;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;AASzD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAiB,GAAkB,EAAgC,EAAE,CACjG,GAAG,KAAK,cAAc,CAAA;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAkB,GAAmB,EAA8B,EAAE,CACtG,GAAG,YAAY,mBAAmB,CAAA;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAkB,GAAmB,EAAa,EAAE,CACrE,GAAG,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAA;AAE9E;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAA0B,GAAkB,EAAsB,EAAE;IACjG,IAAI,GAAG,KAAK,SAAS,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAA;IACpB,CAAC;IACD,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,GAAG,CAAC,WAAW,CAAA;IAC1B,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAA;AACnB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,gBAAgB,EAAmB,MAAM,eAAe,CAAA;AAG5E,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,OAAO,EAOH,QAAQ,EAGX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAIhD;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,gBAAgB,CAAA;AAG3E;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAA;CACpE;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAwB,SAAQ,uBAAuB;CAAG;AAQ3E;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC;IAEvC;;;;OAIG;IACH,sBAAsB,EAAE,OAAO,CAAA;IAE/B;;;;OAIG;IACH,uBAAuB,EAAE,uBAAuB,CAAA;IAEhD;;;;OAIG;IACH,uBAAuB,EAAE,uBAAuB,CAAA;CAEnD,CAAC,CAAA;AAGF;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,IAAI;IACzE;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAEtB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;CAClC,GAAG,oBAAoB,CAAA;AAGxB;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,EAAE,QAAQ,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,uBAAuB,oBAAoB,KAAG,UAAU,CAAC,EAAE,CAClG,CAAA;AAGvD;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,EAAE,eAAe,uBAAuB,CAAC,EAAE,EAAE,EAAE,CAAC,KAAG,UAAU,CAAC,EAAE,CA4InI,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,EAChE,OAAO,EAAE,EAAE,EACX,QAAQ,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EACtB,mCAAmC,uBAAuB,GAAG,oBAAoB,KAClF,gBAQS,CAAA"}
1
+ {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,gBAAgB,EAA+C,MAAM,eAAe,CAAA;AAGxG,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,OAAO,EAOH,QAAQ,EAGX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAIhD;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,gBAAgB,CAAA;AAG3E;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAA;CACpE;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAwB,SAAQ,uBAAuB;CAAG;AAQ3E;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC;IAEvC;;;;OAIG;IACH,sBAAsB,EAAE,OAAO,CAAA;IAE/B;;;;OAIG;IACH,uBAAuB,EAAE,uBAAuB,CAAA;IAEhD;;;;OAIG;IACH,uBAAuB,EAAE,uBAAuB,CAAA;CAEnD,CAAC,CAAA;AAGF;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,IAAI;IACzE;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAEtB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;CAClC,GAAG,oBAAoB,CAAA;AAGxB;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,EAAE,QAAQ,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,uBAAuB,oBAAoB,KAAG,UAAU,CAAC,EAAE,CAClG,CAAA;AAGvD;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,EAAE,eAAe,uBAAuB,CAAC,EAAE,EAAE,EAAE,CAAC,KAAG,UAAU,CAAC,EAAE,CA0JnI,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE,EAChE,OAAO,EAAE,EAAE,EACX,QAAQ,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EACtB,mCAAmC,uBAAuB,GAAG,oBAAoB,KAClF,gBAQS,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { asArray, keepDefineds, lazyMapGet, uniquesAmong } from "@lionweb/ts-utils";
2
2
  import { asIds, metaPointerForFeature } from "./functions.js";
3
+ import { isRef, isReferenceToSet, UnresolvedReference } from "./references.js";
3
4
  import { inheritsDirectlyFrom } from "./m3/functions.js";
4
5
  import { Containment, Enumeration, PrimitiveType, Property, Reference, simpleNameDeducer } from "./m3/types.js";
5
6
  import { LionWebVersions } from "./m3/versions.js";
@@ -94,8 +95,7 @@ export const serializerWith = (configuration) => {
94
95
  }
95
96
  serializedNode.containments.push({
96
97
  containment: featureMetaPointer,
97
- children: keepDefineds(asIds(children))
98
- .map(childId => childId)
98
+ children: asIds(keepDefineds(children))
99
99
  });
100
100
  children.forEach(childOrNull => {
101
101
  if (childOrNull !== null) {
@@ -105,18 +105,32 @@ export const serializerWith = (configuration) => {
105
105
  return;
106
106
  }
107
107
  if (feature instanceof Reference) {
108
- // Note: value can be null === typeof unresolved, e.g. on an unset (or previously unresolved) single-valued reference
109
- const targets = asArray(value);
108
+ const targets = asArray(value).filter((ref) => {
109
+ if (isRef(ref)) {
110
+ return true; // (1) ref is a node, having an ID
111
+ }
112
+ if (isReferenceToSet(ref)) {
113
+ return false;
114
+ }
115
+ return ref.targetId !== undefined || ref.resolveInfo !== undefined; // (2) not both are undefined
116
+ });
110
117
  if (targets.length === 0 && !serializeEmptyFeatures) {
111
118
  return;
112
119
  }
113
120
  serializedNode.references.push({
114
121
  reference: featureMetaPointer,
115
- targets: keepDefineds(targets) // (skip "non-connected" targets)
116
- .map(t => ({
117
- resolveInfo: (reader.resolveInfoFor ? reader.resolveInfoFor(t, feature) : simpleNameDeducer(t, feature)) ?? null,
118
- reference: t.id
119
- }))
122
+ targets: targets
123
+ .map((t) => t instanceof UnresolvedReference
124
+ ? {
125
+ resolveInfo: t.resolveInfo ?? null,
126
+ reference: t.targetId ?? null
127
+ // at least one of these will be non-null <== (2)
128
+ }
129
+ : {
130
+ resolveInfo: (reader.resolveInfoFor ? reader.resolveInfoFor(t, feature) : simpleNameDeducer(t, feature)) ?? null,
131
+ reference: t.id
132
+ // reference will be a non-null string (~(1))
133
+ })
120
134
  });
121
135
  return;
122
136
  }
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lionweb/core",
3
- "version": "0.10.0-alpha.1",
3
+ "version": "0.10.0-alpha.3",
4
4
  "description": "LionWeb core for {Java|Type}Script",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -27,7 +27,7 @@
27
27
  "release": "npm publish"
28
28
  },
29
29
  "dependencies": {
30
- "@lionweb/json": "0.10.0-alpha.1",
31
- "@lionweb/ts-utils": "0.10.0-alpha.1"
30
+ "@lionweb/json": "0.10.0-alpha.3",
31
+ "@lionweb/ts-utils": "0.10.0-alpha.3"
32
32
  }
33
33
  }
@@ -6,7 +6,7 @@ import { MemoisingSymbolTable } from "./m3/symbol-table.js"
6
6
  import { Classifier, Containment, Enumeration, Language, PrimitiveType, Property, Reference } from "./m3/types.js"
7
7
  import { LionWebVersion } from "./m3/version.js"
8
8
  import { LionWebVersions } from "./m3/versions.js"
9
- import { unresolved } from "./references.js"
9
+ import { UnresolvedReference } from "./references.js"
10
10
  import { Node } from "./types.js"
11
11
 
12
12
  /**
@@ -105,7 +105,7 @@ export const deserializerWith = <NT extends Node>(configuration: DeserializerCon
105
105
  return node
106
106
  }
107
107
 
108
- type ReferenceToInstall = [node: NT, feature: Reference, refId: LionWebId]
108
+ type ReferenceToInstall = [node: NT, feature: Reference, refId: LionWebId, resolveInfo?: string]
109
109
  const referencesToInstall: ReferenceToInstall[] = []
110
110
 
111
111
  const tryInstantiate = (
@@ -156,7 +156,6 @@ export const deserializerWith = <NT extends Node>(configuration: DeserializerCon
156
156
  if (properties !== undefined) {
157
157
  allFeatures
158
158
  .filter(feature => feature instanceof Property)
159
- .map(feature => feature as Property)
160
159
  .forEach(property => {
161
160
  if (property.key in serializedPropertiesPerKey) {
162
161
  const value = serializedPropertiesPerKey[property.key][0].value
@@ -190,29 +189,33 @@ export const deserializerWith = <NT extends Node>(configuration: DeserializerCon
190
189
  writer.setFeatureValue(node, feature, propertySettings[feature.key])
191
190
  } else if (feature instanceof Containment && containments !== undefined && feature.key in serializedContainmentsPerKey) {
192
191
  const childIds = serializedContainmentsPerKey[feature.key].flatMap(serChildren => serChildren.children) as LionWebId[]
193
- if (feature.multiple) {
194
- childIds.forEach(childId => {
195
- if (childId in serializedNodeById) {
196
- writer.setFeatureValue(node, feature, instantiateMemoised(serializedNodeById[childId], node))
197
- }
198
- })
199
- } else {
200
- if (childIds.length > 0) {
201
- // just set the 1st one:
202
- const firstChildId = childIds[0]
203
- if (firstChildId in serializedNodeById) {
204
- writer.setFeatureValue(node, feature, instantiateMemoised(serializedNodeById[firstChildId], node))
192
+ const deserializeChild = (childId: LionWebId) => {
193
+ if (childId in serializedNodeById) {
194
+ const child = instantiateMemoised(serializedNodeById[childId], node)
195
+ if (child !== null) {
196
+ writer.setFeatureValue(node, feature, child)
197
+ } else {
198
+ problemReporter.reportProblem(`child with id=${childId} is not instantiable, so can’t add it to containment ${feature.name} on node with id=${node.id}`)
199
+ // TODO set/add an UnresolvedContainment?
205
200
  }
201
+ } else {
202
+ problemReporter.reportProblem(`child with id=${childId} doesn’t reside in this serialization chunk, so can’t add it to containment ${feature.name} on node with id=${node.id}`)
206
203
  }
207
204
  }
205
+ if (feature.multiple) {
206
+ childIds.forEach(deserializeChild)
207
+ } else if (childIds.length > 0) {
208
+ // just set the 1st one:
209
+ deserializeChild(childIds[0])
210
+ }
208
211
  } else if (feature instanceof Reference && references !== undefined && feature.key in serializedReferencesPerKey) {
209
212
  const serRefs = (serializedReferencesPerKey[feature.key] ?? []).flatMap(serReferences =>
210
- serReferences.targets.map(t => t.reference)
213
+ serReferences.targets
211
214
  )
212
215
  referencesToInstall.push(
213
- ...(serRefs.filter(serRef => typeof serRef === "string") as LionWebId[]).map(
214
- refId => [node, feature, refId] as ReferenceToInstall
215
- )
216
+ ...(serRefs.map(
217
+ ({reference, resolveInfo}) => [node, feature, reference, resolveInfo] as ReferenceToInstall
218
+ ))
216
219
  )
217
220
  }
218
221
  })
@@ -236,17 +239,17 @@ export const deserializerWith = <NT extends Node>(configuration: DeserializerCon
236
239
 
237
240
  const dependentNodesById = byIdMap(dependentNodes)
238
241
 
239
- referencesToInstall.forEach(([node, reference, refId]) => {
242
+ referencesToInstall.forEach(([node, reference, refId, resolveInfo]) => {
240
243
  const target = deserializedNodeById[refId] ?? dependentNodesById[refId]
241
244
  const value = (() => {
242
- if (target === undefined) {
243
- const metaTypeMessage = "concept" in node ? ` and (meta-)type ${node.concept}` : ""
244
- problemReporter.reportProblem(
245
- `couldn't resolve the target with id=${refId} of a "${reference.name}" reference on the node with id=${node.id}${metaTypeMessage}`
246
- )
247
- return unresolved
245
+ if (target !== undefined) {
246
+ return target
248
247
  }
249
- return target
248
+ const metaTypeMessage = "concept" in node ? ` and (meta-)type ${node.concept}` : ""
249
+ problemReporter.reportProblem(
250
+ `couldn't resolve the target with id=${refId} of a "${reference.name}" reference on the node with id=${node.id}${metaTypeMessage}`
251
+ )
252
+ return new UnresolvedReference(refId, resolveInfo)
250
253
  })()
251
254
  writer.setFeatureValue(node, reference, value)
252
255
  })
package/src/functions.ts CHANGED
@@ -14,11 +14,10 @@ export const containmentChain = (node: Node): Node[] => {
14
14
 
15
15
 
16
16
  /**
17
- * Maps an array of {@link Node AST nodes} or `null`s to their IDs.
18
- * These `null`s might be the result of unresolved children.
17
+ * Maps an array of {@link Node AST nodes} to their IDs.
19
18
  */
20
- export const asIds = (nodeOrNulls: (Node | null)[]): (LionWebId | null)[] =>
21
- nodeOrNulls.map((nodeOrNull) => nodeOrNull === null ? null : nodeOrNull.id)
19
+ export const asIds = (nodes: Node[]): LionWebId[] =>
20
+ nodes.map(idOf)
22
21
 
23
22
 
24
23
  /**
@@ -54,7 +54,6 @@ export const referenceValues = <NT extends Node, RT extends Node = NT>(
54
54
  .flatMap((sourceNode) =>
55
55
  allFeaturesOf(reader.classifierOf(sourceNode))
56
56
  .filter((feature) => feature instanceof Reference)
57
- .map((feature) => feature as Reference)
58
57
  .flatMap((reference) => visit(sourceNode, reference))
59
58
  )
60
59
  }
@@ -1,7 +1,7 @@
1
1
  import { StringsMapper } from "@lionweb/ts-utils"
2
2
  import { PropertyValueDeserializer } from "../deserializer.js"
3
3
  import { Concept, DataType, Interface, Language, PrimitiveType, Property } from "./types.js"
4
- import { isUnresolvedReference } from "../references.js"
4
+ import { isRef } from "../references.js"
5
5
  import { PropertyValueSerializer } from "../serializer.js"
6
6
 
7
7
 
@@ -49,7 +49,7 @@ export const propertyValueDeserializerFrom = (registry: Map<DataType, PropertyVa
49
49
  throw new Error(`can't deserialize undefined as the value of required property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}")`)
50
50
  }
51
51
  const { type } = property
52
- if (isUnresolvedReference(type)) {
52
+ if (!isRef(type)) {
53
53
  throw new Error(`can't deserialize property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") with unspecified type`)
54
54
  }
55
55
  const specificDeserializer = byType(type)
@@ -89,7 +89,7 @@ export const propertyValueSerializerFrom = (registry: Map<DataType, PropertyValu
89
89
  throw new Error(`can't serialize undefined as the value of required property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}")`)
90
90
  }
91
91
  const { type } = property
92
- if (isUnresolvedReference(type)) {
92
+ if (!isRef(type)) {
93
93
  throw new Error(`can't serialize property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") with unspecified type`)
94
94
  }
95
95
  const specificSerializer = byType(type)
@@ -4,7 +4,13 @@
4
4
 
5
5
 
6
6
  import { LionWebId, LionWebKey } from "@lionweb/json"
7
- import { cycleWith, flatMapNonCyclingFollowing, sortByStringKey } from "@lionweb/ts-utils"
7
+ import {
8
+ cycleWith,
9
+ flatMapNonCyclingFollowing,
10
+ mappedComparer,
11
+ regularStringComparer,
12
+ sorterWith
13
+ } from "@lionweb/ts-utils"
8
14
  import { containmentChain } from "../functions.js"
9
15
  import { ClassifierDeducer } from "../reading.js"
10
16
  import { isRef, UnresolvedReference } from "../references.js"
@@ -156,7 +162,7 @@ const nameOf = <T extends INamed>({name}: T): string =>
156
162
  * @return the given named things sorted by name
157
163
  */
158
164
  export const nameSorted = <T extends INamed>(ts: T[]): T[] =>
159
- sortByStringKey(ts, nameOf)
165
+ sorterWith<T>(mappedComparer(nameOf, regularStringComparer))(ts)
160
166
 
161
167
 
162
168
  /**
@@ -303,7 +309,7 @@ const metaTypedBasedClassifierDeducerFor = <NT extends Node & IMetaTyped>(langua
303
309
  * @return all {@link Concept concepts} defined in the given {@link Language language}.
304
310
  */
305
311
  const conceptsOf = (language: Language): Concept[] =>
306
- language.entities.filter((entity) => entity instanceof Concept) as Concept[]
312
+ language.entities.filter((entity) => entity instanceof Concept)
307
313
 
308
314
 
309
315
  const isInstantiableClassifier = (entity: LanguageEntity): boolean =>
package/src/m3/types.ts CHANGED
@@ -88,7 +88,7 @@ class Property extends Feature {
88
88
  metaType(): string {
89
89
  return "Property"
90
90
  }
91
- type: SingleRef<DataType> = referenceToSet() // (reference)
91
+ type: SingleRef<DataType> = referenceToSet // (reference)
92
92
  ofType(type: DataType): Property {
93
93
  this.type = type
94
94
  return this
@@ -97,7 +97,7 @@ class Property extends Feature {
97
97
 
98
98
  abstract class Link extends Feature {
99
99
  multiple /*: boolean */ = false
100
- type: SingleRef<Classifier> = referenceToSet() // (reference)
100
+ type: SingleRef<Classifier> = referenceToSet // (reference)
101
101
  isMultiple() {
102
102
  this.multiple = true
103
103
  return this
@@ -176,7 +176,7 @@ class Annotation extends Classifier {
176
176
  }
177
177
  extends?: SingleRef<Annotation> // (reference)
178
178
  readonly implements: MultiRef<Interface> = [] // (reference)
179
- annotates: SingleRef<Classifier> = referenceToSet() // (reference)
179
+ annotates: SingleRef<Classifier> = referenceToSet // (reference)
180
180
  constructor(language: Language, name: string, key: LionWebKey, id: LionWebId, extends_?: SingleRef<Annotation>) {
181
181
  super(language, name, key, id)
182
182
  this.extends = extends_
@@ -2,7 +2,7 @@ import { asMinimalJsonString } from "@lionweb/ts-utils"
2
2
  import { shouldBeIdentical } from "../../builtins-common.js"
3
3
  import { DataType, Property } from "../../types.js"
4
4
  import { PropertyValueDeserializer } from "../../../deserializer.js"
5
- import { isUnresolvedReference } from "../../../references.js"
5
+ import { isRef } from "../../../references.js"
6
6
  import { PropertyValueSerializer } from "../../../serializer.js"
7
7
  import { v2023_1 } from "./version.js"
8
8
 
@@ -62,7 +62,7 @@ export class BuiltinPropertyValueDeserializer
62
62
  throw new Error(`can't deserialize undefined as the value of required property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}")`)
63
63
  }
64
64
  const { type } = property
65
- if (isUnresolvedReference(type)) {
65
+ if (!isRef(type)) {
66
66
  throw new Error(`can't deserialize property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") with unspecified type`)
67
67
  }
68
68
  const specificDeserializer = this.byType(type)
@@ -104,7 +104,7 @@ export class BuiltinPropertyValueSerializer extends DataTypeRegistry<(value: unk
104
104
  throw new Error(`can't serialize undefined as the value of required property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}")`)
105
105
  }
106
106
  const { type } = property
107
- if (isUnresolvedReference(type)) {
107
+ if (!isRef(type)) {
108
108
  throw new Error(`can't serialize property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") with unspecified type`)
109
109
  }
110
110
  const specificSerializer = this.byType(type)
package/src/references.ts CHANGED
@@ -1,42 +1,77 @@
1
+ import { LionWebId } from "@lionweb/json"
2
+ import { stringifyPropertiesOf } from "@lionweb/ts-utils"
3
+
1
4
  import { Node } from "./types.js"
5
+ import { INamed } from "./m3/index.js"
2
6
 
3
7
 
4
8
  /**
5
- * The `unresolved` symbol indicates a reference value which hasn't been resolved yet.
9
+ * The `unresolved` symbol indicates a reference value which hasn't been resolved yet.
6
10
  * It differs from an unset (`undefined`) value.
7
11
  * This value shouldn’t be manipulated/compared to directly!
12
+ *
13
+ * @deprecated Use {@link referenceToSet} or {@link UnresolvedReference} instead.
8
14
  */
9
15
  export const unresolved = null
10
16
 
17
+
11
18
  /**
12
- * Type for unresolved references.
19
+ * Representation of an unresolved reference.
20
+ * At most one of `targetId` or `resolveInfo` can be `undefined`.
21
+ *
22
+ * *Note* that this instance will **not** exhibit object equality,
23
+ * i.e.: the resolved target of an unresolved reference will be a different object!
13
24
  */
14
- export type UnresolvedReference = typeof unresolved
25
+ export class UnresolvedReference {
26
+ constructor(public readonly targetId?: LionWebId, public resolveInfo?: string) {}
27
+ toString = () =>
28
+ `unresolved reference to target:` + stringifyPropertiesOf(this, "targetId", "resolveInfo")
29
+ }
15
30
 
16
31
  /**
17
- * @return a value of {@link UnresolvedReference} that’s a placeholder for a yet-to-set reference.
32
+ * A singleton representing an unset reference that’s meant to be set,
33
+ * distinguishing that from a reference that’s intentionally not set
34
+ * — which can only happen if that reference is (defined as) optional.
18
35
  */
19
- export const referenceToSet = () =>
20
- unresolved
36
+ export const referenceToSet = Symbol("<unset reference>")
21
37
 
22
38
  /**
23
39
  * A type definition for a reference value that can be unresolved.
24
40
  * Note: this type is primarily meant to be used to type nodes’ properties,
25
41
  * but should be avoided as a return type for “auxiliary” functions.
26
42
  */
27
- export type SingleRef<NT extends Node> = NT | UnresolvedReference
43
+ export type SingleRef<NT extends Node> = NT | UnresolvedReference | typeof referenceToSet
28
44
 
29
45
  /**
30
- * @return whether a given (at most) single-valued reference actually refers to something.
46
+ * @return whether the given {@link UnresolvedReference} corresponds to an (explicitly-)unset (yet-to-set) reference.
31
47
  */
32
- export const isRef = <NT extends Node>(ref?: SingleRef<NT>): ref is NT =>
33
- ref !== undefined && ref !== unresolved
48
+ export const isReferenceToSet = <T extends Node>(ref?: SingleRef<T>): ref is typeof referenceToSet =>
49
+ ref === referenceToSet
34
50
 
35
51
  /**
36
52
  * Type function for the {@link UnresolvedReference} type.
37
53
  */
38
54
  export const isUnresolvedReference = <NT extends Node>(ref?: SingleRef<NT>): ref is UnresolvedReference =>
39
- ref === unresolved
55
+ ref instanceof UnresolvedReference
56
+
57
+ /**
58
+ * @return whether a given (at most) single-valued reference actually refers to something.
59
+ */
60
+ export const isRef = <NT extends Node>(ref?: SingleRef<NT>): ref is NT =>
61
+ ref !== undefined && !isReferenceToSet(ref) && !isUnresolvedReference(ref)
62
+
63
+ /**
64
+ * @return either the referenced node’s name, or the `resolveInfo` if the reference is unresolved, or `undefined`.
65
+ */
66
+ export const tryToRenderAsText = <T extends Node & INamed>(ref?: SingleRef<T>): string | undefined => {
67
+ if (ref === undefined || isReferenceToSet(ref)) {
68
+ return undefined
69
+ }
70
+ if (isUnresolvedReference(ref)) {
71
+ return ref.resolveInfo
72
+ }
73
+ return ref.name
74
+ }
40
75
 
41
76
 
42
77
  /**
package/src/serializer.ts CHANGED
@@ -1,7 +1,8 @@
1
- import { LionWebId, LionWebJsonChunk, LionWebJsonNode } from "@lionweb/json"
1
+ import { LionWebId, LionWebJsonChunk, LionWebJsonNode, LionWebJsonReferenceTarget } from "@lionweb/json"
2
2
  import { asArray, keepDefineds, lazyMapGet, Nested3Map, uniquesAmong } from "@lionweb/ts-utils"
3
3
  import { asIds, metaPointerForFeature } from "./functions.js"
4
4
  import { Reader } from "./reading.js"
5
+ import { isRef, isReferenceToSet, SingleRef, UnresolvedReference } from "./references.js"
5
6
  import { Node } from "./types.js"
6
7
  import { inheritsDirectlyFrom } from "./m3/functions.js"
7
8
  import {
@@ -206,8 +207,7 @@ export const serializerWith = <NT extends Node, RT extends Node = NT>(configurat
206
207
  }
207
208
  serializedNode.containments.push({
208
209
  containment: featureMetaPointer,
209
- children: keepDefineds(asIds(children))
210
- .map(childId => childId as string)
210
+ children: asIds(keepDefineds(children))
211
211
  })
212
212
  children.forEach(childOrNull => {
213
213
  if (childOrNull !== null) {
@@ -217,19 +217,34 @@ export const serializerWith = <NT extends Node, RT extends Node = NT>(configurat
217
217
  return
218
218
  }
219
219
  if (feature instanceof Reference) {
220
- // Note: value can be null === typeof unresolved, e.g. on an unset (or previously unresolved) single-valued reference
221
- const targets = asArray(value) as (RT | null)[]
220
+ const targets = (asArray(value) as SingleRef<RT>[]).filter((ref) => {
221
+ if (isRef(ref)) {
222
+ return true // (1) ref is a node, having an ID
223
+ }
224
+ if (isReferenceToSet(ref)) {
225
+ return false
226
+ }
227
+ return ref.targetId !== undefined || ref.resolveInfo !== undefined // (2) not both are undefined
228
+ }) as (RT | UnresolvedReference)[]
222
229
  if (targets.length === 0 && !serializeEmptyFeatures) {
223
230
  return
224
231
  }
225
232
  serializedNode.references.push({
226
233
  reference: featureMetaPointer,
227
- targets: keepDefineds(targets) // (skip "non-connected" targets)
228
- .map(t => ({
229
- resolveInfo:
230
- (reader.resolveInfoFor ? reader.resolveInfoFor(t, feature) : simpleNameDeducer(t, feature)) ?? null,
231
- reference: t.id
232
- }))
234
+ targets: targets
235
+ .map((t) =>
236
+ t instanceof UnresolvedReference
237
+ ? {
238
+ resolveInfo: t.resolveInfo ?? null,
239
+ reference: t.targetId ?? null
240
+ // at least one of these will be non-null <== (2)
241
+ } as LionWebJsonReferenceTarget
242
+ : {
243
+ resolveInfo: (reader.resolveInfoFor ? reader.resolveInfoFor(t, feature) : simpleNameDeducer(t, feature)) ?? null,
244
+ reference: t.id
245
+ // reference will be a non-null string (~(1))
246
+ }
247
+ )
233
248
  })
234
249
  return
235
250
  }