@lionweb/core 0.7.0-beta.7 → 0.7.0-beta.8
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 +2 -1
- package/dist/m3/constraints.js +2 -2
- package/dist/m3/constraints.js.map +1 -1
- package/dist/m3/functions.d.ts +17 -1
- package/dist/m3/functions.d.ts.map +1 -1
- package/dist/m3/functions.js +21 -5
- package/dist/m3/functions.js.map +1 -1
- package/dist/symbol-table.d.ts.map +1 -1
- package/dist/symbol-table.js +1 -8
- package/dist/symbol-table.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -25,7 +25,8 @@
|
|
|
25
25
|
* Expose `classifier` and `ikeyed` through `metaConcepts`, and expose `lioncoreReader` and `lioncoreWriter` as well.
|
|
26
26
|
* Added a type parameter `PNT` to the `Writer` interface, which is the type for the parent node passed to the `.nodeFor(...)` method (as its first argument), and which equals the `NT` type parameter by default.
|
|
27
27
|
* Expose functions `areSameClassifiers` and `areSameLanguages` that compare two given classifiers, resp., languages by their meta-pointers.
|
|
28
|
-
|
|
28
|
+
* Rename `inheritsFrom` → `inheritsDirectlyFrom`, and `inheritedCycleWith` → `inheritanceCycleWith` for more naming clarity, keeping aliases for backward compatibility, to be deprecated and removed later.
|
|
29
|
+
* Add function `isPartition`.
|
|
29
30
|
|
|
30
31
|
## 0.6.12
|
|
31
32
|
|
package/dist/m3/constraints.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { duplicatesAmong } from "@lionweb/ts-utils";
|
|
2
2
|
import { idOf } from "../functions.js";
|
|
3
|
-
import { allContaineds, flatMap,
|
|
3
|
+
import { allContaineds, flatMap, inheritanceCycleWith, keyOf, namedsOf, qualifiedNameOf } from "./functions.js";
|
|
4
4
|
import { Classifier, isINamed, Language } from "./types.js";
|
|
5
5
|
// TODO back this type with an M2
|
|
6
6
|
const base64urlRegex = /^[A-Za-z0-9_-]+$/;
|
|
@@ -46,7 +46,7 @@ export const issuesLanguage = (language) => [
|
|
|
46
46
|
}
|
|
47
47
|
// The classifier should not inherit from itself (directly or indirectly)
|
|
48
48
|
if (t instanceof Classifier) {
|
|
49
|
-
const cycle =
|
|
49
|
+
const cycle = inheritanceCycleWith(t);
|
|
50
50
|
(cycle.length > 0) && 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(" -> ")}`);
|
|
51
51
|
// TODO check whether it needs to be "a" or "an", or just say "An instance of ..."
|
|
52
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraints.js","sourceRoot":"","sources":["../../src/m3/constraints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"constraints.js","sourceRoot":"","sources":["../../src/m3/constraints.ts"],"names":[],"mappings":"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"}
|
package/dist/m3/functions.d.ts
CHANGED
|
@@ -83,10 +83,26 @@ type ConcreteClassifier = Concept | Annotation;
|
|
|
83
83
|
* *concrete*, i.e. is instantiable.
|
|
84
84
|
*/
|
|
85
85
|
declare const isConcrete: (thing: LanguageEntity) => thing is ConcreteClassifier;
|
|
86
|
+
/**
|
|
87
|
+
* Determines whether the given {@link LanguageEntity metamodel element} is a {@link Concept concept}
|
|
88
|
+
* which is a partition.
|
|
89
|
+
*/
|
|
90
|
+
declare const isPartition: (thing: LanguageEntity) => thing is Concept;
|
|
91
|
+
/**
|
|
92
|
+
* @return an array of {@link Classifier classifiers} that it **directly** inherits from.
|
|
93
|
+
*/
|
|
94
|
+
declare const inheritsDirectlyFrom: (classifier: Classifier) => Classifier[];
|
|
95
|
+
/**
|
|
96
|
+
* Alias for {@link inheritsDirectlyFrom}, kept for backward compatibility, and to be deprecated and removed later.
|
|
97
|
+
*/
|
|
86
98
|
declare const inheritsFrom: (classifier: Classifier) => Classifier[];
|
|
87
99
|
/**
|
|
88
100
|
* @return an array that's either an inheritance cycle, or empty (meaning: no inheritance cycle).
|
|
89
101
|
*/
|
|
102
|
+
declare const inheritanceCycleWith: (classifier: Classifier) => Classifier[];
|
|
103
|
+
/**
|
|
104
|
+
* Alias for {@link inheritanceCycleWith}, kept for backward compatibility, and to be deprecated and removed later.
|
|
105
|
+
*/
|
|
90
106
|
declare const inheritedCycleWith: (classifier: Classifier) => Classifier[];
|
|
91
107
|
/**
|
|
92
108
|
* @return *all* super types (through `extends` or `implements`) of the given {@link Classifier classifier}.
|
|
@@ -137,6 +153,6 @@ declare const areSameClassifiers: (left: Classifier, right: Classifier) => boole
|
|
|
137
153
|
* @return whether the two given {@link Language languages} are the same (/identical by meta-pointer).
|
|
138
154
|
*/
|
|
139
155
|
declare const areSameLanguages: (left: Language, right: Language) => boolean;
|
|
140
|
-
export { allContaineds, allFeaturesOf, allSuperTypesOf, areSameClassifiers, areSameLanguages, classBasedClassifierDeducerFor, concatenateNamesOf, conceptsOf, containmentChain, directlyContaineds, featureMetaType, flatMap, idBasedClassifierDeducerFor, inheritedCycleWith, inheritsFrom, instantiableClassifiersOf, isConcrete, isContainment, isEnumeration, isMultiple, isProperty, isReference, keyOf, metaTypedBasedClassifierDeducerFor, nameBasedClassifierDeducerFor, nameOf, namedsOf, nonRelationalFeatures, relations, relationsOf, type, qualifiedNameOf };
|
|
156
|
+
export { allContaineds, allFeaturesOf, allSuperTypesOf, areSameClassifiers, areSameLanguages, classBasedClassifierDeducerFor, concatenateNamesOf, conceptsOf, containmentChain, directlyContaineds, featureMetaType, flatMap, idBasedClassifierDeducerFor, inheritanceCycleWith, inheritedCycleWith, inheritsFrom, inheritsDirectlyFrom, instantiableClassifiersOf, isConcrete, isContainment, isEnumeration, isMultiple, isPartition, isProperty, isReference, keyOf, metaTypedBasedClassifierDeducerFor, nameBasedClassifierDeducerFor, nameOf, namedsOf, nonRelationalFeatures, relations, relationsOf, type, qualifiedNameOf };
|
|
141
157
|
export type { FeatureMetaType };
|
|
142
158
|
//# 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,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAS,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EACH,UAAU,EACV,UAAU,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,WAAW,EACX,OAAO,EACP,MAAM,EACN,UAAU,EACV,MAAM,EAGN,QAAQ,EACR,cAAc,EACd,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,SAAS,EACZ,MAAM,YAAY,CAAA;AAGnB;;GAEG;AACH,QAAA,MAAM,IAAI,YAAa,OAAO,KAAG,UAAU,GAAG,QAAQ,GAAG,iBAClB,CAAA;AAGvC,QAAA,MAAM,UAAU,YAAa,OAAO,wBACL,CAAA;AAE/B,QAAA,MAAM,aAAa,YAAa,OAAO,2BACL,CAAA;AAElC,QAAA,MAAM,WAAW,YAAa,OAAO,yBACL,CAAA;AAEhC,QAAA,MAAM,UAAU,YAAa,OAAO,oBACW,CAAA;AAG/C;;GAEG;AACH,KAAK,eAAe,GACd,aAAa,GACb,UAAU,GACV,WAAW,CAAA;AAEjB;;GAEG;AACH,QAAA,MAAM,eAAe,YAAa,OAAO,KAAG,eAW3C,CAAA;AAUD;;GAEG;AACH,QAAA,MAAM,SAAS,aAAc,OAAO,EAAE,KAAG,IAAI,EACZ,CAAA;AAEjC;;GAEG;AACH,QAAA,MAAM,qBAAqB,aAAc,OAAO,EAAE,KAAG,OAAO,EACJ,CAAA;AAGxD;;GAEG;AACH,QAAA,MAAM,WAAW,YAAa,cAAc,KAAG,IAAI,EAGvC,CAAA;AAGZ;;;;;GAKG;AACH,QAAA,MAAM,kBAAkB,UAAW,SAAS,KAAG,SAAS,EAWvD,CAAA;AAGD;;;GAGG;AACH,QAAA,MAAM,aAAa,aAAc,QAAQ,KAAG,SAAS,EAKhD,CAAA;AAGL;;;GAGG;AACH,QAAA,MAAM,OAAO,gBAAiB,QAAQ,WAAW,SAAS,gBACO,CAAA;AAGjE;;GAEG;AACH,QAAA,MAAM,MAAM,qCAAkC,MACtC,CAAA;AAGR;;GAEG;AACH,eAAO,MAAM,UAAU,oCACQ,CAAA;AAG/B;;GAEG;AACH,QAAA,MAAM,kBAAkB,cAAe,MAAM,SAAS,SAAS,EAAE,KAAG,MAI5C,CAAA;AAGxB;;GAEG;AACH,QAAA,MAAM,eAAe,4DAAwD,MACK,CAAA;AAGlF;;;GAGG;AACH,QAAA,MAAM,QAAQ,aAAc,QAAQ,KAAG,SAAS,EACJ,CAAA;AAG5C;;GAEG;AACH,QAAA,MAAM,KAAK,oCAAiC,UACrC,CAAA;AAGP,KAAK,kBAAkB,GAAG,OAAO,GAAG,UAAU,CAAA;AAG9C;;;GAGG;AACH,QAAA,MAAM,UAAU,UAAW,cAAc,gCACyC,CAAA;AAElF,QAAA,MAAM,
|
|
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
|
@@ -113,7 +113,15 @@ const keyOf = ({ key }) => key;
|
|
|
113
113
|
* *concrete*, i.e. is instantiable.
|
|
114
114
|
*/
|
|
115
115
|
const isConcrete = (thing) => (thing instanceof Concept && !thing.abstract) || (thing instanceof Annotation);
|
|
116
|
-
|
|
116
|
+
/**
|
|
117
|
+
* Determines whether the given {@link LanguageEntity metamodel element} is a {@link Concept concept}
|
|
118
|
+
* which is a partition.
|
|
119
|
+
*/
|
|
120
|
+
const isPartition = (thing) => thing instanceof Concept && thing.partition;
|
|
121
|
+
/**
|
|
122
|
+
* @return an array of {@link Classifier classifiers} that it **directly** inherits from.
|
|
123
|
+
*/
|
|
124
|
+
const inheritsDirectlyFrom = (classifier) => {
|
|
117
125
|
if (classifier instanceof Concept || classifier instanceof Annotation) {
|
|
118
126
|
return [
|
|
119
127
|
...(isRef(classifier.extends)
|
|
@@ -127,19 +135,27 @@ const inheritsFrom = (classifier) => {
|
|
|
127
135
|
}
|
|
128
136
|
throw new Error(`classifier type ${typeof classifier} not handled`);
|
|
129
137
|
};
|
|
138
|
+
/**
|
|
139
|
+
* Alias for {@link inheritsDirectlyFrom}, kept for backward compatibility, and to be deprecated and removed later.
|
|
140
|
+
*/
|
|
141
|
+
const inheritsFrom = inheritsDirectlyFrom;
|
|
130
142
|
/**
|
|
131
143
|
* @return an array that's either an inheritance cycle, or empty (meaning: no inheritance cycle).
|
|
132
144
|
*/
|
|
133
|
-
const
|
|
145
|
+
const inheritanceCycleWith = (classifier) => cycleWith(classifier, inheritsDirectlyFrom);
|
|
146
|
+
/**
|
|
147
|
+
* Alias for {@link inheritanceCycleWith}, kept for backward compatibility, and to be deprecated and removed later.
|
|
148
|
+
*/
|
|
149
|
+
const inheritedCycleWith = inheritanceCycleWith;
|
|
134
150
|
/**
|
|
135
151
|
* @return *all* super types (through `extends` or `implements`) of the given {@link Classifier classifier}.
|
|
136
152
|
*/
|
|
137
|
-
const allSuperTypesOf = (classifier) => flatMapNonCyclingFollowing(
|
|
153
|
+
const allSuperTypesOf = (classifier) => flatMapNonCyclingFollowing(inheritsDirectlyFrom, inheritsDirectlyFrom)(classifier);
|
|
138
154
|
/**
|
|
139
155
|
* @return *all* {@link Feature features} of the given {@link Classifier classifier},
|
|
140
156
|
* including the inherited ones.
|
|
141
157
|
*/
|
|
142
|
-
const allFeaturesOf = (classifier) => flatMapNonCyclingFollowing((ci) => ci.features,
|
|
158
|
+
const allFeaturesOf = (classifier) => flatMapNonCyclingFollowing((ci) => ci.features, inheritsDirectlyFrom)(classifier);
|
|
143
159
|
/**
|
|
144
160
|
* Determines whether the given {@link LanguageEntity language element} is an {@link Enumeration enumeration}.
|
|
145
161
|
*/
|
|
@@ -183,5 +199,5 @@ const areSameClassifiers = (left, right) => (left === right) || (areSameLanguage
|
|
|
183
199
|
* @return whether the two given {@link Language languages} are the same (/identical by meta-pointer).
|
|
184
200
|
*/
|
|
185
201
|
const areSameLanguages = (left, right) => (left === right) || (left.key === right.key && left.version === right.version);
|
|
186
|
-
export { allContaineds, allFeaturesOf, allSuperTypesOf, areSameClassifiers, areSameLanguages, classBasedClassifierDeducerFor, concatenateNamesOf, conceptsOf, containmentChain, directlyContaineds, featureMetaType, flatMap, idBasedClassifierDeducerFor, inheritedCycleWith, inheritsFrom, instantiableClassifiersOf, isConcrete, isContainment, isEnumeration, isMultiple, isProperty, isReference, keyOf, metaTypedBasedClassifierDeducerFor, nameBasedClassifierDeducerFor, nameOf, namedsOf, nonRelationalFeatures, relations, relationsOf, type, qualifiedNameOf };
|
|
202
|
+
export { allContaineds, allFeaturesOf, allSuperTypesOf, areSameClassifiers, areSameLanguages, classBasedClassifierDeducerFor, concatenateNamesOf, conceptsOf, containmentChain, directlyContaineds, featureMetaType, flatMap, idBasedClassifierDeducerFor, inheritanceCycleWith, inheritedCycleWith, inheritsFrom, inheritsDirectlyFrom, instantiableClassifiersOf, isConcrete, isContainment, isEnumeration, isMultiple, isPartition, isProperty, isReference, keyOf, metaTypedBasedClassifierDeducerFor, nameBasedClassifierDeducerFor, nameOf, namedsOf, nonRelationalFeatures, relations, relationsOf, type, qualifiedNameOf };
|
|
187
203
|
//# 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":"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
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/m3/functions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAElD,OAAO,EAAE,KAAK,EAAc,MAAM,kBAAkB,CAAA;AAEpD,OAAO,EACH,UAAU,EACV,UAAU,EACV,OAAO,EACP,WAAW,EAEX,WAAW,EAKX,SAAS,EACT,QAAQ,EACR,QAAQ,EAER,IAAI,EAEJ,QAAQ,EACR,SAAS,EACZ,MAAM,YAAY,CAAA;AAGnB;;GAEG;AACH,MAAM,IAAI,GAAG,CAAC,OAAgB,EAA6C,EAAE,CACxE,OAA6B,CAAC,IAAI,CAAA;AAGvC,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAuB,EAAE,CACzD,OAAO,YAAY,QAAQ,CAAA;AAE/B,MAAM,aAAa,GAAG,CAAC,OAAgB,EAA0B,EAAE,CAC/D,OAAO,YAAY,WAAW,CAAA;AAElC,MAAM,WAAW,GAAG,CAAC,OAAgB,EAAwB,EAAE,CAC3D,OAAO,YAAY,SAAS,CAAA;AAEhC,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAmB,EAAE,CACrD,OAAO,YAAY,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAA;AAW/C;;GAEG;AACH,MAAM,eAAe,GAAG,CAAC,OAAgB,EAAmB,EAAE;IAC1D,IAAI,OAAO,YAAY,WAAW,EAAE,CAAC;QACjC,OAAO,aAAa,CAAA;IACxB,CAAC;IACD,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAC9B,OAAO,UAAU,CAAA;IACrB,CAAC;IACD,IAAI,OAAO,YAAY,SAAS,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAA;IACtB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;AAC7E,CAAC,CAAA;AAGD;;;GAGG;AACH,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAmB,EAAE,CACvD,OAAO,YAAY,IAAI,CAAA;AAE3B;;GAEG;AACH,MAAM,SAAS,GAAG,CAAC,QAAmB,EAAU,EAAE,CAC9C,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;AAEjC;;GAEG;AACH,MAAM,qBAAqB,GAAG,CAAC,QAAmB,EAAa,EAAE,CAC7D,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;AAGxD;;GAEG;AACH,MAAM,WAAW,GAAG,CAAC,OAAuB,EAAU,EAAE,CACpD,OAAO,YAAY,UAAU;IACzB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC7B,CAAC,CAAC,EAAE,CAAA;AAGZ;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,CAAC,KAAgB,EAAe,EAAE;IACzD,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,QAAQ,CAAA;IACzB,CAAC;IACD,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,QAAuB,CAAA,CAAI,2EAA2E;IACvH,CAAC;IACD,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,QAAQ,CAAA;IACzB,CAAC;IACD,OAAO,EAAE,CAAA;AACb,CAAC,CAAA;AAGD;;;GAGG;AACH,MAAM,aAAa,GAAG,CAAC,QAAkB,EAAe,EAAE,CACtD;IACI,QAAQ;IACR,GAAG,kBAAkB,CAAC,QAAQ,CAAC;IAC/B,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;CAC9D,CAAA;AAGL;;;GAGG;AACH,MAAM,OAAO,GAAG,CAAI,QAAkB,EAAE,GAA0B,EAAO,EAAE,CACvE,0BAA0B,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAA;AAGjE;;GAEG;AACH,MAAM,MAAM,GAAG,CAAmB,EAAC,IAAI,EAAI,EAAU,EAAE,CACnD,IAAI,CAAA;AAGR;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAmB,EAAO,EAAO,EAAE,CACzD,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;AAG/B;;GAEG;AACH,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAE,KAAkB,EAAU,EAAE,CACzE,KAAK;KACA,MAAM,CAAC,QAAQ,CAAC;KAChB,GAAG,CAAC,MAAM,CAAC;KACX,IAAI,CAAC,SAAS,CAAC,CAAA;AACpB,gFAAgF;AAEpF;;GAEG;AACH,MAAM,eAAe,GAAG,CAA0B,IAAO,EAAE,SAAS,GAAG,GAAG,EAAU,EAAE,CAClF,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAiB,CAAC,CAAA;AAGlF;;;GAGG;AACH,MAAM,QAAQ,GAAG,CAAC,QAAkB,EAAe,EAAE,CACjD,aAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AAG5C;;GAEG;AACH,MAAM,KAAK,GAAG,CAAmB,EAAC,GAAG,EAAI,EAAc,EAAE,CACrD,GAAG,CAAA;AAMP;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAC,KAAqB,EAA+B,EAAE,CACtE,CAAC,KAAK,YAAY,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,YAAY,UAAU,CAAC,CAAA;AAElF;;;GAGG;AACH,MAAM,WAAW,GAAG,CAAC,KAAqB,EAAoB,EAAE,CAC5D,KAAK,YAAY,OAAO,IAAI,KAAK,CAAC,SAAS,CAAA;AAE/C;;GAEG;AACH,MAAM,oBAAoB,GAAG,CAAC,UAAsB,EAAgB,EAAE;IAClE,IAAI,UAAU,YAAY,OAAO,IAAI,UAAU,YAAY,UAAU,EAAE,CAAC;QACpE,OAAO;YACH,GAAG,CACC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;gBACrB,CAAC,CAAC,CAAC,UAAU,CAAC,OAAqB,CAAC;gBACpC,CAAC,CAAC,EAAE,CACX;YACD,GAAG,UAAU,CAAC,UAAU;SAC3B,CAAA;IACL,CAAC;IACD,IAAI,UAAU,YAAY,SAAS,EAAE,CAAC;QAClC,OAAO,UAAU,CAAC,OAAO,CAAA;IAC7B,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,UAAU,cAAc,CAAC,CAAA;AACvE,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAE1C;;GAEG;AACH,MAAM,oBAAoB,GAAG,CAAC,UAAsB,EAAE,EAAE,CACpD,SAAS,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAA;AAE/C;;GAEG;AACH,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEhD;;GAEG;AACH,MAAM,eAAe,GAAG,CAAC,UAAsB,EAAgB,EAAE,CAC7D,0BAA0B,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,UAAU,CAAC,CAAA;AAGtF;;;GAGG;AACH,MAAM,aAAa,GAAG,CAAC,UAAsB,EAAa,EAAE,CACxD,0BAA0B,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,UAAU,CAAC,CAAA;AAGrF;;GAEG;AACH,MAAM,aAAa,GAAG,CAAC,OAAuB,EAA0B,EAAE,CACtE,OAAO,YAAY,WAAW,CAAA;AAGlC;;GAEG;AACH,MAAM,2BAA2B,GAAG,CAAC,QAAkB,EAAE,EAAE,CACvD,CAAC,EAAa,EAAE,EAAE,CACd,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,YAAY,UAAU,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAe,CAAA;AAE7G;;GAEG;AACH,MAAM,6BAA6B,GAAG,CAAC,QAAkB,EAAE,EAAE,CACzD,CAAC,IAAY,EAAE,EAAE,CACb,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,YAAY,UAAU,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAe,CAAA;AAGjH;;;;GAIG;AACH,MAAM,8BAA8B,GAAG,CAAkB,QAAkB,EAAyB,EAAE,CAClG,CAAC,IAAQ,EAAE,EAAE,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AAGhF;;;;GAIG;AACH,MAAM,kCAAkC,GAAG,CAA+B,QAAkB,EAAyB,EAAE,CACnH,CAAC,IAAQ,EAAE,EAAE,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;AAG1E;;GAEG;AACH,MAAM,UAAU,GAAG,CAAC,QAAkB,EAAa,EAAE,CACjD,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,YAAY,OAAO,CAAc,CAAA;AAGhF,MAAM,wBAAwB,GAAG,CAAC,MAAsB,EAAW,EAAE,CAC9D,MAAM,YAAY,UAAU;OAC5B,CAAC,MAAM,YAAY,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AAClD,sDAAsD;AAE1D;;GAEG;AACH,MAAM,yBAAyB,GAAG,CAAC,QAAkB,EAAgB,EAAE,CACnE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,wBAAwB,CAAiB,CAAA;AAGtE;;GAEG;AACH,MAAM,kBAAkB,GAAG,CAAC,IAAgB,EAAE,KAAiB,EAAE,EAAE,CAC/D,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAChB,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAC5E,CAAA;AAEL;;GAEG;AACH,MAAM,gBAAgB,GAAG,CAAC,IAAc,EAAE,KAAe,EAAE,EAAE,CACzD,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAChB,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAC3D,CAAA;AAGL,OAAO,EACH,aAAa,EACb,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,8BAA8B,EAC9B,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,OAAO,EACP,2BAA2B,EAC3B,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,yBAAyB,EACzB,UAAU,EACV,aAAa,EACb,aAAa,EACb,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,KAAK,EACL,kCAAkC,EAClC,6BAA6B,EAC7B,MAAM,EACN,QAAQ,EACR,qBAAqB,EACrB,SAAS,EACT,WAAW,EACX,IAAI,EACJ,eAAe,EAClB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol-table.d.ts","sourceRoot":"","sources":["../src/symbol-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"symbol-table.d.ts","sourceRoot":"","sources":["../src/symbol-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAGlE,OAAO,EAAc,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAG7E;;;;GAIG;AACH,UAAU,WAAW;IAEjB;;OAEG;IACH,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;IAExE;;;OAGG;IACH,cAAc,CAAC,iBAAiB,EAAE,sBAAsB,GAAG,cAAc,GAAG,SAAS,CAAA;IAErF;;;;;;OAMG;IACH,eAAe,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,sBAAsB,GAAG,OAAO,GAAG,SAAS,CAAA;CAE9H;AAGD;;GAEG;AACH,cAAM,gBAAiB,YAAW,WAAW;IAEzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,SAAS,EAAE,QAAQ,EAAE;IAIjC,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAOxE,cAAc,CAAC,iBAAiB,EAAE,sBAAsB,GAAG,cAAc,GAAG,SAAS;IAMrF,eAAe,CAAC,qBAAqB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,sBAAsB,GAAG,OAAO,GAAG,SAAS;CASlI;AASD,cAAM,oBAAqB,YAAW,WAAW;IAE7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,SAAS,EAAE,QAAQ,EAAE;IAIjC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAqE;IAElH,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAYhF,OAAO,CAAC,QAAQ,CAAC,wCAAwC,CAAkH;IAE3K,OAAO,CAAC,kBAAkB;IAiB1B,cAAc,CAAC,iBAAiB,EAAE,sBAAsB,GAAG,cAAc,GAAG,SAAS;IAIrF,eAAe,CAAC,qBAAqB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,sBAAsB,GAAG,OAAO,GAAG,SAAS;CAYlI;AAGD,YAAY,EACR,WAAW,EACd,CAAA;AAED,OAAO,EACH,oBAAoB,EACpB,gBAAgB,EACnB,CAAA"}
|
package/dist/symbol-table.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { lazyMapGet } from "@lionweb/ts-utils";
|
|
1
2
|
import { allFeaturesOf } from "./m3/functions.js";
|
|
2
3
|
import { Classifier } from "./m3/types.js";
|
|
3
4
|
/**
|
|
@@ -25,14 +26,6 @@ class NaiveSymbolTable {
|
|
|
25
26
|
return allFeatures.find((feature) => feature.key === featureMetaPointer.key);
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
|
-
const lazyMapGet = (map, key, createThunk) => {
|
|
29
|
-
if (key in map) {
|
|
30
|
-
return map[key];
|
|
31
|
-
}
|
|
32
|
-
const value = createThunk();
|
|
33
|
-
map[key] = value;
|
|
34
|
-
return value;
|
|
35
|
-
};
|
|
36
29
|
class MemoisingSymbolTable {
|
|
37
30
|
constructor(languages) {
|
|
38
31
|
this.languageKey2version2language = {};
|
package/dist/symbol-table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol-table.js","sourceRoot":"","sources":["../src/symbol-table.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAqC,MAAM,eAAe,CAAA;AAiC7E;;GAEG;AACH,MAAM,gBAAgB;IAIlB,YAAY,SAAqB;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC9B,CAAC;IAED,gBAAgB,CAAC,GAAe,EAAE,OAAe;QAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACjC,QAAQ,CAAC,GAAG,KAAK,GAAG;eACpB,QAAQ,CAAC,OAAO,KAAK,OAAO,CAClC,CAAA;IACL,CAAC;IAED,cAAc,CAAC,iBAAyC;QACpD,OAAO,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC;YAC/E,EAAE,QAAQ;aACT,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,iBAAiB,CAAC,GAAG,CAAC,CAAA;IAC/D,CAAC;IAED,eAAe,CAAC,qBAA6C,EAAE,kBAA0C;QACrG,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAA;QAC7D,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,YAAY,UAAU,CAAC,EAAE,CAAC;YAClE,OAAO,SAAS,CAAA;QACpB,CAAC;QACD,MAAM,WAAW,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;QAC7C,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAChF,CAAC;CAEJ;
|
|
1
|
+
{"version":3,"file":"symbol-table.js","sourceRoot":"","sources":["../src/symbol-table.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lionweb/core",
|
|
3
|
-
"version": "0.7.0-beta.
|
|
3
|
+
"version": "0.7.0-beta.8",
|
|
4
4
|
"description": "LionWeb core for {Java|Type}Script",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"release": "npm publish"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@lionweb/json": "0.7.0-beta.
|
|
31
|
-
"@lionweb/ts-utils": "0.7.0-beta.
|
|
30
|
+
"@lionweb/json": "0.7.0-beta.8",
|
|
31
|
+
"@lionweb/ts-utils": "0.7.0-beta.8"
|
|
32
32
|
}
|
|
33
33
|
}
|