@lionweb/core 0.5.0-beta.3 → 0.5.0-beta.5
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 +6 -2
- package/dist/dynamic-facade.d.ts +9 -0
- package/dist/dynamic-facade.d.ts.map +1 -1
- package/dist/dynamic-facade.js +0 -1
- package/dist/dynamic-facade.js.map +1 -1
- package/dist/id-generation.d.ts +1 -48
- package/dist/id-generation.d.ts.map +1 -1
- package/dist/id-generation.js +1 -75
- package/dist/id-generation.js.map +1 -1
- package/dist/m3/builtins.d.ts +1 -1
- package/dist/m3/builtins.d.ts.map +1 -1
- package/dist/m3/builtins.js +2 -3
- package/dist/m3/builtins.js.map +1 -1
- package/dist/m3/constraints.d.ts.map +1 -1
- package/dist/m3/constraints.js +4 -2
- package/dist/m3/constraints.js.map +1 -1
- package/dist/m3/facade.js +3 -3
- package/dist/m3/facade.js.map +1 -1
- package/dist/m3/factory.d.ts +2 -2
- package/dist/m3/factory.d.ts.map +1 -1
- package/dist/m3/factory.js +3 -3
- package/dist/m3/factory.js.map +1 -1
- package/dist/m3/functions.d.ts +7 -4
- package/dist/m3/functions.d.ts.map +1 -1
- package/dist/m3/functions.js +9 -6
- package/dist/m3/functions.js.map +1 -1
- package/dist/m3/index.d.ts +0 -1
- package/dist/m3/index.d.ts.map +1 -1
- package/dist/m3/index.js +0 -1
- package/dist/m3/index.js.map +1 -1
- package/dist/m3/lioncore.d.ts +2 -2
- package/dist/m3/lioncore.d.ts.map +1 -1
- package/dist/m3/lioncore.js +12 -13
- package/dist/m3/lioncore.js.map +1 -1
- package/dist/m3/types.d.ts +9 -9
- package/dist/m3/types.d.ts.map +1 -1
- package/dist/m3/types.js +11 -11
- package/dist/m3/types.js.map +1 -1
- package/package.json +1 -1
- package/dist/m3/textual-syntax.d.ts +0 -4
- package/dist/m3/textual-syntax.d.ts.map +0 -1
- package/dist/m3/textual-syntax.js +0 -57
- package/dist/m3/textual-syntax.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,8 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
## 0.5.0
|
|
4
4
|
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Add a type `DynamicINamed`, primarily for generation purposes.
|
|
6
|
+
* Move `asText` and ID checking to `@lionweb/utilities`.
|
|
7
|
+
* Expose a helper function `nameSorted`.
|
|
8
|
+
* Rename `ConceptInterface` → `Interface`.
|
|
9
|
+
* Change names: `ReadModelAPI` → `ExtractionFacade`, `WriteModelAPI` → `InstantiationFacade`.
|
|
10
|
+
* Change name of `concept` fields to `classifier`, and their types (where applicable) to `Classifier`.
|
|
7
11
|
* Fix `license` field in `package.json` to `"Apache-2.0"`.
|
|
8
12
|
* Replace all occurrences of "LIon" (with uppercase 'I') with "Lion" (with lowercase 'i').
|
|
9
13
|
* Split the `ModelAPI` interface into a read- and write-part: `ReadModelAPI` vs. `WriteModelAPI`.
|
package/dist/dynamic-facade.d.ts
CHANGED
|
@@ -8,6 +8,15 @@ export type DynamicNode = Node & {
|
|
|
8
8
|
classifier: Classifier;
|
|
9
9
|
settings: Record<string, unknown>;
|
|
10
10
|
};
|
|
11
|
+
/**
|
|
12
|
+
* A parallel version of {@link INamed} for dynamic nodes.
|
|
13
|
+
* (This type def. is predominantly meant for use in generated code.)
|
|
14
|
+
*/
|
|
15
|
+
export type DynamicINamed = DynamicNode & {
|
|
16
|
+
settings: {
|
|
17
|
+
name: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
11
20
|
/**
|
|
12
21
|
* An implementation of {@link ExtractionFacade} for {@link DynamicNode dynamic nodes}.
|
|
13
22
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-facade.d.ts","sourceRoot":"","sources":["../src/dynamic-facade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAA;AAC/B,OAAO,EAAC,gBAAgB,EAAE,mBAAmB,EAAyB,MAAM,aAAa,CAAA;AACzF,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AAGxC;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG;IAC7B,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC,CAAA;AAID;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,CAAC,WAAW,CAQhE,CAAA;AAGF;;GAEG;AAEH,eAAO,MAAM,0BAA0B,EAAE,mBAAmB,CAAC,WAAW,CAUtE,CAAA"}
|
|
1
|
+
{"version":3,"file":"dynamic-facade.d.ts","sourceRoot":"","sources":["../src/dynamic-facade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAA;AAC/B,OAAO,EAAC,gBAAgB,EAAE,mBAAmB,EAAyB,MAAM,aAAa,CAAA;AACzF,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AAGxC;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG;IAC7B,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC,CAAA;AAID;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG;IACtC,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;KACf,CAAA;CACJ,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,CAAC,WAAW,CAQhE,CAAA;AAGF;;GAEG;AAEH,eAAO,MAAM,0BAA0B,EAAE,mBAAmB,CAAC,WAAW,CAUtE,CAAA"}
|
package/dist/dynamic-facade.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-facade.js","sourceRoot":"","sources":["../src/dynamic-facade.ts"],"names":[],"mappings":"AACA,OAAO,EAAwC,sBAAsB,EAAC,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"dynamic-facade.js","sourceRoot":"","sources":["../src/dynamic-facade.ts"],"names":[],"mappings":"AACA,OAAO,EAAwC,sBAAsB,EAAC,MAAM,aAAa,CAAA;AAyBzF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkC,CAAC;IACnE,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU;IACvC,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACvC,8DAA8D;IACrD,IAAI,CAAC,QAAgB,CAAC,OAAO,CAAC,GAAG,CAAC;IACvC,sBAAsB,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAC3C,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC;WAChD,IAAI,CAAI,sBAAsB;CACxC,CAAC,CAAA;AAGF;;GAEG;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAqC,CAAC;IACzE,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACtD,EAAE;QACF,UAAU;QACV,QAAQ,EAAE,EAAE;KACC,CAAA;IACjB,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACtC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACzD,CAAC;IACD,UAAU,EAAE,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE,CAAC,GAAG;CAC7B,CAAC,CAAA"}
|
package/dist/id-generation.d.ts
CHANGED
|
@@ -1,54 +1,7 @@
|
|
|
1
|
-
type GenData = string | undefined;
|
|
1
|
+
export type GenData = string | undefined;
|
|
2
2
|
/**
|
|
3
3
|
* Type definition for a function that generates a unique ID,
|
|
4
4
|
* possibly ingesting some data.
|
|
5
5
|
*/
|
|
6
6
|
export type IdGenerator = (data: GenData) => string;
|
|
7
|
-
/**
|
|
8
|
-
* ID generator that produces sequential IDs:
|
|
9
|
-
* `"1"`, `"2"`, `"3"`, …
|
|
10
|
-
*/
|
|
11
|
-
export declare const sequentialIdGen: () => IdGenerator;
|
|
12
|
-
/**
|
|
13
|
-
* Augments the given {@link IdGenerator ID generator} by checking
|
|
14
|
-
* whether it's been given unique {@link GenData data},
|
|
15
|
-
* throwing an error when not.
|
|
16
|
-
*/
|
|
17
|
-
export declare const checkUniqueData: (idGen: IdGenerator) => IdGenerator;
|
|
18
|
-
/**
|
|
19
|
-
* Augments the given {@link IdGenerator ID generator} by checking
|
|
20
|
-
* whether it's been given defined ({@code !== undefined}) data,
|
|
21
|
-
* throwing an error when not.
|
|
22
|
-
*/
|
|
23
|
-
export declare const checkDefinedData: (idGen: IdGenerator) => IdGenerator;
|
|
24
|
-
/**
|
|
25
|
-
* Augments the given {@link IdGenerator ID generator} by checking
|
|
26
|
-
* whether that returns unique IDs, throwing an error when not.
|
|
27
|
-
*/
|
|
28
|
-
export declare const checkUniqueId: (idGen: IdGenerator) => IdGenerator;
|
|
29
|
-
/**
|
|
30
|
-
* Augments the given {@link IdGenerator ID generator} by checking
|
|
31
|
-
* whether it returns valid IDs, meaning [Base64URL](https://www.base64url.com/).
|
|
32
|
-
* (See also [Wikipedia](https://en.wikipedia.org/wiki/Base64#Variants_summary_table).)
|
|
33
|
-
* If a generated ID is not valid, an error is thrown.
|
|
34
|
-
*/
|
|
35
|
-
export declare const checkValidId: (idGen: IdGenerator) => IdGenerator;
|
|
36
|
-
/**
|
|
37
|
-
* Type definition for transformers of {@link IdGenerator ID generators}.
|
|
38
|
-
*/
|
|
39
|
-
export type IdGenTransformer = (idGen: IdGenerator) => IdGenerator;
|
|
40
|
-
/**
|
|
41
|
-
* Wraps the given ("initial") {@link IdGenerator ID generator}
|
|
42
|
-
* with the given {@link IdGenTransformer ID generator transformers}.
|
|
43
|
-
* In other words:
|
|
44
|
-
*
|
|
45
|
-
* wrap(idGen, trafo1, trafo2, ..., trafoN) === trafoN(...trafo2(trafo1(idGen)))
|
|
46
|
-
*/
|
|
47
|
-
export declare const wrapIdGen: (idGen: IdGenerator, ...idGenTransformers: IdGenTransformer[]) => IdGenerator;
|
|
48
|
-
/**
|
|
49
|
-
* Wraps the given ("initial") {@link IdGenerator ID generator} with all
|
|
50
|
-
* {@link IdGenTransformer ID generator checkers} defined above.
|
|
51
|
-
*/
|
|
52
|
-
export declare const checkAll: (idGen: IdGenerator) => IdGenerator;
|
|
53
|
-
export {};
|
|
54
7
|
//# sourceMappingURL=id-generation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id-generation.d.ts","sourceRoot":"","sources":["../src/id-generation.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"id-generation.d.ts","sourceRoot":"","sources":["../src/id-generation.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;AAExC;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,CAAA"}
|
package/dist/id-generation.js
CHANGED
|
@@ -1,76 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* ID generator that produces sequential IDs:
|
|
3
|
-
* `"1"`, `"2"`, `"3"`, …
|
|
4
|
-
*/
|
|
5
|
-
export const sequentialIdGen = () => {
|
|
6
|
-
let num = 0;
|
|
7
|
-
return () => `${++num}`;
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Augments the given {@link IdGenerator ID generator} by checking
|
|
11
|
-
* whether it's been given unique {@link GenData data},
|
|
12
|
-
* throwing an error when not.
|
|
13
|
-
*/
|
|
14
|
-
export const checkUniqueData = (idGen) => {
|
|
15
|
-
const datas = [];
|
|
16
|
-
return (data) => {
|
|
17
|
-
if (datas.indexOf(data) > -1) {
|
|
18
|
-
throw new Error(`duplicate data encountered: "${data}"`);
|
|
19
|
-
}
|
|
20
|
-
datas.push(data);
|
|
21
|
-
return idGen(data);
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
/**
|
|
25
|
-
* Augments the given {@link IdGenerator ID generator} by checking
|
|
26
|
-
* whether it's been given defined ({@code !== undefined}) data,
|
|
27
|
-
* throwing an error when not.
|
|
28
|
-
*/
|
|
29
|
-
export const checkDefinedData = (idGen) => (data) => {
|
|
30
|
-
if (data === undefined) {
|
|
31
|
-
throw new Error(`expected data`);
|
|
32
|
-
}
|
|
33
|
-
return idGen(data);
|
|
34
|
-
};
|
|
35
|
-
/**
|
|
36
|
-
* Augments the given {@link IdGenerator ID generator} by checking
|
|
37
|
-
* whether that returns unique IDs, throwing an error when not.
|
|
38
|
-
*/
|
|
39
|
-
export const checkUniqueId = (idGen) => {
|
|
40
|
-
const ids = [];
|
|
41
|
-
return (data) => {
|
|
42
|
-
const id = idGen(data);
|
|
43
|
-
if (ids.indexOf(id) > -1) {
|
|
44
|
-
throw new Error(`duplicate ID generated: "${id}"`);
|
|
45
|
-
}
|
|
46
|
-
ids.push(id);
|
|
47
|
-
return id;
|
|
48
|
-
};
|
|
49
|
-
};
|
|
50
|
-
/**
|
|
51
|
-
* Augments the given {@link IdGenerator ID generator} by checking
|
|
52
|
-
* whether it returns valid IDs, meaning [Base64URL](https://www.base64url.com/).
|
|
53
|
-
* (See also [Wikipedia](https://en.wikipedia.org/wiki/Base64#Variants_summary_table).)
|
|
54
|
-
* If a generated ID is not valid, an error is thrown.
|
|
55
|
-
*/
|
|
56
|
-
export const checkValidId = (idGen) => (data) => {
|
|
57
|
-
const id = idGen(data);
|
|
58
|
-
if (!id.match(/^[A-Za-z0-9_-]+$/)) {
|
|
59
|
-
throw new Error(`generated ID is not valid: ${id}`);
|
|
60
|
-
}
|
|
61
|
-
return id;
|
|
62
|
-
};
|
|
63
|
-
/**
|
|
64
|
-
* Wraps the given ("initial") {@link IdGenerator ID generator}
|
|
65
|
-
* with the given {@link IdGenTransformer ID generator transformers}.
|
|
66
|
-
* In other words:
|
|
67
|
-
*
|
|
68
|
-
* wrap(idGen, trafo1, trafo2, ..., trafoN) === trafoN(...trafo2(trafo1(idGen)))
|
|
69
|
-
*/
|
|
70
|
-
export const wrapIdGen = (idGen, ...idGenTransformers) => idGenTransformers.reduce((acc, current) => current(acc), idGen);
|
|
71
|
-
/**
|
|
72
|
-
* Wraps the given ("initial") {@link IdGenerator ID generator} with all
|
|
73
|
-
* {@link IdGenTransformer ID generator checkers} defined above.
|
|
74
|
-
*/
|
|
75
|
-
export const checkAll = (idGen) => wrapIdGen(idGen, checkDefinedData, checkUniqueData, checkValidId, checkUniqueId);
|
|
1
|
+
export {};
|
|
76
2
|
//# sourceMappingURL=id-generation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id-generation.js","sourceRoot":"","sources":["../src/id-generation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"id-generation.js","sourceRoot":"","sources":["../src/id-generation.ts"],"names":[],"mappings":""}
|
package/dist/m3/builtins.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ declare const builtinPrimitives: {
|
|
|
12
12
|
};
|
|
13
13
|
declare const builtinClassifiers: {
|
|
14
14
|
node: import("./types.js").Concept;
|
|
15
|
-
inamed: import("./types.js").
|
|
15
|
+
inamed: import("./types.js").Interface;
|
|
16
16
|
};
|
|
17
17
|
declare const builtinFeatures: {
|
|
18
18
|
inamed_name: Property;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../src/m3/builtins.ts"],"names":[],"mappings":"AACA,OAAO,EAAgD,QAAQ,EAAC,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../src/m3/builtins.ts"],"names":[],"mappings":"AACA,OAAO,EAAgD,QAAQ,EAAC,MAAM,YAAY,CAAA;AAYlF;;GAEG;AACH,QAAA,MAAM,gBAAgB,+BAAmB,CAAA;AA8BzC,KAAK,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;AAE5F,QAAA,MAAM,iBAAiB;;;;;CAKtB,CAAA;AAED,QAAA,MAAM,kBAAkB;;;CAGvB,CAAA;AAED,QAAA,MAAM,eAAe;;CAEpB,CAAA;AAGD,QAAA,MAAM,gBAAgB,UAAW,gBAAgB,KAAG,MAcnD,CAAA;AAGD,QAAA,MAAM,kBAAkB,UAAW,MAAM,GAAG,SAAS,YAAY,QAAQ,KAAG,gBAAgB,GAAG,SAgB9F,CAAA;AAGD,YAAY,EACR,gBAAgB,EACnB,CAAA;AAED,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EACrB,CAAA"}
|
package/dist/m3/builtins.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { LanguageFactory } from "./factory.js";
|
|
2
2
|
import { lioncoreBuiltinsQName, lioncoreQNameSeparator } from "./types.js";
|
|
3
3
|
import { qualifiedNameBasedKeyGenerator } from "./key-generation.js";
|
|
4
|
-
import { checkAll } from "../id-generation.js";
|
|
5
4
|
import { currentReleaseVersion } from "../version.js";
|
|
6
|
-
const factory = new LanguageFactory(lioncoreBuiltinsQName, currentReleaseVersion,
|
|
5
|
+
const factory = new LanguageFactory(lioncoreBuiltinsQName, currentReleaseVersion, (qualifiedName) => qualifiedName, qualifiedNameBasedKeyGenerator(lioncoreQNameSeparator));
|
|
7
6
|
/**
|
|
8
7
|
* Definition of a LionCore language that serves as a standard library of built-in primitive types.
|
|
9
8
|
*/
|
|
@@ -13,7 +12,7 @@ const booleanDatatype = factory.primitiveType("Boolean");
|
|
|
13
12
|
const integerDatatype = factory.primitiveType("Integer");
|
|
14
13
|
const jsonDatatype = factory.primitiveType("JSON");
|
|
15
14
|
const node = factory.concept("Node", true);
|
|
16
|
-
const inamed = factory.
|
|
15
|
+
const inamed = factory.interface("INamed");
|
|
17
16
|
const inamed_name = factory.property(inamed, "name")
|
|
18
17
|
.ofType(stringDatatype);
|
|
19
18
|
inamed.havingFeatures(inamed_name);
|
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,EAAC,qBAAqB,EAAE,sBAAsB,EAAW,MAAM,YAAY,CAAA;AAClF,OAAO,EAAC,8BAA8B,EAAC,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../src/m3/builtins.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraints.d.ts","sourceRoot":"","sources":["../../src/m3/constraints.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"constraints.d.ts","sourceRoot":"","sources":["../../src/m3/constraints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,QAAQ,EAAE,SAAS,EAAC,MAAM,YAAY,CAAA;AAKpE;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG;IAChB,QAAQ,EAAE,SAAS,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,SAAS,EAAE,CAAA;CAC3B,CAAA;AAID;;;GAGG;AACH,eAAO,MAAM,cAAc,aAAc,QAAQ,KAAG,KAAK,EA6CpD,CAAA"}
|
package/dist/m3/constraints.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Classifier, isINamed } from "./types.js";
|
|
2
2
|
import { flatMap, inheritedCycleWith, keyOf, namedsOf, qualifiedNameOf } from "./functions.js";
|
|
3
3
|
import { duplicatesAmong } from "../utils/grouping.js";
|
|
4
4
|
// TODO back this type with an M2
|
|
@@ -16,15 +16,17 @@ export const issuesLanguage = (language) => [
|
|
|
16
16
|
secondaries: secondaries ?? []
|
|
17
17
|
});
|
|
18
18
|
};
|
|
19
|
-
if (t instanceof
|
|
19
|
+
if (t instanceof Classifier) {
|
|
20
20
|
const cycle = inheritedCycleWith(t);
|
|
21
21
|
if (cycle.length > 0) {
|
|
22
22
|
issue(`A ${t.constructor.name} can't inherit (directly or indirectly) from itself, but ${qualifiedNameOf(t)} does so through the following cycle: ${cycle.map((t) => qualifiedNameOf(t)).join(" -> ")}`);
|
|
23
|
+
// TODO check whether it needs to be "a" or "an", or just say "An instance of ..."
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
26
|
if (isINamed(t)) {
|
|
26
27
|
if (t.name.trim().length === 0) {
|
|
27
28
|
issue(`A ${t.constructor.name} must have a non-whitespace name`);
|
|
29
|
+
// TODO same as above
|
|
28
30
|
}
|
|
29
31
|
}
|
|
30
32
|
return issues;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraints.js","sourceRoot":"","sources":["../../src/m3/constraints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"constraints.js","sourceRoot":"","sources":["../../src/m3/constraints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,QAAQ,EAAsB,MAAM,YAAY,CAAA;AACpE,OAAO,EAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAC,MAAM,gBAAgB,CAAA;AAC5F,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAA;AAYpD,kCAAkC;AAGlC;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAkB,EAAW,EAAE,CAC1D;IACI,GAAG,OAAO,CACN,QAAQ,EACR,CAAC,CAAC,EAAE,EAAE;QAEF,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,KAAK,GAAG,CAAC,OAAe,EAAE,WAAyB,EAAQ,EAAE;YAC/D,MAAM,CAAC,IAAI,CAAC;gBACR,QAAQ,EAAE,CAAC;gBACX,OAAO;gBACP,WAAW,EAAE,WAAW,IAAI,EAAE;aACjC,CAAC,CAAA;QACN,CAAC,CAAA;QAED,IAAI,CAAC,YAAY,UAAU,EAAE;YACzB,MAAM,KAAK,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;YACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClB,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,4DAA4D,eAAe,CAAC,CAAC,CAAC,yCAAyC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBACpM,mFAAmF;aAC1F;SACJ;QAED,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;YACb,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC5B,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,kCAAkC,CAAC,CAAA;gBAC5D,sBAAsB;aAC7B;SACJ;QAED,OAAO,MAAM,CAAA;IACjB,CAAC,CACJ;IACD,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;SACxD,OAAO,CACJ,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CACjB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,0DAA0D,GAAG,0BAA0B,EAAE,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,CAC/K,CACJ;IACL,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAC;SAClE,OAAO,CACJ,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CACjB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,0DAA0D,GAAG,0BAA0B,EAAE,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,CAC/K,CACJ;CACR,CAAA;AAGL,mFAAmF;AACnF,qCAAqC;AACrC,mDAAmD"}
|
package/dist/m3/facade.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { updateSettingsNameBased } from "../facade.js";
|
|
2
|
-
import { Concept,
|
|
2
|
+
import { 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
5
|
import { classBasedClassifierDeducerFor, qualifiedNameOf } from "./functions.js";
|
|
@@ -21,8 +21,8 @@ export const lioncoreInstantiationFacadeWithKeyGen = (keyGen) => ({
|
|
|
21
21
|
switch (classifier.key) {
|
|
22
22
|
case metaConcepts.concept.key:
|
|
23
23
|
return new Concept(parent, propertySettings[inamed_name.key], "", id, propertySettings[metaFeatures.concept_abstract.key]).keyed(keyGen);
|
|
24
|
-
case metaConcepts.
|
|
25
|
-
return new
|
|
24
|
+
case metaConcepts.interface.key:
|
|
25
|
+
return new Interface(parent, propertySettings[inamed_name.key], "", id).keyed(keyGen);
|
|
26
26
|
case metaConcepts.containment.key:
|
|
27
27
|
return new Containment(parent, propertySettings[inamed_name.key], "", id).keyed(keyGen);
|
|
28
28
|
case metaConcepts.enumeration.key:
|
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,EAEH,OAAO,EACP,
|
|
1
|
+
{"version":3,"file":"facade.js","sourceRoot":"","sources":["../../src/m3/facade.ts"],"names":[],"mappings":"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"}
|
package/dist/m3/factory.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Annotation, Classifier, Concept,
|
|
1
|
+
import { Annotation, Classifier, Concept, Containment, Enumeration, EnumerationLiteral, Interface, Language, PrimitiveType, Property, Reference } from "./types.js";
|
|
2
2
|
import { SingleRef } from "../references.js";
|
|
3
3
|
import { IdGenerator } from "../id-generation.js";
|
|
4
4
|
import { KeyGenerator } from "./key-generation.js";
|
|
@@ -15,7 +15,7 @@ export declare class LanguageFactory {
|
|
|
15
15
|
constructor(name: string, version: string, id: IdGenerator, key?: KeyGenerator);
|
|
16
16
|
annotation(name: string, extends_?: SingleRef<Annotation>): Annotation;
|
|
17
17
|
concept(name: string, abstract: boolean, extends_?: SingleRef<Concept>): Concept;
|
|
18
|
-
|
|
18
|
+
interface(name: string): Interface;
|
|
19
19
|
enumeration(name: string): Enumeration;
|
|
20
20
|
primitiveType(name: string): PrimitiveType;
|
|
21
21
|
containment(classifier: Classifier, name: string): Containment;
|
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,
|
|
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,EAER,aAAa,EACb,QAAQ,EACR,SAAS,EACZ,MAAM,YAAY,CAAA;AACnB,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAC,YAAY,EAAqB,MAAM,qBAAqB,CAAA;AAUpE;;;;;GAKG;AACH,qBAAa,eAAe;IAExB,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;gBAEf,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,GAAE,YAAiC;IAUlG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC;IAIzD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC;IAItE,SAAS,CAAC,IAAI,EAAE,MAAM;IAItB,WAAW,CAAC,IAAI,EAAE,MAAM;IAIxB,aAAa,CAAC,IAAI,EAAE,MAAM;IAK1B,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM;IAIhD,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM;IAI7C,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM;IAK9C,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM;CAI5D"}
|
package/dist/m3/factory.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Annotation, Concept,
|
|
1
|
+
import { Annotation, Concept, Containment, Enumeration, EnumerationLiteral, Interface, Language, lioncoreQNameSeparator, PrimitiveType, Property, Reference } from "./types.js";
|
|
2
2
|
import { qualifiedNameOf } from "./functions.js";
|
|
3
3
|
import { nameIsKeyGenerator } from "./key-generation.js";
|
|
4
4
|
const concat = (...names) => names.join(lioncoreQNameSeparator);
|
|
@@ -23,8 +23,8 @@ export class LanguageFactory {
|
|
|
23
23
|
concept(name, abstract, extends_) {
|
|
24
24
|
return new Concept(this.language, name, unkeyed, this.id(concat(this.language.name, name)), abstract, extends_).keyed(this.key);
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
return new
|
|
26
|
+
interface(name) {
|
|
27
|
+
return new Interface(this.language, name, unkeyed, this.id(concat(this.language.name, name))).keyed(this.key);
|
|
28
28
|
}
|
|
29
29
|
enumeration(name) {
|
|
30
30
|
return new Enumeration(this.language, name, unkeyed, this.id(concat(this.language.name, name))).keyed(this.key);
|
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,
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/m3/factory.ts"],"names":[],"mappings":"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"}
|
package/dist/m3/functions.d.ts
CHANGED
|
@@ -37,9 +37,13 @@ declare const containeds: (thing: M3Concept) => M3Concept[];
|
|
|
37
37
|
*/
|
|
38
38
|
declare const flatMap: <T>(language: Language, map: (t: M3Concept) => T[]) => T[];
|
|
39
39
|
/**
|
|
40
|
-
* @return the name of the given {@link INamed named thing}.
|
|
40
|
+
* @return string the name of the given {@link INamed named thing}.
|
|
41
41
|
*/
|
|
42
42
|
declare const nameOf: <T extends INamed>({ name }: T) => string;
|
|
43
|
+
/**
|
|
44
|
+
* @return the given named things sorted by name
|
|
45
|
+
*/
|
|
46
|
+
export declare const nameSorted: <T extends INamed>(ts: T[]) => T[];
|
|
43
47
|
/**
|
|
44
48
|
* @return the concatenation of the names of the given nodes using the given separator.
|
|
45
49
|
*/
|
|
@@ -76,12 +80,11 @@ declare const isConcrete: (thing: LanguageEntity) => thing is ConcreteClassifier
|
|
|
76
80
|
*/
|
|
77
81
|
declare const inheritedCycleWith: (classifier: Classifier) => Classifier[];
|
|
78
82
|
/**
|
|
79
|
-
* @return *all* super types (through `extends` or `implements`) of the given
|
|
80
|
-
* {@link Concept concept} or {@link ConceptInterface concept interface}.
|
|
83
|
+
* @return *all* super types (through `extends` or `implements`) of the given {@link Classifier classifier}.
|
|
81
84
|
*/
|
|
82
85
|
declare const allSuperTypesOf: (classifier: Classifier) => Classifier[];
|
|
83
86
|
/**
|
|
84
|
-
* @return *all* {@link Feature features} of the given {@link
|
|
87
|
+
* @return *all* {@link Feature features} of the given {@link Classifier classifier},
|
|
85
88
|
* including the inherited ones.
|
|
86
89
|
*/
|
|
87
90
|
declare const allFeaturesOf: (classifier: Classifier) => Feature[];
|
|
@@ -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,
|
|
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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Various functions on M3 models.
|
|
3
3
|
*/
|
|
4
|
-
import { Annotation, Classifier, Concept,
|
|
4
|
+
import { Annotation, Classifier, Concept, Containment, Enumeration, Interface, isINamed, Language, Link, Property, Reference } from "./types.js";
|
|
5
5
|
import { isRef } from "../references.js";
|
|
6
6
|
import { sortByStringKey } from "../utils/sorting.js";
|
|
7
7
|
import { cycleWith } from "../utils/cycles.js";
|
|
@@ -56,9 +56,13 @@ const containeds = (thing) => {
|
|
|
56
56
|
*/
|
|
57
57
|
const flatMap = (language, map) => flatMapNonCyclingFollowing(map, containeds)(language);
|
|
58
58
|
/**
|
|
59
|
-
* @return the name of the given {@link INamed named thing}.
|
|
59
|
+
* @return string the name of the given {@link INamed named thing}.
|
|
60
60
|
*/
|
|
61
61
|
const nameOf = ({ name }) => name;
|
|
62
|
+
/**
|
|
63
|
+
* @return the given named things sorted by name
|
|
64
|
+
*/
|
|
65
|
+
export const nameSorted = (ts) => sortByStringKey(ts, nameOf);
|
|
62
66
|
/**
|
|
63
67
|
* @return the concatenation of the names of the given nodes using the given separator.
|
|
64
68
|
*/
|
|
@@ -102,7 +106,7 @@ const inheritsFrom = (classifier) => {
|
|
|
102
106
|
...classifier.implements
|
|
103
107
|
];
|
|
104
108
|
}
|
|
105
|
-
if (classifier instanceof
|
|
109
|
+
if (classifier instanceof Interface) {
|
|
106
110
|
return classifier.extends;
|
|
107
111
|
}
|
|
108
112
|
throw new Error(`concept type ${typeof classifier} not handled`);
|
|
@@ -112,12 +116,11 @@ const inheritsFrom = (classifier) => {
|
|
|
112
116
|
*/
|
|
113
117
|
const inheritedCycleWith = (classifier) => cycleWith(classifier, inheritsFrom);
|
|
114
118
|
/**
|
|
115
|
-
* @return *all* super types (through `extends` or `implements`) of the given
|
|
116
|
-
* {@link Concept concept} or {@link ConceptInterface concept interface}.
|
|
119
|
+
* @return *all* super types (through `extends` or `implements`) of the given {@link Classifier classifier}.
|
|
117
120
|
*/
|
|
118
121
|
const allSuperTypesOf = (classifier) => flatMapNonCyclingFollowing(inheritsFrom, inheritsFrom)(classifier);
|
|
119
122
|
/**
|
|
120
|
-
* @return *all* {@link Feature features} of the given {@link
|
|
123
|
+
* @return *all* {@link Feature features} of the given {@link Classifier classifier},
|
|
121
124
|
* including the inherited ones.
|
|
122
125
|
*/
|
|
123
126
|
const allFeaturesOf = (classifier) => flatMapNonCyclingFollowing((ci) => ci.features, inheritsFrom)(classifier);
|
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,
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/m3/functions.ts"],"names":[],"mappings":"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"}
|
package/dist/m3/index.d.ts
CHANGED
package/dist/m3/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/m3/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/m3/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA"}
|
package/dist/m3/index.js
CHANGED
package/dist/m3/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/m3/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/m3/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA"}
|
package/dist/m3/lioncore.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export declare const lioncore: import("./types.js").Language;
|
|
|
6
6
|
export declare const metaConcepts: {
|
|
7
7
|
annotation: import("./types.js").Concept;
|
|
8
8
|
concept: import("./types.js").Concept;
|
|
9
|
-
|
|
9
|
+
interface: import("./types.js").Concept;
|
|
10
10
|
containment: import("./types.js").Concept;
|
|
11
11
|
enumeration: import("./types.js").Concept;
|
|
12
12
|
enumerationLiteral: import("./types.js").Concept;
|
|
@@ -24,7 +24,7 @@ export declare const metaFeatures: {
|
|
|
24
24
|
concept_partition: import("./types.js").Property;
|
|
25
25
|
concept_extends: import("./types.js").Reference;
|
|
26
26
|
concept_implements: import("./types.js").Reference;
|
|
27
|
-
|
|
27
|
+
interface_extends: import("./types.js").Reference;
|
|
28
28
|
enumeration_literals: import("./types.js").Containment;
|
|
29
29
|
feature_optional: import("./types.js").Property;
|
|
30
30
|
ikeyed_key: import("./types.js").Property;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lioncore.d.ts","sourceRoot":"","sources":["../../src/m3/lioncore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lioncore.d.ts","sourceRoot":"","sources":["../../src/m3/lioncore.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,aAAa,gBAAgB,CAAA;AA6BnC;;GAEG;AACH,eAAO,MAAM,QAAQ,+BAA4C,CAAA;AAsMjE,eAAO,MAAM,YAAY;;;;;;;;;;;CAWxB,CAAA;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;CAmBxB,CAAA;AAED,OAAO,EAAC,aAAa,EAAC,CAAA"}
|
package/dist/m3/lioncore.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { LanguageFactory } from "./factory.js";
|
|
2
2
|
import { builtinClassifiers, builtinPrimitives } from "./builtins.js";
|
|
3
3
|
import { Classifier, EnumerationLiteral, Feature, lioncoreQNameSeparator } from "./types.js";
|
|
4
|
-
import { checkAll } from "../id-generation.js";
|
|
5
4
|
import { currentReleaseVersion } from "../version.js";
|
|
6
5
|
const lioncoreQName = "LionCore-M3";
|
|
7
|
-
const factory = new LanguageFactory("LionCore.M3", currentReleaseVersion,
|
|
6
|
+
const factory = new LanguageFactory("LionCore.M3", currentReleaseVersion, (qualifiedName) => "-id-" +
|
|
8
7
|
(qualifiedName === "LionCore.M3"
|
|
9
8
|
? lioncoreQName
|
|
10
9
|
: qualifiedName
|
|
11
10
|
.substring(lioncoreQName.length + 1)
|
|
12
|
-
.replaceAll(".", lioncoreQNameSeparator))
|
|
11
|
+
.replaceAll(".", lioncoreQNameSeparator)), (node) => {
|
|
13
12
|
if (node instanceof Classifier) {
|
|
14
13
|
return node.name;
|
|
15
14
|
}
|
|
@@ -27,7 +26,7 @@ const factory = new LanguageFactory("LionCore.M3", currentReleaseVersion, checkA
|
|
|
27
26
|
export const lioncore = factory.language.havingKey("LionCore-M3");
|
|
28
27
|
const { inamed } = builtinClassifiers;
|
|
29
28
|
const { booleanDatatype, stringDatatype } = builtinPrimitives;
|
|
30
|
-
const ikeyed = factory.
|
|
29
|
+
const ikeyed = factory.interface("IKeyed")
|
|
31
30
|
.extending(inamed);
|
|
32
31
|
const ikeyed_key = factory.property(ikeyed, "key")
|
|
33
32
|
.ofType(stringDatatype);
|
|
@@ -81,14 +80,14 @@ const concept_implements = factory.reference(concept, "implements")
|
|
|
81
80
|
.isOptional()
|
|
82
81
|
.isMultiple();
|
|
83
82
|
concept.havingFeatures(concept_abstract, concept_partition, concept_extends, concept_implements);
|
|
84
|
-
const
|
|
85
|
-
const
|
|
83
|
+
const interface_ = factory.concept("Interface", false, classifier);
|
|
84
|
+
const interface_extends = factory.reference(interface_, "extends")
|
|
86
85
|
.isOptional()
|
|
87
86
|
.isMultiple()
|
|
88
|
-
.ofType(
|
|
89
|
-
|
|
90
|
-
annotation_implements.ofType(
|
|
91
|
-
concept_implements.ofType(
|
|
87
|
+
.ofType(interface_);
|
|
88
|
+
interface_.havingFeatures(interface_extends);
|
|
89
|
+
annotation_implements.ofType(interface_);
|
|
90
|
+
concept_implements.ofType(interface_);
|
|
92
91
|
const dataType = factory.concept("DataType", true, languageEntity);
|
|
93
92
|
property_type.ofType(dataType);
|
|
94
93
|
const primitiveType = factory.concept("PrimitiveType", false, dataType);
|
|
@@ -114,11 +113,11 @@ const language_dependsOn = factory.reference(language, "dependsOn")
|
|
|
114
113
|
.isMultiple()
|
|
115
114
|
.ofType(language);
|
|
116
115
|
language.havingFeatures(language_version, language_entities, language_dependsOn);
|
|
117
|
-
lioncore.havingEntities(ikeyed, feature, property, link, containment, reference, languageEntity, classifier, annotation, concept,
|
|
116
|
+
lioncore.havingEntities(ikeyed, feature, property, link, containment, reference, languageEntity, classifier, annotation, concept, interface_, dataType, primitiveType, enumeration, enumerationLiteral, language);
|
|
118
117
|
export const metaConcepts = {
|
|
119
118
|
annotation,
|
|
120
119
|
concept,
|
|
121
|
-
|
|
120
|
+
interface: interface_,
|
|
122
121
|
containment,
|
|
123
122
|
enumeration,
|
|
124
123
|
enumerationLiteral,
|
|
@@ -136,7 +135,7 @@ export const metaFeatures = {
|
|
|
136
135
|
concept_partition,
|
|
137
136
|
concept_extends,
|
|
138
137
|
concept_implements,
|
|
139
|
-
|
|
138
|
+
interface_extends,
|
|
140
139
|
enumeration_literals,
|
|
141
140
|
feature_optional,
|
|
142
141
|
ikeyed_key,
|
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,eAAe,EAAC,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAC,kBAAkB,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAA;AACnE,OAAO,EAAC,UAAU,EAAE,kBAAkB,EAAE,OAAO,EAAE,sBAAsB,EAAC,MAAM,YAAY,CAAA;AAC1F,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"lioncore.js","sourceRoot":"","sources":["../../src/m3/lioncore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAC,kBAAkB,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAA;AACnE,OAAO,EAAC,UAAU,EAAE,kBAAkB,EAAE,OAAO,EAAE,sBAAsB,EAAC,MAAM,YAAY,CAAA;AAC1F,OAAO,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAA;AAGnD,MAAM,aAAa,GAAG,aAAa,CAAA;AAGnC,MAAM,OAAO,GAAG,IAAI,eAAe,CAC/B,aAAa,EACb,qBAAqB,EACrB,CAAC,aAAa,EAAE,EAAE,CACd,MAAM;IACF,CAAC,aAAa,KAAK,aAAa;QAC5B,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,aAAc;aACX,SAAS,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;aACnC,UAAU,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAC/C,EACT,CAAC,IAAI,EAAE,EAAE;IACL,IAAI,IAAI,YAAY,UAAU,EAAE;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAA;KACnB;IACD,IAAI,IAAI,YAAY,kBAAkB,EAAE;QACpC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAA;KACjD;IACD,IAAI,IAAI,YAAY,OAAO,EAAE;QACzB,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAA;KAChD;IACD,MAAM,KAAK,CAAC,gCAAgC,IAAI,CAAC,IAAI,sBAAsB,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAA;AACxG,CAAC,CACJ,CAAA;AAGD;;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;AAE3B,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;AAGjC,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;AAE5B,OAAO,CAAC,cAAc,CAClB,gBAAgB,CACnB,CAAA;AAGD,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;AAEzD,QAAQ,CAAC,cAAc,CACnB,aAAa,CAChB,CAAA;AAGD,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;AAEjD,IAAI,CAAC,cAAc,CACf,aAAa,EACb,SAAS,CACZ,CAAA;AAGD,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,UAAU,CAAC,cAAc,CACrB,mBAAmB,CACtB,CAAA;AAED,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;AAG5B,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;AAEnE,MAAM,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;KAC/D,UAAU,EAAE;KACZ,MAAM,CAAC,eAAe,CAAC,CAAA;AAE5B,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;AAEjB,UAAU,CAAC,cAAc,CACrB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,CACxB,CAAA;AAGD,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;AAEjB,OAAO,CAAC,cAAc,CAClB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,CACrB,CAAA;AAGD,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,UAAU,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAA;AAE5C,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;AAEjB,WAAW,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAA;AAGhD,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;AAErB,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAA;AAGhF,QAAQ,CAAC,cAAc,CACnB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,SAAS,EACT,cAAc,EACd,UAAU,EACV,UAAU,EACV,OAAO,EACP,UAAU,EACV,QAAQ,EACR,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,QAAQ,CACX,CAAA;AAGD,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,aAAa,EAAC,CAAA"}
|
package/dist/m3/types.d.ts
CHANGED
|
@@ -68,22 +68,22 @@ declare class Concept extends Classifier {
|
|
|
68
68
|
abstract: boolean;
|
|
69
69
|
partition: boolean;
|
|
70
70
|
extends?: SingleRef<Concept>;
|
|
71
|
-
implements: MultiRef<
|
|
71
|
+
implements: MultiRef<Interface>;
|
|
72
72
|
constructor(language: Language, name: string, key: string, id: Id, abstract: boolean, extends_?: SingleRef<Concept>);
|
|
73
|
-
implementing(...
|
|
73
|
+
implementing(...interfaces: Interface[]): Concept;
|
|
74
74
|
isPartition(): Concept;
|
|
75
75
|
}
|
|
76
76
|
declare class Annotation extends Classifier {
|
|
77
77
|
multiple: boolean;
|
|
78
78
|
extends?: SingleRef<Annotation>;
|
|
79
|
-
implements: MultiRef<
|
|
79
|
+
implements: MultiRef<Interface>;
|
|
80
80
|
constructor(language: Language, name: string, key: string, id: Id, extends_?: SingleRef<Annotation>);
|
|
81
|
-
implementing(...
|
|
81
|
+
implementing(...interfaces: Interface[]): Annotation;
|
|
82
82
|
isMultiple(): Annotation;
|
|
83
83
|
}
|
|
84
|
-
declare class
|
|
85
|
-
extends: MultiRef<
|
|
86
|
-
extending(...
|
|
84
|
+
declare class Interface extends Classifier {
|
|
85
|
+
extends: MultiRef<Interface>;
|
|
86
|
+
extending(...interfaces: Interface[]): Interface;
|
|
87
87
|
}
|
|
88
88
|
declare abstract class Datatype extends LanguageEntity {
|
|
89
89
|
}
|
|
@@ -111,7 +111,7 @@ declare class Language extends M3Node {
|
|
|
111
111
|
* All the classes in this sum type extend (from) {@link M3Node},
|
|
112
112
|
* so they also implement {@link INamed} and {@link IKeyed}.
|
|
113
113
|
*/
|
|
114
|
-
type M3Concept = Annotation | Concept |
|
|
115
|
-
export { Annotation, Classifier, Concept,
|
|
114
|
+
type M3Concept = Annotation | Concept | Containment | Enumeration | EnumerationLiteral | Interface | Language | PrimitiveType | Property | Reference;
|
|
115
|
+
export { Annotation, Classifier, Concept, Containment, Datatype, Enumeration, EnumerationLiteral, Feature, Interface, Language, LanguageEntity, Link, PrimitiveType, Property, Reference, isINamed, isIKeyed, lioncoreBuiltinsQName, lioncoreQNameSeparator };
|
|
116
116
|
export type { IKeyed, INamed, M3Concept, M3Node };
|
|
117
117
|
//# 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,QAAQ,EAAE,SAAS,EAAa,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAC,EAAE,EAAE,IAAI,EAAC,MAAM,aAAa,CAAA;AACpC,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAA;AAGhD,QAAA,MAAM,sBAAsB,MAAM,CAAA;AAElC;;;GAGG;AACH,QAAA,MAAM,qBAAqB,sBAAsB,CAAA;AAOjD,UAAU,MAAO,SAAQ,IAAI;IACzB,IAAI,EAAE,MAAM,CAAA;CACf;AAED,QAAA,MAAM,QAAQ,SAAU,IAAI,mBACuB,CAAA;AAGnD,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;IACnC,MAAM,CAAC,EAAE,MAAM,CAAA;IAKf,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;IAKjB;;;OAGG;IACH,KAAK,CAAC,YAAY,EAAE,YAAY;CAKnC;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,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;CAC7B;AAED,cAAM,SAAU,SAAQ,IAAI;CAC3B;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;CAKxC;AAED,cAAM,OAAQ,SAAQ,UAAU;IAC5B,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC5B,UAAU,EAAE,QAAQ,CAAC,
|
|
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
|
@@ -106,9 +106,9 @@ class Concept extends Classifier {
|
|
|
106
106
|
this.extends = extends_;
|
|
107
107
|
this.partition = false;
|
|
108
108
|
}
|
|
109
|
-
implementing(...
|
|
110
|
-
// TODO check actual types of
|
|
111
|
-
this.implements.push(...
|
|
109
|
+
implementing(...interfaces) {
|
|
110
|
+
// TODO check actual types of interfaces, or use type shapes/interfaces
|
|
111
|
+
this.implements.push(...interfaces);
|
|
112
112
|
return this;
|
|
113
113
|
}
|
|
114
114
|
isPartition() {
|
|
@@ -123,9 +123,9 @@ class Annotation extends Classifier {
|
|
|
123
123
|
this.implements = []; // (reference)
|
|
124
124
|
this.extends = extends_;
|
|
125
125
|
}
|
|
126
|
-
implementing(...
|
|
127
|
-
// TODO check actual types of
|
|
128
|
-
this.implements.push(...
|
|
126
|
+
implementing(...interfaces) {
|
|
127
|
+
// TODO check actual types of interfaces, or use type shapes/interfaces
|
|
128
|
+
this.implements.push(...interfaces);
|
|
129
129
|
return this;
|
|
130
130
|
}
|
|
131
131
|
isMultiple() {
|
|
@@ -133,14 +133,14 @@ class Annotation extends Classifier {
|
|
|
133
133
|
return this;
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
|
-
class
|
|
136
|
+
class Interface extends Classifier {
|
|
137
137
|
constructor() {
|
|
138
138
|
super(...arguments);
|
|
139
139
|
this.extends = []; // (reference)
|
|
140
140
|
}
|
|
141
|
-
extending(...
|
|
142
|
-
// TODO check actual types of
|
|
143
|
-
this.extends.push(...
|
|
141
|
+
extending(...interfaces) {
|
|
142
|
+
// TODO check actual types of interfaces, or use type shapes/interfaces
|
|
143
|
+
this.extends.push(...interfaces);
|
|
144
144
|
return this;
|
|
145
145
|
}
|
|
146
146
|
}
|
|
@@ -192,5 +192,5 @@ class Language extends M3Node {
|
|
|
192
192
|
return this.key === that.key && this.version === that.version;
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
|
-
export { Annotation, Classifier, Concept,
|
|
195
|
+
export { Annotation, Classifier, Concept, Containment, Datatype, Enumeration, EnumerationLiteral, Feature, Interface, Language, LanguageEntity, Link, PrimitiveType, Property, Reference, isINamed, isIKeyed, lioncoreBuiltinsQName, lioncoreQNameSeparator };
|
|
196
196
|
//# sourceMappingURL=types.js.map
|
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/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"textual-syntax.d.ts","sourceRoot":"","sources":["../../src/m3/textual-syntax.ts"],"names":[],"mappings":"AAAA,OAAO,EAQH,MAAM,EAIT,MAAM,YAAY,CAAA;AAqBnB,QAAA,MAAM,MAAM,SAAU,MAAM,KAAG,MAwD9B,CAAA;AAGD,OAAO,EACH,MAAM,EACT,CAAA"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { Concept, ConceptInterface, Containment, Enumeration, EnumerationLiteral, Language, PrimitiveType, Property, Reference } from "./types.js";
|
|
2
|
-
import { nameOf } from "./functions.js";
|
|
3
|
-
import { sortByStringKey } from "../utils/sorting.js";
|
|
4
|
-
import { unresolved } from "../references.js";
|
|
5
|
-
// TODO use littoral-templates?
|
|
6
|
-
const indent = (str) => str.split("\n").map((line) => ` ${line}`).join("\n");
|
|
7
|
-
const nameSorted = (ts) => sortByStringKey(ts, nameOf);
|
|
8
|
-
const descent = (ts, separator) => nameSorted(ts).map((t) => indent(indent(asText(t)))).join(separator);
|
|
9
|
-
const refAsText = (ref) => ref === unresolved ? `???` : ref.name;
|
|
10
|
-
const asText = (node) => {
|
|
11
|
-
if (node instanceof Concept) {
|
|
12
|
-
return `${node.partition ? `<<partition>> ` : ``}${node.abstract ? `abstract ` : ``}concept ${node.name}${node.extends === undefined ? `` : ` extends ${refAsText(node.extends)}`}${node.implements.length === 0 ? `` : ` implements ${sortByStringKey(node.implements, nameOf).map(nameOf).join(", ")}`}${node.features.length === 0 ? `` : `
|
|
13
|
-
features (↓name):
|
|
14
|
-
${descent(node.features, "\n")}`}`;
|
|
15
|
-
}
|
|
16
|
-
if (node instanceof ConceptInterface) {
|
|
17
|
-
return `concept-interface ${node.name}${node.extends.length === 0 ? `` : ` extends ${sortByStringKey(node.extends, nameOf).map(nameOf).join(", ")}`}${node.features.length === 0 ? `` : `
|
|
18
|
-
features (↓name):
|
|
19
|
-
${descent(node.features, "\n")}`}`;
|
|
20
|
-
}
|
|
21
|
-
if (node instanceof Containment) {
|
|
22
|
-
return `${node.name}: ${refAsText(node.type)}${node.multiple ? `[${node.optional ? `0` : `1`}..*]` : ``}${node.optional && !node.multiple ? `?` : ``}`;
|
|
23
|
-
}
|
|
24
|
-
if (node instanceof Enumeration) {
|
|
25
|
-
return `enumeration ${node.name}${node.literals.length === 0 ? `` : `
|
|
26
|
-
literals:
|
|
27
|
-
${descent(node.literals, "\n")}`}`;
|
|
28
|
-
}
|
|
29
|
-
if (node instanceof EnumerationLiteral) {
|
|
30
|
-
return `${node.name}`;
|
|
31
|
-
}
|
|
32
|
-
if (node instanceof Language) {
|
|
33
|
-
return `language ${node.name}
|
|
34
|
-
version: ${node.version}${node.dependsOn.length > 0
|
|
35
|
-
? ` dependsOn:
|
|
36
|
-
${node.dependsOn.map((language) => ` ${language.key} (${language.version})`).join("\n")}
|
|
37
|
-
`
|
|
38
|
-
: ``}
|
|
39
|
-
entities (↓name):
|
|
40
|
-
|
|
41
|
-
${descent(node.entities, "\n\n")}
|
|
42
|
-
|
|
43
|
-
`;
|
|
44
|
-
}
|
|
45
|
-
if (node instanceof PrimitiveType) {
|
|
46
|
-
return `primitive type ${node.name}`;
|
|
47
|
-
}
|
|
48
|
-
if (node instanceof Property) {
|
|
49
|
-
return `${node.name}: ${refAsText(node.type)}${node.optional ? `?` : ``}`;
|
|
50
|
-
}
|
|
51
|
-
if (node instanceof Reference) {
|
|
52
|
-
return `${node.name} -> ${refAsText(node.type)}${node.multiple ? `[${node.optional ? `0` : `1`}..*]` : ``}${node.optional && !node.multiple ? `?` : ``}`;
|
|
53
|
-
}
|
|
54
|
-
return `node (key=${node.key}, ID=${node.id}) of class ${node.constructor.name} not handled`;
|
|
55
|
-
};
|
|
56
|
-
export { asText };
|
|
57
|
-
//# sourceMappingURL=textual-syntax.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"textual-syntax.js","sourceRoot":"","sources":["../../src/m3/textual-syntax.ts"],"names":[],"mappings":"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"}
|