@lionweb/core 0.7.0-beta.17 → 0.7.0-beta.18

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 CHANGED
@@ -30,7 +30,9 @@
30
30
  * Improve performance of `deserializeSerializationChunk` function ever so slightly.
31
31
  * Remove the unused (and non-performant) `NaiveSymbolTable` class.
32
32
  * Improve performance of `nodeSerializer` function a tiny bit.
33
- * Fix a bug where some features’ values are serialized multiple times.
33
+ * Fix a bug where some features’ values are serialized multiple times.
34
+ * Expose feature resolution, through the `featureResolversFor` function (and associated types), which performs proper checking.
35
+ This avoids undebuggable `undefined` dereferencing at runtime in `deltaDeserializer` and `eventToDeltaTranslator` functions.
34
36
 
35
37
 
36
38
  ## 0.6.12
@@ -1 +1 @@
1
- {"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,gBAAgB,EAGnB,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAA4B,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAC1E,OAAO,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAwC,QAAQ,EAAiB,QAAQ,EAAa,MAAM,eAAe,CAAA;AAGlH,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAA;CACvF;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;CAAG;AAE/E;;;;;;;;;GASG;AACH,eAAO,MAAM,6BAA6B,GAAI,EAAE,SAAS,IAAI,EACzD,oBAAoB,gBAAgB,EACpC,QAAQ,MAAM,CAAC,EAAE,CAAC,EAClB,WAAW,QAAQ,EAAE,EAErB,gBAAgB,IAAI,EAAE,EAEtB,4BAA2B,gCAAyE,EACpG,iBAAgB,iBAA4C,KAC7D,EAAE,EA2KJ,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAzLiB,EAAE,SAAS,IAAI,sBACrC,gBAAgB,UAC5B,MAAM,CAAC,EAAE,CAAC,aACP,QAAQ,EAAE,kBAEL,IAAI,EAAE,8BAEK,gCAAgC,mBAC3C,iBAAiB,KAClC,EAAE,EAgLwD,CAAA"}
1
+ {"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,gBAAgB,EAGnB,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAA4B,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAC1E,OAAO,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAA;AAEnE,OAAO,EAAwC,QAAQ,EAAiB,QAAQ,EAAa,MAAM,eAAe,CAAA;AAElH,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAA;CACvF;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;CAAG;AAE/E;;;;;;;;;GASG;AACH,eAAO,MAAM,6BAA6B,GAAI,EAAE,SAAS,IAAI,EACzD,oBAAoB,gBAAgB,EACpC,QAAQ,MAAM,CAAC,EAAE,CAAC,EAClB,WAAW,QAAQ,EAAE,EAErB,gBAAgB,IAAI,EAAE,EAEtB,4BAA2B,gCAAyE,EACpG,iBAAgB,iBAA4C,KAC7D,EAAE,EA2KJ,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAzLiB,EAAE,SAAS,IAAI,sBACrC,gBAAgB,UAC5B,MAAM,CAAC,EAAE,CAAC,aACP,QAAQ,EAAE,kBAEL,IAAI,EAAE,8BAEK,gCAAgC,mBAC3C,iBAAiB,KAClC,EAAE,EAgLwD,CAAA"}
@@ -2,9 +2,9 @@ import { currentSerializationFormatVersion } from "@lionweb/json";
2
2
  import { byIdMap, groupBy, keepDefineds } from "@lionweb/ts-utils";
3
3
  import { defaultSimplisticHandler } from "./handler.js";
4
4
  import { BuiltinPropertyValueDeserializer } from "./m3/builtins.js";
5
+ import { MemoisingSymbolTable } from "./m3/symbol-table.js";
5
6
  import { Classifier, Containment, Enumeration, PrimitiveType, Property, Reference } from "./m3/types.js";
6
7
  import { unresolved } from "./references.js";
