@lionweb/utilities 0.6.4-beta.0 → 0.6.5-beta.0

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.
Files changed (52) hide show
  1. package/README.md +13 -2
  2. package/dist/index.d.ts +2 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +2 -2
  5. package/dist/index.js.map +1 -1
  6. package/dist/m3/diagrams/Mermaid-generator.d.ts.map +1 -1
  7. package/dist/m3/diagrams/Mermaid-generator.js +2 -1
  8. package/dist/m3/diagrams/Mermaid-generator.js.map +1 -1
  9. package/dist/m3/diagrams/PlantUML-generator.d.ts.map +1 -1
  10. package/dist/m3/diagrams/PlantUML-generator.js +2 -1
  11. package/dist/m3/diagrams/PlantUML-generator.js.map +1 -1
  12. package/dist/{inferLanguages.d.ts → m3/infer-languages.d.ts} +1 -1
  13. package/dist/m3/infer-languages.d.ts.map +1 -0
  14. package/dist/{inferLanguages.js → m3/infer-languages.js} +2 -2
  15. package/dist/m3/infer-languages.js.map +1 -0
  16. package/dist/m3/ts-generation/ts-types-generator.d.ts.map +1 -1
  17. package/dist/m3/ts-generation/ts-types-generator.js +50 -17
  18. package/dist/m3/ts-generation/ts-types-generator.js.map +1 -1
  19. package/dist/m3/ts-generation/type-def.js +1 -0
  20. package/dist/m3/ts-generation/type-def.js.map +1 -1
  21. package/dist/serialization/chunk.d.ts.map +1 -1
  22. package/dist/serialization/chunk.js +4 -3
  23. package/dist/serialization/chunk.js.map +1 -1
  24. package/dist/serialization/measurer.d.ts.map +1 -1
  25. package/dist/serialization/measurer.js +2 -1
  26. package/dist/serialization/measurer.js.map +1 -1
  27. package/dist/serialization/sorting.d.ts.map +1 -1
  28. package/dist/serialization/sorting.js +4 -5
  29. package/dist/serialization/sorting.js.map +1 -1
  30. package/dist/utils/array.d.ts +9 -0
  31. package/dist/utils/array.d.ts.map +1 -0
  32. package/dist/utils/array.js +9 -0
  33. package/dist/utils/array.js.map +1 -0
  34. package/dist/utils/json.d.ts.map +1 -0
  35. package/dist/utils/json.js.map +1 -0
  36. package/dist/{serialization/fp-helpers.d.ts → utils/nested-map.d.ts} +1 -5
  37. package/dist/utils/nested-map.d.ts.map +1 -0
  38. package/dist/{serialization/fp-helpers.js → utils/nested-map.js} +1 -5
  39. package/dist/utils/nested-map.js.map +1 -0
  40. package/dist/utils/object.d.ts +5 -0
  41. package/dist/utils/object.d.ts.map +1 -0
  42. package/dist/utils/object.js +5 -0
  43. package/dist/utils/object.js.map +1 -0
  44. package/package.json +3 -3
  45. package/dist/inferLanguages.d.ts.map +0 -1
  46. package/dist/inferLanguages.js.map +0 -1
  47. package/dist/json.d.ts.map +0 -1
  48. package/dist/json.js.map +0 -1
  49. package/dist/serialization/fp-helpers.d.ts.map +0 -1
  50. package/dist/serialization/fp-helpers.js.map +0 -1
  51. /package/dist/{json.d.ts → utils/json.d.ts} +0 -0
  52. /package/dist/{json.js → utils/json.js} +0 -0
package/README.md CHANGED
@@ -17,15 +17,26 @@ It contains utilities on top of the `core` package, such as:
17
17
  * Diagram generation (PlantUML and Mermaid) from an M2.
18
18
  * “Textualization”, i.e. render a serialization chunk as text.
19
19
  * Sort the contents of a serialization chunk as much as possible, for the sake of comparing serialization chunks.
20
- * An Ecore → M2 importer.
20
+ * Compute metrics for a serialization chunk (also relative to a given M2).
21
+ * Infer a (partial) M2 from a serialization chunk.
22
+ * Generation of TypeScript type definitions from an M2.
21
23
 
22
24
 
23
25
  ## Changelog
24
26
 
27
+ ### 0.6.5
28
+
29
+ * TS types generator now generates 1 file per language.
30
+ The generator also has several fixes, and assumes that the generated code will be embedded in an ES6 module.
31
+
32
+ ### 0.6.4
33
+
34
+ * Rename `inferLanguagesFromChunk` → `inferLanguagesFromSerializationChunk` (for consistency).
35
+ * Extend the functionality of the `measure` metrics function.
36
+
25
37
  ### 0.6.3
26
38
 
27
39
  * Add a `inferLanguagesFromChunk` function that infers a language from a serialization chunk.
28
- * Extend the functionality of the `measure` metrics function.
29
40
  * Renaming for consistency and clarity:
30
41
  * `readChunk` → `readSerializationChunk`
31
42
  * `tryLoad[All]AsLanguages` → `tryRead[All]AsLanguages`
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from "./hashing.js";
2
- export * from "./json.js";
2
+ export * from "./utils/json.js";
3
3
  export * from "./m3/index.js";
4
4
  export * from "./serialization/index.js";
5
- export * from "./inferLanguages.js";
5
+ export * from "./m3/infer-languages.js";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from "./hashing.js";
2
- export * from "./json.js";
2
+ export * from "./utils/json.js";
3
3
  export * from "./m3/index.js";
4
4
  export * from "./serialization/index.js";
