@lionweb/core 0.8.0-beta.5 → 0.8.0-beta.6

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 (118) hide show
  1. package/CHANGELOG.md +27 -5
  2. package/dist/deserializer.d.ts +10 -2
  3. package/dist/deserializer.d.ts.map +1 -1
  4. package/dist/deserializer.js +8 -7
  5. package/dist/deserializer.js.map +1 -1
  6. package/dist/dynamic-facade.d.ts +1 -1
  7. package/dist/dynamic-facade.d.ts.map +1 -1
  8. package/dist/dynamic-facade.js +3 -3
  9. package/dist/dynamic-facade.js.map +1 -1
  10. package/dist/index.d.ts +0 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +0 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/m3/builtins-common.d.ts +70 -0
  15. package/dist/m3/builtins-common.d.ts.map +1 -0
  16. package/dist/m3/builtins-common.js +88 -0
  17. package/dist/m3/builtins-common.js.map +1 -0
  18. package/dist/m3/builtins-function.d.ts +9 -0
  19. package/dist/m3/builtins-function.d.ts.map +1 -0
  20. package/dist/m3/builtins-function.js +19 -0
  21. package/dist/m3/builtins-function.js.map +1 -0
  22. package/dist/m3/deserializer.d.ts +25 -0
  23. package/dist/m3/deserializer.d.ts.map +1 -1
  24. package/dist/m3/deserializer.js +18 -11
  25. package/dist/m3/deserializer.js.map +1 -1
  26. package/dist/m3/index.d.ts +7 -3
  27. package/dist/m3/index.d.ts.map +1 -1
  28. package/dist/m3/index.js +6 -3
  29. package/dist/m3/index.js.map +1 -1
  30. package/dist/m3/lioncore-common.d.ts +37 -0
  31. package/dist/m3/lioncore-common.d.ts.map +1 -0
  32. package/dist/m3/lioncore-common.js +10 -0
  33. package/dist/m3/lioncore-common.js.map +1 -0
  34. package/dist/m3/reading-writing.d.ts +41 -0
  35. package/dist/m3/reading-writing.d.ts.map +1 -0
  36. package/dist/m3/reading-writing.js +84 -0
  37. package/dist/m3/reading-writing.js.map +1 -0
  38. package/dist/m3/serializer.d.ts +17 -0
  39. package/dist/m3/serializer.d.ts.map +1 -1
  40. package/dist/m3/serializer.js +11 -2
  41. package/dist/m3/serializer.js.map +1 -1
  42. package/dist/m3/types.d.ts +9 -13
  43. package/dist/m3/types.d.ts.map +1 -1
  44. package/dist/m3/types.js +1 -5
  45. package/dist/m3/types.js.map +1 -1
  46. package/dist/m3/version.d.ts +19 -0
  47. package/dist/m3/version.d.ts.map +1 -0
  48. package/dist/m3/version.js +19 -0
  49. package/dist/m3/version.js.map +1 -0
  50. package/dist/m3/versions/v2023_1/builtins-legacy.d.ts +44 -0
  51. package/dist/m3/versions/v2023_1/builtins-legacy.d.ts.map +1 -0
  52. package/dist/m3/{builtins.js → versions/v2023_1/builtins-legacy.js} +24 -79
  53. package/dist/m3/versions/v2023_1/builtins-legacy.js.map +1 -0
  54. package/dist/m3/versions/v2023_1/builtins.d.ts +34 -0
  55. package/dist/m3/versions/v2023_1/builtins.d.ts.map +1 -0
  56. package/dist/m3/versions/v2023_1/builtins.js +75 -0
  57. package/dist/m3/versions/v2023_1/builtins.js.map +1 -0
  58. package/dist/m3/versions/v2023_1/lioncore.d.ts +34 -0
  59. package/dist/m3/versions/v2023_1/lioncore.d.ts.map +1 -0
  60. package/dist/m3/versions/v2023_1/lioncore.js +86 -0
  61. package/dist/m3/versions/v2023_1/lioncore.js.map +1 -0
  62. package/dist/m3/versions/v2023_1/version.d.ts +6 -0
  63. package/dist/m3/versions/v2023_1/version.d.ts.map +1 -0
  64. package/dist/m3/versions/v2023_1/version.js +8 -0
  65. package/dist/m3/versions/v2023_1/version.js.map +1 -0
  66. package/dist/m3/versions.d.ts +27 -0
  67. package/dist/m3/versions.d.ts.map +1 -0
  68. package/dist/m3/versions.js +28 -0
  69. package/dist/m3/versions.js.map +1 -0
  70. package/dist/reading.d.ts +2 -0
  71. package/dist/reading.d.ts.map +1 -1
  72. package/dist/serializer.d.ts +12 -1
  73. package/dist/serializer.d.ts.map +1 -1
  74. package/dist/serializer.js +4 -4
  75. package/dist/serializer.js.map +1 -1
  76. package/dist/writing.d.ts +2 -0
  77. package/dist/writing.d.ts.map +1 -1
  78. package/dist/writing.js.map +1 -1
  79. package/package.json +3 -3
  80. package/src/deserializer.ts +18 -14
  81. package/src/dynamic-facade.ts +3 -4
  82. package/src/index.ts +0 -1
  83. package/src/m3/README.md +1 -1
  84. package/src/m3/builtins-common.ts +143 -0
  85. package/src/m3/builtins-function.ts +22 -0
  86. package/src/m3/deserializer.ts +43 -14
  87. package/src/m3/index.ts +7 -3
  88. package/src/m3/lioncore-common.ts +42 -0
  89. package/src/m3/reading-writing.ts +160 -0
  90. package/src/m3/serializer.ts +25 -2
  91. package/src/m3/types.ts +10 -16
  92. package/src/m3/version.ts +23 -0
  93. package/src/m3/versions/v2023_1/builtins-legacy.ts +126 -0
  94. package/src/m3/versions/v2023_1/builtins.ts +102 -0
  95. package/src/m3/{lioncore.ts → versions/v2023_1/lioncore.ts} +53 -76
  96. package/src/m3/versions/v2023_1/version.ts +9 -0
  97. package/src/m3/versions.ts +37 -0
  98. package/src/reading.ts +2 -0
  99. package/src/serializer.ts +18 -5
  100. package/src/writing.ts +2 -0
  101. package/dist/m3/builtins.d.ts +0 -82
  102. package/dist/m3/builtins.d.ts.map +0 -1
  103. package/dist/m3/builtins.js.map +0 -1
  104. package/dist/m3/facade.d.ts +0 -17
  105. package/dist/m3/facade.d.ts.map +0 -1
  106. package/dist/m3/facade.js +0 -58
  107. package/dist/m3/facade.js.map +0 -1
  108. package/dist/m3/lioncore.d.ts +0 -41
  109. package/dist/m3/lioncore.d.ts.map +0 -1
  110. package/dist/m3/lioncore.js +0 -90
  111. package/dist/m3/lioncore.js.map +0 -1
  112. package/dist/version.d.ts +0 -5
  113. package/dist/version.d.ts.map +0 -1
  114. package/dist/version.js +0 -5
  115. package/dist/version.js.map +0 -1
  116. package/src/m3/builtins.ts +0 -198
  117. package/src/m3/facade.ts +0 -130
  118. package/src/version.ts +0 -5