7
- import { MemoisingSymbolTable } from "./symbol-table.js";
8
8
  /**
9
9
  * @return a deserialization of a {@link LionWebJsonChunk}
10
10
  *
@@ -1 +1 @@
1
- {"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,7 +6,6 @@ export * from "./functions.js";
6
6
  export * from "./reading.js";
7
7
  export * from "./references.js";
8
8
  export * from "./serializer.js";
9
- export * from "./symbol-table.js";
10
9
  export * from "./types.js";
11
10
  export * from "./version.js";
12
11
  export * from "./writing.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA"}
package/dist/index.js CHANGED
@@ -6,7 +6,6 @@ export * from "./functions.js";
6
6
  export * from "./reading.js";
7
7
  export * from "./references.js";
8
8
  export * from "./serializer.js";
9
- export * from "./symbol-table.js";
10
9
  export * from "./types.js";
11
10
  export * from "./version.js";
12
11
  export * from "./writing.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { LionWebJsonMetaPointer } from "@lionweb/json";
2
+ import { Classifier, Containment, Feature, Language, Property, Reference } from "./types.js";
3
+ /**
4
+ * Type def. for functions that resolve a {@link Feature feature} of the indicated sub-type
5
+ * from a feature's and a classifier's meta-pointers,
6
+ * throwing an {@link Error error} when the feature couldn't be resolved,
7
+ * or it isn't of the expected sub-type.
8
+ */
9
+ export type FeatureResolver<FT extends Feature> = (metaPointer: LionWebJsonMetaPointer, classifier: Classifier) => FT;
10
+ /**
11
+ * Type def. for an object containing {@link FeatureResolver resolvers} for
12
+ * {@link Property properties}, {@link Containmnent containments}, and {@link Reference references}.
13
+ */
14
+ export type FeatureResolvers = {
15
+ resolvedPropertyFrom: FeatureResolver<Property>;
16
+ resolvedContainmentFrom: FeatureResolver<Containment>;
17
+ resolvedReferenceFrom: FeatureResolver<Reference>;
18
+ };
19
+ /**
20
+ * @return an {@link FeatureResolvers object} for the given {@link Language languages}.
21
+ */
22
+ export declare const featureResolversFor: (languages: Language[]) => FeatureResolvers;
23
+ //# sourceMappingURL=feature-resolvers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-resolvers.d.ts","sourceRoot":"","sources":["../../src/m3/feature-resolvers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAEtD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAI5F;;;;;GAKG;AACH,MAAM,MAAM,eAAe,CAAC,EAAE,SAAS,OAAO,IAAI,CAAC,WAAW,EAAE,sBAAsB,EAAE,UAAU,EAAE,UAAU,KAAK,EAAE,CAAA;AAErH;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B,oBAAoB,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAA;IAC/C,uBAAuB,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;IACrD,qBAAqB,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;CACpD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,WAAW,QAAQ,EAAE,KAAG,gBA0B3D,CAAA"}
@@ -0,0 +1,32 @@
1
+ import { Containment, Property, Reference } from "./types.js";
2
+ import { MemoisingSymbolTable } from "./symbol-table.js";
3
+ /**
4
+ * @return an {@link FeatureResolvers object} for the given {@link Language languages}.
5
+ */
6
+ export const featureResolversFor = (languages) => {
7
+ const symbolTable = new MemoisingSymbolTable(languages);
8
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
+ const featureResolverFor = (featureClassConstructor) => (featureMetaPointer, classifier) => {
10
+ const classifierMetaPointer = classifier.metaPointer();
11
+ const featureLocationMessage = () => `feature with meta-pointer ${JSON.stringify(featureMetaPointer)} on classifier with meta-pointer ${JSON.stringify(classifierMetaPointer)}`;
12
+ const feature = symbolTable.featureMatching(classifierMetaPointer, featureMetaPointer);
13
+ if (feature === undefined) {
14
+ throw new Error(`couldn't resolve ${featureLocationMessage()}`); // fail early <== unrecoverable
15
+ }
16
+ if (feature.constructor !== featureClassConstructor) { // feature's type must match desired type *exactly* — cheaper to evaluate than "feature instanceof featureClassConstructor"
17
+ throw new Error(`${featureLocationMessage()} is not a ${featureClassConstructor.name} but a ${feature.constructor.name}`); // fail early <== unrecoverable
18
+ }
19
+ /*
20
+ * We could make this function memoising as well, to avoid having to perform these checks every resolution.
21
+ * That memoisation would involve a 6-deep lookup, in the feature's meta-pointer + container's classifier meta-pointer.
22
+ * The checks seem cheap enough to not be problematic performance-wise, though.
23
+ */
24
+ return feature; // valid <== feature.constructor === featureClassConstructor
25
+ };
26
+ return {
27
+ resolvedPropertyFrom: featureResolverFor(Property),
28
+ resolvedContainmentFrom: featureResolverFor(Containment),
29
+ resolvedReferenceFrom: featureResolverFor(Reference)
30
+ };
31
+ };
32
+ //# sourceMappingURL=feature-resolvers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-resolvers.js","sourceRoot":"","sources":["../../src/m3/feature-resolvers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,WAAW,EAAqB,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAqBxD;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAqB,EAAoB,EAAE;IAC3E,MAAM,WAAW,GAAG,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAA;IACvD,8DAA8D;IAC9D,MAAM,kBAAkB,GAAG,CAAqB,uBAAmD,EAAuB,EAAE,CACxH,CAAC,kBAAkB,EAAE,UAAsB,EAAE,EAAE;QAC3C,MAAM,qBAAqB,GAAG,UAAU,CAAC,WAAW,EAAE,CAAA;QACtD,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,oCAAoC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,CAAA;QAC/K,MAAM,OAAO,GAAG,WAAW,CAAC,eAAe,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAA;QACtF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,oBAAoB,sBAAsB,EAAE,EAAE,CAAC,CAAA,CAAI,+BAA+B;QACtG,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,uBAAuB,EAAE,CAAC,CAAE,2HAA2H;YAC/K,MAAM,IAAI,KAAK,CAAC,GAAG,sBAAsB,EAAE,aAAa,uBAAuB,CAAC,IAAI,UAAU,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA,CAAI,+BAA+B;QAChK,CAAC;QACD;;;;WAIG;QACH,OAAO,OAAa,CAAA,CAAI,4DAA4D;IACxF,CAAC,CAAA;IACL,OAAO;QACH,oBAAoB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;QAClD,uBAAuB,EAAE,kBAAkB,CAAC,WAAW,CAAC;QACxD,qBAAqB,EAAE,kBAAkB,CAAC,SAAS,CAAC;KACvD,CAAA;AACL,CAAC,CAAA"}
@@ -3,9 +3,11 @@ export * from "./constraints.js";
3
3
  export * from "./deserializer.js";
