@lionweb/utilities 0.6.13-beta.5 → 0.6.13-beta.7

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 (64) hide show
  1. package/dist/hashing.d.ts.map +1 -1
  2. package/dist/hashing.js +1 -1
  3. package/dist/hashing.js.map +1 -1
  4. package/dist/m3/diagrams/Mermaid-generator.d.ts.map +1 -1
  5. package/dist/m3/diagrams/Mermaid-generator.js +30 -10
  6. package/dist/m3/diagrams/Mermaid-generator.js.map +1 -1
  7. package/dist/m3/diagrams/PlantUML-generator.d.ts.map +1 -1
  8. package/dist/m3/diagrams/PlantUML-generator.js +38 -12
  9. package/dist/m3/diagrams/PlantUML-generator.js.map +1 -1
  10. package/dist/m3/infer-languages.d.ts +3 -4
  11. package/dist/m3/infer-languages.d.ts.map +1 -1
  12. package/dist/m3/infer-languages.js +1 -2
  13. package/dist/m3/infer-languages.js.map +1 -1
  14. package/dist/m3/textualizer.d.ts.map +1 -1
  15. package/dist/m3/textualizer.js +20 -7
  16. package/dist/m3/textualizer.js.map +1 -1
  17. package/dist/m3/ts-generation/textgen.d.ts.map +1 -1
  18. package/dist/m3/ts-generation/textgen.js.map +1 -1
  19. package/dist/m3/ts-generation/ts-types-generator.d.ts.map +1 -1
  20. package/dist/m3/ts-generation/ts-types-generator.js +33 -26
  21. package/dist/m3/ts-generation/ts-types-generator.js.map +1 -1
  22. package/dist/m3/ts-generation/type-def.d.ts.map +1 -1
  23. package/dist/m3/ts-generation/type-def.js +5 -1
  24. package/dist/m3/ts-generation/type-def.js.map +1 -1
  25. package/dist/serialization/annotation-remover.d.ts +6 -6
  26. package/dist/serialization/annotation-remover.d.ts.map +1 -1
  27. package/dist/serialization/annotation-remover.js +3 -3
  28. package/dist/serialization/annotation-remover.js.map +1 -1
  29. package/dist/serialization/chunk.d.ts +5 -6
  30. package/dist/serialization/chunk.d.ts.map +1 -1
  31. package/dist/serialization/chunk.js +6 -6
  32. package/dist/serialization/chunk.js.map +1 -1
  33. package/dist/serialization/measurer.d.ts +3 -8
  34. package/dist/serialization/measurer.d.ts.map +1 -1
  35. package/dist/serialization/measurer.js +18 -24
  36. package/dist/serialization/measurer.js.map +1 -1
  37. package/dist/serialization/metric-types.d.ts +2 -3
  38. package/dist/serialization/metric-types.d.ts.map +1 -1
  39. package/dist/serialization/ordering.d.ts +6 -6
  40. package/dist/serialization/ordering.d.ts.map +1 -1
  41. package/dist/serialization/ordering.js.map +1 -1
  42. package/dist/serialization/sorting.d.ts +2 -2
  43. package/dist/serialization/sorting.d.ts.map +1 -1
  44. package/dist/serialization/sorting.js +5 -4
  45. package/dist/serialization/sorting.js.map +1 -1
  46. package/dist/serialization/textualizer.d.ts +2 -3
  47. package/dist/serialization/textualizer.d.ts.map +1 -1
  48. package/dist/serialization/textualizer.js +10 -11
  49. package/dist/serialization/textualizer.js.map +1 -1
  50. package/dist/utils/array.d.ts +9 -0
  51. package/dist/utils/array.d.ts.map +1 -0
  52. package/dist/utils/array.js +9 -0
  53. package/dist/utils/array.js.map +1 -0
  54. package/dist/utils/json.d.ts.map +1 -1
  55. package/dist/utils/json.js.map +1 -1
  56. package/dist/utils/nested-map.d.ts +46 -0
  57. package/dist/utils/nested-map.d.ts.map +1 -0
  58. package/dist/utils/nested-map.js +50 -0
  59. package/dist/utils/nested-map.js.map +1 -0
  60. package/dist/utils/object.d.ts +5 -0
  61. package/dist/utils/object.d.ts.map +1 -0
  62. package/dist/utils/object.js +5 -0
  63. package/dist/utils/object.js.map +1 -0
  64. package/package.json +2 -4
