@lionweb/core 0.6.10-beta.0 → 0.6.10-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -32,6 +32,12 @@ The following is a list of links to potential starting points:
32
32
 
33
33
  ## Changelog
34
34
 
35
+ ### 0.6.10 - not officially released yet
36
+
37
+ * Made `DefaultPrimitiveTypeDeserializer` and `DefaultPrimitiveTypeSerializer` be able to deal with duplicate definitions of datatypes.
38
+ * Expose a function `shouldBeIdentical` that determines whether two datatypes should be structurally equal based on equality of: meta type, key, and language's key.
39
+
40
+
35
41
  ### 0.6.9 - not yet officially released
36
42
 
37
43
  * Improve deserialization:
@@ -1 +1 @@
1
- {"version":3,"file":"facade.d.ts","sourceRoot":"","sources":["../src/facade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAA;AAC/B,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAO,MAAM,eAAe,CAAA;AAKxF;;GAEG;AACH,KAAK,iBAAiB,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,UAAU,CAAA;AAElE;;;;GAIG;AACH,KAAK,kBAAkB,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,MAAM,GAAG,SAAS,CAAA;AAG3E;;;;;;GAMG;AAGH,UAAU,gBAAgB,CAAC,EAAE,SAAS,IAAI;IAEtC;;OAEG;IACH,YAAY,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAEnC;;OAEG;IACH,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAA;IAGxD;;;OAGG;IACH,sBAAsB,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,KAAK,kBAAkB,GAAG,IAAI,CAAA;IAElG;;;OAGG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAA;CAE1C;AAED,UAAU,mBAAmB,CAAC,EAAE,SAAS,IAAI;IAEzC;;;;OAIG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,KAAK,EAAE,CAAA;IAGjI;;;OAGG;IACH,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAGrE;;OAEG;IACH,UAAU,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAA;CAEvD;AAED;;GAEG;AACH,KAAK,cAAc,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAA;AAEzD;;GAEG;AACH,QAAA,MAAM,sBAAsB,iFAIsE,CAAA;AAIlG;;GAEG;AACH,QAAA,MAAM,mBAAmB,iFACsE,CAAA;AAG/F,KAAK,eAAe,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;AAiBpG;;;GAGG;AACH,QAAA,MAAM,uBAAuB,EAAE,eAAyC,CAAA;AAExE;;;GAGG;AACH,QAAA,MAAM,sBAAsB,iBAAyB,CAAA;AAErD,YAAY,EACR,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EACrB,CAAA;AAED,OAAO,EACH,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EAC1B,CAAA"}
1
+ {"version":3,"file":"facade.d.ts","sourceRoot":"","sources":["../src/facade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAA;AAC/B,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAO,MAAM,eAAe,CAAA;AAKxF;;GAEG;AACH,KAAK,iBAAiB,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,UAAU,CAAA;AAElE;;;;GAIG;AACH,KAAK,kBAAkB,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,MAAM,GAAG,SAAS,CAAA;AAG3E;;;;;;GAMG;AAGH,UAAU,gBAAgB,CAAC,EAAE,SAAS,IAAI;IAEtC;;OAEG;IACH,YAAY,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAEnC;;OAEG;IACH,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAA;IAGxD;;;OAGG;IACH,sBAAsB,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,KAAK,kBAAkB,GAAG,IAAI,CAAA;IAElG;;;OAGG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAA;CAE1C;AAED,UAAU,mBAAmB,CAAC,EAAE,SAAS,IAAI;IAEzC;;;;OAIG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,KAAK,EAAE,CAAA;IAGjI;;;OAGG;IACH,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAGrE;;OAEG;IACH,UAAU,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAA;CAEvD;AAED;;GAEG;AACH,KAAK,cAAc,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAA;AAEzD;;GAEG;AACH,QAAA,MAAM,sBAAsB,iFAIsE,CAAA;AAGlG;;GAEG;AACH,QAAA,MAAM,mBAAmB,iFACsE,CAAA;AAG/F,KAAK,eAAe,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;AAiBpG;;;GAGG;AACH,QAAA,MAAM,uBAAuB,EAAE,eAAyC,CAAA;AAExE;;;GAGG;AACH,QAAA,MAAM,sBAAsB,iBAAyB,CAAA;AAErD,YAAY,EACR,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EACrB,CAAA;AAED,OAAO,EACH,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EAC1B,CAAA"}
package/dist/facade.js CHANGED
@@ -7,8 +7,6 @@ import { allFeaturesOf, isContainment } from "./m3/functions.js";
7
7
  const childrenExtractorUsing = (extractionFacade) => (node) => allFeaturesOf(extractionFacade.classifierOf(node))
8
8
  .filter(isContainment)
9
9
  .flatMap((containment) => extractionFacade.getFeatureValue(node, containment));
10
- // FIXME there's NO guarantee about the result of extractionFacade.getFeatureValue(node, containment) !!!
11
- // FIXME this misses all the annotations !!!
12
10
  /**
13
11
  * @return a function that extracts *all* nodes from a given start node - usually a root node.
14
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"facade.js","sourceRoot":"","sources":["../src/facade.ts"],"names":[],"mappings":"AACA,OAAO,EAAuD,IAAI,EAAC,MAAM,eAAe,CAAA;AACxF,OAAO,EAAC,0BAA0B,EAAE,iBAAiB,EAAC,MAAM,sBAAsB,CAAA;AAClF,OAAO,EAAC,aAAa,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAiF9D;;GAEG;AACH,MAAM,sBAAsB,GAAG,CAAkB,gBAAsC,EAAsB,EAAE,CAC3G,CAAC,IAAQ,EAAQ,EAAE,CACf,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KAC7C,MAAM,CAAC,aAAa,CAAC;KACrB,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAS,CAAC,CAAA;AAClG,0GAA0G;AAC1G,6CAA6C;AAE7C;;GAEG;AACH,MAAM,mBAAmB,GAAG,CAAkB,gBAAsC,EAAsB,EAAE,CACxG,0BAA0B,CAAC,iBAAiB,EAAE,sBAAsB,CAAK,gBAAgB,CAAC,CAAC,CAAA;AAK/F,MAAM,eAAe,GAAG,CAAC,OAAe,EAAmB,EAAE,CACzD,CAAC,QAAiC,EAAE,OAAgB,EAAE,KAAc,EAAQ,EAAE;IAClF,8DAA8D;IACtD,MAAM,GAAG,GAAI,OAAe,CAAC,OAAO,CAAW,CAAA;IAC/C,IAAI,OAAO,YAAY,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;QACtB,CAAC;QACA,QAAQ,CAAC,GAAG,CAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC;SAAM,CAAC;QACJ,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACzB,CAAC;AACL,CAAC,CAAA;AAGL;;;GAGG;AACH,MAAM,uBAAuB,GAAoB,eAAe,CAAC,MAAM,CAAC,CAAA;AAExE;;;GAGG;AACH,MAAM,sBAAsB,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;AAUrD,OAAO,EACH,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EAC1B,CAAA"}
1
+ {"version":3,"file":"facade.js","sourceRoot":"","sources":["../src/facade.ts"],"names":[],"mappings":"AACA,OAAO,EAAuD,IAAI,EAAC,MAAM,eAAe,CAAA;AACxF,OAAO,EAAC,0BAA0B,EAAE,iBAAiB,EAAC,MAAM,sBAAsB,CAAA;AAClF,OAAO,EAAC,aAAa,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAiF9D;;GAEG;AACH,MAAM,sBAAsB,GAAG,CAAkB,gBAAsC,EAAsB,EAAE,CAC3G,CAAC,IAAQ,EAAQ,EAAE,CACf,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KAC7C,MAAM,CAAC,aAAa,CAAC;KACrB,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAS,CAAC,CAAA;AAGlG;;GAEG;AACH,MAAM,mBAAmB,GAAG,CAAkB,gBAAsC,EAAsB,EAAE,CACxG,0BAA0B,CAAC,iBAAiB,EAAE,sBAAsB,CAAK,gBAAgB,CAAC,CAAC,CAAA;AAK/F,MAAM,eAAe,GAAG,CAAC,OAAe,EAAmB,EAAE,CACzD,CAAC,QAAiC,EAAE,OAAgB,EAAE,KAAc,EAAQ,EAAE;IAClF,8DAA8D;IACtD,MAAM,GAAG,GAAI,OAAe,CAAC,OAAO,CAAW,CAAA;IAC/C,IAAI,OAAO,YAAY,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;QACtB,CAAC;QACA,QAAQ,CAAC,GAAG,CAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC;SAAM,CAAC;QACJ,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACzB,CAAC;AACL,CAAC,CAAA;AAGL;;;GAGG;AACH,MAAM,uBAAuB,GAAoB,eAAe,CAAC,MAAM,CAAC,CAAA;AAExE;;;GAGG;AACH,MAAM,sBAAsB,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;AAUrD,OAAO,EACH,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EAC1B,CAAA"}
@@ -6,5 +6,5 @@ export declare const containmentChain: (node: Node) => Node[];
6
6
  /**
7
7
  * Maps an array of {@link Node AST nodes} to their IDs.
8
8
  */
9
- export declare const asIds: (nodeOrNulls: (Node | null)[]) => (Id | null)[];
9
+ export declare const asIds: (nodes: Node[]) => Id[];
10
10
  //# sourceMappingURL=functions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAE,IAAI,EAAC,MAAM,YAAY,CAAA;AAInC;;GAEG;AACH,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,IAAI,EAGjD,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,KAAK,gBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,KAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EACe,CAAA"}
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAE,IAAI,EAAC,MAAM,YAAY,CAAA;AAInC;;GAEG;AACH,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,IAAI,EAGjD,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,KAAK,UAAW,IAAI,EAAE,KAAG,EAAE,EACb,CAAA"}
package/dist/functions.js CHANGED
@@ -9,5 +9,5 @@ export const containmentChain = (node) => {
9
9
  /**
10
10
  * Maps an array of {@link Node AST nodes} to their IDs.
11
11
  */
12
- export const asIds = (nodeOrNulls) => nodeOrNulls.map((nodeOrNull) => nodeOrNull === null ? null : nodeOrNull.id);
12
+ export const asIds = (nodes) => nodes.map(({ id }) => id);
13
13
  //# sourceMappingURL=functions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,0BAA0B,EAAE,iBAAiB,EAAC,MAAM,sBAAsB,CAAA;AAGlF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAU,EAAU,EAAE;IACnD,MAAM,SAAS,GAAG,CAAC,CAAO,EAAU,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAC/E,OAAO,0BAA0B,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAA;AACzE,CAAC,CAAA;AAGD;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,WAA4B,EAAiB,EAAE,CACjE,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,0BAA0B,EAAE,iBAAiB,EAAC,MAAM,sBAAsB,CAAA;AAGlF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAU,EAAU,EAAE;IACnD,MAAM,SAAS,GAAG,CAAC,CAAO,EAAU,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAC/E,OAAO,0BAA0B,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAA;AACzE,CAAC,CAAA;AAGD;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAQ,EAAE,CACzC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA"}
@@ -23,18 +23,23 @@ declare const builtinClassifiers: {
23
23
  declare const builtinFeatures: {
24
24
  inamed_name: Property;
25
25
  };
26
- export declare class DefaultPrimitiveTypeDeserializer implements PrimitiveTypeDeserializer {
27
- private deserializerByType;
26
+ /**
27
+ * Determines whether two datatypes should be structurally equal based on equality of: meta type, key, and language's key.
28
+ */
29
+ declare const shouldBeIdentical: (left: Datatype, right: Datatype) => boolean;
30
+ declare abstract class DatatypeRegister<T> {
31
+ private map;
32
+ register(datatype: Datatype, t: T): void;
33
+ protected byType(targetDatatype: Datatype): T | undefined;
34
+ }
35
+ export declare class DefaultPrimitiveTypeDeserializer extends DatatypeRegister<SpecificPrimitiveTypeDeserializer> implements PrimitiveTypeDeserializer {
28
36
  constructor();
29
- registerDeserializer(dataType: Datatype, deserializer: SpecificPrimitiveTypeDeserializer): void;
30
37
  deserializeValue(value: string | undefined, property: Property): PrimitiveTypeValue | undefined;
31
38
  }
32
- export declare class DefaultPrimitiveTypeSerializer implements PrimitiveTypeSerializer {
33
- private serializerByType;
39
+ export declare class DefaultPrimitiveTypeSerializer extends DatatypeRegister<SpecificPrimitiveTypeSerializer> implements PrimitiveTypeSerializer {
34
40
  constructor();
35
- registerSerializer(dataType: Datatype, serializer: SpecificPrimitiveTypeSerializer): void;
36
41
  serializeValue(value: unknown | undefined, property: Property): string | undefined;
37
42
  }
38
43
  export type { BuiltinPrimitive };
39
- export { builtinPrimitives, builtinClassifiers, builtinFeatures, isBuiltinNodeConcept, lioncoreBuiltins };
44
+ export { builtinPrimitives, builtinClassifiers, builtinFeatures, isBuiltinNodeConcept, lioncoreBuiltins, shouldBeIdentical };
40
45
  //# sourceMappingURL=builtins.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../src/m3/builtins.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAuB,QAAQ,EAAC,MAAM,YAAY,CAAA;AAGvF,OAAO,EAAC,yBAAyB,EAAC,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAC,uBAAuB,EAAC,MAAM,kBAAkB,CAAA;AAkBxD;;GAEG;AACH,QAAA,MAAM,gBAAgB,+BAAmB,CAAA;AAYzC,QAAA,MAAM,oBAAoB,eAAgB,UAAU,YAKb,CAAA;AAqBvC,KAAK,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;AAC5F,KAAK,kBAAkB,GAAG,gBAAgB,GAAG,OAAO,CAAA;AACpD,KAAK,iCAAiC,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,kBAAkB,CAAA;AAC9E,KAAK,+BAA+B,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAA;AAEjE,QAAA,MAAM,iBAAiB;;;;;CAKtB,CAAA;AAED,QAAA,MAAM,kBAAkB;;;CAGvB,CAAA;AAED,QAAA,MAAM,eAAe;;CAEpB,CAAA;AAED,qBAAa,gCAAiC,YAAW,yBAAyB;IAE9E,OAAO,CAAC,kBAAkB,CAAyD;;IASnF,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,iCAAiC;IAIxF,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,kBAAkB,GAAG,SAAS;CAkBlG;AAED,qBAAa,8BAA+B,YAAW,uBAAuB;IAE1E,OAAO,CAAC,gBAAgB,CAAuD;;IAS/E,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,+BAA+B;IAIlF,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS;CAkBrF;AAED,YAAY,EACR,gBAAgB,EACnB,CAAA;AAED,OAAO,EACH,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EACnB,CAAA"}
1
+ {"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../src/m3/builtins.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAuB,QAAQ,EAAC,MAAM,YAAY,CAAA;AAGvF,OAAO,EAAC,yBAAyB,EAAC,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAC,uBAAuB,EAAC,MAAM,kBAAkB,CAAA;AAkBxD;;GAEG;AACH,QAAA,MAAM,gBAAgB,+BAAmB,CAAA;AAYzC,QAAA,MAAM,oBAAoB,eAAgB,UAAU,YAKb,CAAA;AAqBvC,KAAK,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;AAC5F,KAAK,kBAAkB,GAAG,gBAAgB,GAAG,OAAO,CAAA;AACpD,KAAK,iCAAiC,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,kBAAkB,CAAA;AAC9E,KAAK,+BAA+B,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAA;AAEjE,QAAA,MAAM,iBAAiB;;;;;CAKtB,CAAA;AAED,QAAA,MAAM,kBAAkB;;;CAGvB,CAAA;AAED,QAAA,MAAM,eAAe;;CAEpB,CAAA;AAGD;;GAEG;AACH,QAAA,MAAM,iBAAiB,SAAU,QAAQ,SAAS,QAAQ,KAAG,OAGlB,CAAA;AAE3C,uBAAe,gBAAgB,CAAC,CAAC;IAE7B,OAAO,CAAC,GAAG,CAAyB;IAE7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAIxC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,GAAG,CAAC,GAAG,SAAS;CAU5D;AAGD,qBAAa,gCAAiC,SAAQ,gBAAgB,CAAC,iCAAiC,CAAE,YAAW,yBAAyB;;IAU1I,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,kBAAkB,GAAG,SAAS;CAkBlG;AAED,qBAAa,8BAA+B,SAAQ,gBAAgB,CAAC,+BAA+B,CAAE,YAAW,uBAAuB;;IAUpI,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS;CAkBrF;AAED,YAAY,EACR,gBAAgB,EACnB,CAAA;AAED,OAAO,EACH,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACpB,CAAA"}
@@ -38,16 +38,36 @@ const builtinClassifiers = {
38
38
  const builtinFeatures = {
39
39
  inamed_name
40
40
  };
41
- export class DefaultPrimitiveTypeDeserializer {
41
+ /**
42
+ * Determines whether two datatypes should be structurally equal based on equality of: meta type, key, and language's key.
43
+ */
44
+ const shouldBeIdentical = (left, right) => left.key === right.key
45
+ && left.language.key === right.language.key
46
+ && left.metaType() === right.metaType();
47
+ class DatatypeRegister {
42
48
  constructor() {
43
- this.deserializerByType = new Map();
44
- this.registerDeserializer(stringDatatype, (value) => value);
45
- this.registerDeserializer(booleanDatatype, (value) => JSON.parse(value));
46
- this.registerDeserializer(integerDatatype, (value) => Number(value));
47
- this.registerDeserializer(jsonDatatype, (value) => JSON.parse(value));
49
+ this.map = new Map();
50
+ }
51
+ register(datatype, t) {
52
+ this.map.set(datatype, t);
48
53
  }
49
- registerDeserializer(dataType, deserializer) {
50
- this.deserializerByType.set(dataType, deserializer);
54
+ byType(targetDatatype) {
55
+ for (const entry of this.map.entries()) {
56
+ const [datatype, t] = entry;
57
+ if (shouldBeIdentical(targetDatatype, datatype)) {
58
+ return t;
59
+ }
60
+ }
61
+ return undefined;
62
+ }
63
+ }
64
+ export class DefaultPrimitiveTypeDeserializer extends DatatypeRegister {
65
+ constructor() {
66
+ super();
67
+ this.register(stringDatatype, (value) => value);
68
+ this.register(booleanDatatype, (value) => JSON.parse(value));
69
+ this.register(integerDatatype, (value) => Number(value));
70
+ this.register(jsonDatatype, (value) => JSON.parse(value));
51
71
  }
52
72
  deserializeValue(value, property) {
53
73
  if (value === undefined) {
@@ -60,8 +80,8 @@ export class DefaultPrimitiveTypeDeserializer {
60
80
  if (type == null) {
61
81
  throw new Error(`cant't deserialize a property with unspecified type`);
62
82
  }
63
- const specificDeserializer = this.deserializerByType.get(type);
64
- if (specificDeserializer != null) {
83
+ const specificDeserializer = this.byType(type);
84
+ if (specificDeserializer != undefined) {
65
85
  return specificDeserializer(value);
66
86
  }
67
87
  else {
@@ -69,16 +89,13 @@ export class DefaultPrimitiveTypeDeserializer {
69
89
  }
70
90
  }
71
91
  }
72
- export class DefaultPrimitiveTypeSerializer {
92
+ export class DefaultPrimitiveTypeSerializer extends DatatypeRegister {
73
93
  constructor() {
74
- this.serializerByType = new Map();
75
- this.registerSerializer(stringDatatype, (value) => value);
76
- this.registerSerializer(booleanDatatype, (value) => `${value}`);
77
- this.registerSerializer(integerDatatype, (value) => `${value}`);
78
- this.registerSerializer(jsonDatatype, (value) => JSON.stringify(value, null));
79
- }
80
- registerSerializer(dataType, serializer) {
81
- this.serializerByType.set(dataType, serializer);
94
+ super();
95
+ this.register(stringDatatype, (value) => value);
96
+ this.register(booleanDatatype, (value) => `${value}`);
97
+ this.register(integerDatatype, (value) => `${value}`);
98
+ this.register(jsonDatatype, (value) => JSON.stringify(value, null));
82
99
  }
83
100
  serializeValue(value, property) {
84
101
  if (value === undefined) {
@@ -91,7 +108,7 @@ export class DefaultPrimitiveTypeSerializer {
91
108
  if (type == null) {
92
109
  throw new Error(`cant't serialize a property with unspecified type`);
93
110
  }
94
- const specificSerializer = this.serializerByType.get(type);
111
+ const specificSerializer = this.byType(type);
95
112
  if (specificSerializer != undefined) {
96
113
  return specificSerializer(value);
97
114
  }
@@ -100,5 +117,5 @@ export class DefaultPrimitiveTypeSerializer {
100
117
  }
101
118
  }
102
119
  }
103
- export { builtinPrimitives, builtinClassifiers, builtinFeatures, isBuiltinNodeConcept, lioncoreBuiltins };
120
+ export { builtinPrimitives, builtinClassifiers, builtinFeatures, isBuiltinNodeConcept, lioncoreBuiltins, shouldBeIdentical };
104
121
  //# sourceMappingURL=builtins.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../src/m3/builtins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../src/m3/builtins.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,8 @@ export type SerializedContainment = {
13
13
  children: Id[];
14
14
  };
15
15
  export type SerializedReferenceTarget = {
16
- reference: Id | null;
17
- resolveInfo: string | null;
16
+ reference: Id;
17
+ resolveInfo?: string;
18
18
  };
19
19
  export type SerializedReference = {
20
20
  reference: MetaPointer;
@@ -1 +1 @@
1
- {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAC,MAAM,YAAY,CAAA;AAG7B,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,EAAE,WAAW,CAAA;IACrB,KAAK,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAChC,WAAW,EAAE,WAAW,CAAA;IACxB,QAAQ,EAAE,EAAE,EAAE,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACpC,SAAS,EAAE,EAAE,GAAG,IAAI,CAAA;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,SAAS,EAAE,WAAW,CAAA;IACtB,OAAO,EAAE,yBAAyB,EAAE,CAAA;CACvC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB,EAAE,EAAE,EAAE,CAAA;IACN,UAAU,EAAE,WAAW,CAAA;IACvB,UAAU,EAAE,kBAAkB,EAAE,CAAA;IAChC,YAAY,EAAE,qBAAqB,EAAE,CAAA;IACrC,UAAU,EAAE,mBAAmB,EAAE,CAAA;IACjC,WAAW,EAAE,EAAE,EAAE,CAAA;IACjB,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;CACtB,CAAA;AAGD,MAAM,MAAM,2BAA2B,GAAG;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAClB,CAAA;AAGD;;;GAGG;AACH,eAAO,MAAM,iCAAiC,WAAwB,CAAA;AAGtE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B,0BAA0B,EAAE,MAAM,CAAA;IAClC,SAAS,EAAE,2BAA2B,EAAE,CAAA;IACxC,KAAK,EAAE,cAAc,EAAE,CAAA;CAC1B,CAAA"}
1
+ {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAC,MAAM,YAAY,CAAA;AAG7B,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,EAAE,WAAW,CAAA;IACrB,KAAK,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAChC,WAAW,EAAE,WAAW,CAAA;IACxB,QAAQ,EAAE,EAAE,EAAE,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACpC,SAAS,EAAE,EAAE,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,SAAS,EAAE,WAAW,CAAA;IACtB,OAAO,EAAE,yBAAyB,EAAE,CAAA;CACvC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB,EAAE,EAAE,EAAE,CAAA;IACN,UAAU,EAAE,WAAW,CAAA;IACvB,UAAU,EAAE,kBAAkB,EAAE,CAAA;IAChC,YAAY,EAAE,qBAAqB,EAAE,CAAA;IACrC,UAAU,EAAE,mBAAmB,EAAE,CAAA;IACjC,WAAW,EAAE,EAAE,EAAE,CAAA;IACjB,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;CACtB,CAAA;AAGD,MAAM,MAAM,2BAA2B,GAAG;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAClB,CAAA;AAGD;;;GAGG;AACH,eAAO,MAAM,iCAAiC,WAAwB,CAAA;AAGtE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B,0BAA0B,EAAE,MAAM,CAAA;IAClC,SAAS,EAAE,2BAA2B,EAAE,CAAA;IACxC,KAAK,EAAE,cAAc,EAAE,CAAA;CAC1B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAiD,kBAAkB,EAAiB,MAAM,oBAAoB,CAAA;AAErH,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAA;AAI/B,OAAO,EAKH,QAAQ,EAGX,MAAM,eAAe,CAAA;AAItB,MAAM,WAAW,uBAAuB;IACpC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAA;CACzE;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,mGAGE,uBAAuB,KACjD,kBA0GF,CAAA"}
1
+ {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAiD,kBAAkB,EAAiB,MAAM,oBAAoB,CAAA;AAErH,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAA;AAI/B,OAAO,EAKH,QAAQ,EAGX,MAAM,eAAe,CAAA;AAItB,MAAM,WAAW,uBAAuB;IACpC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAA;CACzE;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,mGAGE,uBAAuB,KACjD,kBAsGF,CAAA"}
@@ -69,11 +69,7 @@ export const serializeNodes = (nodes, extractionFacade, primitiveTypeSerializer
69
69
  containment: featureMetaPointer,
70
70
  children: asIds(children)
71
71
  });
72
- children.forEach((childOrNull) => {
73
- if (childOrNull !== null) {
74
- visit(childOrNull, node);
75
- }
76
- });
72
+ children.forEach((child) => visit(child, node));
77
73
  return;
78
74
  }
79
75
  if (feature instanceof Reference) {
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"map-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/map-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAC,MAAM,aAAa,CAAA;AAG9B;;GAEG;AACH,eAAO,MAAM,OAAO;QAAoB,EAAE;;;CAOzC,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,OAAO,kCAAmC,MAAM,wBAY5D,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,YAAY,mDAAoD,OAAO,sBAI/E,CAAA;AAGL;;GAEG;AACH,eAAO,MAAM,eAAe,kCAAmC,MAAM,wBACR,CAAA;AAG7D;;GAEG;AACH,eAAO,MAAM,SAAS,2EAIjB,CAAA"}
1
+ {"version":3,"file":"map-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/map-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAC,MAAM,aAAa,CAAA;AAG9B;;GAEG;AACH,eAAO,MAAM,OAAO;QAAoB,EAAE;;;CAMzC,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,OAAO,kCAAmC,MAAM,wBAY5D,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,YAAY,mDAAoD,OAAO,sBAI/E,CAAA;AAGL;;GAEG;AACH,eAAO,MAAM,eAAe,kCAAmC,MAAM,wBACR,CAAA;AAG7D;;GAEG;AACH,eAAO,MAAM,SAAS,2EAIjB,CAAA"}
@@ -7,7 +7,6 @@ export const byIdMap = (ts) => {
7
7
  map[t.id] = t;
8
8
  });
9
9
  return map;
10
- // TODO -> Object.fromEntries(...) but what happens then with duplicate IDs?
11
10
  };
12
11
  /**
13
12
  * Groups a list of items according to a computed key.
@@ -1 +1 @@
1
- {"version":3,"file":"map-helpers.js","sourceRoot":"","sources":["../../src/utils/map-helpers.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAuB,EAAO,EAAmB,EAAE;IACtE,MAAM,GAAG,GAAoB,EAAE,CAAA;IAC/B,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACb,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;IACV,6EAA6E;AACjF,CAAC,CAAA;AAGD;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAI,EAAO,EAAE,OAAyB,EAAuB,EAAE;IAClF,MAAM,GAAG,GAAwB,EAAE,CAAA;IACnC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACb,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;QACnB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,IAAI,GAAG,EAAE,CAAA;YACT,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;QACnB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACd,CAAC,CAAA;AAGD;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAI,GAAsB,EAAE,SAA4B,EAAqB,EAAE,CACvG,MAAM,CAAC,WAAW,CACd,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;KACd,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAChD,CAAA;AAGL;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAI,EAAO,EAAE,OAAyB,EAAuB,EAAE,CAC1F,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAG7D;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAO,GAAsB,EAAE,OAAoB,EAAqB,EAAE,CAC/F,MAAM,CAAC,WAAW,CACd,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;KACd,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CACpD,CAAA"}
1
+ {"version":3,"file":"map-helpers.js","sourceRoot":"","sources":["../../src/utils/map-helpers.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAuB,EAAO,EAAmB,EAAE;IACtE,MAAM,GAAG,GAAoB,EAAE,CAAA;IAC/B,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACb,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACd,CAAC,CAAA;AAGD;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAI,EAAO,EAAE,OAAyB,EAAuB,EAAE;IAClF,MAAM,GAAG,GAAwB,EAAE,CAAA;IACnC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACb,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;QACnB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,IAAI,GAAG,EAAE,CAAA;YACT,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;QACnB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACd,CAAC,CAAA;AAGD;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAI,GAAsB,EAAE,SAA4B,EAAqB,EAAE,CACvG,MAAM,CAAC,WAAW,CACd,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;KACd,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAChD,CAAA;AAGL;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAI,EAAO,EAAE,OAAyB,EAAuB,EAAE,CAC1F,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAG7D;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAO,GAAsB,EAAE,OAAoB,EAAqB,EAAE,CAC/F,MAAM,CAAC,WAAW,CACd,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;KACd,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CACpD,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lionweb/core",
3
- "version": "0.6.10-beta.0",
3
+ "version": "0.6.10-beta.2",
4
4
  "description": "LionWeb core for {Java|Type}Script",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -18,7 +18,10 @@
18
18
  "clean": "rm -rf dist/ lionweb-core-*.tgz",
19
19
  "build": "tsc",
20
20
  "lint": "eslint src",
21
+ "pre-release-either": "npm run clean && npm install && npm run build",
22
+ "prerelease": "npm run pre-release-either",
21
23
  "release": "npm publish",
24
+ "prerelease-beta": "npm run pre-release-either",
22
25
  "release-beta": "npm publish --tag beta"
23
26
  }
24
27
  }