4
4
  export * from "./facade.js";
5
5
  export * from "./factory.js";
6
+ export * from "./feature-resolvers.js";
6
7
  export * from "./functions.js";
7
8
  export * from "./lioncore.js";
8
9
  export * from "./reference-checker.js";
9
10
  export * from "./serializer.js";
11
+ export * from "./symbol-table.js";
10
12
  export * from "./types.js";
11
13
  //# sourceMappingURL=index.d.ts.map
@@ -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,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA"}
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,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA"}
package/dist/m3/index.js CHANGED
@@ -3,9 +3,11 @@ export * from "./constraints.js";
3
3
  export * from "./deserializer.js";
4
4
  export * from "./facade.js";
5
5
  export * from "./factory.js";
6
+ export * from "./feature-resolvers.js";
6
7
  export * from "./functions.js";
7
8
  export * from "./lioncore.js";
8
9
  export * from "./reference-checker.js";
9
10
  export * from "./serializer.js";
11
+ export * from "./symbol-table.js";
10
12
  export * from "./types.js";
11
13
  //# sourceMappingURL=index.js.map
@@ -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,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA"}
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,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { LionWebJsonMetaPointer, LionWebKey } from "@lionweb/json";
2
- import { Feature, Language, LanguageEntity } from "./m3/types.js";
2
+ import { Feature, Language, LanguageEntity } from "./types.js";
3
3
  /**
4
4
  * Interface for objects that can look up within languages, based on given {@link LionWebJsonMetaPointer meta pointers}.
5
5
  * This is meant to be able to properly encapsulate performance optimizations, also outside of the context
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbol-table.d.ts","sourceRoot":"","sources":["../../src/m3/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,YAAY,CAAA;AAG1E;;;;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;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,GAAI,aAAa,UAAU,EAAE,SAAS,MAAM,KAAG,QAAQ,GAAG,SAAS,CAQ9E;IAGL,OAAO,CAAC,QAAQ,CAAC,wCAAwC,CAAkH;IAE3K,OAAO,CAAC,kBAAkB,CAmBrB;IAEL,cAAc,GAAI,mBAAmB,sBAAsB,KAAG,cAAc,GAAG,SAAS,CAClC;IAEtD;;;OAGG;IACH,2BAA2B,GAAI,mBAAmB,sBAAsB,KAAG,OAAO,EAAE,CACnB;IAEjE,eAAe,CAAC,qBAAqB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,sBAAsB,GAAG,OAAO,GAAG,SAAS;CAYlI;AAGD,YAAY,EACR,WAAW,EACd,CAAA;AAED,OAAO,EACH,oBAAoB,EACvB,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { lazyMapGet } from "@lionweb/ts-utils";
2
- import { allFeaturesOf } from "./m3/functions.js";
3
- import { Classifier } from "./m3/types.js";
2
+ import { allFeaturesOf } from "./functions.js";
3
+ import { Classifier } from "./types.js";
4
4
  class MemoisingSymbolTable {
5
5
  constructor(languages) {
6
6
  this.languageKey2version2language = {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbol-table.js","sourceRoot":"","sources":["../../src/m3/symbol-table.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAqC,MAAM,YAAY,CAAA;AAuC1E,MAAM,oBAAoB;IAItB,YAAY,SAAqB;QAIhB,iCAA4B,GAAmE,EAAE,CAAA;QAElH,qBAAgB,GAAG,CAAC,WAAuB,EAAE,OAAe,EAAwB,EAAE,CAClF,UAAU,CACN,UAAU,CAAC,IAAI,CAAC,4BAA4B,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EACtE,OAAO,EACP,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAChC,QAAQ,CAAC,GAAG,KAAK,WAAW;eAC5B,QAAQ,CAAC,OAAO,KAAK,OAAO,CAClC,CACJ,CAAA;QAGY,6CAAwC,GAAgH,EAAE,CAAA;QAEnK,uBAAkB,GAAG,CAAC,iBAAyC,EAA0B,EAAE,CAC/F,UAAU,CACN,UAAU,CACN,UAAU,CAAC,IAAI,CAAC,wCAAwC,EAAE,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EACjG,iBAAiB,CAAC,OAAO,EACzB,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CACb,EACD,iBAAiB,CAAC,GAAG,EACrB,GAAG,EAAE;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC;gBACvF,EAAE,QAAQ;iBACT,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,iBAAiB,CAAC,GAAG,CAAC,CAAA;YAC3D,OAAO,MAAM,KAAK,SAAS;gBACvB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC;oBACE,MAAM;oBACN,WAAW,EAAE,MAAM,YAAY,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,kBAAkB,EAAE,EAAE;iBACrG,CAAA;QACL,CAAC,CACJ,CAAA;QAEL,mBAAc,GAAG,CAAC,iBAAyC,EAA8B,EAAE,CACvF,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;QAEtD;;;WAGG;QACH,gCAA2B,GAAG,CAAC,iBAAyC,EAAa,EAAE,CACnF,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,WAAW,IAAI,EAAE,CAAA;QA/C7D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC9B,CAAC;IAgDD,eAAe,CAAC,qBAA6C,EAAE,kBAA0C;QACrG,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAA;QACjE,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,YAAY,UAAU,CAAC,EAAE,CAAC;YACzE,OAAO,SAAS,CAAA;QACpB,CAAC;QACD,OAAO,UAAU,CACb,UAAU,CAAC,kBAAkB,EAC7B,kBAAkB,CAAC,GAAG,EACtB,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,kBAAkB,CAAC,GAAG,CAAC,CACzF,CAAA;IACL,CAAC;CAEJ;AAOD,OAAO,EACH,oBAAoB,EACvB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lionweb/core",
3
- "version": "0.7.0-beta.17",
3
+ "version": "0.7.0-beta.18",
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.17",
31
- "@lionweb/ts-utils": "0.7.0-beta.17"
30
+ "@lionweb/json": "0.7.0-beta.18",
31
+ "@lionweb/ts-utils": "0.7.0-beta.18"
32
32
  }
33
33
  }
@@ -1 +0,0 @@
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;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,GAAI,aAAa,UAAU,EAAE,SAAS,MAAM,KAAG,QAAQ,GAAG,SAAS,CAQ9E;IAGL,OAAO,CAAC,QAAQ,CAAC,wCAAwC,CAAkH;IAE3K,OAAO,CAAC,kBAAkB,CAmBrB;IAEL,cAAc,GAAI,mBAAmB,sBAAsB,KAAG,cAAc,GAAG,SAAS,CAClC;IAEtD;;;OAGG;IACH,2BAA2B,GAAI,mBAAmB,sBAAsB,KAAG,OAAO,EAAE,CACnB;IAEjE,eAAe,CAAC,qBAAqB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,sBAAsB,GAAG,OAAO,GAAG,SAAS;CAYlI;AAGD,YAAY,EACR,WAAW,EACd,CAAA;AAED,OAAO,EACH,oBAAoB,EACvB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"symbol-table.js","sourceRoot":"","sources":["../src/symbol-table.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAqC,MAAM,eAAe,CAAA;AAuC7E,MAAM,oBAAoB;IAItB,YAAY,SAAqB;QAIhB,iCAA4B,GAAmE,EAAE,CAAA;QAElH,qBAAgB,GAAG,CAAC,WAAuB,EAAE,OAAe,EAAwB,EAAE,CAClF,UAAU,CACN,UAAU,CAAC,IAAI,CAAC,4BAA4B,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EACtE,OAAO,EACP,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAChC,QAAQ,CAAC,GAAG,KAAK,WAAW;eAC5B,QAAQ,CAAC,OAAO,KAAK,OAAO,CAClC,CACJ,CAAA;QAGY,6CAAwC,GAAgH,EAAE,CAAA;QAEnK,uBAAkB,GAAG,CAAC,iBAAyC,EAA0B,EAAE,CAC/F,UAAU,CACN,UAAU,CACN,UAAU,CAAC,IAAI,CAAC,wCAAwC,EAAE,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EACjG,iBAAiB,CAAC,OAAO,EACzB,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CACb,EACD,iBAAiB,CAAC,GAAG,EACrB,GAAG,EAAE;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC;gBACvF,EAAE,QAAQ;iBACT,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,iBAAiB,CAAC,GAAG,CAAC,CAAA;YAC3D,OAAO,MAAM,KAAK,SAAS;gBACvB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC;oBACE,MAAM;oBACN,WAAW,EAAE,MAAM,YAAY,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,kBAAkB,EAAE,EAAE;iBACrG,CAAA;QACL,CAAC,CACJ,CAAA;QAEL,mBAAc,GAAG,CAAC,iBAAyC,EAA8B,EAAE,CACvF,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;QAEtD;;;WAGG;QACH,gCAA2B,GAAG,CAAC,iBAAyC,EAAa,EAAE,CACnF,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,WAAW,IAAI,EAAE,CAAA;QA/C7D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC9B,CAAC;IAgDD,eAAe,CAAC,qBAA6C,EAAE,kBAA0C;QACrG,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAA;QACjE,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,YAAY,UAAU,CAAC,EAAE,CAAC;YACzE,OAAO,SAAS,CAAA;QACpB,CAAC;QACD,OAAO,UAAU,CACb,UAAU,CAAC,kBAAkB,EAC7B,kBAAkB,CAAC,GAAG,EACtB,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,kBAAkB,CAAC,GAAG,CAAC,CACzF,CAAA;IACL,CAAC;CAEJ;AAOD,OAAO,EACH,oBAAoB,EACvB,CAAA"}