@lionweb/core 0.6.11 → 0.6.12-beta.0
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 +19 -1
- package/dist/deserializer.d.ts +3 -3
- package/dist/deserializer.d.ts.map +1 -1
- package/dist/deserializer.js +12 -12
- package/dist/deserializer.js.map +1 -1
- package/dist/m3/builtins.d.ts.map +1 -1
- package/dist/m3/builtins.js +0 -2
- package/dist/m3/builtins.js.map +1 -1
- package/dist/m3/factory.d.ts +7 -1
- package/dist/m3/factory.d.ts.map +1 -1
- package/dist/m3/factory.js +34 -11
- package/dist/m3/factory.js.map +1 -1
- package/dist/m3/functions.js +1 -1
- package/dist/m3/functions.js.map +1 -1
- package/dist/m3/lioncore.d.ts.map +1 -1
- package/dist/m3/lioncore.js +0 -11
- package/dist/m3/lioncore.js.map +1 -1
- package/dist/m3/types.d.ts +2 -2
- package/dist/m3/types.d.ts.map +1 -1
- package/dist/m3/types.js +6 -12
- package/dist/m3/types.js.map +1 -1
- package/dist/serializer.d.ts +13 -1
- package/dist/serializer.d.ts.map +1 -1
- package/dist/serializer.js +28 -11
- package/dist/serializer.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.6.
|
|
3
|
+
## 0.6.12 - not yet released
|
|
4
|
+
|
|
5
|
+
* `LanguageFactory` instances take care of containment: e.g., creating an entity automatically adds that to the language, and likewise for features (to classifiers) and literals (to enumerations).
|
|
6
|
+
* Add an object type `SerializationOptions` to configure the `serializeNodes` function.
|
|
7
|
+
All options (which are all optional) are:
|
|
8
|
+
|
|
9
|
+
1. `serializeEmptyValues`: a boolean flag that determines whether empty (unset) feature values are explicitly serialized or skipped during serialization.
|
|
10
|
+
This potentially reduces the size of the serialization substantially, helping with performance.
|
|
11
|
+
The default value is `true`, meaning that empty values are explicitly serialized — either as `null` for properties, or `[]` for links.
|
|
12
|
+
2. `primitiveTypeSerializer`: an implementation of the `PrimitiveTypeSerializer` interface type.
|
|
13
|
+
The default value is an instance of `DefaultPrimitiveTypeSerializer`.
|
|
14
|
+
|
|
15
|
+
A primitive type serializer can be passed to `serializeNodes` in two ways:
|
|
16
|
+
|
|
17
|
+
1. Via the `primitiveTypeSerializer` field of the `SerializationOptions` object that's passed as the 3rd argument.
|
|
18
|
+
2. Directly as the 3rd argument. (*Warning!* This way may become deprecated in the future.)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
## 0.6.11
|
|
4
22
|
|
|
5
23
|
* Separate CHANGELOG from README.
|
|
6
24
|
* Move the reference util functions (`referenceValues`, `incomingReferences`, `referencesToOutOfScopeNodes`) and type (class `ReferenceValue`) from the `utilities` package to `core`.
|
package/dist/deserializer.d.ts
CHANGED
|
@@ -14,11 +14,11 @@ export interface PrimitiveTypeDeserializer {
|
|
|
14
14
|
* @param languages - a {@link Language language} that the serialized model is expected to conform to
|
|
15
15
|
* @param dependentNodes - a collection of nodes from dependent models against which all references in the serialized model are supposed to resolve against
|
|
16
16
|
* @param primitiveTypeDeserializer - a deserializer for values of primitive types (by default a {@link DefaultPrimitiveTypeDeserializer})
|
|
17
|
-
* @param
|
|
17
|
+
* @param problemHandler - a handler for reporting problems (by default a {@link defaultSimplisticHandler})
|
|
18
18
|
*/
|
|
19
|
-
export declare const deserializeSerializationChunk: <NT extends Node>(serializationChunk: SerializationChunk, instantiationFacade: InstantiationFacade<NT>, languages: Language[], dependentNodes: Node[], primitiveTypeDeserializer?: PrimitiveTypeDeserializer,
|
|
19
|
+
export declare const deserializeSerializationChunk: <NT extends Node>(serializationChunk: SerializationChunk, instantiationFacade: InstantiationFacade<NT>, languages: Language[], dependentNodes: Node[], primitiveTypeDeserializer?: PrimitiveTypeDeserializer, problemHandler?: SimplisticHandler) => NT[];
|
|
20
20
|
/**
|
|
21
21
|
* Alias for {@link deserializeSerializationChunk}.
|
|
22
22
|
*/
|
|
23
|
-
export declare const deserializeChunk: <NT extends Node>(serializationChunk: SerializationChunk, instantiationFacade: InstantiationFacade<NT>, languages: Language[], dependentNodes: Node[], primitiveTypeDeserializer?: PrimitiveTypeDeserializer,
|
|
23
|
+
export declare const deserializeChunk: <NT extends Node>(serializationChunk: SerializationChunk, instantiationFacade: InstantiationFacade<NT>, languages: Language[], dependentNodes: Node[], primitiveTypeDeserializer?: PrimitiveTypeDeserializer, problemHandler?: SimplisticHandler) => NT[];
|
|
24
24
|
//# sourceMappingURL=deserializer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,IAAI,EAAC,MAAM,YAAY,CAAA;AACnC,OAAO,EAAC,mBAAmB,EAAC,MAAM,aAAa,CAAA;AAC/C,OAAO,EAA2B,iBAAiB,EAAC,MAAM,cAAc,CAAA;AAExE,OAAO,EAAoC,kBAAkB,EAAiB,MAAM,oBAAoB,CAAA;AAGxG,OAAO,EAAuC,QAAQ,EAAiB,QAAQ,EAAY,MAAM,eAAe,CAAA;AAKhH,MAAM,WAAW,yBAAyB;IACtC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAA;CACvF;AAGD;;;;;;;;;GASG;AACH,eAAO,MAAM,6BAA6B,wCAClB,kBAAkB,2DAE3B,QAAQ,EAAE,kBAEL,IAAI,EAAE,8BAEK,yBAAyB,
|
|
1
|
+
{"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,IAAI,EAAC,MAAM,YAAY,CAAA;AACnC,OAAO,EAAC,mBAAmB,EAAC,MAAM,aAAa,CAAA;AAC/C,OAAO,EAA2B,iBAAiB,EAAC,MAAM,cAAc,CAAA;AAExE,OAAO,EAAoC,kBAAkB,EAAiB,MAAM,oBAAoB,CAAA;AAGxG,OAAO,EAAuC,QAAQ,EAAiB,QAAQ,EAAY,MAAM,eAAe,CAAA;AAKhH,MAAM,WAAW,yBAAyB;IACtC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAA;CACvF;AAGD;;;;;;;;;GASG;AACH,eAAO,MAAM,6BAA6B,wCAClB,kBAAkB,2DAE3B,QAAQ,EAAE,kBAEL,IAAI,EAAE,8BAEK,yBAAyB,mBACpC,iBAAiB,SAoKpC,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,gBAAgB,wCAjLL,kBAAkB,2DAE3B,QAAQ,EAAE,kBAEL,IAAI,EAAE,8BAEK,yBAAyB,mBACpC,iBAAiB,SA0KwB,CAAA"}
|
package/dist/deserializer.js
CHANGED
|
@@ -14,15 +14,15 @@ import { byIdMap, groupBy } from "./utils/map-helpers.js";
|
|
|
14
14
|
* @param languages - a {@link Language language} that the serialized model is expected to conform to
|
|
15
15
|
* @param dependentNodes - a collection of nodes from dependent models against which all references in the serialized model are supposed to resolve against
|
|
16
16
|
* @param primitiveTypeDeserializer - a deserializer for values of primitive types (by default a {@link DefaultPrimitiveTypeDeserializer})
|
|
17
|
-
* @param
|
|
17
|
+
* @param problemHandler - a handler for reporting problems (by default a {@link defaultSimplisticHandler})
|
|
18
18
|
*/
|
|
19
19
|
export const deserializeSerializationChunk = (serializationChunk, instantiationFacade, languages,
|
|
20
20
|
// TODO facades <--> languages, so it's weird that it looks split up like this
|
|
21
21
|
dependentNodes,
|
|
22
22
|
// TODO (#13) see if you can turn this into [nodes: Node[], instantiationFacade: InstantiationFacade<Node>][] after all
|
|
23
|
-
primitiveTypeDeserializer = new DefaultPrimitiveTypeDeserializer(),
|
|
23
|
+
primitiveTypeDeserializer = new DefaultPrimitiveTypeDeserializer(), problemHandler = defaultSimplisticHandler) => {
|
|
24
24
|
if (serializationChunk.serializationFormatVersion !== currentSerializationFormatVersion) {
|
|
25
|
-
|
|
25
|
+
problemHandler.reportProblem(`can't deserialize from serialization format other than version "${currentSerializationFormatVersion}" - assuming that version`);
|
|
26
26
|
}
|
|
27
27
|
const symbolTable = new MemoisingSymbolTable(languages);
|
|
28
28
|
const { nodes: serializedNodes } = serializationChunk;
|
|
@@ -49,8 +49,8 @@ primitiveTypeDeserializer = new DefaultPrimitiveTypeDeserializer(), handler = de
|
|
|
49
49
|
return instantiationFacade.nodeFor(parent, classifier, id, propertySettings);
|
|
50
50
|
}
|
|
51
51
|
catch (e) {
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
problemHandler.reportProblem(`error occurred during instantiation of a node for classifier ${classifier.name} with meta-pointer (${classifier.language.key}, ${classifier.language.version}, ${classifier.key}); reason:`);
|
|
53
|
+
problemHandler.reportProblem(e.toString());
|
|
54
54
|
return null;
|
|
55
55
|
}
|
|
56
56
|
};
|
|
@@ -60,7 +60,7 @@ primitiveTypeDeserializer = new DefaultPrimitiveTypeDeserializer(), handler = de
|
|
|
60
60
|
const instantiate = ({ id, classifier: classifierMetaPointer, properties, containments, references, annotations }, parent) => {
|
|
61
61
|
const classifier = symbolTable.entityMatching(classifierMetaPointer);
|
|
62
62
|
if (classifier === undefined || !(classifier instanceof Classifier)) {
|
|
63
|
-
|
|
63
|
+
problemHandler.reportProblem(`can't deserialize node with id=${id}: can't find the classifier with key ${classifierMetaPointer.key} in language (${classifierMetaPointer.language}, ${classifierMetaPointer.version})`);
|
|
64
64
|
return null;
|
|
65
65
|
}
|
|
66
66
|
const allFeatures = allFeaturesOf(classifier);
|
|
@@ -138,18 +138,18 @@ primitiveTypeDeserializer = new DefaultPrimitiveTypeDeserializer(), handler = de
|
|
|
138
138
|
.map((serializedNode) => instantiateMemoised(serializedNode))
|
|
139
139
|
.filter((nodeOrNull) => nodeOrNull !== null)
|
|
140
140
|
.map((node) => node);
|
|
141
|
-
const
|
|
141
|
+
const dependentNodesById = byIdMap(dependentNodes);
|
|
142
142
|
referencesToInstall.forEach(([node, reference, refId]) => {
|
|
143
|
-
const
|
|
144
|
-
|
|
143
|
+
const target = deserializedNodeById[refId] ?? dependentNodesById[refId];
|
|
144
|
+
const value = (() => {
|
|
145
145
|
if (target === undefined) {
|
|
146
146
|
const metaTypeMessage = "concept" in node ? ` and (meta-)type ${node.concept}` : "";
|
|
147
|
-
|
|
147
|
+
problemHandler.reportProblem(`couldn't resolve the target with id=${refId} of a "${reference.name}" reference on the node with id=${node.id}${metaTypeMessage}`);
|
|
148
148
|
return unresolved;
|
|
149
149
|
}
|
|
150
150
|
return target;
|
|
151
|
-
};
|
|
152
|
-
instantiationFacade.setFeatureValue(node, reference,
|
|
151
|
+
})();
|
|
152
|
+
instantiationFacade.setFeatureValue(node, reference, value);
|
|
153
153
|
});
|
|
154
154
|
return rootLikeNodes;
|
|
155
155
|
};
|
package/dist/deserializer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,wBAAwB,EAAoB,MAAM,cAAc,CAAA;AACxE,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAC,iCAAiC,EAAqC,MAAM,oBAAoB,CAAA;AACxG,OAAO,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAC,gCAAgC,EAAC,MAAM,kBAAkB,CAAA;AACjE,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,WAAW,EAAY,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAC,MAAM,eAAe,CAAA;AAChH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAC,OAAO,EAAE,OAAO,EAAC,MAAM,wBAAwB,CAAA;AAQvD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CACzC,kBAAsC,EACtC,mBAA4C,EAC5C,SAAqB;AACrB,+EAA+E;AAC/E,cAAsB;AACtB,wHAAwH;AACxH,4BAAuD,IAAI,gCAAgC,EAAE,EAC7F,
|
|
1
|
+
{"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../src/m3/builtins.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAuB,QAAQ,EAAC,MAAM,YAAY,CAAA;AAGvF,OAAO,EAAC,yBAAyB,EAAC,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAC,uBAAuB,EAAC,MAAM,kBAAkB,CAAA;AAkBxD;;GAEG;AACH,QAAA,MAAM,gBAAgB,+BAAmB,CAAA;AAYzC,QAAA,MAAM,oBAAoB,eAAgB,UAAU,YAKb,CAAA;
|
|
1
|
+
{"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../src/m3/builtins.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAuB,QAAQ,EAAC,MAAM,YAAY,CAAA;AAGvF,OAAO,EAAC,yBAAyB,EAAC,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAC,uBAAuB,EAAC,MAAM,kBAAkB,CAAA;AAkBxD;;GAEG;AACH,QAAA,MAAM,gBAAgB,+BAAmB,CAAA;AAYzC,QAAA,MAAM,oBAAoB,eAAgB,UAAU,YAKb,CAAA;AASvC,KAAK,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;AAC5F,KAAK,kBAAkB,GAAG,gBAAgB,GAAG,OAAO,CAAA;AACpD,KAAK,iCAAiC,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,kBAAkB,CAAA;AAC9E,KAAK,+BAA+B,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAA;AAEjE,QAAA,MAAM,iBAAiB;;;;;CAKtB,CAAA;AAED,QAAA,MAAM,kBAAkB;;;CAGvB,CAAA;AAED,QAAA,MAAM,eAAe;;CAEpB,CAAA;AAGD;;GAEG;AACH,QAAA,MAAM,iBAAiB,SAAU,QAAQ,SAAS,QAAQ,KAAG,OAGlB,CAAA;AAE3C,uBAAe,gBAAgB,CAAC,CAAC;IAE7B,OAAO,CAAC,GAAG,CAAyB;IAE7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAIxC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,GAAG,CAAC,GAAG,SAAS;CAU5D;AAGD,qBAAa,gCAAiC,SAAQ,gBAAgB,CAAC,iCAAiC,CAAE,YAAW,yBAAyB;;IAU1I,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,kBAAkB,GAAG,SAAS;CAkBlG;AAED,qBAAa,8BAA+B,SAAQ,gBAAgB,CAAC,+BAA+B,CAAE,YAAW,uBAAuB;;IAUpI,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS;CAkBrF;AAED,YAAY,EACR,gBAAgB,EACnB,CAAA;AAED,OAAO,EACH,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACpB,CAAA"}
|
package/dist/m3/builtins.js
CHANGED
|
@@ -23,8 +23,6 @@ const isBuiltinNodeConcept = (classifier) => classifier instanceof Concept
|
|
|
23
23
|
const inamed = factory.interface("INamed");
|
|
24
24
|
const inamed_name = factory.property(inamed, "name")
|
|
25
25
|
.ofType(stringDatatype);
|
|
26
|
-
inamed.havingFeatures(inamed_name);
|
|
27
|
-
lioncoreBuiltins.havingEntities(stringDatatype, booleanDatatype, integerDatatype, jsonDatatype, node, inamed);
|
|
28
26
|
const builtinPrimitives = {
|
|
29
27
|
stringDatatype,
|
|
30
28
|
booleanDatatype,
|
package/dist/m3/builtins.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../src/m3/builtins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAa,OAAO,EAAY,mBAAmB,EAAW,MAAM,YAAY,CAAA;AAEvF,OAAO,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAA;AAKnD,MAAM,iCAAiC,GACnC,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,mBAAmB,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAGpE,MAAM,OAAO,GAAG,IAAI,eAAe,CAC/B,mBAAmB,EACnB,qBAAqB,EACrB,iCAAiC,EACjC,iCAAiC,CACpC,CAAA;AACD;;GAEG;AAGH;;GAEG;AACH,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAA;AAGzC,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;AACtD,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;AACxD,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;AACxD,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;AAGlD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAG1C,MAAM,oBAAoB,GAAG,CAAC,UAAsB,EAAE,EAAE,CACjD,UAAU,YAAY,OAAO;OAC7B,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,mBAAmB;OAC/C,UAAU,CAAC,QAAQ,CAAC,OAAO,KAAK,qBAAqB;OACrD,UAAU,CAAC,GAAG,KAAK,kBAAkB,CAAC,IAAI,CAAC,GAAG;OAC7C,UAAsB,CAAC,QAAQ,CAAA;AAGvC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;AAE1C,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KAC/C,MAAM,CAAC,cAAc,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../src/m3/builtins.ts"],"names":[],"mappings":"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"}
|
package/dist/m3/factory.d.ts
CHANGED
|
@@ -3,7 +3,13 @@ import { SingleRef } from "../references.js";
|
|
|
3
3
|
import { StringsMapper } from "../utils/string-mapping.js";
|
|
4
4
|
/**
|
|
5
5
|
* A factory that produces a {@link Language} instance,
|
|
6
|
-
* as well as
|
|
6
|
+
* as well as {@link LanguageEntity entities} contained by that instance
|
|
7
|
+
* and {@link Feature features} of {@link Classifier classifiers}
|
|
8
|
+
* and {@link EnumerationLiteral enumeration literals} of {@link Enumeration enumerations}.
|
|
9
|
+
*
|
|
10
|
+
* The factory methods take care of proper containment.
|
|
11
|
+
* *Note:* also calling `havingEntities`, `havingFeatures`, and `havingLiterals` doesn't produce duplicates.
|
|
12
|
+
* (This is to stay backward compatible.)
|
|
7
13
|
*/
|
|
8
14
|
export declare class LanguageFactory {
|
|
9
15
|
readonly id: StringsMapper;
|
package/dist/m3/factory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/m3/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EACV,UAAU,EACV,OAAO,EACP,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,SAAS,EACZ,MAAM,YAAY,CAAA;AACnB,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAA;AAGxD
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/m3/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EACV,UAAU,EACV,OAAO,EACP,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,SAAS,EACZ,MAAM,YAAY,CAAA;AACnB,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAA;AAGxD;;;;;;;;;GASG;AACH,qBAAa,eAAe;IAExB,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAA;IAC1B,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;gBAEf,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa;IAOhF,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC;IAMzD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC;IAMtE,SAAS,CAAC,IAAI,EAAE,MAAM;IAMtB,WAAW,CAAC,IAAI,EAAE,MAAM;IAMxB,aAAa,CAAC,IAAI,EAAE,MAAM;IAO1B,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM;IAMhD,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM;IAM7C,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM;IAO9C,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM;CAM5D"}
|
package/dist/m3/factory.js
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { Annotation, Concept, Containment, Enumeration, EnumerationLiteral, Interface, Language, PrimitiveType, Property, Reference } from "./types.js";
|
|
2
2
|
/**
|
|
3
3
|
* A factory that produces a {@link Language} instance,
|
|
4
|
-
* as well as
|
|
4
|
+
* as well as {@link LanguageEntity entities} contained by that instance
|
|
5
|
+
* and {@link Feature features} of {@link Classifier classifiers}
|
|
6
|
+
* and {@link EnumerationLiteral enumeration literals} of {@link Enumeration enumerations}.
|
|
7
|
+
*
|
|
8
|
+
* The factory methods take care of proper containment.
|
|
9
|
+
* *Note:* also calling `havingEntities`, `havingFeatures`, and `havingLiterals` doesn't produce duplicates.
|
|
10
|
+
* (This is to stay backward compatible.)
|
|
5
11
|
*/
|
|
6
12
|
export class LanguageFactory {
|
|
7
13
|
constructor(name, version, id, key) {
|
|
@@ -9,33 +15,50 @@ export class LanguageFactory {
|
|
|
9
15
|
this.key = key;
|
|
10
16
|
this.language = new Language(name, version, this.id(name), this.key(name));
|
|
11
17
|
}
|
|
12
|
-
// TODO also take care of containment immediately? (then most calls to .having<X> would be unnecessary/wrong)
|
|
13
18
|
annotation(name, extends_) {
|
|
14
|
-
|
|
19
|
+
const annotation = new Annotation(this.language, name, this.key(this.language.name, name), this.id(this.language.name, name), extends_);
|
|
20
|
+
this.language.havingEntities(annotation);
|
|
21
|
+
return annotation;
|
|
15
22
|
}
|
|
16
23
|
concept(name, abstract, extends_) {
|
|
17
|
-
|
|
24
|
+
const concept = new Concept(this.language, name, this.key(this.language.name, name), this.id(this.language.name, name), abstract, extends_);
|
|
25
|
+
this.language.havingEntities(concept);
|
|
26
|
+
return concept;
|
|
18
27
|
}
|
|
19
28
|
interface(name) {
|
|
20
|
-
|
|
29
|
+
const intface = new Interface(this.language, name, this.key(this.language.name, name), this.id(this.language.name, name));
|
|
30
|
+
this.language.havingEntities(intface);
|
|
31
|
+
return intface;
|
|
21
32
|
}
|
|
22
33
|
enumeration(name) {
|
|
23
|
-
|
|
34
|
+
const enumeration = new Enumeration(this.language, name, this.key(this.language.name, name), this.id(this.language.name, name));
|
|
35
|
+
this.language.havingEntities(enumeration);
|
|
36
|
+
return enumeration;
|
|
24
37
|
}
|
|
25
38
|
primitiveType(name) {
|
|
26
|
-
|
|
39
|
+
const primitiveType = new PrimitiveType(this.language, name, this.key(this.language.name, name), this.id(this.language.name, name));
|
|
40
|
+
this.language.havingEntities(primitiveType);
|
|
41
|
+
return primitiveType;
|
|
27
42
|
}
|
|
28
43
|
containment(classifier, name) {
|
|
29
|
-
|
|
44
|
+
const containment = new Containment(classifier, name, this.key(this.language.name, classifier.name, name), this.id(this.language.name, classifier.name, name));
|
|
45
|
+
classifier.havingFeatures(containment);
|
|
46
|
+
return containment;
|
|
30
47
|
}
|
|
31
48
|
property(classifier, name) {
|
|
32
|
-
|
|
49
|
+
const property = new Property(classifier, name, this.key(this.language.name, classifier.name, name), this.id(this.language.name, classifier.name, name));
|
|
50
|
+
classifier.havingFeatures(property);
|
|
51
|
+
return property;
|
|
33
52
|
}
|
|
34
53
|
reference(classifier, name) {
|
|
35
|
-
|
|
54
|
+
const reference = new Reference(classifier, name, this.key(this.language.name, classifier.name, name), this.id(this.language.name, classifier.name, name));
|
|
55
|
+
classifier.havingFeatures(reference);
|
|
56
|
+
return reference;
|
|
36
57
|
}
|
|
37
58
|
enumerationLiteral(enumeration, name) {
|
|
38
|
-
|
|
59
|
+
const enumerationLiteral = new EnumerationLiteral(enumeration, name, this.key(this.language.name, enumeration.name, name), this.id(this.language.name, enumeration.name, name));
|
|
60
|
+
enumeration.havingLiterals(enumerationLiteral);
|
|
61
|
+
return enumerationLiteral;
|
|
39
62
|
}
|
|
40
63
|
}
|
|
41
64
|
//# sourceMappingURL=factory.js.map
|
package/dist/m3/factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/m3/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EAEV,OAAO,EACP,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,SAAS,EACZ,MAAM,YAAY,CAAA;AAKnB
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/m3/factory.ts"],"names":[],"mappings":"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"}
|
package/dist/m3/functions.js
CHANGED
|
@@ -119,7 +119,7 @@ const inheritsFrom = (classifier) => {
|
|
|
119
119
|
if (classifier instanceof Interface) {
|
|
120
120
|
return classifier.extends;
|
|
121
121
|
}
|
|
122
|
-
throw new Error(`
|
|
122
|
+
throw new Error(`classifier type ${typeof classifier} not handled`);
|
|
123
123
|
};
|
|
124
124
|
/**
|
|
125
125
|
* @return an array that's either an inheritance cycle, or empty (meaning: no inheritance cycle).
|
package/dist/m3/functions.js.map
CHANGED
|
@@ -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":"lioncore.d.ts","sourceRoot":"","sources":["../../src/m3/lioncore.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,WAAW,gBAAgB,CAAA;AAoBjC;;GAEG;AACH,eAAO,MAAM,QAAQ,+BAA4C,CAAA;
|
|
1
|
+
{"version":3,"file":"lioncore.d.ts","sourceRoot":"","sources":["../../src/m3/lioncore.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,WAAW,gBAAgB,CAAA;AAoBjC;;GAEG;AACH,eAAO,MAAM,QAAQ,+BAA4C,CAAA;AAuIjE,eAAO,MAAM,YAAY;;;;;;;;;;;CAWxB,CAAA;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;CAmBxB,CAAA;AAED,OAAO,EAAC,WAAW,EAAC,CAAA"}
|
package/dist/m3/lioncore.js
CHANGED
|
@@ -19,19 +19,15 @@ const ikeyed = factory.interface("IKeyed")
|
|
|
19
19
|
.extending(inamed);
|
|
20
20
|
const ikeyed_key = factory.property(ikeyed, "key")
|
|
21
21
|
.ofType(stringDatatype);
|
|
22
|
-
ikeyed.havingFeatures(ikeyed_key);
|
|
23
22
|
const feature = factory.concept("Feature", true).implementing(ikeyed);
|
|
24
23
|
const feature_optional = factory.property(feature, "optional")
|
|
25
24
|
.ofType(booleanDatatype);
|
|
26
|
-
feature.havingFeatures(feature_optional);
|
|
27
25
|
const property = factory.concept("Property", false, feature);
|
|
28
26
|
const property_type = factory.reference(property, "type");
|
|
29
|
-
property.havingFeatures(property_type);
|
|
30
27
|
const link = factory.concept("Link", true, feature);
|
|
31
28
|
const link_multiple = factory.property(link, "multiple")
|
|
32
29
|
.ofType(booleanDatatype);
|
|
33
30
|
const link_type = factory.reference(link, "type");
|
|
34
|
-
link.havingFeatures(link_multiple, link_type);
|
|
35
31
|
const containment = factory.concept("Containment", false, link);
|
|
36
32
|
const reference = factory.concept("Reference", false, link);
|
|
37
33
|
const languageEntity = factory.concept("LanguageEntity", true)
|
|
@@ -41,7 +37,6 @@ const classifier_features = factory.containment(classifier, "features")
|
|
|
41
37
|
.isOptional()
|
|
42
38
|
.isMultiple()
|
|
43
39
|
.ofType(feature);
|
|
44
|
-
classifier.havingFeatures(classifier_features);
|
|
45
40
|
link_type.ofType(classifier);
|
|
46
41
|
const annotation = factory.concept("Annotation", false, classifier);
|
|
47
42
|
const annotation_annotates = factory.reference(annotation, "annotates")
|
|
@@ -53,7 +48,6 @@ const annotation_extends = factory.reference(annotation, "extends")
|
|
|
53
48
|
const annotation_implements = factory.reference(annotation, "implements")
|
|
54
49
|
.isMultiple()
|
|
55
50
|
.isOptional();
|
|
56
|
-
annotation.havingFeatures(annotation_annotates, annotation_extends, annotation_implements);
|
|
57
51
|
const concept = factory.concept("Concept", false, classifier);
|
|
58
52
|
const concept_abstract = factory.property(concept, "abstract")
|
|
59
53
|
.ofType(booleanDatatype);
|
|
@@ -65,13 +59,11 @@ const concept_extends = factory.reference(concept, "extends")
|
|
|
65
59
|
const concept_implements = factory.reference(concept, "implements")
|
|
66
60
|
.isOptional()
|
|
67
61
|
.isMultiple();
|
|
68
|
-
concept.havingFeatures(concept_abstract, concept_partition, concept_extends, concept_implements);
|
|
69
62
|
const interface_ = factory.concept("Interface", false, classifier);
|
|
70
63
|
const interface_extends = factory.reference(interface_, "extends")
|
|
71
64
|
.isOptional()
|
|
72
65
|
.isMultiple()
|
|
73
66
|
.ofType(interface_);
|
|
74
|
-
interface_.havingFeatures(interface_extends);
|
|
75
67
|
annotation_implements.ofType(interface_);
|
|
76
68
|
concept_implements.ofType(interface_);
|
|
77
69
|
const dataType = factory.concept("DataType", true, languageEntity);
|
|
@@ -81,7 +73,6 @@ const enumeration = factory.concept("Enumeration", false, dataType);
|
|
|
81
73
|
const enumeration_literals = factory.containment(enumeration, "literals")
|
|
82
74
|
.isMultiple()
|
|
83
75
|
.isOptional();
|
|
84
|
-
enumeration.havingFeatures(enumeration_literals);
|
|
85
76
|
const enumerationLiteral = factory.concept("EnumerationLiteral", false)
|
|
86
77
|
.implementing(ikeyed);
|
|
87
78
|
enumeration_literals.ofType(enumerationLiteral);
|
|
@@ -98,8 +89,6 @@ const language_dependsOn = factory.reference(language, "dependsOn")
|
|
|
98
89
|
.isOptional()
|
|
99
90
|
.isMultiple()
|
|
100
91
|
.ofType(language);
|
|
101
|
-
language.havingFeatures(language_version, language_entities, language_dependsOn);
|
|
102
|
-
lioncore.havingEntities(ikeyed, feature, property, link, containment, reference, languageEntity, classifier, annotation, concept, interface_, dataType, primitiveType, enumeration, enumerationLiteral, language);
|
|
103
92
|
export const metaConcepts = {
|
|
104
93
|
annotation,
|
|
105
94
|
concept,
|
package/dist/m3/lioncore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lioncore.js","sourceRoot":"","sources":["../../src/m3/lioncore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAA;AACnE,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAA;AAGnD,MAAM,WAAW,GAAG,aAAa,CAAA;AAGjC,MAAM,OAAO,GAAG,IAAI,eAAe,CAC/B,aAAa,EACb,qBAAqB,EACrB,CAAC,GAAG,KAAK,EAAE,EAAE,CACT,MAAM,GAAG,CACL,KAAK,CAAC,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,WAAW;IACb,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACjC,EACL,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACzC,CAAA;AACD;;;GAGG;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;AAGjE,MAAM,EAAC,MAAM,EAAC,GAAG,kBAAkB,CAAA;AACnC,MAAM,EAAC,eAAe,EAAE,cAAc,EAAC,GAAG,iBAAiB,CAAA;AAG3D,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;KACrC,SAAS,CAAC,MAAM,CAAC,CAAA;AAEtB,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;KAC7C,MAAM,CAAC,cAAc,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"lioncore.js","sourceRoot":"","sources":["../../src/m3/lioncore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAA;AACnE,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAA;AAGnD,MAAM,WAAW,GAAG,aAAa,CAAA;AAGjC,MAAM,OAAO,GAAG,IAAI,eAAe,CAC/B,aAAa,EACb,qBAAqB,EACrB,CAAC,GAAG,KAAK,EAAE,EAAE,CACT,MAAM,GAAG,CACL,KAAK,CAAC,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,WAAW;IACb,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACjC,EACL,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACzC,CAAA;AACD;;;GAGG;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;AAGjE,MAAM,EAAC,MAAM,EAAC,GAAG,kBAAkB,CAAA;AACnC,MAAM,EAAC,eAAe,EAAE,cAAc,EAAC,GAAG,iBAAiB,CAAA;AAG3D,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;KACrC,SAAS,CAAC,MAAM,CAAC,CAAA;AAEtB,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;KAC7C,MAAM,CAAC,cAAc,CAAC,CAAA;AAG3B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;AAErE,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;KACzD,MAAM,CAAC,eAAe,CAAC,CAAA;AAG5B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AAE5D,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;AAGzD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AAEnD,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;KACnD,MAAM,CAAC,eAAe,CAAC,CAAA;AAE5B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AAGjD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;AAG/D,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;AAG3D,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC;KACzD,YAAY,CAAC,MAAM,CAAC,CAAA;AAGzB,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,CAAC,CAAA;AAEtE,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC;KAClE,UAAU,EAAE;KACZ,UAAU,EAAE;KACZ,MAAM,CAAC,OAAO,CAAC,CAAA;AAEpB,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;AAG5B,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;AAEnE,MAAM,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC;KAClE,UAAU,EAAE;KACZ,MAAM,CAAC,UAAU,CAAC,CAAA;AAEvB,MAAM,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC;KAC9D,UAAU,EAAE;KACZ,MAAM,CAAC,UAAU,CAAC,CAAA;AAEvB,MAAM,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC;KACpE,UAAU,EAAE;KACZ,UAAU,EAAE,CAAA;AAGjB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;AAE7D,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;KACzD,MAAM,CAAC,eAAe,CAAC,CAAA;AAE5B,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;KAC3D,MAAM,CAAC,eAAe,CAAC,CAAA;AAE5B,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC;KACxD,UAAU,EAAE;KACZ,MAAM,CAAC,OAAO,CAAC,CAAA;AAEpB,MAAM,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC;KAC9D,UAAU,EAAE;KACZ,UAAU,EAAE,CAAA;AAGjB,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;AAElE,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC;KAC7D,UAAU,EAAE;KACZ,UAAU,EAAE;KACZ,MAAM,CAAC,UAAU,CAAC,CAAA;AAEvB,qBAAqB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;AACxC,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;AAGrC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,CAAA;AAElE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AAG9B,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;AAGvE,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;AAEnE,MAAM,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,UAAU,CAAC;KACpE,UAAU,EAAE;KACZ,UAAU,EAAE,CAAA;AAGjB,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC;KAClE,YAAY,CAAC,MAAM,CAAC,CAAA;AAEzB,oBAAoB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;AAG/C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;KAC9C,YAAY,CAAC,MAAM,CAAC;KACpB,WAAW,EAAE,CAAA;AAElB,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;KACzD,MAAM,CAAC,cAAc,CAAC,CAAA;AAE3B,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC;KAC9D,UAAU,EAAE;KACZ,UAAU,EAAE;KACZ,MAAM,CAAC,cAAc,CAAC,CAAA;AAE3B,MAAM,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC;KAC9D,UAAU,EAAE;KACZ,UAAU,EAAE;KACZ,MAAM,CAAC,QAAQ,CAAC,CAAA;AAGrB,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,UAAU;IACV,OAAO;IACP,SAAS,EAAE,UAAU;IACrB,WAAW;IACX,WAAW;IACX,kBAAkB;IAClB,QAAQ;IACR,aAAa;IACb,QAAQ;IACR,SAAS;CACZ,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,oBAAoB;IACpB,kBAAkB;IAClB,qBAAqB;IACrB,mBAAmB;IACnB,gBAAgB;IAChB,iBAAiB;IACjB,eAAe;IACf,kBAAkB;IAClB,iBAAiB;IACjB,oBAAoB;IACpB,gBAAgB;IAChB,UAAU;IACV,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,aAAa;IACb,SAAS;IACT,aAAa;CAChB,CAAA;AAED,OAAO,EAAC,WAAW,EAAC,CAAA"}
|
package/dist/m3/types.d.ts
CHANGED
|
@@ -119,8 +119,8 @@ declare class Language extends M3Node {
|
|
|
119
119
|
entities: LanguageEntity[];
|
|
120
120
|
dependsOn: MultiRef<Language>;
|
|
121
121
|
constructor(name: string, version: string, id: Id, key: Id);
|
|
122
|
-
havingEntities(...
|
|
123
|
-
dependingOn(...
|
|
122
|
+
havingEntities(...entities: LanguageEntity[]): Language;
|
|
123
|
+
dependingOn(...languages: Language[]): Language;
|
|
124
124
|
equals(that: Language): boolean;
|
|
125
125
|
}
|
|
126
126
|
/**
|
package/dist/m3/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/m3/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAC,kBAAkB,EAAC,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAa,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAC,EAAE,EAAE,IAAI,EAAC,MAAM,aAAa,CAAA;AAGpC;;;GAGG;AACH,QAAA,MAAM,mBAAmB,sBAAsB,CAAA;AAO/C,UAAU,MAAO,SAAQ,IAAI;IACzB,IAAI,EAAE,MAAM,CAAA;CACf;AAED,QAAA,MAAM,QAAQ,SAAU,IAAI,mBACuB,CAAA;AAEnD,QAAA,MAAM,iBAAiB,EAAE,kBAAkB,CAAC,IAAI,CACU,CAAA;AAG1D,UAAU,MAAO,SAAQ,MAAM;IAC3B,GAAG,EAAE,EAAE,CAAA;CACV;AAED,QAAA,MAAM,QAAQ,SAAU,IAAI,mBACuC,CAAA;AAGnE;;;;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,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,EAAE,CAAA;IACP,SAAS,aAAa,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM;IAMpE,SAAS,CAAC,GAAG,EAAE,EAAE;IAIjB,WAAW,EAAE,IAAI,EAAE,CAAK;CAC3B;AAED,uBAAe,OAAQ,SAAQ,MAAM;IACjC,QAAQ,UAAuB;gBAEnB,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;IAGrE,UAAU;IAIV,IAAI,UAAU,IAAI,UAAU,CAE3B;CACJ;AAED,cAAM,QAAS,SAAQ,OAAO;IAC1B,QAAQ,IAAI,MAAM;IAGlB,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAa;IACtC,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,CAAa;IACxC,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,EAAE,EAAE,EAAE,EAAE,EAAE;IAG7D,IAAI,QAAQ,IAAI,QAAQ,CAEvB;CACJ;AAED,uBAAe,UAAW,SAAQ,cAAc;IAC5C,QAAQ,EAAE,OAAO,EAAE,CAAK;IACxB,cAAc,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/m3/types.ts"],"names":[],"mappings":"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"}
|
package/dist/m3/types.js
CHANGED
|
@@ -97,8 +97,7 @@ class Classifier extends LanguageEntity {
|
|
|
97
97
|
this.features = []; // (containment)
|
|
98
98
|
}
|
|
99
99
|
havingFeatures(...features) {
|
|
100
|
-
|
|
101
|
-
this.features.push(...features);
|
|
100
|
+
this.features.push(...features.filter((feature) => this.features.indexOf(feature) < 0));
|
|
102
101
|
return this;
|
|
103
102
|
}
|
|
104
103
|
metaPointer() {
|
|
@@ -181,7 +180,7 @@ class Enumeration extends Datatype {
|
|
|
181
180
|
return "Enumeration";
|
|
182
181
|
}
|
|
183
182
|
havingLiterals(...literals) {
|
|
184
|
-
this.literals.push(...literals);
|
|
183
|
+
this.literals.push(...literals.filter((literal) => this.literals.indexOf(literal) < 0));
|
|
185
184
|
return this;
|
|
186
185
|
}
|
|
187
186
|
}
|
|
@@ -207,17 +206,12 @@ class Language extends M3Node {
|
|
|
207
206
|
this.dependsOn = []; // special (!) reference
|
|
208
207
|
this.version = version;
|
|
209
208
|
}
|
|
210
|
-
havingEntities(...
|
|
211
|
-
|
|
212
|
-
if (nonLanguageElements.length > 0) {
|
|
213
|
-
throw Error(`trying to add non-LanguageElements to Language: ${nonLanguageElements.map((node) => `<${node.constructor.name}>"${node.name}"`).join(", ")}`);
|
|
214
|
-
}
|
|
215
|
-
this.entities.push(...elements);
|
|
209
|
+
havingEntities(...entities) {
|
|
210
|
+
this.entities.push(...entities.filter((entity) => this.entities.indexOf(entity) < 0));
|
|
216
211
|
return this;
|
|
217
212
|
}
|
|
218
|
-
dependingOn(...
|
|
219
|
-
|
|
220
|
-
this.dependsOn.push(...metamodels
|
|
213
|
+
dependingOn(...languages) {
|
|
214
|
+
this.dependsOn.push(...languages
|
|
221
215
|
.filter((language) => language.key !== lioncoreBuiltinsKey));
|
|
222
216
|
return this;
|
|
223
217
|
}
|
package/dist/m3/types.js.map
CHANGED
|
@@ -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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"}
|
package/dist/serializer.d.ts
CHANGED
|
@@ -5,8 +5,20 @@ import { Property } from "./m3/types.js";
|
|
|
5
5
|
export interface PrimitiveTypeSerializer {
|
|
6
6
|
serializeValue(value: unknown, property: Property): string | undefined;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Type to provide options to the serializer.
|
|
10
|
+
*/
|
|
11
|
+
export type SerializationOptions = Partial<{
|
|
12
|
+
/**
|
|
13
|
+
* Determines whether empty feature values are explicitly serialized or skipped during serialization.
|
|
14
|
+
* (The specification states that empty feature values SHOULD be serialized, but not that they MUST be.)
|
|
15
|
+
* Default = true, meaning that empty feature values are *not* skipped.
|
|
16
|
+
*/
|
|
17
|
+
serializeEmptyValues: boolean;
|
|
18
|
+
primitiveTypeSerializer: PrimitiveTypeSerializer;
|
|
19
|
+
}>;
|
|
8
20
|
/**
|
|
9
21
|
* @return a {@link SerializationChunk} of the given model (i.e., an array of {@link Node nodes} - the first argument) to the LionWeb serialization JSON format.
|
|
10
22
|
*/
|
|
11
|
-
export declare const serializeNodes: <NT extends Node>(nodes: NT[], extractionFacade: ExtractionFacade<NT>,
|
|
23
|
+
export declare const serializeNodes: <NT extends Node>(nodes: NT[], extractionFacade: ExtractionFacade<NT>, primitiveTypeSerializerOrOptions?: PrimitiveTypeSerializer | SerializationOptions) => SerializationChunk;
|
|
12
24
|
//# sourceMappingURL=serializer.d.ts.map
|
package/dist/serializer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAiD,kBAAkB,EAAiB,MAAM,oBAAoB,CAAA;AAErH,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAA;AAG/B,OAAO,EAKH,QAAQ,EAGX,MAAM,eAAe,CAAA;AAItB,MAAM,WAAW,uBAAuB;IACpC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAA;CACzE;
|
|
1
|
+
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAiD,kBAAkB,EAAiB,MAAM,oBAAoB,CAAA;AAErH,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAA;AAG/B,OAAO,EAKH,QAAQ,EAGX,MAAM,eAAe,CAAA;AAItB,MAAM,WAAW,uBAAuB;IACpC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAA;CACzE;AASD;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC;IACvC;;;;OAIG;IACH,oBAAoB,EAAE,OAAO,CAAA;IAE7B,uBAAuB,EAAE,uBAAuB,CAAA;CACnD,CAAC,CAAA;AAGF;;GAEG;AACH,eAAO,MAAM,cAAc,4GAGY,uBAAuB,GAAG,oBAAoB,KAClF,kBA4HF,CAAA"}
|
package/dist/serializer.js
CHANGED
|
@@ -4,10 +4,20 @@ import { DefaultPrimitiveTypeSerializer } from "./m3/builtins.js";
|
|
|
4
4
|
import { allFeaturesOf } from "./m3/functions.js";
|
|
5
5
|
import { Containment, Enumeration, PrimitiveType, Property, Reference, simpleNameDeducer } from "./m3/types.js";
|
|
6
6
|
import { asArray } from "./utils/array-helpers.js";
|
|
7
|
+
const isPrimitiveTypeSerializer = (value) => typeof value === "object"
|
|
8
|
+
&& value !== null
|
|
9
|
+
&& "serializeValue" in value
|
|
10
|
+
&& typeof value.serializeValue === "function";
|
|
7
11
|
/**
|
|
8
12
|
* @return a {@link SerializationChunk} of the given model (i.e., an array of {@link Node nodes} - the first argument) to the LionWeb serialization JSON format.
|
|
9
13
|
*/
|
|
10
|
-
export const serializeNodes = (nodes, extractionFacade,
|
|
14
|
+
export const serializeNodes = (nodes, extractionFacade, primitiveTypeSerializerOrOptions) => {
|
|
15
|
+
const primitiveTypeSerializer = (isPrimitiveTypeSerializer(primitiveTypeSerializerOrOptions)
|
|
16
|
+
? primitiveTypeSerializerOrOptions
|
|
17
|
+
: primitiveTypeSerializerOrOptions?.primitiveTypeSerializer) ?? new DefaultPrimitiveTypeSerializer();
|
|
18
|
+
const serializeEmptyValues = isPrimitiveTypeSerializer(primitiveTypeSerializerOrOptions)
|
|
19
|
+
? true
|
|
20
|
+
: (primitiveTypeSerializerOrOptions?.serializeEmptyValues ?? true);
|
|
11
21
|
const serializedNodes = []; // keep nodes as much as possible "in order"
|
|
12
22
|
const ids = {}; // maintain a map to keep track of IDs of nodes that have been serialized
|
|
13
23
|
const languagesUsed = [];
|
|
@@ -43,28 +53,32 @@ export const serializeNodes = (nodes, extractionFacade, primitiveTypeSerializer
|
|
|
43
53
|
version: featureLanguage.version,
|
|
44
54
|
key: feature.key
|
|
45
55
|
};
|
|
46
|
-
if (feature instanceof Property
|
|
56
|
+
if (feature instanceof Property) {
|
|
57
|
+
if (value === undefined && !serializeEmptyValues) {
|
|
58
|
+
// for immediate backward compatibility: skip empty property values regardless of options?.skipEmptyValues
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
47
61
|
const encodedValue = (() => {
|
|
48
62
|
// (could also just inspect type of value:)
|
|
49
63
|
if (feature.type instanceof PrimitiveType) {
|
|
50
64
|
return primitiveTypeSerializer.serializeValue(value, feature);
|
|
51
65
|
}
|
|
52
66
|
if (feature.type instanceof Enumeration) {
|
|
53
|
-
return extractionFacade.enumerationLiteralFrom(value, feature.type)?.key
|
|
54
|
-
?? null; // (undefined -> null)
|
|
67
|
+
return extractionFacade.enumerationLiteralFrom(value, feature.type)?.key;
|
|
55
68
|
}
|
|
56
|
-
return
|
|
69
|
+
return undefined;
|
|
57
70
|
})();
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
});
|
|
63
|
-
}
|
|
71
|
+
serializedNode.properties.push({
|
|
72
|
+
property: featureMetaPointer,
|
|
73
|
+
value: encodedValue ?? null // (undefined -> null)
|
|
74
|
+
});
|
|
64
75
|
return;
|
|
65
76
|
}
|
|
66
77
|
if (feature instanceof Containment) {
|
|
67
78
|
const children = asArray(value);
|
|
79
|
+
if (children.length === 0 && !serializeEmptyValues) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
68
82
|
serializedNode.containments.push({
|
|
69
83
|
containment: featureMetaPointer,
|
|
70
84
|
children: asIds(children)
|
|
@@ -81,6 +95,9 @@ export const serializeNodes = (nodes, extractionFacade, primitiveTypeSerializer
|
|
|
81
95
|
if (feature instanceof Reference) {
|
|
82
96
|
// Note: value can be null === typeof unresolved, e.g. on an unset (or previously unresolved) single-valued reference
|
|
83
97
|
const targets = asArray(value);
|
|
98
|
+
if (targets.length === 0 && !serializeEmptyValues) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
84
101
|
serializedNode.references.push({
|
|
85
102
|
reference: featureMetaPointer,
|
|
86
103
|
targets: targets
|
package/dist/serializer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,iCAAiC,EAAkD,MAAM,oBAAoB,CAAA;AACrH,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAA;AAEpC,OAAO,EAAC,8BAA8B,EAAC,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EACH,WAAW,EACX,WAAW,EAEX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,iBAAiB,EACpB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAA;AAOhD;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC1B,KAAW,EACX,gBAAsC,EACtC,
|
|
1
|
+
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"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"}
|