@lionweb/core 0.5.0-beta.3 → 0.5.0-beta.6
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 +12 -5
- package/dist/m3/functions.d.ts.map +1 -1
- package/dist/m3/functions.js +16 -7
- 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` and an M3-function `conceptsOf`, 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":"AAAA,OAAO,EAAwC,uBAAuB,EAAC,MAAM,cAAc,CAAA;AAC3F,OAAO,EAEH,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,8BAA8B,EAAE,eAAe,EAAC,MAAM,gBAAgB,CAAA;AAC9E,OAAO,EAAe,kBAAkB,EAAC,MAAM,qBAAqB,CAAA;AAGpE,MAAM,EAAC,WAAW,EAAC,GAAG,eAAe,CAAA;AAGrC,MAAM,CAAC,MAAM,wBAAwB,GAAgC,CAAC;IAClE,YAAY,EAAE,8BAA8B,CAAC,QAAQ,CAAC;IACtD,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACvC,8DAA8D;IACrD,IAAY,CAAC,OAAO,CAAC,IAAI,CAAC;IAC/B,sBAAsB,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAoC;CAC7E,CAAC,CAAA;AAGF;;;GAGG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,MAAoB,EAAkC,EAAE,CAAC,CAAC;IAC5G,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE;QAClD,QAAQ,UAAU,CAAC,GAAG,EAAE;YACpB,KAAK,YAAY,CAAC,OAAO,CAAC,GAAG;gBACzB,OAAO,IAAI,OAAO,CAAC,MAAkB,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAW,EAAE,EAAE,EAAE,EAAE,EAAE,gBAAgB,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAY,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAC7K,KAAK,YAAY,CAAC,SAAS,CAAC,GAAG;gBAC3B,OAAO,IAAI,SAAS,CAAC,MAAkB,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAC/G,KAAK,YAAY,CAAC,WAAW,CAAC,GAAG;gBAC7B,OAAO,IAAI,WAAW,CAAC,MAAoB,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACnH,KAAK,YAAY,CAAC,WAAW,CAAC,GAAG;gBAC7B,OAAO,IAAI,WAAW,CAAC,MAAkB,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACjH,KAAK,YAAY,CAAC,kBAAkB,CAAC,GAAG;gBACpC,OAAO,IAAI,kBAAkB,CAAC,MAAqB,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAC3H,KAAK,YAAY,CAAC,QAAQ,CAAC,GAAG;gBAC1B,OAAO,IAAI,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAW,EAAE,gBAAgB,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAW,EAAE,EAAE,EAAE,gBAAgB,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAW,CAAC,CAAA;YAChM,KAAK,YAAY,CAAC,aAAa,CAAC,GAAG;gBAC/B,OAAO,IAAI,aAAa,CAAC,MAAkB,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACnH,KAAK,YAAY,CAAC,QAAQ,CAAC,GAAG;gBAC1B,OAAO,IAAI,QAAQ,CAAC,MAAoB,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAChH,KAAK,YAAY,CAAC,SAAS,CAAC,GAAG;gBAC3B,OAAO,IAAI,SAAS,CAAC,MAAoB,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACjH;gBACI,MAAM,IAAI,KAAK,CAAC,wCAAwC,eAAe,CAAC,UAAU,CAAC,eAAe,UAAU,CAAC,GAAG,GAAG,CAAC,CAAA;SAC3H;IACL,CAAC;IACD,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACtC,uBAAuB,CAAC,IAA0C,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACvF,CAAC;IACD,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO;CACnC,CAAC,CAAA;AAGF;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,qCAAqC,CAAC,kBAAkB,CAAC,CAAA"}
|
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[];
|
|
@@ -102,5 +105,9 @@ declare const nameBasedClassifierDeducerFor: (language: Language) => (name: stri
|
|
|
102
105
|
* the classifier in the given {@link Language language} by matching the node object's class name to classifiers' names.
|
|
103
106
|
*/
|
|
104
107
|
declare const classBasedClassifierDeducerFor: <NT extends Node>(language: Language) => ClassifierDeducer<NT>;
|
|
105
|
-
|
|
108
|
+
/**
|
|
109
|
+
* @return all {@link Concept concepts} defined in the given {@link Language language}.
|
|
110
|
+
*/
|
|
111
|
+
declare const conceptsOf: (language: Language) => Concept[];
|
|
112
|
+
export { allFeaturesOf, allSuperTypesOf, classBasedClassifierDeducerFor, concatenateNamesOf, conceptsOf, containeds, containmentChain, entitiesSortedByName, flatMap, idBasedClassifierDeducerFor, idOf, inheritedCycleWith, isConcrete, isContainment, isEnumeration, isProperty, isReference, keyOf, nameBasedClassifierDeducerFor, nameOf, namedsOf, nonRelationalFeatures, relations, relationsOf, type, qualifiedNameOf };
|
|
106
113
|
//# 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,
|
|
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);
|
|
@@ -141,5 +144,11 @@ const classBasedClassifierDeducerFor = (language) => {
|
|
|
141
144
|
const deducer = nameBasedClassifierDeducerFor(language);
|
|
142
145
|
return (node) => deducer(node.constructor.name);
|
|
143
146
|
};
|
|
144
|
-
|
|
147
|
+
/**
|
|
148
|
+
* @return all {@link Concept concepts} defined in the given {@link Language language}.
|
|
149
|
+
*/
|
|
150
|
+
const conceptsOf = (language) => language.entities
|
|
151
|
+
.filter((entity) => entity instanceof Concept)
|
|
152
|
+
.map((entity) => entity);
|
|
153
|
+
export { allFeaturesOf, allSuperTypesOf, classBasedClassifierDeducerFor, concatenateNamesOf, conceptsOf, containeds, containmentChain, entitiesSortedByName, flatMap, idBasedClassifierDeducerFor, idOf, inheritedCycleWith, isConcrete, isContainment, isEnumeration, isProperty, isReference, keyOf, nameBasedClassifierDeducerFor, nameOf, namedsOf, nonRelationalFeatures, relations, relationsOf, type, qualifiedNameOf };
|
|
145
154
|
//# 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,
|
|
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":"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"}
|
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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"}
|