package/CHANGELOG.md CHANGED
@@ -4,14 +4,36 @@
4
4
 
5
5
  * The `NT` type parameter of `SingleRef<NT>` now extends the `Node` base type.
6
6
  * Move `IdOrUnresolved` type to the `class-core` package, as it was used only there and in `delta-protocol-common`.
7
- * Remove the `serializedRef` function as it was a duplicate of `idFrom` in `class-core`.
7
+ * Remove the `serializedRef` function as it was a duplicate of `idFrom` in `class-core`.
8
8
  * To be able to introduce multiple LionWeb versions explicitly:
9
- * Introduce `Serializer` and `SerializerConfiguration` types, and `serializerWith` function as a replacement (keeping an alias for backward compatibility) for the `nodeSerializer` function with a better API (using the Parameter Object pattern).
10
- * Introduce `Deserializer` and `DeserializerConfiguration` types, and a `deserializerWith` function as a replacement (keeping an alias for backward compatibility) for the `deserializeSerializationChunk` function with a better API (using the Parameter Object pattern).
11
- * Rename `SimplisticHandler` interface to `ProblemReporter`, and propagate that renaming, keeping alias for backward compatibility.
9
+ * Introduce `Serializer` and `SerializerConfiguration` types, and `serializerWith` function as a replacement (keeping an alias for backward compatibility) for the `nodeSerializer` function with a better API (using the Parameter Object pattern).
10
+ * Introduce `Deserializer` and `DeserializerConfiguration` types, and a `deserializerWith` function as a replacement (keeping an alias for backward compatibility) for the `deserializeSerializationChunk` function with a better API (using the Parameter Object pattern).
11
+ * Rename `SimplisticHandler` interface to `ProblemReporter`, and propagate that renaming, keeping alias for backward compatibility.
12
12
  * Introduce an explicit `UnresolvedReference` type, a corresponding `isUnresolvedReference` type function, and a `referenceToSet` function to produce reference (target) placeholders, and propagate their use throughout the codebase.
13
13
  * Add a 2nd argument to the `ResolveInfoDeducer` function type, to also pass the containing reference.
14
- *Note* that this is technically a breaking change, but the `ResolveInfoDeducer` type is essentially part of the internal API.
14
+ *Note* that this is technically a breaking change, but the `ResolveInfoDeducer` type is essentially part of the internal API.
15
+ * Introduce `propertyValue{Des|S}erializerFrom` functions to build `PropertyValue{Des|S}erializer` instances with in a more convenient and code-compact way.
16
+ * Deprecate the `BuiltinPropertyValue{Des|S}erializer` classes as legacy.
17
+ * Array-typed fields in the LionCore classes are now read-only.
18
+ * Add support for multiple LionWeb protocol versions:
19
+ * Introduce a `LionWebVersion` class that encapsulates a LionWeb version.
20
+ * Add a `LionWebVersions` enumeration, the latter having a single `v2023_1` literal.
21
+ * Introduce a `LionCoreBuiltinsFacade` type and `lioncoreBuiltinsFacade` instance that façades the details LionCore built-ins.
22
+ * The `builtin{Classifiers|Features|Primitives}` and `lioncoreBuiltins` constants, and `isBuiltinConcept` function, are kept for backward compatibility, but are now deprecated.
23
+ * (This change has been propagated throughout the entire codebase.)
24
+ * Introduce a `LionCoreFacade` type and `lioncoreFacade` instance that façades the details LionCore meta-meta-model language.
25
+ * The `meta{Concepts|Features}` and `lioncore` constants are kept for backward compatibility, but are now deprecated.
26
+ * (This change has been propagated throughout the entire codebase.)
27
+ * Introduce a `deserializeLanguagesFrom` function, deprecate the `deserializeLanguagesWithReporter` function, and replace use of the latter with the former throughout the codebase.
28
+ * Introduce `lioncoreReaderFor` and `lioncoreWriterFor` functions that are parametrized with a LionWeb version, deprecate the `lioncoreReader` and `lioncoreWriter` constants, and replace use of the latter with the former throughout the codebase.
29
+ * Introduce a `serializeLanguagesFor` function, and a `LanguageSerializationData` type for the single argument of that function.
30
+ * Introduce a `defaultLionWebVersion` constant that equals the `LionWebVersions.2023.1`, deprecate the `currentReleaseVersion` constant, and replace use of the latter with `defaultLionWebVersion.serializationFormatVersion` throughout the codebase.
31
+ * Add a LionWeb version to the parameters of (de-)serialization functions, which defaults to the `defaultLionWebVersion`.
32
+ * Introduce an `allLionWebVersions` constant with all the `LionWebVersion`s.
33
+ * Add a `v2023_1` constant representing the 2023.1 LionWeb version, and replace the use of the `lioncore[Builtins]Facade` constants with `v2023_1.{lioncore|builtins}Facade` as much as possible throughout the codebase.
34
+ * Deprecate aliases/legacy versions: `PrimitiveType{Des|S}erializer` &rarr; `PropertyValue{Des|S}erializer`, `ExtractionFacade` &rarr; `Reader`, `InstantiationFacade` &rarr; `Writer`.
35
+ * Pull the `iBuiltinNodeConcept` method from the `LionCoreBuiltinsFacade` interface, make it an exported function, and extend its functionality — see its JSDoc.
36
+ * Add a `lionWebVersionFrom` function that tries to match a `serializationFormatVersion` string to a literal of `LionWebVersions`.
15
37
 
16
38
 
17
39
  ## 0.7.2
@@ -2,6 +2,7 @@ import { LionWebJsonChunk } from "@lionweb/json";
2
2
  import { Writer } from "./writing.js";
3
3
  import { ProblemReporter } from "./reporter.js";
4
4
  import { Language, Property } from "./m3/types.js";
5
+ import { LionWebVersion } from "./m3/version.js";
5
6
  import { Node } from "./types.js";