5
- export * from "./inferLanguages.js";
5
+ export * from "./m3/infer-languages.js";
6
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Mermaid-generator.d.ts","sourceRoot":"","sources":["../../../src/m3/diagrams/Mermaid-generator.ts"],"names":[],"mappings":"AACA,OAAO,EAUH,QAAQ,EAQX,MAAM,eAAe,CAAA;AAuBtB;;;GAGG;AACH,eAAO,MAAM,0BAA0B,iBAAgB,QAAQ,WAWzD,CAAA"}
1
+ {"version":3,"file":"Mermaid-generator.d.ts","sourceRoot":"","sources":["../../../src/m3/diagrams/Mermaid-generator.ts"],"names":[],"mappings":"AACA,OAAO,EAUH,QAAQ,EAQX,MAAM,eAAe,CAAA;AAwBtB;;;GAGG;AACH,eAAO,MAAM,0BAA0B,iBAAgB,QAAQ,WAWzD,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { asString, indentWith } from "littoral-templates";
2
2
  import { Annotation, Concept, Containment, entitiesSortedByName, Enumeration, Interface, isBuiltinNodeConcept, isRef, Link, nonRelationalFeatures, PrimitiveType, relationsOf, type, unresolved } from "@lionweb/core";
3
+ import { picker } from "../../utils/object.js";
3
4
  // define some layouting basics/building algebra:
4
5
  const indented = indentWith(` `)(1);
5
6
  const block = (header, elements) => elements.length === 0
@@ -30,7 +31,7 @@ export const generateMermaidForLanguage = ({ entities }) => asString([
30
31
  ]);
31
32
  const generateForEnumeration = ({ name, literals }) => withNewLine(block(`class ${name}`, [
32
33
  `<<enumeration>>`,
33
- literals.map(({ name }) => name)
34
+ literals.map(picker("name"))
34
35
  ]));
35
36
  const generateForAnnotation = ({ name, features, extends: extends_, implements: implements_, annotates }) => [
36
37
  block([
@@ -1 +1 @@
1
- {"version":3,"file":"Mermaid-generator.js","sourceRoot":"","sources":["../../../src/m3/diagrams/Mermaid-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Mermaid-generator.js","sourceRoot":"","sources":["../../../src/m3/diagrams/Mermaid-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,UAAU,EAAe,MAAM,oBAAoB,CAAA;AACrE,OAAO,EACH,UAAU,EACV,OAAO,EACP,WAAW,EACX,oBAAoB,EACpB,WAAW,EAEX,SAAS,EACT,oBAAoB,EACpB,KAAK,EAGL,IAAI,EACJ,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,IAAI,EACJ,UAAU,EACb,MAAM,eAAe,CAAA;AACtB,OAAO,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAA;AAG5C,iDAAiD;AAEjD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AAEpC,MAAM,KAAK,GAAG,CAAC,MAAoB,EAAE,QAAsB,EAAgB,EAAE,CACzE,QAAQ,CAAC,MAAM,KAAK,CAAC;IACjB,CAAC,CAAC,MAAM;IACR,CAAC,CAAC;QACE,GAAG,MAAM,IAAI;QACb,QAAQ,CAAC,QAAQ,CAAC;QAClB,GAAG;KACN,CAAA;AAET,MAAM,WAAW,GAAG,CAAC,OAAqB,EAAgB,EAAE,CACxD;IACI,OAAO;IACP,EAAE;CACL,CAAA;AAGL;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EAAC,QAAQ,EAAW,EAAE,EAAE,CAC/D,QAAQ,CAAC;IACL,YAAY;IACZ;;CAEP;IACO,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/D,EAAE;IACF,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpE,EAAE;IACF,KAAK;CACR,CAAC,CAAA;AAGN,MAAM,sBAAsB,GAAG,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAc,EAAE,EAAE,CAC7D,WAAW,CAAC,KAAK,CACb,SAAS,IAAI,EAAE,EACf;IACI,iBAAiB;IACjB,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAC/B,CACJ,CAAC,CAAA;AAGN,MAAM,qBAAqB,GAAG,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAa,EAAE,EAAE,CAClH;IACI,KAAK,CACD;QACI,SAAS,IAAI,EAAE;QACf,kBAAkB,IAAI,EAAE;QACxB,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;KAC1D,EACD,qBAAqB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,+BAA+B,CAAC,CACvE;IACD,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;IAC3F,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,IAAI,SAAS,IAAI,EAAE,CAAC;IAChF,EAAE;CACL,CAAA;AAEL,MAAM,kBAAkB,GAAG,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAA,6BAA6B,EAAE,SAAS,EAAU,EAAE,EAAE,CACrI;IACI,KAAK,CACD,SAAS,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EACnD,qBAAqB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,+BAA+B,CAAC,CACvE;IACD,SAAS,CAAC,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;IACvC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;IAC3F,EAAE;CACL,CAAA;AAGL,MAAM,oBAAoB,GAAG,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAY,EAAE,EAAE,CAC5E;IACI,KAAK,CACD,SAAS,IAAI,EAAE,EACf,qBAAqB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,+BAA+B,CAAC,CACvE;IACD,iBAAiB,IAAI,EAAE;IACvB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,WAAW,EAAC,EAAE,EAAE,CAAC,GAAG,WAAW,SAAS,IAAI,EAAE,CAAC;IACpE,EAAE;CACL,CAAA;AAGL,MAAM,+BAA+B,GAAG,CAAC,OAAgB,EAAE,EAAE;IACzD,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAC,GAAG,OAAO,CAAA;IAChC,MAAM,QAAQ,GAAG,OAAO,YAAY,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAA;IAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3B,MAAM,QAAQ,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IACrI,OAAO,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAA;AACjC,CAAC,CAAA;AAGD,MAAM,wBAAwB,GAAG,CAAC,EAAC,IAAI,EAAgB,EAAE,EAAE,CAC3D,SAAS,IAAI;oBACO,IAAI;;CAEvB,CAAA;AAGD,MAAM,iBAAiB,GAAG,CAAC,MAAsB,EAAE,EAAE;IACjD,IAAI,MAAM,YAAY,UAAU,EAAE,CAAC;QAC/B,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAA;IACxC,CAAC;IACD,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;QAC5B,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IACD,IAAI,MAAM,YAAY,WAAW,EAAE,CAAC;QAChC,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC;IACD,IAAI,MAAM,YAAY,SAAS,EAAE,CAAC;QAC9B,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;IACD,IAAI,MAAM,YAAY,aAAa,EAAE,CAAC;QAClC,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IACD,OAAO,kCAAkC,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAA;AACrF,CAAC,CAAA;AAGD,MAAM,sBAAsB,GAAG,CAAC,MAAsB,EAAE,EAAE;IACtD,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IACrC,OAAO,SAAS,CAAC,MAAM,KAAK,CAAC;QACzB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,SAAS;aACN,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;AACrE,CAAC,CAAA;AAGD,MAAM,mBAAmB,GAAG,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAiB,EAAE,QAAc,EAAE,EAAE;IAC7E,MAAM,EAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAC,GAAG,QAAQ,CAAA;IAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC7F,MAAM,aAAa,GAAG,QAAQ,YAAY,WAAW,CAAA;IACrD,MAAM,gBAAgB,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IAClD,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE;QAC5B,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,GAAG,CAAA;QACd,CAAC;QACD,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAA;IAClC,CAAC,CAAC,EAAE,CAAA;IACJ,OAAO,GAAG,QAAQ,KAAK,gBAAgB,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,iBAAiB,KAAK,SAAS,KAAK,YAAY,EAAE,CAAA;AAClI,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlantUML-generator.d.ts","sourceRoot":"","sources":["../../../src/m3/diagrams/PlantUML-generator.ts"],"names":[],"mappings":"AACA,OAAO,EAUH,QAAQ,EASX,MAAM,eAAe,CAAA;AAMtB;;;GAGG;AACH,eAAO,MAAM,2BAA2B,uBAAsB,QAAQ,WAmBpE,CAAA"}
1
+ {"version":3,"file":"PlantUML-generator.d.ts","sourceRoot":"","sources":["../../../src/m3/diagrams/PlantUML-generator.ts"],"names":[],"mappings":"AACA,OAAO,EAUH,QAAQ,EASX,MAAM,eAAe,CAAA;AAOtB;;;GAGG;AACH,eAAO,MAAM,2BAA2B,uBAAsB,QAAQ,WAmBpE,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { asString, indentWith } from "littoral-templates";
2
2
  import { Annotation, Concept, Containment, entitiesSortedByName, Enumeration, Interface, isBuiltinNodeConcept, isRef, Link, nameOf, nonRelationalFeatures, PrimitiveType, relationsOf, type, unresolved } from "@lionweb/core";
3
+ import { picker } from "../../utils/object.js";
3
4
  const indented = indentWith(` `)(1);
4
5
  /**
5
6
  * Generates a string with a PlantUML class diagram
@@ -26,7 +27,7 @@ hide empty members
26
27
  ]);
27
28
  const generateForEnumeration = ({ name, literals }) => [
28
29
  `enum ${name} {`,
29
- indented(literals.map(({ name }) => name)),
30
+ indented(literals.map(picker("name"))),
30
31
  `}
31
32
 
32
33
  `
@@ -1 +1 @@
1
- {"version":3,"file":"PlantUML-generator.js","sourceRoot":"","sources":["../../../src/m3/diagrams/PlantUML-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlantUML-generator.js","sourceRoot":"","sources":["../../../src/m3/diagrams/PlantUML-generator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { Language, SerializationChunk } from "@lionweb/core";
2
2
  export declare const inferLanguagesFromSerializationChunk: (chunk: SerializationChunk) => Language[];
3
3
  export declare const deriveLikelyPropertyName: (key: string) => string;
4
- //# sourceMappingURL=inferLanguages.d.ts.map
4
+ //# sourceMappingURL=infer-languages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infer-languages.d.ts","sourceRoot":"","sources":["../../src/m3/infer-languages.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,QAAQ,EAIR,kBAAkB,EAMrB,MAAM,eAAe,CAAA;AAUtB,eAAO,MAAM,oCAAoC,UAAW,kBAAkB,KAAG,QAAQ,EAmGxF,CAAA;AAUD,eAAO,MAAM,wBAAwB,QAAS,MAAM,WASnD,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { Concept, Containment, Language, Property, Reference, asArray, builtinPrimitives, chain, concatenator, lastOf } from "@lionweb/core";
2
- import { hasher } from "./hashing.js";
2
+ import { hasher } from "../hashing.js";
3
3
  const possibleKeySeparators = ["-", "_"];
4
4
  const id = chain(concatenator("-"), hasher());
5
5
  const key = lastOf;
@@ -93,4 +93,4 @@ export const deriveLikelyPropertyName = (key) => {
93
93
  };
94
94
  const isBoolean = (value) => value === "true" || value === "false";
95
95
  const isNumeric = (value) => !isNaN(parseFloat(value));
96
- //# sourceMappingURL=inferLanguages.js.map
96
+ //# sourceMappingURL=infer-languages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infer-languages.js","sourceRoot":"","sources":["../../src/m3/infer-languages.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ts-types-generator.d.ts","sourceRoot":"","sources":["../../../src/m3/ts-generation/ts-types-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAaH,QAAQ,EASX,MAAM,eAAe,CAAA;AAuFtB,oBAAY,iBAAiB;IACzB,YAAY,IAAA;CACf;AAGD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,aAAc,QAAQ,wBAAwB,iBAAiB,EAAE,WAmG/F,CAAA"}
1
+ {"version":3,"file":"ts-types-generator.d.ts","sourceRoot":"","sources":["../../../src/m3/ts-generation/ts-types-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAiBH,QAAQ,EAWX,MAAM,eAAe,CAAA;AA2FtB,oBAAY,iBAAiB;IACzB,YAAY,IAAA;CACf;AAGD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,aAAc,QAAQ,wBAAwB,iBAAiB,EAAE,WA2I/F,CAAA"}
@@ -1,7 +1,9 @@
1
- import { Annotation, builtinClassifiers, builtinPrimitives, Concept, conceptsOf, Enumeration, Interface, isConcrete, Link, nameOf, nameSorted, PrimitiveType, Property, unresolved } from "@lionweb/core";
1
+ import { allFeaturesOf, Annotation, builtinClassifiers, builtinPrimitives, Classifier, Concept, conceptsOf, Enumeration, groupBy, inheritsFrom, Interface, isConcrete, lioncoreBuiltins, Link, mapValues, nameOf, nameSorted, PrimitiveType, Property, unresolved } from "@lionweb/core";
2
2
  import { asString } from "littoral-templates";
3
3
  import { cond, indent } from "./text-generation-utils.js";
4
4
  import { tsFromTypeDef, TypeDefModifier } from "./type-def.js";
5
+ import { uniquesAmong } from "../../utils/array.js";
6
+ import { picker } from "../../utils/object.js";
5
7
  const fieldForFeature = (feature) => {
6
8
  if (feature instanceof Link) {
7
9
  return fieldForLink(feature);
@@ -20,7 +22,6 @@ const fieldForLink = ({ name, type, optional, multiple }) => ({
20
22
  optional: optional && !multiple,
21
23
  type: `${type === unresolved ? `unknown` : type.name}${multiple ? `[]` : ``}`
22
24
  });
23
- // FIXME this doesn't work cross-language
24
25
  const tsTypeFor = (datatype) => {
25
26
  if (datatype instanceof PrimitiveType) {
26
27
  switch (datatype) {
@@ -44,6 +45,9 @@ const fieldForProperty = ({ name, type, optional }) => ({
44
45
  });
45
46
  const isINamed = (entity) => entity === builtinClassifiers.inamed;
46
47
  const usesINamedDirectly = (entity) => {
48
+ if (entity instanceof Annotation) {
49
+ return entity.implements.some(isINamed);
50
+ }
47
51
  if (entity instanceof Concept) {
48
52
  return entity.implements.some(isINamed);
49
53
  }
@@ -71,23 +75,29 @@ export var GenerationOptions;
71
75
  * in combination with using the {@link DynamicNode} base type and corresponding facades.
72
76
  */
73
77
  export const tsTypesForLanguage = (language, ...generationOptions) => {
78
+ const fieldsForClassifier = (classifier) => {
79
+ const map = mapValues(groupBy(allFeaturesOf(classifier), nameOf), (features) => features.map((feature) => ([feature, fieldForFeature(feature)])));
80
+ Object.values(map)
81
+ .filter((fieldsWithOrigin) => fieldsWithOrigin.length > 1)
82
+ .forEach((fieldsWithOrigin) => {
83
+ fieldsWithOrigin.forEach(([feature, field]) => {
84
+ field.name = `${field.name}_${feature.parent.name}`;
85
+ });
86
+ });
87
+ return Object.values(map)
88
+ .flatMap((fieldsWithOrigin) => fieldsWithOrigin.map(([_, field]) => field));
89
+ };
74
90
  const typeForAnnotation = (annotation) => {
75
- const superTypes = [
76
- ...(annotation.extends ? [annotation.extends] : []),
77
- ...annotation.implements
78
- ];
91
+ const superTypes = inheritsFrom(annotation);
79
92
  return tsFromTypeDef({
80
93
  modifier: TypeDefModifier.none,
81
94
  name: annotation.name,
82
95
  mixinNames: superTypes.length === 0 ? [`DynamicNode`] : superTypes.map(nameOf),
83
- fields: annotation.features.map(fieldForFeature)
96
+ fields: fieldsForClassifier(annotation)
84
97
  });
85
98
  };
86
99
  const typeForConcept = (concept) => {
87
- const superTypes = [
88
- ...(concept.extends ? [concept.extends] : []),
89
- ...concept.implements
90
- ];
100
+ const superTypes = inheritsFrom(concept);
91
101
  const subClassifiers = concept.abstract
92
102
  ? (generationOptions.indexOf(GenerationOptions.assumeSealed) > -1
93
103
  ? conceptsOf(language).filter((entity) => entity.extends === concept)
@@ -98,14 +108,14 @@ export const tsTypesForLanguage = (language, ...generationOptions) => {
98
108
  name: concept.name,
99
109
  mixinNames: superTypes.length === 0 ? [`DynamicNode`] : superTypes.map(nameOf),
100
110
  bodyComment: subClassifiers.length > 0 ? `classifier -> ${subClassifiers.map(nameOf).join(` | `)}` : undefined,
101
- fields: concept.features.map(fieldForFeature)
111
+ fields: fieldsForClassifier(concept)
102
112
  });
103
113
  };
104
114
  const typeForInterface = (intface) => tsFromTypeDef({
105
115
  modifier: TypeDefModifier.interface,
106
116
  name: intface.name,
107
117
  mixinNames: intface.extends.length === 0 ? [`DynamicNode`] : intface.extends.map(nameOf),
108
- fields: intface.features.map(fieldForFeature)
118
+ fields: fieldsForClassifier(intface)
109
119
  });
110
120
  const typeForLanguageEntity = (entity) => {
111
121
  if (entity instanceof Annotation) {
@@ -128,10 +138,24 @@ export const tsTypesForLanguage = (language, ...generationOptions) => {
128
138
  ``
129
139
  ];
130
140
  };
131
- const globalImports = [
141
+ const dependenciesOfClassifier = (classifier) => [
142
+ ...inheritsFrom(classifier),
143
+ ...allFeaturesOf(classifier)
144
+ .filter((feature) => feature instanceof Link)
145
+ .map((feature) => feature)
146
+ .flatMap(picker("type"))
147
+ .filter((type) => type instanceof Classifier)
148
+ .map((classifier) => classifier)
149
+ ];
150
+ const coreImports = [
132
151
  ...cond(!language.entities.every(usesINamedDirectly), `DynamicNode`),
133
- ...cond(language.entities.some(usesINamedDirectly), `DynamicINamed as INamed`) // (rename import so we don't have to map just the one)
152
+ ...cond(language.entities.some(usesINamedDirectly), `INamed`)
134
153
  ];
154
+ const generatedDependencies = uniquesAmong(language.entities
155
+ .filter((entity) => entity instanceof Classifier)
156
+ .flatMap((entity) => dependenciesOfClassifier(entity)))
157
+ .filter((classifier) => classifier.language !== language && classifier.language !== lioncoreBuiltins);
158
+ const importsPerPackage = groupBy(generatedDependencies, ({ language }) => language.name);
135
159
  const concreteClassifiers = language.entities.filter(isConcrete);
136
160
  return asString([
137
161
  `// Warning: this file is generated!`,
@@ -143,10 +167,19 @@ export const tsTypesForLanguage = (language, ...generationOptions) => {
143
167
  * version: ${language.version}
144
168
  */`,
145
169
  ``,
146
- cond(globalImports.length > 0, `import {${globalImports.join(`, `)}} from "@lionweb/core";`),
170
+ cond(coreImports.length > 0, `import {${coreImports.join(`, `)}} from "@lionweb/core";`),
171
+ Object.keys(importsPerPackage)
172
+ .sort()
173
+ .map((packageName) => `import {${nameSorted(importsPerPackage[packageName]).map(nameOf).join(", ")}} from "./${packageName}.js";`),
174
+ ``,
147
175
  ``,
148
176
  nameSorted(language.entities).map(typeForLanguageEntity),
149
- cond(concreteClassifiers.length > 0, `export type ${language.name}Node = ${nameSorted(concreteClassifiers).map(nameOf).join(` | `)};`)
177
+ cond(concreteClassifiers.length > 0, [
178
+ ``,
179
+ `/** sum type of all types for all concrete classifiers of ${language.name}: */`,
180
+ `export type Nodes = ${nameSorted(concreteClassifiers).map(nameOf).join(` | `)};`,
181
+ ``
182
+ ])
150
183
  ]);
151
184
  };
152
185
  //# sourceMappingURL=ts-types-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ts-types-generator.js","sourceRoot":"","sources":["../../../src/m3/ts-generation/ts-types-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ts-types-generator.js","sourceRoot":"","sources":["../../../src/m3/ts-generation/ts-types-generator.ts"],"names":[],"mappings":"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"}
@@ -24,4 +24,5 @@ export const tsFromTypeDef = ({ modifier, name, mixinNames, bodyComment, fields
24
24
  ``
25
25
  ];
26
26
  };
27
+ // TODO Idea: expose the TypeDef type, and have the generator generate type-def.s, which can be transformed to code at will.
27
28
  //# sourceMappingURL=type-def.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-def.js","sourceRoot":"","sources":["../../../src/m3/ts-generation/type-def.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,4BAA4B,CAAA;AAGvD,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACvB,qDAAI,CAAA;IACJ,6DAAQ,CAAA;IACR,+DAAS,CAAA;AACb,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAiBD,MAAM,WAAW,GAAG,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAQ,EAAgB,EAAE,CAChE,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,GAAG,CAAA;AAG7C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAU,EAAgB,EAAE;IACtG,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;IAClD,OAAO;QACH,GAAG,QAAQ,KAAK,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,eAAe,CAAC,QAAQ,CAAC,MAAM,eAAe,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;QAC7J,IAAI,CACA,OAAO,EACP;YACI,MAAM,CAAC;gBACH,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,WAAW,EAAE,CAAC;gBACxC,IAAI,CACA,MAAM,CAAC,MAAM,GAAG,CAAC,EACjB;oBACI,aAAa;oBACb,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC/B,IAAI;iBACP,CACJ;aACJ,CAAC;YACF,IAAI,CAAI,mDAAmD;SAC9D,CACJ;QACD,EAAE;KACL,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"type-def.js","sourceRoot":"","sources":["../../../src/m3/ts-generation/type-def.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,4BAA4B,CAAA;AAGvD,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACvB,qDAAI,CAAA;IACJ,6DAAQ,CAAA;IACR,+DAAS,CAAA;AACb,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAiBD,MAAM,WAAW,GAAG,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAQ,EAAgB,EAAE,CAChE,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,GAAG,CAAA;AAG7C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAU,EAAgB,EAAE;IACtG,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;IAClD,OAAO;QACH,GAAG,QAAQ,KAAK,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,eAAe,CAAC,QAAQ,CAAC,MAAM,eAAe,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;QAC7J,IAAI,CACA,OAAO,EACP;YACI,MAAM,CAAC;gBACH,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,WAAW,EAAE,CAAC;gBACxC,IAAI,CACA,MAAM,CAAC,MAAM,GAAG,CAAC,EACjB;oBACI,aAAa;oBACb,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC/B,IAAI;iBACP,CACJ;aACJ,CAAC;YACF,IAAI,CAAI,mDAAmD;SAC9D,CACJ;QACD,EAAE;KACL,CAAA;AACL,CAAC,CAAA;AAGD,6HAA6H"}
@@ -1 +1 @@
1
- {"version":3,"file":"chunk.d.ts","sourceRoot":"","sources":["../../src/serialization/chunk.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,QAAQ,EAER,kBAAkB,EAErB,MAAM,eAAe,CAAA;AAItB;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,SAAgB,MAAM,gCAOxD,CAAA;AAOD;;GAEG;AACH,eAAO,MAAM,4BAA4B,SAAU,OAAO,KAAG,OAKqC,CAAA;AAGlG;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,SAAgB,MAAM,KAAG,QAAQ,QAAQ,EAAE,CAazE,CAAA;AAiBD;;GAEG;AACH,eAAO,MAAM,aAAa,wBAAyB,kBAAkB,EAAE,KAAG,kBAKpE,CAAA;AAGN;;;GAGG;AACH,eAAO,MAAM,qBAAqB,UAAiB,MAAM,EAAE,KAAG,QAAQ,QAAQ,EAAE,CAkB/E,CAAA"}
1
+ {"version":3,"file":"chunk.d.ts","sourceRoot":"","sources":["../../src/serialization/chunk.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,QAAQ,EAER,kBAAkB,EAErB,MAAM,eAAe,CAAA;AAKtB;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,SAAgB,MAAM,gCAOxD,CAAA;AAOD;;GAEG;AACH,eAAO,MAAM,4BAA4B,SAAU,OAAO,KAAG,OAKqC,CAAA;AAGlG;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,SAAgB,MAAM,KAAG,QAAQ,QAAQ,EAAE,CAazE,CAAA;AAiBD;;GAEG;AACH,eAAO,MAAM,aAAa,wBAAyB,kBAAkB,EAAE,KAAG,kBAKpE,CAAA;AAGN;;;GAGG;AACH,eAAO,MAAM,qBAAqB,UAAiB,MAAM,EAAE,KAAG,QAAQ,QAAQ,EAAE,CAkB/E,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { currentSerializationFormatVersion, deserializeLanguages, lioncoreKey } from "@lionweb/core";
2
- import { readFileAsJson } from "../json.js";
2
+ import { readFileAsJson } from "../utils/json.js";
3
+ import { picker } from "../utils/object.js";
3
4
  /**
4
5
  * Reads the file at the given path as a {@link SerializationChunk serialization chunk}.
5
6
  * **Note** that it's only checked that the file exists and can be parsed as JSON,
@@ -54,8 +55,8 @@ const areEqual = (left, right) => left.key === right.key && left.version === rig
54
55
  */
55
56
  export const combinationOf = (serializationChunks) => ({
56
57
  serializationFormatVersion: currentSerializationFormatVersion,
57
- languages: flatMapDistinct(serializationChunks.map(({ languages }) => languages), areEqual),
58
- nodes: serializationChunks.flatMap(({ nodes }) => nodes)
58
+ languages: flatMapDistinct(serializationChunks.map(picker("languages")), areEqual),
59
+ nodes: serializationChunks.flatMap(picker("nodes"))
59
60
  });
60
61
  /**
61
62
  * Tries to read all the given paths as JSON serialization chunks that are serializations of languages,
@@ -1 +1 @@
1
- {"version":3,"file":"chunk.js","sourceRoot":"","sources":["../../src/serialization/chunk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chunk.js","sourceRoot":"","sources":["../../src/serialization/chunk.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,iCAAiC,EACjC,oBAAoB,EAEpB,WAAW,EAGd,MAAM,eAAe,CAAA;AACtB,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAA;AAGzC;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IACzD,IAAI,CAAC;QACD,OAAO,cAAc,CAAC,IAAI,CAAuB,CAAA;IACrD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,2BAA2B,CAAC,CAAA;QACjD,MAAM,CAAC,CAAA;IACX,CAAC;AACL,CAAC,CAAA;AACD,4FAA4F;AAG5F,MAAM,QAAQ,GAAG,CAAC,IAAa,EAAmC,EAAE,CAChE,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,IAAa,EAAW,EAAE,CACnE,QAAQ,CAAC,IAAI,CAAC;OACX,IAAI,CAAC,4BAA4B,CAAC,KAAK,iCAAiC;OACxE,WAAW,IAAI,IAAI;OACnB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;OAChC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,CAAA;AAGlG;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,IAAY,EAAuB,EAAE;IAC1E,MAAM,kBAAkB,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAA;IAC7D,IAAI,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,gEAAgE,CAAC,CAAA;QACtF,OAAO,EAAE,CAAA;IACb,CAAC;IACD,IAAI,CAAC;QACD,OAAO,oBAAoB,CAAC,kBAAkB,CAAC,CAAA;QACvD,8DAA8D;IAC1D,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,mEAAmE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QACpG,OAAO,EAAE,CAAA;IACb,CAAC;AACL,CAAC,CAAA;AAGD,MAAM,eAAe,GAAG,CAAI,GAAY,EAAE,SAAkC,EAAE,EAAE,CAC5E,GAAG,CAAC,MAAM,CACN,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CACR;IACI,GAAG,GAAG;IACN,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3D,EACL,EAAE,CACL,CAAA;AAEL,MAAM,QAAQ,GAAG,CAAC,IAAiC,EAAE,KAAkC,EAAW,EAAE,CAChG,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAA;AAG5D;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,mBAAyC,EAAsB,EAAE,CAC3F,CAAC;IACG,0BAA0B,EAAE,iCAAiC;IAC7D,SAAS,EAAE,eAAe,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC;IAClF,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;CACtD,CAAC,CAAA;AAGN;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,KAAe,EAAuB,EAAE;IAChF,MAAM,mBAAmB,GACrB,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;SACrD,MAAM,CAAC,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE;QAClC,MAAM,EAAE,GAAG,4BAA4B,CAAC,kBAAkB,CAAC,CAAA;QAC3D,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;YACzB,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,gEAAgE,CAAC,CAAA;QAC1F,CAAC;QACD,OAAO,EAAE,CAAA;IACb,CAAC,CAAC,CAAA;IACN,IAAI,CAAC;QACD,OAAO,oBAAoB,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAA;QACvE,8DAA8D;IAC1D,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QAC3G,OAAO,EAAE,CAAA;IACb,CAAC;AACL,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"measurer.d.ts","sourceRoot":"","sources":["../../src/serialization/measurer.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,QAAQ,EAIR,kBAAkB,EAGrB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAsB,OAAO,EAAC,MAAM,mBAAmB,CAAA;AAS9D;;;;;GAKG;AACH,eAAO,MAAM,OAAO,uBAAwB,kBAAkB,aAAa,QAAQ,EAAE,KAAG,OAkGvF,CAAA"}
1
+ {"version":3,"file":"measurer.d.ts","sourceRoot":"","sources":["../../src/serialization/measurer.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,QAAQ,EAIR,kBAAkB,EAGrB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAsB,OAAO,EAAC,MAAM,mBAAmB,CAAA;AAU9D;;;;;GAKG;AACH,eAAO,MAAM,OAAO,uBAAwB,kBAAkB,aAAa,QAAQ,EAAE,KAAG,OAkGvF,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { Annotation, Concept, instantiableClassifiersOf, Interface, MemoisingSymbolTable } from "@lionweb/core";
2
- import { nested3Grouper, nested3Mapper, nestedFlatMap2, nestedFlatMap3, sumNumbers } from "./fp-helpers.js";
2
+ import { sumNumbers } from "../utils/array.js";
3
+ import { nested3Grouper, nested3Mapper, nestedFlatMap2, nestedFlatMap3 } from "../utils/nested-map.js";
3
4
  /**
4
5
  * Computes {@link Metrics metrics} on the given {@link SerializationChunk serialization chunk}.
5
6
  * Passing it {@link Language languages} make this language-aware:
@@ -1 +1 @@
1
- {"version":3,"file":"measurer.js","sourceRoot":"","sources":["../../src/serialization/measurer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"measurer.js","sourceRoot":"","sources":["../../src/serialization/measurer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sorting.d.ts","sourceRoot":"","sources":["../../src/serialization/sorting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAkB,MAAM,eAAe,CAAA;AAajE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,qDAAoD,kBAAkB,KAAG,kBAsBxG,CAAA"}
1
+ {"version":3,"file":"sorting.d.ts","sourceRoot":"","sources":["../../src/serialization/sorting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAkB,MAAM,eAAe,CAAA;AAUjE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,qDAAoD,kBAAkB,KAAG,kBAsBxG,CAAA"}
@@ -1,15 +1,14 @@
1
1
  import { sortByStringKey } from "@lionweb/core";
2
2
  import { orderedMetaPointer, orderedSerializedLanguageReference, orderedSerializedProperty, orderedSerializedReferenceTarget } from "./ordering.js";
3
- const pick = (key) => (t) => t[key];
4
- // TODO (find a nice way to compose such things)
3
+ import { picker } from "../utils/object.js";
5
4
  /**
6
5
  * @return A sorted version of a {@link SerializedModel JSON serialization}, which should make it easier to inspect.
7
6
  * Note that the sorted version destroy the order of links, which might effectively alter semantics.
8
7
  */
9
8
  export const sortedSerializationChunk = ({ serializationFormatVersion, languages, nodes }) => ({
10
9
  serializationFormatVersion,
11
- languages: sortByStringKey(languages, pick("key")).map(orderedSerializedLanguageReference),
12
- nodes: sortByStringKey(nodes, pick("id"))
10
+ languages: sortByStringKey(languages, picker("key")).map(orderedSerializedLanguageReference),
11
+ nodes: sortByStringKey(nodes, picker("id"))
13
12
  .map((node) => ({
14
13
  id: node.id,
15
14
  classifier: orderedMetaPointer(node.classifier),
@@ -22,7 +21,7 @@ export const sortedSerializationChunk = ({ serializationFormatVersion, languages
22
21
  references: sortByStringKey(node.references, ({ reference }) => reference.key)
23
22
  .map(({ reference, targets }) => ({
24
23
  reference: orderedMetaPointer(reference),
25
- targets: sortByStringKey(targets, pick("reference")).map(orderedSerializedReferenceTarget)
24
+ targets: sortByStringKey(targets, picker("reference")).map(orderedSerializedReferenceTarget)
26
25
  })),
27
26
  annotations: node.annotations.sort(),
28
27
  parent: node.parent
@@ -1 +1 @@
1
- {"version":3,"file":"sorting.js","sourceRoot":"","sources":["../../src/serialization/sorting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,eAAe,EAAC,MAAM,eAAe,CAAA;AACjE,OAAO,EACH,kBAAkB,EAClB,kCAAkC,EAClC,yBAAyB,EACzB,gCAAgC,EACnC,MAAM,eAAe,CAAA;AAGtB,MAAM,IAAI,GAAG,CAAuB,GAAM,EAAkB,EAAE,CAC1D,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AACpB,iDAAiD;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EAAC,0BAA0B,EAAE,SAAS,EAAE,KAAK,EAAqB,EAAsB,EAAE,CAC/H,CAAC;IACG,0BAA0B;IAC1B,SAAS,EAAE,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,kCAAkC,CAAC;IAC1F,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;SACpC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACZ,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;QAC/C,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAC,QAAQ,EAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC;QACzG,YAAY,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC,WAAW,EAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC;aAC3E,GAAG,CAAC,CAAC,EAAC,WAAW,EAAE,QAAQ,EAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,WAAW,EAAE,kBAAkB,CAAC,WAAW,CAAC;YAC5C,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE;SAC5B,CAAC,CAAC;QACX,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAC,SAAS,EAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;aACnE,GAAG,CAAC,CAAC,EAAC,SAAS,EAAE,OAAO,EAAC,EAAE,EAAE,CAAC,CAAC;YAC5B,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC;YACxC,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,gCAAgC,CAAC;SAC7F,CAAC,CAAC;QACX,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;QACpC,MAAM,EAAE,IAAI,CAAC,MAAM;KACtB,CAAC,CAAC;CACV,CAAC,CAAA"}
1
+ {"version":3,"file":"sorting.js","sourceRoot":"","sources":["../../src/serialization/sorting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,eAAe,EAAC,MAAM,eAAe,CAAA;AACjE,OAAO,EACH,kBAAkB,EAClB,kCAAkC,EAClC,yBAAyB,EACzB,gCAAgC,EACnC,MAAM,eAAe,CAAA;AACtB,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAA;AAGzC;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EAAC,0BAA0B,EAAE,SAAS,EAAE,KAAK,EAAqB,EAAsB,EAAE,CAC/H,CAAC;IACG,0BAA0B;IAC1B,SAAS,EAAE,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,kCAAkC,CAAC;IAC5F,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;SACtC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACZ,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;QAC/C,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAC,QAAQ,EAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC;QACzG,YAAY,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC,WAAW,EAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC;aAC3E,GAAG,CAAC,CAAC,EAAC,WAAW,EAAE,QAAQ,EAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,WAAW,EAAE,kBAAkB,CAAC,WAAW,CAAC;YAC5C,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE;SAC5B,CAAC,CAAC;QACX,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAC,SAAS,EAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;aACnE,GAAG,CAAC,CAAC,EAAC,SAAS,EAAE,OAAO,EAAC,EAAE,EAAE,CAAC,CAAC;YAC5B,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC;YACxC,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,gCAAgC,CAAC;SAC/F,CAAC,CAAC;QACX,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;QACpC,MAAM,EAAE,IAAI,CAAC,MAAM;KACtB,CAAC,CAAC;CACV,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Sum the given array of numbers.
3
+ */
4
+ export declare const sumNumbers: (nums: number[]) => number;
5
+ /**
6
+ * @return a view of the given array of items with duplicates removed.
7
+ */
8
+ export declare const uniquesAmong: <T>(ts: T[]) => T[];
9
+ //# sourceMappingURL=array.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/utils/array.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,UAAU,SAAU,MAAM,EAAE,KAAG,MACD,CAAA;AAE3C;;GAEG;AACH,eAAO,MAAM,YAAY,qBACL,CAAA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Sum the given array of numbers.
3
+ */
4
+ export const sumNumbers = (nums) => nums.reduce((acc, cur) => acc + cur, 0);
5
+ /**
6
+ * @return a view of the given array of items with duplicates removed.
7
+ */
8
+ export const uniquesAmong = (ts) => [...new Set(ts)];
9
+ //# sourceMappingURL=array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/utils/array.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAc,EAAU,EAAE,CACjD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAA;AAE3C;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAI,EAAO,EAAO,EAAE,CAC5C,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/utils/json.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,eAAe,SAAU,MAAM,QAAQ,OAAO,SACd,CAAA;AAG7C,eAAO,MAAM,cAAc,SAAU,MAAM,KAAG,OACD,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/utils/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,IAAI,CAAA;AAG9C,MAAM,cAAc,GAAG,CAAC,IAAa,EAAU,EAAE,CAC7C,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AAGjC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,IAAa,EAAE,EAAE,CAC3D,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;AAG7C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAW,EAAE,CACpD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA"}
@@ -1,7 +1,3 @@
1
- /**
2
- * Sum the given array of numbers.
3
- */
4
- export declare const sumNumbers: (nums: number[]) => number;
5
1
  export type Nested1Map<T> = Record<string, T>;
6
2
  export type Nested2Map<T> = Record<string, Record<string, T>>;
7
3
  export type Nested3Map<T> = Record<string, Record<string, Record<string, T>>>;
@@ -47,4 +43,4 @@ export declare const nestedFlatMap2: <T, R>(nested2Map: Nested2Map<T>, map2Func:
47
43
  * using the map function, which is also provided with the keys.
48
44
  */
49
45
  export declare const nestedFlatMap3: <T, R>(nested3Map: Nested3Map<T>, map3Func: (t: T, key1: string, key2: string, key3: string) => R) => R[];
50
- //# sourceMappingURL=fp-helpers.d.ts.map
46
+ //# sourceMappingURL=nested-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nested-map.d.ts","sourceRoot":"","sources":["../../src/utils/nested-map.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;AAC7C,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;AAC7D,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AAG7E,eAAO,MAAM,eAAe,oFAKnB,CAAA;AAGT,eAAO,MAAM,aAAa,oHAC4B,CAAA;AAEtD,eAAO,MAAM,aAAa,oJAC0B,CAAA;AAGpD;;;GAGG;AACH,eAAO,MAAM,OAAO,0BACI,MAAM,iCAEQ,CAAA;AAEtC;;;;GAIG;AACH,eAAO,MAAM,cAAc,0BACH,MAAM,sBACN,MAAM,iCAE4C,CAAA;AAG1E;;;;;GAKG;AACH,eAAO,MAAM,cAAc,0BACH,MAAM,sBACN,MAAM,sBACN,MAAM,iCAE6D,CAAA;AAI3F;;;;GAIG;AACH,eAAO,MAAM,aAAa,uDAEA,MAAM,cAGa,CAAA;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,cAAc,2DAEA,MAAM,QAAQ,MAAM,cAKtC,CAAA;AAET;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,2DAEA,MAAM,QAAQ,MAAM,QAAQ,MAAM,cAKpD,CAAA"}
@@ -1,8 +1,4 @@
1
1
  import { groupBy } from "@lionweb/core";
2
- /**
3
- * Sum the given array of numbers.
4
- */
5
- export const sumNumbers = (nums) => nums.reduce((acc, cur) => acc + cur, 0);
6
2
  export const mapValuesMapper = (valueMapFunc) => (map) => Object.fromEntries(Object.entries(map)
7
3
  .map(([key, value]) => [key, valueMapFunc(value)]));
8
4
  // === mapValues(map, valueFunc)
@@ -51,4 +47,4 @@ export const nestedFlatMap2 = (nested2Map, map2Func) => Object.entries(nested2Ma
51
47
  */
52
48
  export const nestedFlatMap3 = (nested3Map, map3Func) => Object.entries(nested3Map)
53
49
  .flatMap(([key1, nestedMap2]) => nestedFlatMap2(nestedMap2, (t, key2, key3) => map3Func(t, key1, key2, key3)));
54
- //# sourceMappingURL=fp-helpers.js.map
50
+ //# sourceMappingURL=nested-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nested-map.js","sourceRoot":"","sources":["../../src/utils/nested-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AAQrC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAO,YAAyB,EAAE,EAAE,CAC/D,CAAC,GAAsB,EAAqB,EAAE,CAC1C,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,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CACzD,CAAA;AACT,gCAAgC;AAEhC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAO,YAAyB,EAAE,EAAE,CACzD,eAAe,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAA;AAEtD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAO,YAAyB,EAAE,EAAE,CACzD,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAA;AAGpD;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACnB,QAA0B,EACE,EAAE,CAC9B,CAAC,EAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;AAEtC;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC1B,QAA0B,EAC1B,QAA0B,EACE,EAAE,CAC9B,CAAC,EAAO,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAC1E,4EAA4E;AAE5E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC1B,QAA0B,EAC1B,QAA0B,EAC1B,QAA0B,EACE,EAAE,CAC9B,CAAC,EAAO,EAAE,EAAE,CAAC,eAAe,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAI3F;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CACzB,GAAsB,EACtB,OAAkC,EAC/B,EAAE,CACL,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;KACd,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AAE7C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC1B,UAAyB,EACzB,QAAiD,EAC9C,EAAE,CACL,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;KACrB,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CAC5B,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAClE,CAAA;AAET;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC1B,UAAyB,EACzB,QAA+D,EAC5D,EAAE,CACL,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;KACrB,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CAC5B,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAC/E,CAAA"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @return a picker that picks the indicated key from instances of the indicated type.
3
+ */
4
+ export declare const picker: <T, K extends keyof T>(key: K) => (t: T) => T[K];
5
+ //# sourceMappingURL=object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../src/utils/object.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,MAAM,kDACC,CAAA"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @return a picker that picks the indicated key from instances of the indicated type.
3
+ */
4
+ export const picker = (key) => (t) => t[key];
5
+ //# sourceMappingURL=object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../src/utils/object.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAuB,GAAM,EAAkB,EAAE,CACnE,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lionweb/utilities",
3
- "version": "0.6.4-beta.0",
3
+ "version": "0.6.5-beta.0",
4
4
  "description": "LionWeb utilities",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -15,7 +15,7 @@
15
15
  "url": "https://github.com/LionWeb-io/lionweb-typescript/issues"
16
16
  },
17
17
  "dependencies": {
18
- "@lionweb/core": "0.6.4-beta.0",
18
+ "@lionweb/core": "0.6.5-beta.0",
19
19
  "littoral-templates": "0.2.2",
20
20
  "nanoid": "4.0.2"
21
21
  },
@@ -24,6 +24,6 @@
24
24
  "build": "tsc",
25
25
  "lint": "eslint src",
26
26
  "release": "npm publish",
27
- "release-beta": "npm publish --beta"
27
+ "release-beta": "npm publish --tag beta"
28
28
  }
29
29
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"inferLanguages.d.ts","sourceRoot":"","sources":["../src/inferLanguages.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,QAAQ,EAIR,kBAAkB,EAMrB,MAAM,eAAe,CAAA;AAUtB,eAAO,MAAM,oCAAoC,UAAW,kBAAkB,KAAG,QAAQ,EAmGxF,CAAA;AAUD,eAAO,MAAM,wBAAwB,QAAS,MAAM,WASnD,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"inferLanguages.js","sourceRoot":"","sources":["../src/inferLanguages.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,eAAe,SAAU,MAAM,QAAQ,OAAO,SACd,CAAA;AAG7C,eAAO,MAAM,cAAc,SAAU,MAAM,KAAG,OACD,CAAA"}
package/dist/json.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,IAAI,CAAA;AAG9C,MAAM,cAAc,GAAG,CAAC,IAAa,EAAU,EAAE,CAC7C,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AAGjC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,IAAa,EAAE,EAAE,CAC3D,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;AAG7C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAW,EAAE,CACpD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fp-helpers.d.ts","sourceRoot":"","sources":["../../src/serialization/fp-helpers.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,UAAU,SAAU,MAAM,EAAE,KAAG,MACD,CAAA;AAG3C,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;AAC7C,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;AAC7D,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AAG7E,eAAO,MAAM,eAAe,oFAKnB,CAAA;AAGT,eAAO,MAAM,aAAa,oHAC4B,CAAA;AAEtD,eAAO,MAAM,aAAa,oJAC0B,CAAA;AAGpD;;;GAGG;AACH,eAAO,MAAM,OAAO,0BACI,MAAM,iCAEQ,CAAA;AAEtC;;;;GAIG;AACH,eAAO,MAAM,cAAc,0BACH,MAAM,sBACN,MAAM,iCAE4C,CAAA;AAG1E;;;;;GAKG;AACH,eAAO,MAAM,cAAc,0BACH,MAAM,sBACN,MAAM,sBACN,MAAM,iCAE6D,CAAA;AAI3F;;;;GAIG;AACH,eAAO,MAAM,aAAa,uDAEA,MAAM,cAGa,CAAA;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,cAAc,2DAEA,MAAM,QAAQ,MAAM,cAKtC,CAAA;AAET;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,2DAEA,MAAM,QAAQ,MAAM,QAAQ,MAAM,cAKpD,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fp-helpers.js","sourceRoot":"","sources":["../../src/serialization/fp-helpers.ts"],"names":[],"mappings":"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"}
File without changes
File without changes