@lionweb/core 0.6.1 → 0.6.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/README.md +19 -0
- package/dist/deserializer.d.ts +4 -0
- package/dist/deserializer.d.ts.map +1 -1
- package/dist/deserializer.js +9 -7
- package/dist/deserializer.js.map +1 -1
- package/dist/m3/deserializer.js +2 -2
- package/dist/m3/deserializer.js.map +1 -1
- package/dist/m3/facade.js +2 -2
- package/dist/m3/facade.js.map +1 -1
- package/dist/m3/functions.d.ts +9 -2
- package/dist/m3/functions.d.ts.map +1 -1
- package/dist/m3/functions.js +9 -5
- package/dist/m3/functions.js.map +1 -1
- package/dist/m3/types.d.ts +23 -2
- package/dist/m3/types.d.ts.map +1 -1
- package/dist/m3/types.js +41 -0
- package/dist/m3/types.js.map +1 -1
- package/dist/serializer.d.ts.map +1 -1
- package/dist/serializer.js +2 -7
- package/dist/serializer.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# The `core` package
|
|
2
2
|
|
|
3
|
+
[
|
|
4
|
+
](./LICENSE)
|
|
5
|
+
[
|
|
6
|
+
](https://github.com/LionWeb-io/lionweb-typescript/actions/workflows/test.yaml)
|
|
7
|
+
[
|
|
8
|
+
](https://www.npmjs.com/package/@lionweb/core)
|
|
9
|
+
|
|
3
10
|
An NPM package that can be added to a Node.js/NPM codebase as follows:
|
|
4
11
|
|
|
5
12
|
```shell
|
|
@@ -25,6 +32,18 @@ The following is a list of links to potential starting points:
|
|
|
25
32
|
|
|
26
33
|
## Changelog
|
|
27
34
|
|
|
35
|
+
### 0.6.3
|
|
36
|
+
|
|
37
|
+
* The deserializer now deserializes all nodes in the serialization chunk, not just the root nodes (identified as having `parent` set to `null`).
|
|
38
|
+
(This fixes [issue #145](https://github.com/LionWeb-io/lionweb-typescript/issues/145).)
|
|
39
|
+
* Also: `deserializeChunk` is renamed to `deserializeSerializationChunk` for naming consistency, although `deserializeChunk` is retained as an alias.
|
|
40
|
+
* Add a method `metaType` to M3 types, to deduce classifiers' names from.
|
|
41
|
+
(That fixes [issue #143](https://github.com/LionWeb-io/lionweb-typescript/issues/143).)
|
|
42
|
+
|
|
43
|
+
### 0.6.2
|
|
44
|
+
|
|
45
|
+
* Add a method `Classifier.metaPointer`.
|
|
46
|
+
|
|
28
47
|
### 0.6.1
|
|
29
48
|
|
|
30
49
|
* Introduce a `isBuiltinNodeConcept` function that checks whether a classifier happens to be the `Node` concept built into LionCore.
|
package/dist/deserializer.d.ts
CHANGED
|
@@ -10,5 +10,9 @@ import { Language } from "./m3/types.js";
|
|
|
10
10
|
* @param languages - a {@link Language language} that the serialized model is expected to conform to
|
|
11
11
|
* @param dependentNodes - a collection of nodes from dependent models against which all references in the serialized model are supposed to resolve against
|
|
12
12
|
*/
|
|
13
|
+
export declare const deserializeSerializationChunk: <NT extends Node>(serializationChunk: SerializationChunk, instantiationFacade: InstantiationFacade<NT>, languages: Language[], dependentNodes: Node[]) => NT[];
|
|
14
|
+
/**
|
|
15
|
+
* Alias for {@link deserializeSerializationChunk}.
|
|
16
|
+
*/
|
|
13
17
|
export declare const deserializeChunk: <NT extends Node>(serializationChunk: SerializationChunk, instantiationFacade: InstantiationFacade<NT>, languages: Language[], dependentNodes: Node[]) => NT[];
|
|
14
18
|
//# 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,EAAoC,kBAAkB,EAAiB,MAAM,oBAAoB,CAAA;AACxG,OAAO,EAAC,mBAAmB,EAAC,MAAM,aAAa,CAAA;AAE/C,OAAO,EAAuC,QAAQ,EAAqC,MAAM,eAAe,CAAA;AAkBhH;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,IAAI,EAAC,MAAM,YAAY,CAAA;AACnC,OAAO,EAAoC,kBAAkB,EAAiB,MAAM,oBAAoB,CAAA;AACxG,OAAO,EAAC,mBAAmB,EAAC,MAAM,aAAa,CAAA;AAE/C,OAAO,EAAuC,QAAQ,EAAqC,MAAM,eAAe,CAAA;AAkBhH;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B,wCAClB,kBAAkB,2DAE3B,QAAQ,EAAE,kBAEL,IAAI,EAAE,SAgJzB,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,gBAAgB,wCA1JL,kBAAkB,2DAE3B,QAAQ,EAAE,kBAEL,IAAI,EAAE,SAsJmC,CAAA"}
|
package/dist/deserializer.js
CHANGED
|
@@ -22,7 +22,7 @@ const byIdMap = (ts) => {
|
|
|
22
22
|
* @param languages - a {@link Language language} that the serialized model is expected to conform to
|
|
23
23
|
* @param dependentNodes - a collection of nodes from dependent models against which all references in the serialized model are supposed to resolve against
|
|
24
24
|
*/
|
|
25
|
-
export const
|
|
25
|
+
export const deserializeSerializationChunk = (serializationChunk, instantiationFacade, languages,
|
|
26
26
|
// TODO facades <--> languages, so it's weird that it looks split up like this
|
|
27
27
|
dependentNodes
|
|
28
28
|
// TODO (#13) see if you can turn this into [nodes: Node[], instantiationFacade: InstantiationFacade<Node>][] after all
|
|
@@ -32,10 +32,6 @@ dependentNodes
|
|
|
32
32
|
}
|
|
33
33
|
const symbolTable = new MemoisingSymbolTable(languages);
|
|
34
34
|
const { nodes: serializedNodes } = serializationChunk;
|
|
35
|
-
const serializedRootNodes = serializedNodes.filter(({ parent }) => parent === null);
|
|
36
|
-
if (serializedRootNodes.length === 0) {
|
|
37
|
-
throw new Error(`could not deserialize: no root nodes found`);
|
|
38
|
-
}
|
|
39
35
|
const serializedNodeById = byIdMap(serializedNodes);
|
|
40
36
|
const deserializedNodeById = {};
|
|
41
37
|
/**
|
|
@@ -125,7 +121,9 @@ dependentNodes
|
|
|
125
121
|
.map((annotationId) => instantiateMemoised(serializedNodeById[annotationId]));
|
|
126
122
|
return node;
|
|
127
123
|
};
|
|
128
|
-
const
|
|
124
|
+
const rootLikeNodes = serializedNodes
|
|
125
|
+
.filter(({ parent }) => parent === null || !(parent in serializedNodeById))
|
|
126
|
+
.map((node) => instantiateMemoised(node));
|
|
129
127
|
const nodesOfDependentModelsById = byIdMap(dependentNodes);
|
|
130
128
|
referencesToInstall.forEach(([node, reference, refId]) => {
|
|
131
129
|
const lookUpById = () => {
|
|
@@ -138,6 +136,10 @@ dependentNodes
|
|
|
138
136
|
};
|
|
139
137
|
instantiationFacade.setFeatureValue(node, reference, lookUpById());
|
|
140
138
|
});
|
|
141
|
-
return
|
|
139
|
+
return rootLikeNodes;
|
|
142
140
|
};
|
|
141
|
+
/**
|
|
142
|
+
* Alias for {@link deserializeSerializationChunk}.
|
|
143
|
+
*/
|
|
144
|
+
export const deserializeChunk = deserializeSerializationChunk;
|
|
143
145
|
//# sourceMappingURL=deserializer.js.map
|
package/dist/deserializer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,iCAAiC,EAAqC,MAAM,oBAAoB,CAAA;AAExG,OAAO,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAA;AACtD,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,kBAAkB,EAAC,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAA;AAG3C;;GAEG;AACH,MAAM,OAAO,GAAG,CAAuB,EAAO,EAAmB,EAAE;IAC/D,MAAM,GAAG,GAAoB,EAAE,CAAA;IAC/B,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACb,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACd,CAAC,CAAA;AAGD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"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"}
|
package/dist/m3/deserializer.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { Language } from "./types.js";
|
|
2
2
|
import { lioncoreExtractionFacade, lioncoreInstantiationFacade } from "./facade.js";
|
|
3
3
|
import { nodesExtractorUsing } from "../facade.js";
|
|
4
|
-
import {
|
|
4
|
+
import { deserializeSerializationChunk } from "../deserializer.js";
|
|
5
5
|
import { lioncore } from "./lioncore.js";
|
|
6
6
|
import { lioncoreBuiltins } from "./builtins.js";
|
|
7
7
|
/**
|
|
8
8
|
* Deserializes languages that have been serialized into the LionWeb serialization JSON format
|
|
9
9
|
* as an instance of the LionCore metametamodel, using {@link _M3Concept these type definitions}.
|
|
10
10
|
*/
|
|
11
|
-
export const deserializeLanguages = (serializationChunk, ...dependentLanguages) =>
|
|
11
|
+
export const deserializeLanguages = (serializationChunk, ...dependentLanguages) => deserializeSerializationChunk(serializationChunk, lioncoreInstantiationFacade, [lioncore], [lioncoreBuiltins, ...dependentLanguages].flatMap(nodesExtractorUsing(lioncoreExtractionFacade)))
|
|
12
12
|
.filter((rootNode) => rootNode instanceof Language)
|
|
13
13
|
.map((language) => language.dependingOn(...dependentLanguages));
|
|
14
14
|
// TODO pass a function that can resolve dependent metamodels, since they'd generally only known in the serialization
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../../src/m3/deserializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAA;AAEnC,OAAO,EAAC,wBAAwB,EAAE,2BAA2B,EAAC,MAAM,aAAa,CAAA;AACjF,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAA;AAChD,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../../src/m3/deserializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAA;AAEnC,OAAO,EAAC,wBAAwB,EAAE,2BAA2B,EAAC,MAAM,aAAa,CAAA;AACjF,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAA;AAChD,OAAO,EAAC,6BAA6B,EAAC,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAA;AACtC,OAAO,EAAC,gBAAgB,EAAC,MAAM,eAAe,CAAA;AAG9C;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,kBAAsC,EAAE,GAAG,kBAA8B,EAAc,EAAE,CAC1H,6BAA6B,CACzB,kBAAkB,EAClB,2BAA2B,EAC3B,CAAC,QAAQ,CAAC,EACV,CAAC,gBAAgB,EAAE,GAAG,kBAAkB,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC,CACnG;KACI,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,YAAY,QAAQ,CAAC;KAClD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAE,QAAqB,CAAC,WAAW,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAA;AACrF,sHAAsH"}
|
package/dist/m3/facade.js
CHANGED
|
@@ -2,11 +2,11 @@ import { updateSettingsNameBased } from "../facade.js";
|
|
|
2
2
|
import { Annotation, Concept, Containment, Enumeration, EnumerationLiteral, Interface, Language, PrimitiveType, Property, Reference } from "./types.js";
|
|
3
3
|
import { builtinFeatures } from "./builtins.js";
|
|
4
4
|
import { lioncore, metaConcepts, metaFeatures } from "./lioncore.js";
|
|
5
|
-
import {
|
|
5
|
+
import { metaTypedBasedClassifierDeducerFor, qualifiedNameOf } from "./functions.js";
|
|
6
6
|
const { inamed_name } = builtinFeatures;
|
|
7
7
|
const { ikeyed_key } = metaFeatures;
|
|
8
8
|
export const lioncoreExtractionFacade = ({
|
|
9
|
-
classifierOf:
|
|
9
|
+
classifierOf: metaTypedBasedClassifierDeducerFor(lioncore),
|
|
10
10
|
getFeatureValue: (node, feature) =>
|
|
11
11
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
12
12
|
node[feature.name], // (mirrors name-based update of settings)
|
package/dist/m3/facade.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facade.js","sourceRoot":"","sources":["../../src/m3/facade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,uBAAuB,EAAC,MAAM,cAAc,CAAA;AAC3F,OAAO,EACH,UAAU,EAEV,OAAO,EACP,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,QAAQ,EAER,aAAa,EACb,QAAQ,EACR,SAAS,EACZ,MAAM,YAAY,CAAA;AACnB,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAC,MAAM,eAAe,CAAA;AAClE,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"facade.js","sourceRoot":"","sources":["../../src/m3/facade.ts"],"names":[],"mappings":"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"}
|
package/dist/m3/functions.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Various functions on M3 models.
|
|
3
3
|
*/
|
|
4
|
-
import { Annotation, Classifier, Concept, Containment, Datatype, Enumeration, Feature, IKeyed, INamed, Language, LanguageEntity, Link, M3Concept, Property, Reference } from "./types.js";
|
|
4
|
+
import { Annotation, Classifier, Concept, Containment, Datatype, Enumeration, Feature, IKeyed, IMetaTyped, INamed, Language, LanguageEntity, Link, M3Concept, Property, Reference } from "./types.js";
|
|
5
5
|
import { unresolved } from "../references.js";
|
|
6
6
|
import { Id, Node } from "../types.js";
|
|
7
7
|
import { ClassifierDeducer } from "../facade.js";
|
|
@@ -109,11 +109,18 @@ declare const nameBasedClassifierDeducerFor: (language: Language) => (name: stri
|
|
|
109
109
|
/**
|
|
110
110
|
* @return a {@link ClassifierDeducer classifier deducer} that deduces the classifier of nodes by looking up
|
|
111
111
|
* the classifier in the given {@link Language language} by matching the node object's class name to classifiers' names.
|
|
112
|
+
* **Note** that this is not reliable when using bundlers who might minimize class names, and such.
|
|
112
113
|
*/
|
|
113
114
|
declare const classBasedClassifierDeducerFor: <NT extends Node>(language: Language) => ClassifierDeducer<NT>;
|
|
115
|
+
/**
|
|
116
|
+
* @return a {@link ClassifierDeducer classifier deducer} that deduces the classifier of nodes that implement {@link IMetaTyped}
|
|
117
|
+
* by looking up the classifier in the given {@link Language language} by matching the result of {@link IMetaTyped#metaType}
|
|
118
|
+
* to classifiers' names.
|
|
119
|
+
*/
|
|
120
|
+
declare const metaTypedBasedClassifierDeducerFor: <NT extends Node & IMetaTyped>(language: Language) => ClassifierDeducer<NT>;
|
|
114
121
|
/**
|
|
115
122
|
* @return all {@link Concept concepts} defined in the given {@link Language language}.
|
|
116
123
|
*/
|
|
117
124
|
declare const conceptsOf: (language: Language) => Concept[];
|
|
118
|
-
export { allContaineds, allFeaturesOf, allSuperTypesOf, classBasedClassifierDeducerFor, concatenateNamesOf, conceptsOf, containmentChain, directlyContaineds, entitiesSortedByName, flatMap, idBasedClassifierDeducerFor, idOf, inheritedCycleWith, isConcrete, isContainment, isEnumeration, isProperty, isReference, keyOf, nameBasedClassifierDeducerFor, nameOf, namedsOf, nonRelationalFeatures, relations, relationsOf, type, qualifiedNameOf };
|
|
125
|
+
export { allContaineds, allFeaturesOf, allSuperTypesOf, classBasedClassifierDeducerFor, concatenateNamesOf, conceptsOf, containmentChain, directlyContaineds, entitiesSortedByName, flatMap, idBasedClassifierDeducerFor, idOf, inheritedCycleWith, isConcrete, isContainment, isEnumeration, isProperty, isReference, keyOf, metaTypedBasedClassifierDeducerFor, nameBasedClassifierDeducerFor, nameOf, namedsOf, nonRelationalFeatures, relations, relationsOf, type, qualifiedNameOf };
|
|
119
126
|
//# sourceMappingURL=functions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/m3/functions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACH,UAAU,EACV,UAAU,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,WAAW,EACX,OAAO,EACP,MAAM,EACN,MAAM,EAGN,QAAQ,EACR,cAAc,EACd,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,SAAS,EACZ,MAAM,YAAY,CAAA;AACnB,OAAO,EAAQ,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAIlD,OAAO,EAAC,EAAE,EAAE,IAAI,EAAC,MAAM,aAAa,CAAA;AACpC,OAAO,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAA;AAGhD;;GAEG;AACH,QAAA,MAAM,IAAI,YAAa,OAAO,KAAG,UAAU,GAAG,QAAQ,GAAG,iBAClB,CAAA;AAGvC,QAAA,MAAM,UAAU,YAAa,OAAO,wBACL,CAAA;AAE/B,QAAA,MAAM,aAAa,YAAa,OAAO,2BACL,CAAA;AAElC,QAAA,MAAM,WAAW,YAAa,OAAO,yBACL,CAAA;AAUhC;;GAEG;AACH,QAAA,MAAM,SAAS,aAAc,OAAO,EAAE,KAAG,IAAI,EACZ,CAAA;AAEjC;;GAEG;AACH,QAAA,MAAM,qBAAqB,aAAc,OAAO,EAAE,KAAG,OAAO,EACJ,CAAA;AAGxD;;GAEG;AACH,QAAA,MAAM,WAAW,YAAa,cAAc,KAAG,IAAI,EAGvC,CAAA;AAGZ;;;;;GAKG;AACH,QAAA,MAAM,kBAAkB,UAAW,SAAS,KAAG,SAAS,EAWvD,CAAA;AAGD;;;GAGG;AACH,QAAA,MAAM,aAAa,aAAc,QAAQ,KAAG,SAAS,EAKhD,CAAA;AAGL;;;GAGG;AACH,QAAA,MAAM,OAAO,gBAAiB,QAAQ,WAAW,SAAS,gBACO,CAAA;AAGjE;;GAEG;AACH,QAAA,MAAM,MAAM,qCAAkC,MACtC,CAAA;AAGR;;GAEG;AACH,eAAO,MAAM,UAAU,oCACQ,CAAA;AAG/B;;GAEG;AACH,QAAA,MAAM,kBAAkB,cAAe,MAAM,SAAS,SAAS,EAAE,KAAG,MAI5C,CAAA;AAGxB;;GAEG;AACH,QAAA,MAAM,eAAe,qDAAiD,MACY,CAAA;AAGlF;;;GAGG;AACH,QAAA,MAAM,QAAQ,aAAc,QAAQ,KAAG,SAAS,EACJ,CAAA;AAG5C;;GAEG;AACH,QAAA,MAAM,KAAK,oCAAiC,MACrC,CAAA;AAGP;;GAEG;AACH,QAAA,MAAM,IAAI,sCAAmC,MACvC,CAAA;AAGN;;GAEG;AACH,QAAA,MAAM,oBAAoB,aAAc,cAAc,EAAE,qBACnB,CAAA;AAGrC,KAAK,kBAAkB,GAAG,OAAO,GAAG,UAAU,CAAA;AAG9C;;;GAGG;AACH,QAAA,MAAM,UAAU,UAAW,cAAc,gCACyC,CAAA;AAmBlF;;GAEG;AACH,QAAA,MAAM,kBAAkB,eAAgB,UAAU,iBACX,CAAA;AAGvC;;GAEG;AACH,QAAA,MAAM,eAAe,eAAgB,UAAU,KAAG,UAAU,EACU,CAAA;AAGtE;;;GAGG;AACH,QAAA,MAAM,aAAa,eAAgB,UAAU,KAAG,OAAO,EACsB,CAAA;AAG7E;;GAEG;AACH,QAAA,MAAM,aAAa,YAAa,cAAc,2BACZ,CAAA;AAGlC;;GAEG;AACH,QAAA,MAAM,2BAA2B,aAAc,QAAQ,UAC9C,EAAE,eACkG,CAAA;AAE7G;;GAEG;AACH,QAAA,MAAM,6BAA6B,aAAc,QAAQ,YAC9C,MAAM,eACgG,CAAA;AAGjH
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/m3/functions.ts"],"names":[],"mappings":"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"}
|
package/dist/m3/functions.js
CHANGED
|
@@ -149,16 +149,20 @@ const nameBasedClassifierDeducerFor = (language) => (name) => language.entities.
|
|
|
149
149
|
/**
|
|
150
150
|
* @return a {@link ClassifierDeducer classifier deducer} that deduces the classifier of nodes by looking up
|
|
151
151
|
* the classifier in the given {@link Language language} by matching the node object's class name to classifiers' names.
|
|
152
|
+
* **Note** that this is not reliable when using bundlers who might minimize class names, and such.
|
|
152
153
|
*/
|
|
153
|
-
const classBasedClassifierDeducerFor = (language) =>
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
}
|
|
154
|
+
const classBasedClassifierDeducerFor = (language) => (node) => nameBasedClassifierDeducerFor(language)(node.constructor.name);
|
|
155
|
+
/**
|
|
156
|
+
* @return a {@link ClassifierDeducer classifier deducer} that deduces the classifier of nodes that implement {@link IMetaTyped}
|
|
157
|
+
* by looking up the classifier in the given {@link Language language} by matching the result of {@link IMetaTyped#metaType}
|
|
158
|
+
* to classifiers' names.
|
|
159
|
+
*/
|
|
160
|
+
const metaTypedBasedClassifierDeducerFor = (language) => (node) => nameBasedClassifierDeducerFor(language)(node.metaType());
|
|
157
161
|
/**
|
|
158
162
|
* @return all {@link Concept concepts} defined in the given {@link Language language}.
|
|
159
163
|
*/
|
|
160
164
|
const conceptsOf = (language) => language.entities
|
|
161
165
|
.filter((entity) => entity instanceof Concept)
|
|
162
166
|
.map((entity) => entity);
|
|
163
|
-
export { allContaineds, allFeaturesOf, allSuperTypesOf, classBasedClassifierDeducerFor, concatenateNamesOf, conceptsOf, containmentChain, directlyContaineds, entitiesSortedByName, flatMap, idBasedClassifierDeducerFor, idOf, inheritedCycleWith, isConcrete, isContainment, isEnumeration, isProperty, isReference, keyOf, nameBasedClassifierDeducerFor, nameOf, namedsOf, nonRelationalFeatures, relations, relationsOf, type, qualifiedNameOf };
|
|
167
|
+
export { allContaineds, allFeaturesOf, allSuperTypesOf, classBasedClassifierDeducerFor, concatenateNamesOf, conceptsOf, containmentChain, directlyContaineds, entitiesSortedByName, flatMap, idBasedClassifierDeducerFor, idOf, inheritedCycleWith, isConcrete, isContainment, isEnumeration, isProperty, isReference, keyOf, metaTypedBasedClassifierDeducerFor, nameBasedClassifierDeducerFor, nameOf, namedsOf, nonRelationalFeatures, relations, relationsOf, type, qualifiedNameOf };
|
|
164
168
|
//# sourceMappingURL=functions.js.map
|
package/dist/m3/functions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/m3/functions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACH,UAAU,EACV,UAAU,EACV,OAAO,EACP,WAAW,EAEX,WAAW,
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/m3/functions.ts"],"names":[],"mappings":"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"}
|
package/dist/m3/types.d.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { ResolveInfoDeducer } from "../facade.js";
|
|
6
6
|
import { MultiRef, SingleRef } from "../references.js";
|
|
7
|
+
import { MetaPointer } from "../serialization.js";
|
|
7
8
|
import { Id, Node } from "../types.js";
|
|
8
9
|
/**
|
|
9
10
|
* The key of the LionCore language containing the built-ins.
|
|
@@ -19,11 +20,20 @@ interface IKeyed extends INamed {
|
|
|
19
20
|
key: Id;
|
|
20
21
|
}
|
|
21
22
|
declare const isIKeyed: (node: Node) => node is IKeyed;
|
|
23
|
+
/**
|
|
24
|
+
* An interface with one method to return a meta type,
|
|
25
|
+
* independent of the class's name obtained through `<node>.constructor.name`,
|
|
26
|
+
* which may be brittle when using bundlers.
|
|
27
|
+
*/
|
|
28
|
+
interface IMetaTyped {
|
|
29
|
+
metaType(): string;
|
|
30
|
+
}
|
|
22
31
|
/**
|
|
23
32
|
* Abstract base class for nodes in an LionCore instance,
|
|
24
33
|
* providing an ID, a key, and the containment hierarchy.
|
|
25
34
|
*/
|
|
26
|
-
declare abstract class M3Node implements IKeyed {
|
|
35
|
+
declare abstract class M3Node implements IKeyed, IMetaTyped {
|
|
36
|
+
metaType(): string;
|
|
27
37
|
parent?: M3Node;
|
|
28
38
|
readonly id: Id;
|
|
29
39
|
name: string;
|
|
@@ -39,6 +49,7 @@ declare abstract class Feature extends M3Node {
|
|
|
39
49
|
get classifier(): Classifier;
|
|
40
50
|
}
|
|
41
51
|
declare class Property extends Feature {
|
|
52
|
+
metaType(): string;
|
|
42
53
|
type: SingleRef<Datatype>;
|
|
43
54
|
ofType(type: Datatype): Property;
|
|
44
55
|
}
|
|
@@ -49,8 +60,10 @@ declare abstract class Link extends Feature {
|
|
|
49
60
|
ofType(type: Classifier): this;
|
|
50
61
|
}
|
|
51
62
|
declare class Containment extends Link {
|
|
63
|
+
metaType(): string;
|
|
52
64
|
}
|
|
53
65
|
declare class Reference extends Link {
|
|
66
|
+
metaType(): string;
|
|
54
67
|
}
|
|
55
68
|
declare abstract class LanguageEntity extends M3Node {
|
|
56
69
|
constructor(language: Language, name: string, key: Id, id: Id);
|
|
@@ -59,8 +72,10 @@ declare abstract class LanguageEntity extends M3Node {
|
|
|
59
72
|
declare abstract class Classifier extends LanguageEntity {
|
|
60
73
|
features: Feature[];
|
|
61
74
|
havingFeatures(...features: Feature[]): this;
|
|
75
|
+
metaPointer(): MetaPointer;
|
|
62
76
|
}
|
|
63
77
|
declare class Concept extends Classifier {
|
|
78
|
+
metaType(): string;
|
|
64
79
|
abstract: boolean;
|
|
65
80
|
partition: boolean;
|
|
66
81
|
extends?: SingleRef<Concept>;
|
|
@@ -70,6 +85,7 @@ declare class Concept extends Classifier {
|
|
|
70
85
|
isPartition(): Concept;
|
|
71
86
|
}
|
|
72
87
|
declare class Annotation extends Classifier {
|
|
88
|
+
metaType(): string;
|
|
73
89
|
extends?: SingleRef<Annotation>;
|
|
74
90
|
implements: MultiRef<Interface>;
|
|
75
91
|
annotates: SingleRef<Classifier>;
|
|
@@ -78,22 +94,27 @@ declare class Annotation extends Classifier {
|
|
|
78
94
|
annotating(classifier: Classifier): Annotation;
|
|
79
95
|
}
|
|
80
96
|
declare class Interface extends Classifier {
|
|
97
|
+
metaType(): string;
|
|
81
98
|
extends: MultiRef<Interface>;
|
|
82
99
|
extending(...interfaces: Interface[]): Interface;
|
|
83
100
|
}
|
|
84
101
|
declare abstract class Datatype extends LanguageEntity {
|
|
85
102
|
}
|
|
86
103
|
declare class PrimitiveType extends Datatype {
|
|
104
|
+
metaType(): string;
|
|
87
105
|
}
|
|
88
106
|
declare class Enumeration extends Datatype {
|
|
107
|
+
metaType(): string;
|
|
89
108
|
literals: EnumerationLiteral[];
|
|
90
109
|
havingLiterals(...literals: EnumerationLiteral[]): this;
|
|
91
110
|
}
|
|
92
111
|
declare class EnumerationLiteral extends M3Node {
|
|
112
|
+
metaType(): string;
|
|
93
113
|
constructor(enumeration: Enumeration, name: string, key: string, id: Id);
|
|
94
114
|
get enumeration(): Enumeration;
|
|
95
115
|
}
|
|
96
116
|
declare class Language extends M3Node {
|
|
117
|
+
metaType(): string;
|
|
97
118
|
version: string;
|
|
98
119
|
entities: LanguageEntity[];
|
|
99
120
|
dependsOn: MultiRef<Language>;
|
|
@@ -109,5 +130,5 @@ declare class Language extends M3Node {
|
|
|
109
130
|
*/
|
|
110
131
|
type M3Concept = Annotation | Concept | Containment | Enumeration | EnumerationLiteral | Interface | Language | PrimitiveType | Property | Reference;
|
|
111
132
|
export { Annotation, Classifier, Concept, Containment, Datatype, Enumeration, EnumerationLiteral, Feature, Interface, Language, LanguageEntity, Link, PrimitiveType, Property, Reference, isINamed, isIKeyed, lioncoreBuiltinsKey, simpleNameDeducer };
|
|
112
|
-
export type { IKeyed, INamed, M3Concept, M3Node };
|
|
133
|
+
export type { IKeyed, IMetaTyped, INamed, M3Concept, M3Node };
|
|
113
134
|
//# sourceMappingURL=types.d.ts.map
|
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,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;;;GAGG;AACH,uBAAe,MAAO,YAAW,MAAM;
|
|
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
|
@@ -16,6 +16,9 @@ const isIKeyed = (node) => isINamed(node) && "key" in node && typeof node.key ==
|
|
|
16
16
|
* providing an ID, a key, and the containment hierarchy.
|
|
17
17
|
*/
|
|
18
18
|
class M3Node {
|
|
19
|
+
metaType() {
|
|
20
|
+
throw new Error("#metaType() not implemented");
|
|
21
|
+
}
|
|
19
22
|
constructor(id, name, key, parent) {
|
|
20
23
|
this.annotations = []; // (containment)
|
|
21
24
|
this.id = id;
|
|
@@ -47,6 +50,9 @@ class Property extends Feature {
|
|
|
47
50
|
super(...arguments);
|
|
48
51
|
this.type = unresolved; // (reference)
|
|
49
52
|
}
|
|
53
|
+
metaType() {
|
|
54
|
+
return "Property";
|
|
55
|
+
}
|
|
50
56
|
ofType(type) {
|
|
51
57
|
this.type = type;
|
|
52
58
|
return this;
|
|
@@ -68,8 +74,14 @@ class Link extends Feature {
|
|
|
68
74
|
}
|
|
69
75
|
}
|
|
70
76
|
class Containment extends Link {
|
|
77
|
+
metaType() {
|
|
78
|
+
return "Containment";
|
|
79
|
+
}
|
|
71
80
|
}
|
|
72
81
|
class Reference extends Link {
|
|
82
|
+
metaType() {
|
|
83
|
+
return "Reference";
|
|
84
|
+
}
|
|
73
85
|
}
|
|
74
86
|
class LanguageEntity extends M3Node {
|
|
75
87
|
constructor(language, name, key, id) {
|
|
@@ -89,8 +101,19 @@ class Classifier extends LanguageEntity {
|
|
|
89
101
|
this.features.push(...features);
|
|
90
102
|
return this;
|
|
91
103
|
}
|
|
104
|
+
metaPointer() {
|
|
105
|
+
const { language } = this;
|
|
106
|
+
return {
|
|
107
|
+
language: language.key,
|
|
108
|
+
version: language.version,
|
|
109
|
+
key: this.key
|
|
110
|
+
};
|
|
111
|
+
}
|
|
92
112
|
}
|
|
93
113
|
class Concept extends Classifier {
|
|
114
|
+
metaType() {
|
|
115
|
+
return "Concept";
|
|
116
|
+
}
|
|
94
117
|
constructor(language, name, key, id, abstract, extends_) {
|
|
95
118
|
super(language, name, key, id);
|
|
96
119
|
this.implements = []; // (reference)
|
|
@@ -109,6 +132,9 @@ class Concept extends Classifier {
|
|
|
109
132
|
}
|
|
110
133
|
}
|
|
111
134
|
class Annotation extends Classifier {
|
|
135
|
+
metaType() {
|
|
136
|
+
return "Annotation";
|
|
137
|
+
}
|
|
112
138
|
constructor(language, name, key, id, extends_) {
|
|
113
139
|
super(language, name, key, id);
|
|
114
140
|
this.implements = []; // (reference)
|
|
@@ -130,6 +156,9 @@ class Interface extends Classifier {
|
|
|
130
156
|
super(...arguments);
|
|
131
157
|
this.extends = []; // (reference)
|
|
132
158
|
}
|
|
159
|
+
metaType() {
|
|
160
|
+
return "Interface";
|
|
161
|
+
}
|
|
133
162
|
extending(...interfaces) {
|
|
134
163
|
// TODO check actual types of interfaces, or use type shapes/interfaces
|
|
135
164
|
this.extends.push(...interfaces);
|
|
@@ -139,18 +168,27 @@ class Interface extends Classifier {
|
|
|
139
168
|
class Datatype extends LanguageEntity {
|
|
140
169
|
}
|
|
141
170
|
class PrimitiveType extends Datatype {
|
|
171
|
+
metaType() {
|
|
172
|
+
return "PrimitiveType";
|
|
173
|
+
}
|
|
142
174
|
}
|
|
143
175
|
class Enumeration extends Datatype {
|
|
144
176
|
constructor() {
|
|
145
177
|
super(...arguments);
|
|
146
178
|
this.literals = []; // (containment)
|
|
147
179
|
}
|
|
180
|
+
metaType() {
|
|
181
|
+
return "Enumeration";
|
|
182
|
+
}
|
|
148
183
|
havingLiterals(...literals) {
|
|
149
184
|
this.literals.push(...literals);
|
|
150
185
|
return this;
|
|
151
186
|
}
|
|
152
187
|
}
|
|
153
188
|
class EnumerationLiteral extends M3Node {
|
|
189
|
+
metaType() {
|
|
190
|
+
return "EnumerationLiteral";
|
|
191
|
+
}
|
|
154
192
|
constructor(enumeration, name, key, id) {
|
|
155
193
|
super(id, name, key, enumeration);
|
|
156
194
|
}
|
|
@@ -159,6 +197,9 @@ class EnumerationLiteral extends M3Node {
|
|
|
159
197
|
}
|
|
160
198
|
}
|
|
161
199
|
class Language extends M3Node {
|
|
200
|
+
metaType() {
|
|
201
|
+
return "Language";
|
|
202
|
+
}
|
|
162
203
|
// (!) special because deserializer needs to be aware of where to get the instance from
|
|
163
204
|
constructor(name, version, id, key) {
|
|
164
205
|
super(id, name, key);
|
package/dist/m3/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/m3/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAsB,UAAU,EAAC,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/m3/types.ts"],"names":[],"mappings":"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"}
|
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;AAO/B;;GAEG;AACH,eAAO,MAAM,cAAc,4EAA2E,
|
|
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;AAO/B;;GAEG;AACH,eAAO,MAAM,cAAc,4EAA2E,kBA6FrG,CAAA"}
|
package/dist/serializer.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { currentSerializationFormatVersion } from "./serialization.js";
|
|
2
2
|
import { asIds } from "./functions.js";
|
|
3
|
-
import {
|
|
3
|
+
import { serializeBuiltin } 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";
|
|
@@ -25,11 +25,7 @@ export const serializeNodes = (nodes, extractionFacade) => {
|
|
|
25
25
|
registerLanguageUsed(language);
|
|
26
26
|
const serializedNode = {
|
|
27
27
|
id: node.id,
|
|
28
|
-
classifier:
|
|
29
|
-
language: language.key,
|
|
30
|
-
version: language.version,
|
|
31
|
-
key: classifier.key
|
|
32
|
-
},
|
|
28
|
+
classifier: classifier.metaPointer(),
|
|
33
29
|
properties: [],
|
|
34
30
|
containments: [],
|
|
35
31
|
references: [],
|
|
@@ -97,7 +93,6 @@ export const serializeNodes = (nodes, extractionFacade) => {
|
|
|
97
93
|
return {
|
|
98
94
|
serializationFormatVersion: currentSerializationFormatVersion,
|
|
99
95
|
languages: languagesUsed
|
|
100
|
-
.filter((language) => !language.equals(lioncoreBuiltins))
|
|
101
96
|
.map(({ key, version }) => ({ key, version })),
|
|
102
97
|
nodes: serializedNodes
|
|
103
98
|
};
|
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,EAAmB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"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"}
|