6
7
  /**
7
8
  * Interface for objects that expose a method to deserialize a property's value.
@@ -11,6 +12,8 @@ export interface PropertyValueDeserializer {
11
12
  }
12
13
  /**
13
14
  * Misspelled alias of {@link PropertyValueDeserializer}, kept for backward compatibility, and to be deprecated and removed later.
15
+ *
16
+ * @deprecated Use {@link PropertyValueDeserializer} instead.
14
17
  */
15
18
  export interface PrimitiveTypeDeserializer extends PropertyValueDeserializer {
16
19
  }
@@ -28,13 +31,18 @@ export type DeserializerConfiguration<NT extends Node> = {
28
31
  * A {@link Writer} that is used to instantiate nodes (with classifiers coming from the `languages` property) and set values on them.
29
32
  */
30
33
  writer: Writer<NT>;
34
+ /**
35
+ * The version of the LionWeb serialization format to deserialize from.
36
+ * Default = {@link defaultLionWebVersion}.
37
+ */
38
+ lionWebVersion?: LionWebVersion;
31
39
  /**
32
40
  * An array of {@link Language languages} that the serialization chunk is expected to conform to.
33
41
  */
34
42
  languages: Language[];
35
43
  /**
36
44
  * A deserializer for values of properties.
37
- * Default: {@link builtinPropertyValueDeserializer}.
45
+ * Default: `(lionWebVersion ?? defaultLionWebVersion).builtinsFacade.propertyValueDeserializer`.
38
46
  */
39
47
  propertyValueDeserializer?: PropertyValueDeserializer;
40
48
  /**
@@ -56,7 +64,7 @@ export declare const deserializerWith: <NT extends Node>(configuration: Deserial
56
64
  * @param writer - a {@link Writer} that is used to instantiate nodes and set values on them
57
65
  * @param languages - {@link Language languages} that the serialized model is expected to conform to
58
66
  * @param dependentNodes - a collection of nodes from dependent models against which all references in the serialized model are supposed to resolve against
59
- * @param propertyValueDeserializer - a deserializer for values of properties (by default a {@link BuiltinPropertyValueDeserializer})
67
+ * @param propertyValueDeserializer - a deserializer for values of properties (by default `defaultLionWebVersion.builtinsFacade.propertyValueDeserializer`)
60
68
  * @param problemReporter - an object for reporting problems (by default a {@link consoleProblemReporter})
61
69
  *
62
70
  * This is a legacy variant of {@link deserializerWith}, kept for backward compatibility, and to be deprecated and removed later.
@@ -1 +1 @@
1
- {"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,gBAAgB,EAGnB,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAA0B,eAAe,EAAE,MAAM,eAAe,CAAA;AAGvE,OAAO,EAAwC,QAAQ,EAAiB,QAAQ,EAAa,MAAM,eAAe,CAAA;AAElH,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAA;CACvF;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;CAAG;AAG/E;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAA;AAGnH;;;GAGG;AACH,MAAM,MAAM,yBAAyB,CAAC,EAAE,SAAS,IAAI,IAAI;IACrD;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACnB;;OAEG;IACH,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB;;;OAGG;IACH,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;CACpC,CAAA;AAGD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,EAAE,SAAS,IAAI,EAAE,eAAe,yBAAyB,CAAC,EAAE,CAAC,KAAG,YAAY,CAAC,EAAE,CAyL/G,CAAA;AAGD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,6BAA6B,GAAI,EAAE,SAAS,IAAI,EACzD,oBAAoB,gBAAgB,EACpC,QAAQ,MAAM,CAAC,EAAE,CAAC,EAClB,WAAW,QAAQ,EAAE,EAErB,gBAAgB,IAAI,EAAE,EAEtB,4BAA2B,yBAA4D,EACvF,kBAAiB,eAAwC,KAC1D,EAAE,EAA8I,CAAA;AAEnJ;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAdiB,EAAE,SAAS,IAAI,sBACrC,gBAAgB,UAC5B,MAAM,CAAC,EAAE,CAAC,aACP,QAAQ,EAAE,kBAEL,IAAI,EAAE,8BAEK,yBAAyB,oBACnC,eAAe,KACjC,EAAE,EAKwD,CAAA"}
1
+ {"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,gBAAgB,EAA+B,MAAM,eAAe,CAAA;AAExF,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAA0B,eAAe,EAAE,MAAM,eAAe,CAAA;AAEvE,OAAO,EAAwC,QAAQ,EAAiB,QAAQ,EAAa,MAAM,eAAe,CAAA;AAClH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAA;CACvF;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;CAAG;AAG/E;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAA;AAGnH;;;GAGG;AACH,MAAM,MAAM,yBAAyB,CAAC,EAAE,SAAS,IAAI,IAAI;IACrD;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B;;OAEG;IACH,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB;;;OAGG;IACH,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;CACpC,CAAA;AAGD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,EAAE,SAAS,IAAI,EAAE,eAAe,yBAAyB,CAAC,EAAE,CAAC,KAAG,YAAY,CAAC,EAAE,CA2L/G,CAAA;AAGD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,6BAA6B,GAAI,EAAE,SAAS,IAAI,EACzD,oBAAoB,gBAAgB,EACpC,QAAQ,MAAM,CAAC,EAAE,CAAC,EAClB,WAAW,QAAQ,EAAE,EAErB,gBAAgB,IAAI,EAAE,EAEtB,4BAA2B,yBAA0F,EACrH,kBAAiB,eAAwC,KAC1D,EAAE,EAA8I,CAAA;AAEnJ;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAdiB,EAAE,SAAS,IAAI,sBACrC,gBAAgB,UAC5B,MAAM,CAAC,EAAE,CAAC,aACP,QAAQ,EAAE,kBAEL,IAAI,EAAE,8BAEK,yBAAyB,oBACnC,eAAe,KACjC,EAAE,EAKwD,CAAA"}
@@ -1,9 +1,8 @@
1
- import { currentSerializationFormatVersion } from "@lionweb/json";
2
1
  import { byIdMap, groupBy, keepDefineds } from "@lionweb/ts-utils";
3
2
  import { consoleProblemReporter } from "./reporter.js";
4
- import { builtinPropertyValueDeserializer } from "./m3/builtins.js";
5
3
  import { MemoisingSymbolTable } from "./m3/symbol-table.js";
6
4
  import { Classifier, Containment, Enumeration, PrimitiveType, Property, Reference } from "./m3/types.js";
5
+ import { defaultLionWebVersion } from "./m3/versions.js";
7
6
  import { unresolved } from "./references.js";
8
7
  /**
9
8
  * @return a {@link Deserializer} function.
@@ -13,11 +12,13 @@ import { unresolved } from "./references.js";
13
12
  export const deserializerWith = (configuration) => {
14
13
  const symbolTable = new MemoisingSymbolTable(configuration.languages);
15
14
  const { writer } = configuration;
16
- const propertyValueDeserializer = configuration.propertyValueDeserializer ?? builtinPropertyValueDeserializer;
15
+ const lionWebVersion = configuration?.lionWebVersion ?? defaultLionWebVersion;
16
+ const propertyValueDeserializer = configuration.propertyValueDeserializer ?? lionWebVersion.builtinsFacade.propertyValueDeserializer;
17
17
  const problemReporter = configuration.problemReporter ?? consoleProblemReporter;
18
18
  return (serializationChunk, dependentNodes = []) => {
19
- if (serializationChunk.serializationFormatVersion !== currentSerializationFormatVersion) {
20
- problemReporter.reportProblem(`can't deserialize from serialization format other than version "${currentSerializationFormatVersion}" - assuming that version`);
19
+ const serializationFormatVersion = lionWebVersion.serializationFormatVersion;
20
+ if (serializationChunk.serializationFormatVersion !== serializationFormatVersion) {
21
+ problemReporter.reportProblem(`can't deserialize from serialization format other than version "${serializationFormatVersion}" - assuming that version`);
21
22
  }
22
23
  const { nodes: serializedNodes } = serializationChunk;
23
24
  const serializedNodeById = byIdMap(serializedNodes);
@@ -150,7 +151,7 @@ export const deserializerWith = (configuration) => {
150
151
  * @param writer - a {@link Writer} that is used to instantiate nodes and set values on them
151
152
  * @param languages - {@link Language languages} that the serialized model is expected to conform to
152
153
  * @param dependentNodes - a collection of nodes from dependent models against which all references in the serialized model are supposed to resolve against
153
- * @param propertyValueDeserializer - a deserializer for values of properties (by default a {@link BuiltinPropertyValueDeserializer})
154
+ * @param propertyValueDeserializer - a deserializer for values of properties (by default `defaultLionWebVersion.builtinsFacade.propertyValueDeserializer`)
154
155
  * @param problemReporter - an object for reporting problems (by default a {@link consoleProblemReporter})
155
156
  *
156
157
  * This is a legacy variant of {@link deserializerWith}, kept for backward compatibility, and to be deprecated and removed later.
@@ -159,7 +160,7 @@ export const deserializeSerializationChunk = (serializationChunk, writer, langua
159
160
  // TODO facades <--> languages, so it's weird that it looks split up like this
160
161
  dependentNodes,
161
162
  // TODO (#13) see if you can turn this into [nodes: Node[], writer: Writer<Node>][] after all
162
- propertyValueDeserializer = builtinPropertyValueDeserializer, problemReporter = consoleProblemReporter) => deserializerWith({ writer, languages, propertyValueDeserializer, problemReporter: problemReporter })(serializationChunk, dependentNodes);
163
+ propertyValueDeserializer = defaultLionWebVersion.builtinsFacade.propertyValueDeserializer, problemReporter = consoleProblemReporter) => deserializerWith({ writer, languages, propertyValueDeserializer, problemReporter: problemReporter })(serializationChunk, dependentNodes);
163
164
  /**
164
165
  * Alias for {@link deserializeSerializationChunk}.
165
166
  */
@@ -1 +1 @@
1
- {"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../src/deserializer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Classifier } from "./m3/types.js";
1
+ import { Classifier } from "./m3/index.js";
2
2
  import { Reader } from "./reading.js";
3
3
  import { Node } from "./types.js";
4
4
  import { Writer } from "./writing.js";
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-facade.d.ts","sourceRoot":"","sources":["../src/dynamic-facade.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAsB,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAA0B,MAAM,EAAE,MAAM,cAAc,CAAA;AAG7D;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG;IAC7B,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC,CAAA;AAUD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,CAS5C,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,qBAAgB,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,CAU5C,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,qBAAgB,CAAA"}
1
+ {"version":3,"file":"dynamic-facade.d.ts","sourceRoot":"","sources":["../src/dynamic-facade.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAyB,MAAM,eAAe,CAAA;AACjE,OAAO,EAAE,MAAM,EAAsB,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAA0B,MAAM,EAAE,MAAM,cAAc,CAAA;AAG7D;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG;IAC7B,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC,CAAA;AAUD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,CAS5C,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,qBAAgB,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,CAU5C,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,qBAAgB,CAAA"}
@@ -1,8 +1,8 @@
1
- import { builtinFeatures } from "./m3/builtins.js";
1
+ import { defaultLionWebVersion } from "./m3/index.js";
2
2
  import { updateSettingsKeyBased } from "./writing.js";
3
3
  // TODO could also have properties, containments, references - mimicking the serialization
4
4
  const propertyGetterFor = (key) => (node) => (key in node.settings && typeof node.settings[key] === "string")
5
- ? node.settings[key] // FIXME type cast shouldn't be necessary
5
+ ? node.settings[key]
6
6
  : undefined;
7
7
  /**
8
8
  * An implementation of {@link Reader} for {@link DynamicNode dynamic nodes}.
@@ -14,7 +14,7 @@ export const dynamicReader = ({
14
14
  node.settings[feature.key],
15
15
  enumerationLiteralFrom: (value, enumeration) => enumeration.literals.find(({ key }) => key === value)
16
16
  ?? null, // (undefined -> null)
17
- resolveInfoFor: propertyGetterFor(builtinFeatures.inamed_name.key)
17
+ resolveInfoFor: propertyGetterFor(defaultLionWebVersion.builtinsFacade.features.inamed_name.key) // using default LionWeb version is OK, since keys don’t change
18
18
  });
19
19
  /**
20
20
  * Alias for {@link Reader}, kept for backward compatibility, and to be deprecated and removed later.
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-facade.js","sourceRoot":"","sources":["../src/dynamic-facade.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAIlD,OAAO,EAAE,sBAAsB,EAAU,MAAM,cAAc,CAAA;AAU7D,2FAA2F;AAG3F,MAAM,iBAAiB,GAAG,CAAC,GAAe,EAAmC,EAAE,CAC3E,CAAC,IAAI,EAAE,EAAE,CACL,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC;IAC5D,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAW,CAAE,0CAA0C;IAC1E,CAAC,CAAC,SAAS,CAAA;AAEvB;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAwB,CAAC;IAC/C,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU;IACvC,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACvC,8DAA8D;IACrD,IAAI,CAAC,QAAgB,CAAC,OAAO,CAAC,GAAG,CAAC;IACvC,sBAAsB,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAC3C,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC;WAChD,IAAI,EAAK,sBAAsB;IACtC,cAAc,EAAE,iBAAiB,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC;CACrE,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAAA;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAwB,CAAC;IAC/C,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACtD,EAAE;QACF,UAAU;QACV,QAAQ,EAAE,EAAE;KACC,CAAA;IACjB,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACtC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACzD,CAAC;IACD,UAAU,EAAE,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE,CAAC,GAAG;CAC7B,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,aAAa,CAAA"}
1
+ {"version":3,"file":"dynamic-facade.js","sourceRoot":"","sources":["../src/dynamic-facade.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAGjE,OAAO,EAAE,sBAAsB,EAAU,MAAM,cAAc,CAAA;AAU7D,2FAA2F;AAG3F,MAAM,iBAAiB,GAAG,CAAC,GAAe,EAAmC,EAAE,CAC3E,CAAC,IAAI,EAAE,EAAE,CACL,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC;IAC5D,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAW;IAC9B,CAAC,CAAC,SAAS,CAAA;AAEvB;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAwB,CAAC;IAC/C,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU;IACvC,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACvC,8DAA8D;IACrD,IAAI,CAAC,QAAgB,CAAC,OAAO,CAAC,GAAG,CAAC;IACvC,sBAAsB,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAC3C,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC;WAChD,IAAI,EAAK,sBAAsB;IACtC,cAAc,EAAE,iBAAiB,CAAC,qBAAqB,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAI,+DAA+D;CACtK,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAAA;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAwB,CAAC;IAC/C,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACtD,EAAE;QACF,UAAU;QACV,QAAQ,EAAE,EAAE;KACC,CAAA;IACjB,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACtC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACzD,CAAC;IACD,UAAU,EAAE,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE,CAAC,GAAG;CAC7B,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,aAAa,CAAA"}
package/dist/index.d.ts CHANGED
@@ -7,7 +7,6 @@ export * from "./references.js";
7
7
  export * from "./reporter.js";
8
8
  export * from "./serializer.js";
9
9
  export * from "./types.js";
10
- export * from "./version.js";
11
10
  export * from "./writing.js";
12
11
  export * from "./m1/reference-utils.js";
13
12
  export * from "./m3/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA"}
package/dist/index.js CHANGED
@@ -7,7 +7,6 @@ export * from "./references.js";
7
7
  export * from "./reporter.js";
8
8
  export * from "./serializer.js";
9
9
  export * from "./types.js";
10
- export * from "./version.js";
11
10
  export * from "./writing.js";
12
11
  export * from "./m1/reference-utils.js";
13
12
  export * from "./m3/index.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA"}
@@ -0,0 +1,70 @@
1
+ import { StringsMapper } from "@lionweb/ts-utils";
2
+ import { PropertyValueDeserializer } from "../deserializer.js";
3
+ import { Concept, DataType, Interface, Language, PrimitiveType, Property } from "./types.js";
4
+ import { PropertyValueSerializer } from "../serializer.js";
5
+ /**
6
+ * Determines whether two data types should be structurally equal based on equality of: meta type, key, and language's key.
7
+ */
8
+ export declare const shouldBeIdentical: (left: DataType, right: DataType) => boolean;
9
+ /**
10
+ * Type def. for functions that deserialize the value of a property of a specific type.
11
+ */
12
+ export type PropertyValueDeserializerFunction = (value: string) => unknown;
13
+ /**
14
+ * @return an empty registry for populating fluently using
15
+ * `.set(<data type>, <deserializer function>)`,
16
+ * to pass to {@link propertyValueDeserializerFrom}.
17
+ */
18
+ export declare const newPropertyValueDeserializerRegistry: () => Map<DataType, PropertyValueDeserializerFunction>;
19
+ /**
20
+ * @return an instance of a {@link PropertyValueDeserializer} entirely driven by the passed `registry`.
21
+ */
22
+ export declare const propertyValueDeserializerFrom: (registry: Map<DataType, PropertyValueDeserializerFunction>) => PropertyValueDeserializer;
23
+ /**
24
+ * Type def. for functions that serialize the value of a property of a specific type.
25
+ */
26
+ export type PropertyValueSerializerFunction = (value: unknown) => string;
27
+ /**
28
+ * @return an empty registry for populating fluently using
29
+ * `.set(<data type>, <serializer function>)`,
30
+ * to pass to {@link propertyValueSerializerFrom}.
31
+ */
32
+ export declare const newPropertyValueSerializerRegistry: () => Map<DataType, PropertyValueSerializerFunction>;
33
+ /**
34
+ * @return an instance of a {@link PropertyValueSerializer} entirely driven by the passed `registry`.
35
+ */
36
+ export declare const propertyValueSerializerFrom: (registry: Map<DataType, PropertyValueSerializerFunction>) => PropertyValueSerializer;
37
+ /**
38
+ * The key of the LionCore language containing the built-ins.
39
+ */
40
+ export declare const lioncoreBuiltinsKey = "LionCore-builtins";
41
+ /**
42
+ * A function that generates IDs and keys for entities in the LionCore built-ins language.
43
+ */
44
+ export declare const lioncoreBuiltinsIdAndKeyGenerator: StringsMapper;
45
+ /**
46
+ * Type def. for objects that façade (a version of) the LionCore built-ins.
47
+ */
48
+ export type LionCoreBuiltinsFacade = {
49
+ language: Language;
50
+ /** The default {@link PropertyValueDeserializer}. */
51
+ propertyValueDeserializer: PropertyValueDeserializer;
52
+ /** The default {@link PropertyValueSerializer}. */
53
+ propertyValueSerializer: PropertyValueSerializer;
54
+ classifiers: {
55
+ node: Concept;
56
+ inamed: Interface;
57
+ };
58
+ features: {
59
+ inamed_name: Property;
60
+ };
61
+ /**
62
+ * The built-in primitive types: boolean, integer, string + legacy (in the `Record<...>` part).
63
+ */
64
+ primitiveTypes: {
65
+ booleanDataType: PrimitiveType;
66
+ integerDataType: PrimitiveType;
67
+ stringDataType: PrimitiveType;
68
+ } & Record<string, PrimitiveType>;
69
+ };
70
+ //# sourceMappingURL=builtins-common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtins-common.d.ts","sourceRoot":"","sources":["../../src/m3/builtins-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE5F,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAG1D;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,QAAQ,EAAE,OAAO,QAAQ,KAAG,OAC0C,CAAA;AAc9G;;GAEG;AACH,MAAM,MAAM,iCAAiC,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;AAE1E;;;;GAIG;AACH,eAAO,MAAM,oCAAoC,wDAA6D,CAAA;AAE9G;;GAEG;AACH,eAAO,MAAM,6BAA6B,GAAI,UAAU,GAAG,CAAC,QAAQ,EAAE,iCAAiC,CAAC,KAAG,yBAsB1G,CAAA;AAGD;;GAEG;AACH,MAAM,MAAM,+BAA+B,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAA;AAExE;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,sDAA2D,CAAA;AAE1G;;GAEG;AACH,eAAO,MAAM,2BAA2B,GAAI,UAAU,GAAG,CAAC,QAAQ,EAAE,+BAA+B,CAAC,KAAG,uBAsBtG,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,mBAAmB,sBAAsB,CAAA;AAEtD;;GAEG;AACH,eAAO,MAAM,iCAAiC,EAAE,aACM,CAAA;AAGtD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC,QAAQ,EAAE,QAAQ,CAAA;IAClB,qDAAqD;IACrD,yBAAyB,EAAE,yBAAyB,CAAA;IACpD,mDAAmD;IACnD,uBAAuB,EAAE,uBAAuB,CAAA;IAChD,WAAW,EAAE;QACT,IAAI,EAAE,OAAO,CAAA;QACb,MAAM,EAAE,SAAS,CAAA;KACpB,CAAA;IACD,QAAQ,EAAE;QACN,WAAW,EAAE,QAAQ,CAAA;KACxB,CAAA;IACD;;OAEG;IACH,cAAc,EAAE;QACZ,eAAe,EAAE,aAAa,CAAA;QAC9B,eAAe,EAAE,aAAa,CAAA;QAC9B,cAAc,EAAE,aAAa,CAAA;KAChC,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;CACpC,CAAA"}
@@ -0,0 +1,88 @@
1
+ import { isUnresolvedReference } from "../references.js";
2
+ /**
3
+ * Determines whether two data types should be structurally equal based on equality of: meta type, key, and language's key.
4
+ */
5
+ export const shouldBeIdentical = (left, right) => left.key === right.key && left.language.key === right.language.key && left.metaType() === right.metaType();
6
+ const lookupFrom = (registry) => (targetDataType) => {
7
+ for (const [dataType, t] of registry.entries()) {
8
+ if (shouldBeIdentical(targetDataType, dataType)) {
9
+ return t;
10
+ }
11
+ }
12
+ return undefined;
13
+ };
14
+ /**
15
+ * @return an empty registry for populating fluently using
16
+ * `.set(<data type>, <deserializer function>)`,
17
+ * to pass to {@link propertyValueDeserializerFrom}.
18
+ */
19
+ export const newPropertyValueDeserializerRegistry = () => new Map;
20
+ /**
21
+ * @return an instance of a {@link PropertyValueDeserializer} entirely driven by the passed `registry`.
22
+ */
23
+ export const propertyValueDeserializerFrom = (registry) => {
24
+ const byType = lookupFrom(registry);
25
+ return {
26
+ deserializeValue: (value, property) => {
27
+ if (value === undefined) {
28
+ if (property.optional) {
29
+ return undefined;
30
+ }
31
+ throw new Error(`can't deserialize undefined as the value of required property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}")`);
32
+ }
33
+ const { type } = property;
34
+ if (isUnresolvedReference(type)) {
35
+ throw new Error(`can't deserialize property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") with unspecified type`);
36
+ }
37
+ const specificDeserializer = byType(type);
38
+ if (specificDeserializer != undefined) {
39
+ return specificDeserializer(value);
40
+ }
41
+ else {
42
+ throw new Error(`can't deserialize value of property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") of type "${type.name}": ${value}`);
43
+ }
44
+ }
45
+ };
46
+ };
47
+ /**
48
+ * @return an empty registry for populating fluently using
49
+ * `.set(<data type>, <serializer function>)`,
50
+ * to pass to {@link propertyValueSerializerFrom}.
51
+ */
52
+ export const newPropertyValueSerializerRegistry = () => new Map;
53
+ /**
54
+ * @return an instance of a {@link PropertyValueSerializer} entirely driven by the passed `registry`.
55
+ */
56
+ export const propertyValueSerializerFrom = (registry) => {
57
+ const byType = lookupFrom(registry);
58
+ return {
59
+ serializeValue: (value, property) => {
60
+ if (value === undefined) {
61
+ if (property.optional) {
62
+ return null;
63
+ }
64
+ throw new Error(`can't serialize undefined as the value of required property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}")`);
65
+ }
66
+ const { type } = property;
67
+ if (isUnresolvedReference(type)) {
68
+ throw new Error(`can't serialize property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") with unspecified type`);
69
+ }
70
+ const specificSerializer = byType(type);
71
+ if (specificSerializer != undefined) {
72
+ return specificSerializer(value);
73
+ }
74
+ else {
75
+ throw new Error(`can't serialize value of property "${property.name}" (on classifier "${property.classifier.name}" in language "${property.classifier.language.name}") of type "${type.name}": ${value}`);
76
+ }
77
+ }
78
+ };
79
+ };
80
+ /**
81
+ * The key of the LionCore language containing the built-ins.
82
+ */
83
+ export const lioncoreBuiltinsKey = "LionCore-builtins";
84
+ /**
85
+ * A function that generates IDs and keys for entities in the LionCore built-ins language.
86
+ */
87
+ export const lioncoreBuiltinsIdAndKeyGenerator = (...names) => [lioncoreBuiltinsKey, ...names.slice(1)].join("-");
88
+ //# sourceMappingURL=builtins-common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtins-common.js","sourceRoot":"","sources":["../../src/m3/builtins-common.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Classifier } from "./types.js";
2
+ import { LionWebVersion } from "./version.js";
3
+ /**
4
+ * @return whether the given {@link Classifier} is the built-in `Node` {@link Concept}
5
+ * of *any* version of the LionCore builtins language,
6
+ * or of the version belonging to the designated {@link LionWebVersion}.
7
+ */
8
+ export declare const isBuiltinNodeConcept: (classifier: Classifier, lionWebVersion?: LionWebVersion) => boolean;
9
+ //# sourceMappingURL=builtins-function.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtins-function.d.ts","sourceRoot":"","sources":["../../src/m3/builtins-function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAG7C;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,YAAY,UAAU,EAAE,iBAAiB,cAAc,KAAG,OAO9F,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { Concept } from "./types.js";
2
+ import { defaultLionWebVersion } from "./versions.js";
3
+ /**
4
+ * @return whether the given {@link Classifier} is the built-in `Node` {@link Concept}
5
+ * of *any* version of the LionCore builtins language,
6
+ * or of the version belonging to the designated {@link LionWebVersion}.
7
+ */
8
+ export const isBuiltinNodeConcept = (classifier, lionWebVersion) => {
9
+ const { builtinsFacade } = lionWebVersion ?? defaultLionWebVersion;
10
+ return classifier instanceof Concept
11
+ && classifier.abstract
12
+ && classifier.language.key === builtinsFacade.language.key
13
+ && (lionWebVersion === undefined || classifier.language.version === builtinsFacade.language.version)
14
+ && classifier.key === builtinsFacade.classifiers.node.key;
15
+ };
16
+ /*
17
+ * NOTE: this function has to be defined in a separate file to avoid circular loading dependencies!
18
+ */
19
+ //# sourceMappingURL=builtins-function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtins-function.js","sourceRoot":"","sources":["../../src/m3/builtins-function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,OAAO,EAAE,MAAM,YAAY,CAAA;AAEhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAErD;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAAsB,EAAE,cAA+B,EAAW,EAAE;IACrG,MAAM,EAAE,cAAc,EAAE,GAAG,cAAc,IAAI,qBAAqB,CAAA;IAClE,OAAO,UAAU,YAAY,OAAO;WAC5B,UAAsB,CAAC,QAAQ;WAChC,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,cAAc,CAAC,QAAQ,CAAC,GAAG;WACvD,CAAC,cAAc,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,KAAK,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC;WACjG,UAAU,CAAC,GAAG,KAAK,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAA;AACjE,CAAC,CAAA;AAED;;GAEG"}
@@ -1,6 +1,27 @@
1
1
  import { LionWebJsonChunk } from "@lionweb/json";
2
2
  import { ProblemReporter } from "../reporter.js";
3
3
  import { Language } from "./types.js";
4
+ import { LionWebVersion } from "./version.js";
5
+ /**
6
+ * Type def. for objects that contain all necessary data to deserialize one or more languages from a {@link LionWebJsonChunk serialization chunk}.
7
+ */
8
+ export type LanguageDeserializationData = {
9
+ serializationChunk: LionWebJsonChunk;
10
+ /**
11
+ * The version of the LionWeb serialization format to deserialize from.
12
+ * Default = {@link defaultLionWebVersion}.
13
+ */
14
+ lionWebVersion?: LionWebVersion;
15
+ dependentLanguages?: Language[];
16
+ /**
17
+ * Default = {@link consoleProblemReporter}.
18
+ */
19
+ problemReporter?: ProblemReporter;
20
+ };
21
+ /**
22
+ * @return languages serialized to the {@link LionWebJsonChunk serialization chunk} passed in the {@link LanguageDeserializationData data object}.
23
+ */
24
+ export declare const deserializeLanguagesFrom: ({ serializationChunk, dependentLanguages, problemReporter, lionWebVersion }: LanguageDeserializationData) => Language[];
4
25
  /**
5
26
  * Deserializes languages that have been serialized into the LionWeb serialization JSON format
6
27
  * as an instance of the LionCore metametamodel, using {@link _M3Concept these type definitions}.
@@ -10,10 +31,14 @@ export declare const deserializeLanguages: (serializationChunk: LionWebJsonChunk
10
31
  * Deserializes languages that have been serialized into the LionWeb serialization JSON format
11
32
  * as an instance of the LionCore metametamodel, using {@link _M3Concept these type definitions}.
12
33
  * This function takes a {@link ProblemReporter} to be able to see what problems occurred.
34
+ *
35
+ * @deprecated Use {@link deserializeLanguagesFrom} instead.
13
36
  */
14
37
  export declare const deserializeLanguagesWithReporter: (serializationChunk: LionWebJsonChunk, problemReporter: ProblemReporter, ...dependentLanguages: Language[]) => Language[];
15
38
  /**
16
39
  * Legacy alias for {@link deserializeLanguagesWithReporter}, kept for backward compatibility, and to be deprecated and removed later.
40
+ *
41
+ * @deprecated Use {@link deserializeLanguagesFrom} instead.
17
42
  */
18
43
  export declare const deserializeLanguagesWithHandler: (serializationChunk: LionWebJsonChunk, problemReporter: ProblemReporter, ...dependentLanguages: Language[]) => Language[];
19
44
  //# sourceMappingURL=deserializer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../../src/m3/deserializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAGhD,OAAO,EAA0B,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAIxE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,oBAAoB,gBAAgB,EAAE,GAAG,oBAAoB,QAAQ,EAAE,KAAG,QAAQ,EAChB,CAAA;AAEvG;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,GACzC,oBAAoB,gBAAgB,EACpC,iBAAiB,eAAe,EAChC,GAAG,oBAAoB,QAAQ,EAAE,KAClC,QAAQ,EAU0E,CAAA;AAErF;;GAEG;AACH,eAAO,MAAM,+BAA+B,uBAlBpB,gBAAgB,mBACnB,eAAe,yBACT,QAAQ,EAAE,KAClC,QAAQ,EAeoE,CAAA"}
1
+ {"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../../src/m3/deserializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAGhD,OAAO,EAA0B,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAI7C;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACtC,kBAAkB,EAAE,gBAAgB,CAAA;IACpC;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,kBAAkB,CAAC,EAAE,QAAQ,EAAE,CAAA;IAC/B;;OAEG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;CACpC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,6EAAmG,2BAA2B,KAAG,QAAQ,EAUrF,CAAA;AAG7F;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,oBAAoB,gBAAgB,EAAE,GAAG,oBAAoB,QAAQ,EAAE,KAAG,QAAQ,EAC/C,CAAA;AAGxE;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC,GACzC,oBAAoB,gBAAgB,EACpC,iBAAiB,eAAe,EAChC,GAAG,oBAAoB,QAAQ,EAAE,KAClC,QAAQ,EAC8E,CAAA;AAEzF;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,uBAXpB,gBAAgB,mBACnB,eAAe,yBACT,QAAQ,EAAE,KAClC,QAAQ,EAQoE,CAAA"}
@@ -1,29 +1,36 @@
1
1
  import { deserializerWith } from "../deserializer.js";
2
2
  import { nodesExtractorUsing } from "../extraction.js";
3
3
  import { consoleProblemReporter } from "../reporter.js";
4
- import { lioncoreBuiltins } from "./builtins.js";
5
- import { lioncoreReader, lioncoreWriter } from "./facade.js";
6
- import { lioncore } from "./lioncore.js";
4
+ import { lioncoreReaderFor, lioncoreWriterFor } from "./reading-writing.js";
7
5
  import { Language } from "./types.js";
6
+ import { defaultLionWebVersion } from "./versions.js";
7
+ /**
8
+ * @return languages serialized to the {@link LionWebJsonChunk serialization chunk} passed in the {@link LanguageDeserializationData data object}.
9
+ */
10
+ export const deserializeLanguagesFrom = ({ serializationChunk, dependentLanguages, problemReporter, lionWebVersion = defaultLionWebVersion }) => deserializerWith({
11
+ writer: lioncoreWriterFor(lionWebVersion),
12
+ languages: [lionWebVersion.lioncoreFacade.language, ...(dependentLanguages ?? [])],
13
+ problemReporter: problemReporter ?? consoleProblemReporter
14
+ })(serializationChunk, [lionWebVersion.builtinsFacade.language, ...(dependentLanguages ?? [])].flatMap(nodesExtractorUsing(lioncoreReaderFor(lionWebVersion))))
15
+ .filter((rootNode) => rootNode instanceof Language)
16
+ .map((language) => language.dependingOn(...(dependentLanguages ?? [])));
8
17
  /**
9
18
  * Deserializes languages that have been serialized into the LionWeb serialization JSON format
10
19
  * as an instance of the LionCore metametamodel, using {@link _M3Concept these type definitions}.
11
20
  */
12
- export const deserializeLanguages = (serializationChunk, ...dependentLanguages) => deserializeLanguagesWithReporter(serializationChunk, consoleProblemReporter, ...dependentLanguages);
21
+ export const deserializeLanguages = (serializationChunk, ...dependentLanguages) => deserializeLanguagesFrom({ serializationChunk, dependentLanguages });
13
22
  /**
14
23
  * Deserializes languages that have been serialized into the LionWeb serialization JSON format
15
24
  * as an instance of the LionCore metametamodel, using {@link _M3Concept these type definitions}.
16
25
  * This function takes a {@link ProblemReporter} to be able to see what problems occurred.
26
+ *
27
+ * @deprecated Use {@link deserializeLanguagesFrom} instead.
17
28
  */
18
- export const deserializeLanguagesWithReporter = (serializationChunk, problemReporter, ...dependentLanguages) => deserializerWith({
19
- writer: lioncoreWriter,
20
- languages: [lioncore, ...dependentLanguages],
21
- problemReporter: problemReporter
22
- })(serializationChunk, [lioncoreBuiltins, ...dependentLanguages].flatMap(nodesExtractorUsing(lioncoreReader)))
23
- .filter((rootNode) => rootNode instanceof Language)
24
- .map((language) => language.dependingOn(...dependentLanguages));
29
+ export const deserializeLanguagesWithReporter = (serializationChunk, problemReporter, ...dependentLanguages) => deserializeLanguagesFrom({ serializationChunk, problemReporter, dependentLanguages });
25
30
  /**
26
31
  * Legacy alias for {@link deserializeLanguagesWithReporter}, kept for backward compatibility, and to be deprecated and removed later.
32
+ *
33
+ * @deprecated Use {@link deserializeLanguagesFrom} instead.
27
34
  */
28
35
  export const deserializeLanguagesWithHandler = deserializeLanguagesWithReporter;
29
36
  //# sourceMappingURL=deserializer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../../src/m3/deserializer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAmB,MAAM,gBAAgB,CAAA;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,kBAAoC,EAAE,GAAG,kBAA8B,EAAc,EAAE,CACxH,gCAAgC,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,GAAG,kBAAkB,CAAC,CAAA;AAEvG;;;;GAIG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC5C,kBAAoC,EACpC,eAAgC,EAChC,GAAG,kBAA8B,EACvB,EAAE,CACZ,gBAAgB,CAAC;IACb,MAAM,EAAE,cAAc;IACtB,SAAS,EAAE,CAAC,QAAQ,EAAE,GAAG,kBAAkB,CAAC;IAC5C,eAAe,EAAE,eAAe;CACnC,CAAC,CACE,kBAAkB,EAClB,CAAC,gBAAgB,EAAE,GAAG,kBAAkB,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,CACzF;KACI,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,YAAY,QAAQ,CAAC;KAClD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAE,QAAqB,CAAC,WAAW,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAA;AAErF;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,gCAAgC,CAAA"}
1
+ {"version":3,"file":"deserializer.js","sourceRoot":"","sources":["../../src/m3/deserializer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAmB,MAAM,gBAAgB,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAoBrD;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EAAC,kBAAkB,EAAE,kBAAkB,EAAE,eAAe,EAAE,cAAc,GAAG,qBAAqB,EAA8B,EAAc,EAAE,CACnL,gBAAgB,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC,cAAc,CAAC;IACzC,SAAS,EAAE,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;IAClF,eAAe,EAAE,eAAe,IAAI,sBAAsB;CAC7D,CAAC,CACE,kBAAkB,EAClB,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,CAC1I;KACI,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,YAAY,QAAQ,CAAC;KAClD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAE,QAAqB,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAG7F;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,kBAAoC,EAAE,GAAG,kBAA8B,EAAc,EAAE,CACxH,wBAAwB,CAAC,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC,CAAA;AAGxE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC5C,kBAAoC,EACpC,eAAgC,EAChC,GAAG,kBAA8B,EACvB,EAAE,CACZ,wBAAwB,CAAC,EAAE,kBAAkB,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC,CAAA;AAEzF;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,gCAAgC,CAAA"}
@@ -1,13 +1,17 @@
1
- export * from "./builtins.js";
1
+ export { newPropertyValueDeserializerRegistry, newPropertyValueSerializerRegistry, propertyValueDeserializerFrom, propertyValueSerializerFrom } from "./builtins-common.js";
2
+ export type * from "./builtins-common.js";
3
+ export { isBuiltinNodeConcept } from "./builtins-function.js";
2
4
  export * from "./constraints.js";
3
5
  export * from "./deserializer.js";
4
- export * from "./facade.js";
5
6
  export * from "./factory.js";
6
7
  export * from "./feature-resolvers.js";
7
8
  export * from "./functions.js";
8
- export * from "./lioncore.js";
9
+ export { lioncoreKey } from "./lioncore-common.js";
10
+ export * from "./reading-writing.js";
9
11
  export * from "./reference-checker.js";
10
12
  export * from "./serializer.js";
11
13
  export * from "./symbol-table.js";
12
14
  export * from "./types.js";
15
+ export { LionWebVersion } from "./version.js";
16
+ export * from "./versions.js";
13
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/m3/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/m3/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,kCAAkC,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAC3K,mBAAmB,sBAAsB,CAAA;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,cAAc,eAAe,CAAA"}