@@ -14,7 +14,11 @@ export const tsFromTypeDef = ({ modifier, name, mixinNames, bodyComment, fields
14
14
  when(hasBody)([
15
15
  indent([
16
16
  when(!!bodyComment)(`// ${bodyComment}`),
17
- when(fields.length > 0)([`settings: {`, indent(fields.map(tsFromField)), `};`])
17
+ when(fields.length > 0)([
18
+ `settings: {`,
19
+ indent(fields.map(tsFromField)),
20
+ `};`
21
+ ])
18
22
  ]),
19
23
  `};` // (`{` was already rendered as part of the header)
20
24
  ]),
@@ -1 +1 @@
1
- {"version":3,"file":"type-def.js","sourceRoot":"","sources":["../../../src/m3/ts-generation/type-def.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACvB,qDAAI,CAAA;IACJ,6DAAQ,CAAA;IACR,+DAAS,CAAA;AACb,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAgBD,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAS,EAAY,EAAE,CAAC,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,GAAG,CAAA;AAE5G,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAW,EAAY,EAAE;IACpG,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,CAAC,OAAO,CAAC,CAAC;YACV,MAAM,CAAC;gBACH,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aAClF,CAAC;YACF,IAAI,CAAC,mDAAmD;SAC3D,CAAC;QACF,EAAE;KACL,CAAA;AACL,CAAC,CAAA;AAED,6HAA6H"}
1
+ {"version":3,"file":"type-def.js","sourceRoot":"","sources":["../../../src/m3/ts-generation/type-def.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,IAAI,EAAC,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AAGnC,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,EAAY,EAAE,CAC5D,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,EAAY,EAAE;IAClG,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,CAAC,OAAO,CAAC,CAAC;YACV,MAAM,CAAC;gBACH,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACpB,aAAa;oBACb,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC/B,IAAI;iBACP,CAAC;aACL,CAAC;YACF,IAAI,CAAI,mDAAmD;SAC9D,CAAC;QACF,EAAE;KACL,CAAA;AACL,CAAC,CAAA;AAGD,6HAA6H"}
@@ -1,14 +1,14 @@
1
- import { LionWebJsonChunk, LionWebJsonNode } from "@lionweb/json";
1
+ import { SerializationChunk, SerializedNode } from "@lionweb/core";
2
2
  /**
3
- * Removes all annotations from the given {@link LionWebJsonChunk}, i.e.:
3
+ * Removes all annotations from the given {@link SerializationChunk}, i.e.:
4
4
  * * all annotations on nodes in the form of the {@code annotations} property,
5
5
  * * all nodes that can be identified as instances of an {@link Annotation} by being referred to from {@code annotations}.
6
6
  * It also removes all descendants of all annotations (insofar present in the given chunk).
7
- * @param serializationChunk - The {@link LionWebJsonChunk}
7
+ * @param serializationChunk - The {@link SerializationChunk}
8
8
  */
9
- export declare const withoutAnnotations: (serializationChunk: LionWebJsonChunk) => {
9
+ export declare const withoutAnnotations: (serializationChunk: SerializationChunk) => {
10
10
  serializationFormatVersion: string;
11
- languages: import("@lionweb/json").LionWebJsonUsedLanguage[];
12
- nodes: LionWebJsonNode[];
11
+ languages: import("@lionweb/core").SerializedLanguageReference[];
12
+ nodes: SerializedNode[];
13
13
  };
14
14
  //# sourceMappingURL=annotation-remover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"annotation-remover.d.ts","sourceRoot":"","sources":["../../src/serialization/annotation-remover.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAG5E;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,uBAAwB,gBAAgB;;;;CA8BtE,CAAA"}
1
+ {"version":3,"file":"annotation-remover.d.ts","sourceRoot":"","sources":["../../src/serialization/annotation-remover.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,kBAAkB,EAClB,cAAc,EACjB,MAAM,eAAe,CAAA;AAEtB;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,uBAAwB,kBAAkB;;;;CA8BxE,CAAA"}
@@ -1,10 +1,10 @@
1
- import { byIdMap } from "@lionweb/ts-utils";
1
+ import { byIdMap } from "@lionweb/core";
2
2
  /**
3
- * Removes all annotations from the given {@link LionWebJsonChunk}, i.e.:
3
+ * Removes all annotations from the given {@link SerializationChunk}, i.e.:
4
4
  * * all annotations on nodes in the form of the {@code annotations} property,
5
5
  * * all nodes that can be identified as instances of an {@link Annotation} by being referred to from {@code annotations}.
6
6
  * It also removes all descendants of all annotations (insofar present in the given chunk).
7
- * @param serializationChunk - The {@link LionWebJsonChunk}
7
+ * @param serializationChunk - The {@link SerializationChunk}
8
8
  */
9
9
  export const withoutAnnotations = (serializationChunk) => {
10
10
  const { serializationFormatVersion, languages, nodes } = serializationChunk;
@@ -1 +1 @@
1
- {"version":3,"file":"annotation-remover.js","sourceRoot":"","sources":["../../src/serialization/annotation-remover.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE3C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,kBAAoC,EAAE,EAAE;IACvE,MAAM,EAAC,0BAA0B,EAAE,SAAS,EAAE,KAAK,EAAC,GAAG,kBAAkB,CAAA;IACzE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,MAAM,QAAQ,GAAG,CAAC,EAAa,EAAE,EAAE,CAC/B,CAAC,EAAE,IAAI,OAAO,CAAC;QACX,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC;QACzE,CAAC,CAAC,EAAE,CAAA;IACZ,MAAM,aAAa,GAAG,CAAC,EAAa,EAAe,EAAE,CACjD,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;IAChD,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA,CAAC,iDAAiD;IACjH,MAAM,kBAAkB,GAAG;QACvB,GAAG,aAAa;QAChB,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;KAC/C,CAAA;IACD,MAAM,kBAAkB,GAAG,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAmB,EAAmB,EAAE,CAAC,CAAC;QAChI,EAAE;QACF,UAAU;QACV,UAAU;QACV,YAAY;QACZ,UAAU;QACV,WAAW,EAAE,EAAE;QACf,MAAM;KACT,CAAC,CAAA;IACF,OAAO;QACH,0BAA0B;QAC1B,SAAS;QACT,KAAK,EAAE,KAAK;aACP,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,mCAAmC;aAC3F,GAAG,CAAC,kBAAkB,CAAC;KAC/B,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"annotation-remover.js","sourceRoot":"","sources":["../../src/serialization/annotation-remover.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,OAAO,EAIV,MAAM,eAAe,CAAA;AAEtB;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,kBAAsC,EAAE,EAAE;IACzE,MAAM,EAAC,0BAA0B,EAAE,SAAS,EAAE,KAAK,EAAC,GAAG,kBAAkB,CAAA;IACzE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,MAAM,QAAQ,GAAG,CAAC,EAAM,EAAE,EAAE,CACxB,CAAC,EAAE,IAAI,OAAO,CAAC;QACX,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC;QACzE,CAAC,CAAC,EAAE,CAAA;IACZ,MAAM,aAAa,GAAG,CAAC,EAAM,EAAQ,EAAE,CACnC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;IAChD,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA,CAAC,iDAAiD;IACjH,MAAM,kBAAkB,GAAG;QACvB,GAAG,aAAa;QAChB,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;KAC/C,CAAA;IACD,MAAM,kBAAkB,GAAG,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAkB,EAAkB,EAAE,CAAC,CAAC;QAC9H,EAAE;QACF,UAAU;QACV,UAAU;QACV,YAAY;QACZ,UAAU;QACV,WAAW,EAAE,EAAE;QACf,MAAM;KACT,CAAC,CAAA;IACF,OAAO;QACH,0BAA0B;QAC1B,SAAS;QACT,KAAK,EAAE,KAAK;aACP,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,mCAAmC;aAC3F,GAAG,CAAC,kBAAkB,CAAC;KAC/B,CAAA;AACL,CAAC,CAAA"}
@@ -1,11 +1,10 @@
1
- import { Language } from "@lionweb/core";
2
- import { LionWebJsonChunk } from "@lionweb/json";
1
+ import { Language, SerializationChunk } from "@lionweb/core";
3
2
  /**
4
- * Reads the file at the given path as a {@link LionWebJsonChunk serialization chunk}.
3
+ * Reads the file at the given path as a {@link SerializationChunk serialization chunk}.
5
4
  * **Note** that it's only checked that the file exists and can be parsed as JSON,
6
5
  * _not_ whether it satisfies the specified serialization chunk format!
7
6
  */
8
- export declare const readSerializationChunk: (path: string) => Promise<LionWebJsonChunk>;
7
+ export declare const readSerializationChunk: (path: string) => Promise<SerializationChunk>;
9
8
  /**
10
9
  * @return whether the given JSON looks like the serialization of languages.
11
10
  */
@@ -17,9 +16,9 @@ export declare const looksLikeSerializedLanguages: (json: unknown) => boolean;
17
16
  */
18
17
  export declare const tryReadAsLanguages: (path: string) => Promise<Language[]>;
19
18
  /**
20
- * @return the combination of the given {@link LionWebJsonChunk serialization chunks} into one.
19
+ * @return the combination of the given {@link SerializationChunk serialization chunks} into one.
21
20
  */
22
- export declare const combinationOf: (serializationChunks: LionWebJsonChunk[]) => LionWebJsonChunk;
21
+ export declare const combinationOf: (serializationChunks: SerializationChunk[]) => SerializationChunk;
23
22
  /**
24
23
  * Tries to read all the given paths as JSON serialization chunks that are serializations of languages,
25
24
  * and attempts to combine those chunks into one chunk, and deserializes that.
@@ -1 +1 @@
1
- {"version":3,"file":"chunk.d.ts","sourceRoot":"","sources":["../../src/serialization/chunk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,QAAQ,EAAe,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAqC,gBAAgB,EAA2B,MAAM,eAAe,CAAA;AAI5G;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,SAAgB,MAAM,8BAOxD,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,gBAAgB,EAAE,KAAG,gBAKlE,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,8 +1,8 @@
1
- import { deserializeLanguages, lioncoreKey } from "@lionweb/core";
2
- import { currentSerializationFormatVersion } from "@lionweb/json";
1
+ import { currentSerializationFormatVersion, deserializeLanguages, lioncoreKey } from "@lionweb/core";
3
2
  import { readFileAsJson } from "../utils/json.js";
3
+ import { picker } from "../utils/object.js";
4
4
  /**
5
- * Reads the file at the given path as a {@link LionWebJsonChunk serialization chunk}.
5
+ * Reads the file at the given path as a {@link SerializationChunk serialization chunk}.
6
6
  * **Note** that it's only checked that the file exists and can be parsed as JSON,
7
7
  * _not_ whether it satisfies the specified serialization chunk format!
8
8
  */
@@ -51,12 +51,12 @@ const flatMapDistinct = (tss, equalFunc) => tss.reduce((acc, ts) => [
51
51
  ], []);
52
52
  const areEqual = (left, right) => left.key === right.key && left.version === right.version;
53
53
  /**
54
- * @return the combination of the given {@link LionWebJsonChunk serialization chunks} into one.
54
+ * @return the combination of the given {@link SerializationChunk serialization chunks} into one.
55
55
  */
56
56
  export const combinationOf = (serializationChunks) => ({
57
57
  serializationFormatVersion: currentSerializationFormatVersion,
58
- languages: flatMapDistinct(serializationChunks.map(({ languages }) => languages), areEqual),
59
- nodes: serializationChunks.flatMap(({ nodes }) => nodes)
58
+ languages: flatMapDistinct(serializationChunks.map(picker("languages")), areEqual),
59
+ nodes: serializationChunks.flatMap(picker("nodes"))
60
60
  });
61
61
  /**
62
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":"AAAA,OAAO,EAAE,oBAAoB,EAAY,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,iCAAiC,EAA6C,MAAM,eAAe,CAAA;AAC5G,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGjD;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IACzD,IAAI,CAAC;QACD,OAAO,cAAc,CAAC,IAAI,CAAqB,CAAA;IACnD,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,IAA6B,EAAE,KAA8B,EAAW,EAAE,CACxF,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,mBAAuC,EAAoB,EAAE,CACvF,CAAC;IACG,0BAA0B,EAAE,iCAAiC;IAC7D,SAAS,EAAE,eAAe,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAC,SAAS,EAAC,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC;IACzF,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,KAAK,CAAC;CACzD,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
+ {"version":3,"file":"chunk.js","sourceRoot":"","sources":["../../src/serialization/chunk.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,10 @@
1
- import { Language } from "@lionweb/core";
2
- import { LionWebJsonChunk } from "@lionweb/json";
1
+ import { Language, SerializationChunk } from "@lionweb/core";
3
2
  import { Metrics } from "./metric-types.js";
4
3
  /**
5
- * Sum the given array of numbers.
6
- */
7
- export declare const sumNumbers: (nums: number[]) => number;
8
- /**
9
- * Computes {@link Metrics metrics} on the given {@link LionWebJsonChunk serialization chunk}.
4
+ * Computes {@link Metrics metrics} on the given {@link SerializationChunk serialization chunk}.
10
5
  * Passing it {@link Language languages} make this language-aware:
11
6
  * * language and classifier names are looked up,
12
7
  * * unused instantiable classifiers and languages without instantiations are computed as well.
13
8
  */
14
- export declare const measure: (serializationChunk: LionWebJsonChunk, languages: Language[]) => Metrics;
9
+ export declare const measure: (serializationChunk: SerializationChunk, languages: Language[]) => Metrics;
15
10
  //# sourceMappingURL=measurer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"measurer.d.ts","sourceRoot":"","sources":["../../src/serialization/measurer.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6D,QAAQ,EAAwC,MAAM,eAAe,CAAA;AACzI,OAAO,EAAE,gBAAgB,EAAoE,MAAM,eAAe,CAAA;AAElH,OAAO,EAAuB,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAShE;;GAEG;AACH,eAAO,MAAM,UAAU,SAAU,MAAM,EAAE,KAAG,MACD,CAAA;AAG3C;;;;;GAKG;AACH,eAAO,MAAM,OAAO,uBAAwB,gBAAgB,aAAa,QAAQ,EAAE,KAAG,OAyFrF,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,11 +1,8 @@
1
1
  import { Annotation, Concept, instantiableClassifiersOf, Interface, MemoisingSymbolTable } from "@lionweb/core";
2
- import { nested3Grouper, nested3Mapper, nestedFlatMap2, nestedFlatMap3 } from "@lionweb/ts-utils";
2
+ import { sumNumbers } from "../utils/array.js";
3
+ import { nested3Grouper, nested3Mapper, nestedFlatMap2, nestedFlatMap3 } from "../utils/nested-map.js";
3
4
  /**
4
- * Sum the given array of numbers.
5
- */
6
- export const sumNumbers = (nums) => nums.reduce((acc, cur) => acc + cur, 0);
7
- /**
8
- * Computes {@link Metrics metrics} on the given {@link LionWebJsonChunk serialization chunk}.
5
+ * Computes {@link Metrics metrics} on the given {@link SerializationChunk serialization chunk}.
9
6
  * Passing it {@link Language languages} make this language-aware:
10
7
  * * language and classifier names are looked up,
11
8
  * * unused instantiable classifiers and languages without instantiations are computed as well.
@@ -13,15 +10,12 @@ export const sumNumbers = (nums) => nums.reduce((acc, cur) => acc + cur, 0);
13
10
  export const measure = (serializationChunk, languages) => {
14
11
  const symbolTable = new MemoisingSymbolTable(languages);
15
12
  // group nodes by language key, version, and classifier key, mapped to the classifier meta-pointer and #instantiations:
16
- const languageKey2version2classifierKey2info = nested3Mapper(nodes => ({
17
- classifier: nodes[0].classifier,
18
- instantiations: nodes.length
19
- }))(nested3Grouper(({ classifier }) => classifier.language, ({ classifier }) => classifier.version, ({ classifier }) => classifier.key)(serializationChunk.nodes));
13
+ const languageKey2version2classifierKey2info = nested3Mapper((nodes) => ({ classifier: nodes[0].classifier, instantiations: nodes.length }))(nested3Grouper(({ classifier }) => classifier.language, ({ classifier }) => classifier.version, ({ classifier }) => classifier.key)(serializationChunk.nodes));
20
14
  const languagesWithInstantiations = nestedFlatMap2(languageKey2version2classifierKey2info, (classifierKey2info, languageKey, version) => ({
21
15
  key: languageKey,
22
16
  version,
23
17
  name: symbolTable.languageMatching(languageKey, version)?.name,
24
- instantiations: sumNumbers(Object.values(classifierKey2info).map(info => info.instantiations))
18
+ instantiations: sumNumbers(Object.values(classifierKey2info).map((info) => info.instantiations))
25
19
  }));
26
20
  const metaTypeOf = (entity) => {
27
21
  if (entity instanceof Annotation) {
@@ -38,7 +32,7 @@ export const measure = (serializationChunk, languages) => {
38
32
  // map grouped nodes to info including #instantiations:
39
33
  const instantiatedClassifiers = nestedFlatMap3(languageKey2version2classifierKey2info, (info, languageKey, version, classifierKey) => {
40
34
  const classifier = symbolTable.entityMatching(info.classifier);
41
- return {
35
+ return ({
42
36
  language: {
43
37
  key: languageKey,
44
38
  version,
@@ -48,23 +42,23 @@ export const measure = (serializationChunk, languages) => {
48
42
  name: classifier?.name,
49
43
  metaType: metaTypeOf(classifier),
50
44
  instantiations: info.instantiations
51
- };
45
+ });
52
46
  });
53
- const doesLanguageHaveInstantiations = (language) => language.key in languageKey2version2classifierKey2info && language.version in languageKey2version2classifierKey2info[language.key];
47
+ const doesLanguageHaveInstantiations = (language) => language.key in languageKey2version2classifierKey2info
48
+ && language.version in languageKey2version2classifierKey2info[language.key];
54
49
  const languagesWithoutInstantiations = serializationChunk.languages
55
- .filter(language => !doesLanguageHaveInstantiations(language))
56
- .map(language => ({
50
+ .filter((language) => !doesLanguageHaveInstantiations(language))
51
+ .map((language) => ({
57
52
  ...language,
58
53
  name: symbolTable.languageMatching(language.key, language.version)?.name
59
54
  }));
60
- const isClassifierUsed = (metaPointer) => metaPointer.language in languageKey2version2classifierKey2info &&
61
- metaPointer.version in languageKey2version2classifierKey2info[metaPointer.language] &&
62
- metaPointer.key in languageKey2version2classifierKey2info[metaPointer.language][metaPointer.version];
63
- const uninstantiatedInstantiableClassifiers = languages
64
- .flatMap(instantiableClassifiersOf)
65
- .map(classifier => classifier.metaPointer())
66
- .filter(metaPointer => !isClassifierUsed(metaPointer))
67
- .map(metaPointer => ({
55
+ const isClassifierUsed = (metaPointer) => metaPointer.language in languageKey2version2classifierKey2info
56
+ && metaPointer.version in languageKey2version2classifierKey2info[metaPointer.language]
57
+ && metaPointer.key in languageKey2version2classifierKey2info[metaPointer.language][metaPointer.version];
58
+ const uninstantiatedInstantiableClassifiers = languages.flatMap(instantiableClassifiersOf)
59
+ .map((classifier) => classifier.metaPointer())
60
+ .filter((metaPointer) => !isClassifierUsed(metaPointer))
61
+ .map((metaPointer) => ({
68
62
  language: {
69
63
  key: metaPointer.language,
70
64
  version: metaPointer.version,
@@ -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,14 +1,13 @@
1
- import { LionWebKey } from "@lionweb/json";
2
1
  type OptionallyNamed = {
3
2
  name?: string;
4
3
  };
5
4
  type LanguagePointer = {
6
- key: LionWebKey;
5
+ key: string;
7
6
  version: string;
8
7
  } & OptionallyNamed;
9
8
  type ClassifierMetric = {
10
9
  language: LanguagePointer;
11
- key: LionWebKey;
10
+ key: string;
12
11
  } & OptionallyNamed;
13
12
  type ClassifierMetaTypes = "annotation" | "concept" | "interface";
14
13
  type ClassifierInstantiationMetric = {
@@ -1 +1 @@
1
- {"version":3,"file":"metric-types.d.ts","sourceRoot":"","sources":["../../src/serialization/metric-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,KAAK,eAAe,GAAG;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,KAAK,eAAe,GAAG;IACnB,GAAG,EAAE,UAAU,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAClB,GAAG,eAAe,CAAA;AAEJ,KAAK,gBAAgB,GAAG;IACnC,QAAQ,EAAE,eAAe,CAAA;IACzB,GAAG,EAAE,UAAU,CAAA;CAClB,GAAG,eAAe,CAAA;AAEnB,KAAK,mBAAmB,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,CAAA;AAEjE,KAAK,6BAA6B,GAAG;IACjC,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;CACzB,GAAG,gBAAgB,CAAA;AAEpB,KAAK,cAAc,GAAG;IAClB,cAAc,EAAE,MAAM,CAAA;CACzB,GAAG,eAAe,CAAA;AAGnB,KAAK,OAAO,GAAG;IACX,2BAA2B,EAAE,cAAc,EAAE,CAAA;IAC7C,uBAAuB,EAAE,6BAA6B,EAAE,CAAA;IACxD,qCAAqC,EAAE,gBAAgB,EAAE,CAAA;IACzD,8BAA8B,EAAE,eAAe,EAAE,CAAA;CACpD,CAAA;AAGD,YAAY,EACR,6BAA6B,EAC7B,mBAAmB,EACnB,eAAe,EACf,OAAO,EACV,CAAA"}
1
+ {"version":3,"file":"metric-types.d.ts","sourceRoot":"","sources":["../../src/serialization/metric-types.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,KAAK,eAAe,GAAG;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAClB,GAAG,eAAe,CAAA;AAEJ,KAAK,gBAAgB,GAAG;IACnC,QAAQ,EAAE,eAAe,CAAA;IACzB,GAAG,EAAE,MAAM,CAAA;CACd,GAAG,eAAe,CAAA;AAEnB,KAAK,mBAAmB,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,CAAA;AAEjE,KAAK,6BAA6B,GAAG;IACjC,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;CACzB,GAAG,gBAAgB,CAAA;AAEpB,KAAK,cAAc,GAAG;IAClB,cAAc,EAAE,MAAM,CAAA;CACzB,GAAG,eAAe,CAAA;AAGnB,KAAK,OAAO,GAAG;IACX,2BAA2B,EAAE,cAAc,EAAE,CAAA;IAC7C,uBAAuB,EAAE,6BAA6B,EAAE,CAAA;IACxD,qCAAqC,EAAE,gBAAgB,EAAE,CAAA;IACzD,8BAA8B,EAAE,eAAe,EAAE,CAAA;CACpD,CAAA;AAGD,YAAY,EACR,6BAA6B,EAC7B,mBAAmB,EACnB,eAAe,EACf,OAAO,EACV,CAAA"}
@@ -1,8 +1,8 @@
1
- import { LionWebJsonChunk, LionWebJsonMetaPointer, LionWebJsonProperty, LionWebJsonReferenceTarget, LionWebJsonUsedLanguage } from "@lionweb/json";
2
- declare const orderedMetaPointer: ({ language, version, key }: LionWebJsonMetaPointer) => LionWebJsonMetaPointer;
3
- declare const orderedSerializedLanguageReference: ({ key, version }: LionWebJsonUsedLanguage) => LionWebJsonUsedLanguage;
4
- declare const orderedSerializedReferenceTarget: ({ reference, resolveInfo }: LionWebJsonReferenceTarget) => LionWebJsonReferenceTarget;
5
- declare const orderedSerializedProperty: ({ property, value }: LionWebJsonProperty) => LionWebJsonProperty;
6
- declare const orderedSerializationChunk: ({ serializationFormatVersion, languages, nodes }: LionWebJsonChunk) => LionWebJsonChunk;
1
+ import { MetaPointer, SerializationChunk, SerializedLanguageReference, SerializedProperty, SerializedReferenceTarget } from "@lionweb/core";
2
+ declare const orderedMetaPointer: ({ language, version, key }: MetaPointer) => MetaPointer;
3
+ declare const orderedSerializedLanguageReference: ({ key, version }: SerializedLanguageReference) => SerializedLanguageReference;
4
+ declare const orderedSerializedReferenceTarget: ({ reference, resolveInfo }: SerializedReferenceTarget) => SerializedReferenceTarget;
5
+ declare const orderedSerializedProperty: ({ property, value }: SerializedProperty) => SerializedProperty;
6
+ declare const orderedSerializationChunk: ({ serializationFormatVersion, languages, nodes }: SerializationChunk) => SerializationChunk;
7
7
  export { orderedMetaPointer, orderedSerializationChunk, orderedSerializedLanguageReference, orderedSerializedProperty, orderedSerializedReferenceTarget };
8
8
  //# sourceMappingURL=ordering.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ordering.d.ts","sourceRoot":"","sources":["../../src/serialization/ordering.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAEhB,sBAAsB,EAEtB,mBAAmB,EAEnB,0BAA0B,EAC1B,uBAAuB,EAC1B,MAAM,eAAe,CAAA;AAEtB,QAAA,MAAM,kBAAkB,+BAAgC,sBAAsB,KAAG,sBAI/E,CAAA;AAEF,QAAA,MAAM,kCAAkC,qBAAsB,uBAAuB,KAAG,uBAGtF,CAAA;AAEF,QAAA,MAAM,gCAAgC,+BAAgC,0BAA0B,KAAG,0BAGjG,CAAA;AAEF,QAAA,MAAM,yBAAyB,wBAAyB,mBAAmB,KAAG,mBAG5E,CAAA;AA8BF,QAAA,MAAM,yBAAyB,qDAAsD,gBAAgB,KAAG,gBAItG,CAAA;AAEF,OAAO,EACH,kBAAkB,EAClB,yBAAyB,EACzB,kCAAkC,EAClC,yBAAyB,EACzB,gCAAgC,EACnC,CAAA"}
1
+ {"version":3,"file":"ordering.d.ts","sourceRoot":"","sources":["../../src/serialization/ordering.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,kBAAkB,EAElB,2BAA2B,EAE3B,kBAAkB,EAElB,yBAAyB,EAC5B,MAAM,eAAe,CAAA;AAGtB,QAAA,MAAM,kBAAkB,+BAA8B,WAAW,KAAG,WAK9D,CAAA;AAEN,QAAA,MAAM,kCAAkC,qBAAoB,2BAA2B,KAAG,2BAIpF,CAAA;AAEN,QAAA,MAAM,gCAAgC,+BAA8B,yBAAyB,KAAG,yBAI1F,CAAA;AAEN,QAAA,MAAM,yBAAyB,wBAAuB,kBAAkB,KAAG,kBAIrE,CAAA;AA0BN,QAAA,MAAM,yBAAyB,qDAAoD,kBAAkB,KAAG,kBAKlG,CAAA;AAGN,OAAO,EACH,kBAAkB,EAClB,yBAAyB,EACzB,kCAAkC,EAClC,yBAAyB,EACzB,gCAAgC,EACnC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ordering.js","sourceRoot":"","sources":["../../src/serialization/ordering.ts"],"names":[],"mappings":"AAWA,MAAM,kBAAkB,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAA0B,EAA0B,EAAE,CAAC,CAAC;IACxG,QAAQ;IACR,OAAO;IACP,GAAG;CACN,CAAC,CAAA;AAEF,MAAM,kCAAkC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,EAA2B,EAA2B,EAAE,CAAC,CAAC;IAChH,GAAG;IACH,OAAO;CACV,CAAC,CAAA;AAEF,MAAM,gCAAgC,GAAG,CAAC,EAAE,SAAS,EAAE,WAAW,EAA8B,EAA8B,EAAE,CAAC,CAAC;IAC9H,WAAW;IACX,SAAS;CACZ,CAAC,CAAA;AAEF,MAAM,yBAAyB,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAuB,EAAuB,EAAE,CAAC,CAAC;IAClG,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC;IACtC,KAAK;CACR,CAAC,CAAA;AAEF,MAAM,4BAA4B,GAAG,CAAC,EAAE,WAAW,EAAE,QAAQ,EAA0B,EAA0B,EAAE,CAAC,CAAC;IACjH,WAAW,EAAE,kBAAkB,CAAC,WAAW,CAAC;IAC5C,QAAQ;CACX,CAAC,CAAA;AAEF,MAAM,0BAA0B,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAwB,EAAwB,EAAE,CAAC,CAAC;IACxG,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC;IACxC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;CACzD,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,CAAC,EAC3B,EAAE,EACF,UAAU,EACV,UAAU,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,MAAM,EACQ,EAAmB,EAAE,CAAC,CAAC;IACrC,EAAE;IACF,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC;IAC1C,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,yBAAyB,CAAC;IACrD,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAC5D,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACtD,WAAW;IACX,MAAM;CACT,CAAC,CAAA;AAEF,MAAM,yBAAyB,GAAG,CAAC,EAAE,0BAA0B,EAAE,SAAS,EAAE,KAAK,EAAoB,EAAoB,EAAE,CAAC,CAAC;IACzH,0BAA0B;IAC1B,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,kCAAkC,CAAC;IAC5D,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC;CAC1C,CAAC,CAAA;AAEF,OAAO,EACH,kBAAkB,EAClB,yBAAyB,EACzB,kCAAkC,EAClC,yBAAyB,EACzB,gCAAgC,EACnC,CAAA"}
1
+ {"version":3,"file":"ordering.js","sourceRoot":"","sources":["../../src/serialization/ordering.ts"],"names":[],"mappings":"AAYA,MAAM,kBAAkB,GAAG,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAc,EAAe,EAAE,CAC9E,CAAC;IACG,QAAQ;IACR,OAAO;IACP,GAAG;CACN,CAAC,CAAA;AAEN,MAAM,kCAAkC,GAAG,CAAC,EAAC,GAAG,EAAE,OAAO,EAA8B,EAA+B,EAAE,CACpH,CAAC;IACG,GAAG;IACH,OAAO;CACV,CAAC,CAAA;AAEN,MAAM,gCAAgC,GAAG,CAAC,EAAC,SAAS,EAAE,WAAW,EAA4B,EAA6B,EAAE,CACxH,CAAC;IACG,WAAW;IACX,SAAS;CACZ,CAAC,CAAA;AAEN,MAAM,yBAAyB,GAAG,CAAC,EAAC,QAAQ,EAAE,KAAK,EAAqB,EAAsB,EAAE,CAC5F,CAAC;IACG,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC;IACtC,KAAK;CACR,CAAC,CAAA;AAEN,MAAM,4BAA4B,GAAG,CAAC,EAAC,WAAW,EAAE,QAAQ,EAAwB,EAAyB,EAAE,CAC3G,CAAC;IACG,WAAW,EAAE,kBAAkB,CAAC,WAAW,CAAC;IAC5C,QAAQ;CACX,CAAC,CAAA;AAEN,MAAM,0BAA0B,GAAG,CAAC,EAAC,SAAS,EAAE,OAAO,EAAsB,EAAuB,EAAE,CAClG,CAAC;IACG,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC;IACxC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;CACzD,CAAC,CAAA;AAEN,MAAM,qBAAqB,GAAG,CAAC,EAAC,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAiB,EAAkB,EAAE,CAC1I,CAAC;IACG,EAAE;IACF,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC;IAC1C,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,yBAAyB,CAAC;IACrD,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAC5D,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACtD,WAAW;IACX,MAAM;CACT,CAAC,CAAA;AAGN,MAAM,yBAAyB,GAAG,CAAC,EAAC,0BAA0B,EAAE,SAAS,EAAE,KAAK,EAAqB,EAAsB,EAAE,CACzH,CAAC;IACG,0BAA0B;IAC1B,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,kCAAkC,CAAC;IAC5D,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC;CAC1C,CAAC,CAAA;AAGN,OAAO,EACH,kBAAkB,EAClB,yBAAyB,EACzB,kCAAkC,EAClC,yBAAyB,EACzB,gCAAgC,EACnC,CAAA"}
@@ -1,7 +1,7 @@
1
- import { LionWebJsonChunk } from "@lionweb/json";
1
+ import { SerializationChunk } from "@lionweb/core";
2
2
  /**
3
3
  * @return A sorted version of a {@link SerializedModel JSON serialization}, which should make it easier to inspect.
4
4
  * Note that the sorted version destroy the order of links, which might effectively alter semantics.
5
5
  */
6
- export declare const sortedSerializationChunk: ({ serializationFormatVersion, languages, nodes }: LionWebJsonChunk) => LionWebJsonChunk;
6
+ export declare const sortedSerializationChunk: ({ serializationFormatVersion, languages, nodes }: SerializationChunk) => SerializationChunk;
7
7
  //# sourceMappingURL=sorting.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sorting.d.ts","sourceRoot":"","sources":["../../src/serialization/sorting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAKhD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,qDAAoD,gBAAgB,KAAG,gBAsBtG,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,13 +1,14 @@
1
- import { sortByStringKey } from "@lionweb/ts-utils";
1
+ import { sortByStringKey } from "@lionweb/core";
2
2
  import { orderedMetaPointer, orderedSerializedLanguageReference, orderedSerializedProperty, orderedSerializedReferenceTarget } from "./ordering.js";
3
+ import { picker } from "../utils/object.js";
3
4
  /**
4
5
  * @return A sorted version of a {@link SerializedModel JSON serialization}, which should make it easier to inspect.
5
6
  * Note that the sorted version destroy the order of links, which might effectively alter semantics.
6
7
  */
7
8
  export const sortedSerializationChunk = ({ serializationFormatVersion, languages, nodes }) => ({
8
9
  serializationFormatVersion,
9
- languages: sortByStringKey(languages, ({ key }) => key).map(orderedSerializedLanguageReference),
10
- nodes: sortByStringKey(nodes, ({ id }) => id)
10
+ languages: sortByStringKey(languages, picker("key")).map(orderedSerializedLanguageReference),
11
+ nodes: sortByStringKey(nodes, picker("id"))
11
12
  .map((node) => ({
12
13
  id: node.id,
13
14
  classifier: orderedMetaPointer(node.classifier),
@@ -20,7 +21,7 @@ export const sortedSerializationChunk = ({ serializationFormatVersion, languages
20
21
  references: sortByStringKey(node.references, ({ reference }) => reference.key)
21
22
  .map(({ reference, targets }) => ({
22
23
  reference: orderedMetaPointer(reference),
23
- targets: sortByStringKey(targets, ({ reference }) => reference).map(orderedSerializedReferenceTarget)
24
+ targets: sortByStringKey(targets, picker("reference")).map(orderedSerializedReferenceTarget)
24
25
  })),
25
26
  annotations: node.annotations.sort(),
26
27
  parent: node.parent
@@ -1 +1 @@
1
- {"version":3,"file":"sorting.js","sourceRoot":"","sources":["../../src/serialization/sorting.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,kCAAkC,EAAE,yBAAyB,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAA;AAGnJ;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EAAC,0BAA0B,EAAE,SAAS,EAAE,KAAK,EAAmB,EAAoB,EAAE,CAC3H,CAAC;IACG,0BAA0B;IAC1B,SAAS,EAAE,eAAe,CAAC,SAAS,EAAE,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kCAAkC,CAAC;IAC7F,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC,EAAC,EAAE,EAAC,EAAE,EAAE,CAAC,EAAE,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,CAAC,EAAC,SAAS,EAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gCAAgC,CAAC;SACtG,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"}
@@ -1,4 +1,3 @@
1
- import { Language } from "@lionweb/core";
2
- import { LionWebJsonChunk } from "@lionweb/json";
3
- export declare const genericAsTreeText: ({ nodes }: LionWebJsonChunk, languages?: Language[]) => string;
1
+ import { Language, SerializationChunk } from "@lionweb/core";
2
+ export declare const genericAsTreeText: ({ nodes }: SerializationChunk, languages?: Language[]) => string;
4
3
  //# sourceMappingURL=textualizer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"textualizer.d.ts","sourceRoot":"","sources":["../../src/serialization/textualizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,QAAQ,EAAkC,MAAM,eAAe,CAAA;AACrF,OAAO,EAEH,gBAAgB,EAOnB,MAAM,eAAe,CAAA;AAQtB,eAAO,MAAM,iBAAiB,cAAe,gBAAgB,cAAa,QAAQ,EAAE,WA0EnF,CAAA"}
1
+ {"version":3,"file":"textualizer.d.ts","sourceRoot":"","sources":["../../src/serialization/textualizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,QAAQ,EAIR,kBAAkB,EAMrB,MAAM,eAAe,CAAA;AAStB,eAAO,MAAM,iBAAiB,cAAa,kBAAkB,cAAa,QAAQ,EAAE,WAoEnF,CAAA"}
@@ -1,5 +1,4 @@
1
- import { Enumeration, MemoisingSymbolTable, Property } from "@lionweb/core";
2
- import { byIdMap } from "@lionweb/ts-utils";
1
+ import { byIdMap, Enumeration, MemoisingSymbolTable, Property } from "@lionweb/core";
3
2
  import { asString, indentWith } from "littoral-templates";
4
3
  const indent = indentWith(" ")(1);
5
4
  const prependWith = (template, prefix) => prefix + asString(template);
@@ -11,16 +10,14 @@ export const genericAsTreeText = ({ nodes }, languages = []) => {
11
10
  const property = symbolTable.featureMatching(classifier, propertyMetaPointer);
12
11
  const identification = nameOrKey(classifier, propertyMetaPointer);
13
12
  const displayValue = property instanceof Property
14
- ? property.type instanceof Enumeration
15
- ? (property.type.literals.find(literal => literal.key === value)?.name ?? value)
13
+ ? (property.type instanceof Enumeration
14
+ ? (property.type.literals.find((literal) => literal.key === value)?.name ?? value)
16
15
  : (() => {
17
16
  switch (property?.type?.name) {
18
- case "String":
19
- return `'${value}'`;
20
- default:
21
- return value;
17
+ case "String": return `'${value}'`;
18
+ default: return value;
22
19
  }
23
- })()
20
+ })())
24
21
  : value;
25
22
  return `${identification} = ${displayValue}`;
26
23
  };
@@ -28,7 +25,9 @@ export const genericAsTreeText = ({ nodes }, languages = []) => {
28
25
  const referenceAsText = (classifier, { reference, targets }) => `${nameOrKey(classifier, reference)} -> ${targets.length === 0 ? `<none>` : targets.map(referenceTargetAsText).join(",")}`;
29
26
  const containmentAsText = (classifier, { containment, children }) => [
30
27
  `${nameOrKey(classifier, containment)}:${children.length === 0 ? ` <none>` : ``}`,
31
- indent(children.map(childId => childId in nodesById ? asText(nodesById[childId]) : `<child with id=${childId} not present in this chunk>`))
28
+ indent(children.map((childId) => childId in nodesById
29
+ ? asText(nodesById[childId])
30
+ : `<child with id=${childId} not present in this chunk>`))
32
31
  ];
33
32
  const annotationAsText = (annotationId) => annotationId in nodesById
34
33
  ? prependWith(asText(nodesById[annotationId]), "@ ")
@@ -45,7 +44,7 @@ export const genericAsTreeText = ({ nodes }, languages = []) => {
45
44
  `}`
46
45
  ];
47
46
  return asString(nodes
48
- .filter(node => node.parent === null) // root nodes
47
+ .filter((node) => node.parent === null) // root nodes
49
48
  .map(asText));
50
49
  };
51
50
  //# sourceMappingURL=textualizer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textualizer.js","sourceRoot":"","sources":["../../src/serialization/textualizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"textualizer.js","sourceRoot":"","sources":["../../src/serialization/textualizer.ts"],"names":[],"mappings":"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"}
@@ -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"}
@@ -1 +1 @@
1
- {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/utils/json.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe,SAAU,MAAM,QAAQ,OAAO,SAA8C,CAAA;AAEzG,eAAO,MAAM,cAAc,SAAU,MAAM,KAAG,OAAoD,CAAA"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/utils/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAEhD,MAAM,cAAc,GAAG,CAAC,IAAa,EAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AAE/E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,IAAa,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;AAEzG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA"}
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"}
@@ -0,0 +1,46 @@
1
+ export type Nested1Map<T> = Record<string, T>;
2
+ export type Nested2Map<T> = Record<string, Record<string, T>>;
3
+ export type Nested3Map<T> = Record<string, Record<string, Record<string, T>>>;
4
+ export declare const mapValuesMapper: <T, R>(valueMapFunc: (t: T) => R) => (map: Record<string, T>) => Record<string, R>;
5
+ export declare const nested2Mapper: <T, R>(valueMapFunc: (t: T) => R) => (map: Record<string, Record<string, T>>) => Record<string, Record<string, R>>;
6
+ export declare const nested3Mapper: <T, R>(valueMapFunc: (t: T) => R) => (map: Record<string, Record<string, Record<string, T>>>) => Record<string, Record<string, Record<string, R>>>;
7
+ /**
8
+ * Return a function that groups an array of things using a group function as a
9
+ * map : string (group key) &rarr; array of grouped things.
10
+ */
11
+ export declare const grouper: <T>(key1Func: (t: T) => string) => (ts: T[]) => Nested1Map<T[]>;
12
+ /**
13
+ * Return a function that groups an array of things using two group functions as a nested map
14
+ * map : string (group key 1) &rarr;
15
+ * map : string (group key 2) &rarr; array of grouped things.
16
+ */
17
+ export declare const nested2Grouper: <T>(key1Func: (t: T) => string, key2Func: (t: T) => string) => (ts: T[]) => Nested2Map<T[]>;
18
+ /**
19
+ * Return a function that groups an array of things using two group functions as a nested map
20
+ * map : string (group key 1) &rarr;
21
+ * map : string (group key 2) &rarr;
22
+ * map : string (group key 3) &rarr; array of grouped things.
23
+ */
24
+ export declare const nested3Grouper: <T>(key1Func: (t: T) => string, key2Func: (t: T) => string, key3Func: (t: T) => string) => (ts: T[]) => Nested3Map<T[]>;
25
+ /**
26
+ * Flat-maps over the values of a
27
+ * map : string (group key) &rarr; values
28
+ * using the map function, which is also provided with the keys.
29
+ */
30
+ export declare const flatMapValues: <T, R>(map: Record<string, T>, mapFunc: (t: T, key1: string) => R) => R[];
31
+ /**
32
+ * Flat-maps over the values of a nested map
33
+ * map : string (group key 1) &rarr;
34
+ * map: string (group key 2) &rarr; values
35
+ * using the map function, which is also provided with the keys.
36
+ */
37
+ export declare const nestedFlatMap2: <T, R>(nested2Map: Nested2Map<T>, map2Func: (t: T, key1: string, key2: string) => R) => R[];
38
+ /**
39
+ * Flat-maps over the values of a nested map
40
+ * map : string (group key 1) &rarr;
41
+ * map: string (group key 2) &rarr;
42
+ * map: string (group key 3) &rarr; values
43
+ * using the map function, which is also provided with the keys.
44
+ */
45
+ export declare const nestedFlatMap3: <T, R>(nested3Map: Nested3Map<T>, map3Func: (t: T, key1: string, key2: string, key3: string) => R) => R[];
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"}