@lionweb/core 0.8.0-beta.5 → 0.8.0-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 (128) hide show
  1. package/CHANGELOG.md +31 -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 +3 -3
  7. package/dist/dynamic-facade.d.ts.map +1 -1
  8. package/dist/dynamic-facade.js +4 -3
  9. package/dist/dynamic-facade.js.map +1 -1
  10. package/dist/extraction.d.ts +2 -2
  11. package/dist/extraction.d.ts.map +1 -1
  12. package/dist/extraction.js.map +1 -1
  13. package/dist/index.d.ts +0 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +0 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/m1/reference-utils.d.ts +3 -3
  18. package/dist/m1/reference-utils.d.ts.map +1 -1
  19. package/dist/m1/reference-utils.js.map +1 -1
  20. package/dist/m3/builtins-common.d.ts +70 -0
  21. package/dist/m3/builtins-common.d.ts.map +1 -0
  22. package/dist/m3/builtins-common.js +88 -0
  23. package/dist/m3/builtins-common.js.map +1 -0
  24. package/dist/m3/builtins-function.d.ts +9 -0
  25. package/dist/m3/builtins-function.d.ts.map +1 -0
  26. package/dist/m3/builtins-function.js +19 -0
  27. package/dist/m3/builtins-function.js.map +1 -0
  28. package/dist/m3/deserializer.d.ts +25 -0
  29. package/dist/m3/deserializer.d.ts.map +1 -1
  30. package/dist/m3/deserializer.js +18 -11
  31. package/dist/m3/deserializer.js.map +1 -1
  32. package/dist/m3/index.d.ts +7 -3
  33. package/dist/m3/index.d.ts.map +1 -1
  34. package/dist/m3/index.js +6 -3
  35. package/dist/m3/index.js.map +1 -1
  36. package/dist/m3/lioncore-common.d.ts +37 -0
  37. package/dist/m3/lioncore-common.d.ts.map +1 -0
  38. package/dist/m3/lioncore-common.js +10 -0
  39. package/dist/m3/lioncore-common.js.map +1 -0
  40. package/dist/m3/reading-writing.d.ts +41 -0
  41. package/dist/m3/reading-writing.d.ts.map +1 -0
  42. package/dist/m3/reading-writing.js +84 -0
  43. package/dist/m3/reading-writing.js.map +1 -0
  44. package/dist/m3/serializer.d.ts +17 -0
  45. package/dist/m3/serializer.d.ts.map +1 -1
  46. package/dist/m3/serializer.js +11 -2
  47. package/dist/m3/serializer.js.map +1 -1
  48. package/dist/m3/symbol-table.d.ts +3 -3
  49. package/dist/m3/types.d.ts +11 -15
  50. package/dist/m3/types.d.ts.map +1 -1
  51. package/dist/m3/types.js +2 -6
  52. package/dist/m3/types.js.map +1 -1
  53. package/dist/m3/version.d.ts +19 -0
  54. package/dist/m3/version.d.ts.map +1 -0
  55. package/dist/m3/version.js +19 -0
  56. package/dist/m3/version.js.map +1 -0
  57. package/dist/m3/versions/v2023_1/builtins-legacy.d.ts +44 -0
  58. package/dist/m3/versions/v2023_1/builtins-legacy.d.ts.map +1 -0
  59. package/dist/m3/{builtins.js → versions/v2023_1/builtins-legacy.js} +24 -79
  60. package/dist/m3/versions/v2023_1/builtins-legacy.js.map +1 -0
  61. package/dist/m3/versions/v2023_1/builtins.d.ts +34 -0
  62. package/dist/m3/versions/v2023_1/builtins.d.ts.map +1 -0
  63. package/dist/m3/versions/v2023_1/builtins.js +75 -0
  64. package/dist/m3/versions/v2023_1/builtins.js.map +1 -0
  65. package/dist/m3/versions/v2023_1/lioncore.d.ts +34 -0
  66. package/dist/m3/versions/v2023_1/lioncore.d.ts.map +1 -0
  67. package/dist/m3/versions/v2023_1/lioncore.js +86 -0
  68. package/dist/m3/versions/v2023_1/lioncore.js.map +1 -0
  69. package/dist/m3/versions/v2023_1/version.d.ts +6 -0
  70. package/dist/m3/versions/v2023_1/version.d.ts.map +1 -0
  71. package/dist/m3/versions/v2023_1/version.js +8 -0
  72. package/dist/m3/versions/v2023_1/version.js.map +1 -0
  73. package/dist/m3/versions.d.ts +23 -0
  74. package/dist/m3/versions.d.ts.map +1 -0
  75. package/dist/m3/versions.js +24 -0
  76. package/dist/m3/versions.js.map +1 -0
  77. package/dist/reading.d.ts +10 -6
  78. package/dist/reading.d.ts.map +1 -1
  79. package/dist/serializer.d.ts +17 -6
  80. package/dist/serializer.d.ts.map +1 -1
  81. package/dist/serializer.js +4 -5
  82. package/dist/serializer.js.map +1 -1
  83. package/dist/writing.d.ts +3 -1
  84. package/dist/writing.d.ts.map +1 -1
  85. package/dist/writing.js.map +1 -1
  86. package/package.json +3 -3
  87. package/src/deserializer.ts +18 -14
  88. package/src/dynamic-facade.ts +4 -4
  89. package/src/extraction.ts +3 -3
  90. package/src/index.ts +0 -1
  91. package/src/m1/reference-utils.ts +6 -6
  92. package/src/m3/README.md +1 -1
  93. package/src/m3/builtins-common.ts +143 -0
  94. package/src/m3/builtins-function.ts +22 -0
  95. package/src/m3/deserializer.ts +43 -14
  96. package/src/m3/index.ts +7 -3
  97. package/src/m3/lioncore-common.ts +42 -0
  98. package/src/m3/reading-writing.ts +160 -0
  99. package/src/m3/serializer.ts +25 -2
  100. package/src/m3/symbol-table.ts +3 -3
  101. package/src/m3/types.ts +12 -18
  102. package/src/m3/version.ts +23 -0
  103. package/src/m3/versions/v2023_1/builtins-legacy.ts +126 -0
  104. package/src/m3/versions/v2023_1/builtins.ts +102 -0
  105. package/src/m3/{lioncore.ts → versions/v2023_1/lioncore.ts} +53 -76
  106. package/src/m3/versions/v2023_1/version.ts +9 -0
  107. package/src/m3/versions.ts +32 -0
  108. package/src/reading.ts +10 -6
  109. package/src/serializer.ts +26 -14
  110. package/src/writing.ts +3 -1
  111. package/dist/m3/builtins.d.ts +0 -82
  112. package/dist/m3/builtins.d.ts.map +0 -1
  113. package/dist/m3/builtins.js.map +0 -1
  114. package/dist/m3/facade.d.ts +0 -17
  115. package/dist/m3/facade.d.ts.map +0 -1
  116. package/dist/m3/facade.js +0 -58
  117. package/dist/m3/facade.js.map +0 -1
  118. package/dist/m3/lioncore.d.ts +0 -41
  119. package/dist/m3/lioncore.d.ts.map +0 -1
  120. package/dist/m3/lioncore.js +0 -90
  121. package/dist/m3/lioncore.js.map +0 -1
  122. package/dist/version.d.ts +0 -5
  123. package/dist/version.d.ts.map +0 -1
  124. package/dist/version.js +0 -5
  125. package/dist/version.js.map +0 -1
  126. package/src/m3/builtins.ts +0 -198
  127. package/src/m3/facade.ts +0 -130
  128. package/src/version.ts +0 -5
@@ -0,0 +1,44 @@
1
+ import { DataType, Property } from "../../types.js";
2
+ import { PropertyValueDeserializer } from "../../../deserializer.js";
3
+ import { PropertyValueSerializer } from "../../../serializer.js";
4
+ declare abstract class DataTypeRegistry<T> {
5
+ private map;
6
+ private _sealed;
7
+ sealed(): this;
8
+ register(dataType: DataType, t: T): void;
9
+ protected byType(targetDataType: DataType): T | undefined;
10
+ }
11
+ /**
12
+ * An implementation of {@link PropertyValueDeserializer} that knows how to deserialize serialized values of all the built-in primitive types.
13
+ *
14
+ * @deprecated
15
+ */
16
+ export declare class BuiltinPropertyValueDeserializer extends DataTypeRegistry<(value: string) => unknown> implements PropertyValueDeserializer {
17
+ constructor();
18
+ deserializeValue(value: string | undefined, property: Property): unknown | undefined;
19
+ }
20
+ /**
21
+ * Misspelled alias of {@link BuiltinPropertyValueDeserializer}, kept for backward compatibility, and to be deprecated and removed later.
22
+ *
23
+ * @deprecated
24
+ */
25
+ export declare class DefaultPrimitiveTypeDeserializer extends BuiltinPropertyValueDeserializer {
26
+ }
27
+ /**
28
+ * An implementation of {@link PropertyValueSerializer} that knows how to serialize values of all the built-in primitive types.
29
+ *
30
+ * @deprecated
31
+ */
32
+ export declare class BuiltinPropertyValueSerializer extends DataTypeRegistry<(value: unknown) => string> implements PropertyValueSerializer {
33
+ constructor();
34
+ serializeValue(value: unknown | undefined, property: Property): string | null;
35
+ }
36
+ /**
37
+ * Misspelled alias of {@link BuiltinPropertyValueSerializer}, kept for backward compatibility, and to be deprecated and removed later.
38
+ *
39
+ * @deprecated
40
+ */
41
+ export declare class DefaultPrimitiveTypeSerializer extends BuiltinPropertyValueSerializer {
42
+ }
43
+ export {};
44
+ //# sourceMappingURL=builtins-legacy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtins-legacy.d.ts","sourceRoot":"","sources":["../../../../src/m3/versions/v2023_1/builtins-legacy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AAEpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAIhE,uBAAe,gBAAgB,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAyB;IAEpC,OAAO,CAAC,OAAO,CAAQ;IAEvB,MAAM;IAKC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAOxC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,GAAG,CAAC,GAAG,SAAS;CAQ5D;AAMD;;;;GAIG;AACH,qBAAa,gCACT,SAAQ,gBAAgB,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CACnD,YAAW,yBAAyB;;IASpC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS;CAkBvF;AAED;;;;GAIG;AACH,qBAAa,gCAAiC,SAAQ,gCAAgC;CACrF;AAED;;;;GAIG;AACH,qBAAa,8BAA+B,SAAQ,gBAAgB,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAE,YAAW,uBAAuB;;IAS/H,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI;CAkBhF;AAED;;;;GAIG;AACH,qBAAa,8BAA+B,SAAQ,8BAA8B;CACjF"}
@@ -1,63 +1,8 @@
1
1
  import { asMinimalJsonString } from "@lionweb/ts-utils";
2
- import { currentReleaseVersion } from "../version.js";
3
- import { LanguageFactory } from "./factory.js";
4
- import { Concept, lioncoreBuiltinsKey } from "./types.js";
5
- import { isUnresolvedReference } from "../references.js";
6
- const lioncoreBuiltinsIdAndKeyGenerator = (...names) => [lioncoreBuiltinsKey, ...names.slice(1)].join("-");
7
- const factory = new LanguageFactory("LionCore_builtins", currentReleaseVersion, lioncoreBuiltinsIdAndKeyGenerator, lioncoreBuiltinsIdAndKeyGenerator);
8
- /*
9
- * ID == key: `LionCore-builtins-${qualified name _without_ "LionCore-builtins", dash-separated}`
10
- */
11
- /**
12
- * Definition of a LionCore language that serves as a standard library of built-in primitive types.
13
- */
14
- const lioncoreBuiltins = factory.language;
15
- const stringDataType = factory.primitiveType("String");
16
- const booleanDataType = factory.primitiveType("Boolean");
17
- const integerDataType = factory.primitiveType("Integer");
18
- const jsonDataType = factory.primitiveType("JSON");
19
- const node = factory.concept("Node", true);
20
- const isBuiltinNodeConcept = (classifier) => classifier instanceof Concept &&
21
- classifier.language.key === lioncoreBuiltinsKey &&
22
- classifier.language.version === currentReleaseVersion &&
23
- classifier.key === builtinClassifiers.node.key &&
24
- classifier.abstract;
25
- const inamed = factory.interface("INamed");
26
- const inamed_name = factory.property(inamed, "name").ofType(stringDataType);
27
- const builtinPrimitives = {
28
- stringDataType,
29
- booleanDataType,
30
- integerDataType,
31
- jsonDataType,
32
- /**
33
- * Misspelled alias of {@link stringDataType}, kept for backward compatibility, and to be deprecated and removed later.
34
- */
35
- stringDatatype: stringDataType,
36
- /**
37
- * Misspelled alias of {@link booleanDataType}, kept for backward compatibility, and to be deprecated and removed later.
38
- */
39
- booleanDatatype: booleanDataType,
40
- /**
41
- * Misspelled alias of {@link integerDataType}, kept for backward compatibility, and to be deprecated and removed later.
42
- */
43
- integerDatatype: integerDataType,
44
- /**
45
- * Misspelled alias of {@link jsonDataType}, kept for backward compatibility, and to be deprecated and removed later.
46
- */
47
- jsonDatatype: jsonDataType
48
- };
49
- const builtinClassifiers = {
50
- node,
51
- inamed
52
- };
53
- const builtinFeatures = {
54
- inamed_name
55
- };
56
- /**
57
- * Determines whether two data types should be structurally equal based on equality of: meta type, key, and language's key.
58
- */
59
- const shouldBeIdentical = (left, right) => left.key === right.key && left.language.key === right.language.key && left.metaType() === right.metaType();
60
- class DataTypeRegister {
2
+ import { shouldBeIdentical } from "../../builtins-common.js";
3
+ import { isUnresolvedReference } from "../../../references.js";
4
+ import { v2023_1 } from "./version.js";
5
+ class DataTypeRegistry {
61
6
  constructor() {
62
7
  this.map = new Map();
63
8
  this._sealed = false;
@@ -81,16 +26,19 @@ class DataTypeRegister {
81
26
  return undefined;
82
27
  }
83
28
  }
29
+ const { booleanDataType, integerDataType, jsonDataType, stringDataType } = v2023_1.builtinsFacade.primitiveTypes;
84
30
  /**
85
31
  * An implementation of {@link PropertyValueDeserializer} that knows how to deserialize serialized values of all the built-in primitive types.
32
+ *
33
+ * @deprecated
86
34
  */
87
- export class BuiltinPropertyValueDeserializer extends DataTypeRegister {
35
+ export class BuiltinPropertyValueDeserializer extends DataTypeRegistry {
88
36
  constructor() {
89
37
  super();
90
- this.register(stringDataType, value => value);
91
- this.register(booleanDataType, value => JSON.parse(value));
92
- this.register(integerDataType, value => Number(value));
93
- this.register(jsonDataType, value => JSON.parse(value));
38
+ this.register(stringDataType, (value) => value);
39
+ this.register(booleanDataType, (value) => JSON.parse(value));
40
+ this.register(integerDataType, (value) => Number(value));
41
+ this.register(jsonDataType, (value) => JSON.parse(value));
94
42
  }
95
43
  deserializeValue(value, property) {
96
44
  if (value === undefined) {
@@ -112,25 +60,25 @@ export class BuiltinPropertyValueDeserializer extends DataTypeRegister {
112
60
  }
113
61
  }
114
62
  }
115
- /**
116
- * Singleton instance of {@link BuiltinPropertyValueDeserializer}.
117
- */
118
- export const builtinPropertyValueDeserializer = new BuiltinPropertyValueDeserializer().sealed();
119
63
  /**
120
64
  * Misspelled alias of {@link BuiltinPropertyValueDeserializer}, kept for backward compatibility, and to be deprecated and removed later.
65
+ *
66
+ * @deprecated
121
67
  */
122
68
  export class DefaultPrimitiveTypeDeserializer extends BuiltinPropertyValueDeserializer {
123
69
  }
124
70
  /**
125
71
  * An implementation of {@link PropertyValueSerializer} that knows how to serialize values of all the built-in primitive types.
72
+ *
73
+ * @deprecated
126
74
  */
127
- export class BuiltinPropertyValueSerializer extends DataTypeRegister {
75
+ export class BuiltinPropertyValueSerializer extends DataTypeRegistry {
128
76
  constructor() {
129
77
  super();
130
- this.register(stringDataType, value => value);
131
- this.register(booleanDataType, value => `${value}`);
132
- this.register(integerDataType, value => `${value}`);
133
- this.register(jsonDataType, value => asMinimalJsonString(value));
78
+ this.register(stringDataType, (value) => value);
79
+ this.register(booleanDataType, (value) => `${value}`);
80
+ this.register(integerDataType, (value) => `${value}`);
81
+ this.register(jsonDataType, (value) => asMinimalJsonString(value));
134
82
  }
135
83
  serializeValue(value, property) {
136
84
  if (value === undefined) {
@@ -152,14 +100,11 @@ export class BuiltinPropertyValueSerializer extends DataTypeRegister {
152
100
  }
153
101
  }
154
102
  }
155
- /**
156
- * Singleton instance of {@link BuiltinPropertyValueSerializer}.
157
- */
158
- export const builtinPropertyValueSerializer = new BuiltinPropertyValueSerializer().sealed();
159
103
  /**
160
104
  * Misspelled alias of {@link BuiltinPropertyValueSerializer}, kept for backward compatibility, and to be deprecated and removed later.
105
+ *
106
+ * @deprecated
161
107
  */
162
108
  export class DefaultPrimitiveTypeSerializer extends BuiltinPropertyValueSerializer {
163
109
  }
164
- export { builtinPrimitives, builtinClassifiers, builtinFeatures, isBuiltinNodeConcept, lioncoreBuiltins, shouldBeIdentical };
165
- //# sourceMappingURL=builtins.js.map
110
+ //# sourceMappingURL=builtins-legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtins-legacy.js","sourceRoot":"","sources":["../../../../src/m3/versions/v2023_1/builtins-legacy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { LionCoreBuiltinsFacade } from "../../builtins-common.js";
2
+ export declare const lioncoreBuiltinsFacade: LionCoreBuiltinsFacade;
3
+ /**
4
+ * Definition of a LionCore language that serves as a standard library of built-in primitive types.
5
+ *
6
+ * @deprecated Use `<LionWebVersion>.builtinsFacade.isBuiltinNodeConcept` instead.
7
+ */
8
+ export declare const lioncoreBuiltins: import("../../types.js").Language;
9
+ /**
10
+ * @deprecated Use `<LionWebVersion>.builtinsFacade.primitiveTypes` instead.
11
+ */
12
+ export declare const builtinPrimitives: {
13
+ booleanDataType: import("../../types.js").PrimitiveType;
14
+ integerDataType: import("../../types.js").PrimitiveType;
15
+ stringDataType: import("../../types.js").PrimitiveType;
16
+ } & Record<string, import("../../types.js").PrimitiveType>;
17
+ /**
18
+ * @deprecated Use `<LionWebVersion>.builtinsFacade.classifiers` instead.
19
+ */
20
+ export declare const builtinClassifiers: {
21
+ node: import("../../types.js").Concept;
22
+ inamed: import("../../types.js").Interface;
23
+ };
24
+ /**
25
+ * @deprecated Use `<LionWebVersion>.builtinsFacade.features` instead.
26
+ */
27
+ export declare const builtinFeatures: {
28
+ inamed_name: import("../../types.js").Property;
29
+ };
30
+ /**
31
+ * @deprecated Use {@link isBuiltinNodeConcept} instead.
32
+ */
33
+ export declare const isBuiltinConcept: (classifier: import("../../types.js").Classifier, lionWebVersion?: import("../../version.js").LionWebVersion) => boolean;
34
+ //# sourceMappingURL=builtins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../../../src/m3/versions/v2023_1/builtins.ts"],"names":[],"mappings":"AACA,OAAO,EACH,sBAAsB,EAMzB,MAAM,0BAA0B,CAAA;AA4BjC,eAAO,MAAM,sBAAsB,EAAE,sBAwCpC,CAAA;AAGD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,mCAAmB,CAAA;AAChD;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;0DAAwC,CAAA;AACtE;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;CAAqC,CAAA;AACpE;;GAEG;AACH,eAAO,MAAM,eAAe;;CAAkC,CAAA;AAC9D;;GAEG;AACH,eAAO,MAAM,gBAAgB,0HAAuB,CAAA"}
@@ -0,0 +1,75 @@
1
+ import { asMinimalJsonString } from "@lionweb/ts-utils";
2
+ import { lioncoreBuiltinsIdAndKeyGenerator, newPropertyValueDeserializerRegistry, newPropertyValueSerializerRegistry, propertyValueDeserializerFrom, propertyValueSerializerFrom } from "../../builtins-common.js";
3
+ import { isBuiltinNodeConcept } from "../../builtins-function.js";
4
+ import { LanguageFactory } from "../../factory.js";
5
+ const factory = new LanguageFactory("LionCore_builtins", "2023.1", lioncoreBuiltinsIdAndKeyGenerator, lioncoreBuiltinsIdAndKeyGenerator);
6
+ /*
7
+ * ID == key: `LionCore-builtins-${qualified name _without_ "LionCore-builtins", dash-separated}`
8
+ */
9
+ const stringDataType = factory.primitiveType("String");
10
+ const booleanDataType = factory.primitiveType("Boolean");
11
+ const integerDataType = factory.primitiveType("Integer");
12
+ const jsonDataType = factory.primitiveType("JSON");
13
+ const node = factory.concept("Node", true);
14
+ const inamed = factory.interface("INamed");
15
+ const inamed_name = factory.property(inamed, "name").ofType(stringDataType);
16
+ export const lioncoreBuiltinsFacade = {
17
+ language: factory.language,
18
+ propertyValueDeserializer: propertyValueDeserializerFrom(newPropertyValueDeserializerRegistry()
19
+ .set(stringDataType, (value) => value)
20
+ .set(booleanDataType, (value) => JSON.parse(value))
21
+ .set(integerDataType, (value) => Number(value))
22
+ .set(jsonDataType, (value) => JSON.parse(value))),
23
+ propertyValueSerializer: propertyValueSerializerFrom(newPropertyValueSerializerRegistry()
24
+ .set(stringDataType, (value) => value)
25
+ .set(booleanDataType, (value) => `${value}`)
26
+ .set(integerDataType, (value) => `${value}`)
27
+ .set(jsonDataType, (value) => asMinimalJsonString(value))),
28
+ classifiers: { node, inamed },
29
+ features: { inamed_name },
30
+ primitiveTypes: {
31
+ stringDataType,
32
+ booleanDataType,
33
+ integerDataType,
34
+ jsonDataType,
35
+ /**
36
+ * Misspelled alias of {@link stringDataType}, kept for backward compatibility, and to be deprecated and removed later.
37
+ */
38
+ stringDatatype: stringDataType,
39
+ /**
40
+ * Misspelled alias of {@link booleanDataType}, kept for backward compatibility, and to be deprecated and removed later.
41
+ */
42
+ booleanDatatype: booleanDataType,
43
+ /**
44
+ * Misspelled alias of {@link integerDataType}, kept for backward compatibility, and to be deprecated and removed later.
45
+ */
46
+ integerDatatype: integerDataType,
47
+ /**
48
+ * Misspelled alias of {@link jsonDataType}, kept for backward compatibility, and to be deprecated and removed later.
49
+ */
50
+ jsonDatatype: jsonDataType
51
+ }
52
+ };
53
+ /**
54
+ * Definition of a LionCore language that serves as a standard library of built-in primitive types.
55
+ *
56
+ * @deprecated Use `<LionWebVersion>.builtinsFacade.isBuiltinNodeConcept` instead.
57
+ */
58
+ export const lioncoreBuiltins = factory.language;
59
+ /**
60
+ * @deprecated Use `<LionWebVersion>.builtinsFacade.primitiveTypes` instead.
61
+ */
62
+ export const builtinPrimitives = lioncoreBuiltinsFacade.primitiveTypes;
63
+ /**
64
+ * @deprecated Use `<LionWebVersion>.builtinsFacade.classifiers` instead.
65
+ */
66
+ export const builtinClassifiers = lioncoreBuiltinsFacade.classifiers;
67
+ /**
68
+ * @deprecated Use `<LionWebVersion>.builtinsFacade.features` instead.
69
+ */
70
+ export const builtinFeatures = lioncoreBuiltinsFacade.features;
71
+ /**
72
+ * @deprecated Use {@link isBuiltinNodeConcept} instead.
73
+ */
74
+ export const isBuiltinConcept = isBuiltinNodeConcept;
75
+ //# sourceMappingURL=builtins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../../../src/m3/versions/v2023_1/builtins.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { LionCoreFacade } from "../../lioncore-common.js";
2
+ /**
3
+ * Definition of LionCore in terms of itself.
4
+ *
5
+ * @deprecated Use `lioncoreFacade.language` instead.
6
+ */
7
+ export declare const lioncore: import("../../types.js").Language;
8
+ export declare const lioncoreFacade: LionCoreFacade;
9
+ /**
10
+ * @deprecated Use `<LionWeb version>.lioncoreFacade.metaConcepts` instead.
11
+ */
12
+ export declare const metaConcepts: {
13
+ annotation: import("../../types.js").Concept;
14
+ classifier: import("../../types.js").Concept;
15
+ concept: import("../../types.js").Concept;
16
+ interface: import("../../types.js").Concept;
17
+ containment: import("../../types.js").Concept;
18
+ enumeration: import("../../types.js").Concept;
19
+ enumerationLiteral: import("../../types.js").Concept;
20
+ ikeyed: import("../../types.js").Interface;
21
+ language: import("../../types.js").Concept;
22
+ primitiveType: import("../../types.js").Concept;
23
+ property: import("../../types.js").Concept;
24
+ reference: import("../../types.js").Concept;
25
+ };
26
+ /**
27
+ * @deprecated Use `<LionWeb version>.lioncoreFacade.metaFeatures` instead.
28
+ */
29
+ export declare const metaFeatures: {
30
+ concept_abstract: import("../../types.js").Property;
31
+ ikeyed_key: import("../../types.js").Property;
32
+ language_version: import("../../types.js").Property;
33
+ };
34
+ //# sourceMappingURL=lioncore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lioncore.d.ts","sourceRoot":"","sources":["../../../../src/m3/versions/v2023_1/lioncore.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4B,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAcnF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,mCAA4C,CAAA;AA6DjE,eAAO,MAAM,cAAc,EAAE,cAqB5B,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAA8B,CAAA;AAEvD;;GAEG;AACH,eAAO,MAAM,YAAY;;;;CAA8B,CAAA"}
@@ -0,0 +1,86 @@
1
+ import { lioncoreBuiltinsFacade } from "./builtins.js";
2
+ import { LanguageFactory } from "../../factory.js";
3
+ import { generatedLionCoreKeyFrom } from "../../lioncore-common.js";
4
+ const factory = new LanguageFactory("LionCore_M3", "2023.1", (...names) => "-id-" + generatedLionCoreKeyFrom(...names), generatedLionCoreKeyFrom);
5
+ /*
6
+ * ID: `-id-${key}`
7
+ * key: qualified name _without_ "LionCore_M3", dash-separated
8
+ */
9
+ /**
10
+ * Definition of LionCore in terms of itself.
11
+ *
12
+ * @deprecated Use `lioncoreFacade.language` instead.
13
+ */
14
+ export const lioncore = factory.language.havingKey("LionCore-M3");
15
+ const { inamed } = lioncoreBuiltinsFacade.classifiers;
16
+ const { booleanDataType, stringDataType } = lioncoreBuiltinsFacade.primitiveTypes;
17
+ const ikeyed = factory.interface("IKeyed").extending(inamed);
18
+ const ikeyed_key = factory.property(ikeyed, "key").ofType(stringDataType);
19
+ const feature = factory.concept("Feature", true).implementing(ikeyed);
20
+ factory.property(feature, "optional").ofType(booleanDataType);
21
+ const property = factory.concept("Property", false, feature);
22
+ const property_type = factory.reference(property, "type");
23
+ const link = factory.concept("Link", true, feature);
24
+ factory.property(link, "multiple").ofType(booleanDataType);
25
+ const link_type = factory.reference(link, "type");
26
+ const containment = factory.concept("Containment", false, link);
27
+ const reference = factory.concept("Reference", false, link);
28
+ const languageEntity = factory.concept("LanguageEntity", true).implementing(ikeyed);
29
+ const classifier = factory.concept("Classifier", true, languageEntity);
30
+ factory.containment(classifier, "features").isOptional().isMultiple().ofType(feature);
31
+ link_type.ofType(classifier);
32
+ const annotation = factory.concept("Annotation", false, classifier);
33
+ factory.reference(annotation, "annotates").isOptional().ofType(classifier);
34
+ factory.reference(annotation, "extends").isOptional().ofType(annotation);
35
+ const annotation_implements = factory.reference(annotation, "implements").isMultiple().isOptional();
36
+ const concept = factory.concept("Concept", false, classifier);
37
+ const concept_abstract = factory.property(concept, "abstract").ofType(booleanDataType);
38
+ factory.property(concept, "partition").ofType(booleanDataType);
39
+ factory.reference(concept, "extends").isOptional().ofType(concept);
40
+ const concept_implements = factory.reference(concept, "implements").isOptional().isMultiple();
41
+ const interface_ = factory.concept("Interface", false, classifier);
42
+ factory.reference(interface_, "extends").isOptional().isMultiple().ofType(interface_);
43
+ annotation_implements.ofType(interface_);
44
+ concept_implements.ofType(interface_);
45
+ const dataType = factory.concept("DataType", true, languageEntity);
46
+ property_type.ofType(dataType);
47
+ const primitiveType = factory.concept("PrimitiveType", false, dataType);
48
+ const enumeration = factory.concept("Enumeration", false, dataType);
49
+ const enumeration_literals = factory.containment(enumeration, "literals").isMultiple().isOptional();
50
+ const enumerationLiteral = factory.concept("EnumerationLiteral", false).implementing(ikeyed);
51
+ enumeration_literals.ofType(enumerationLiteral);
52
+ const language = factory.concept("Language", false).implementing(ikeyed).isPartition();
53
+ const language_version = factory.property(language, "version").ofType(stringDataType);
54
+ factory.containment(language, "entities").isOptional().isMultiple().ofType(languageEntity);
55
+ factory.reference(language, "dependsOn").isOptional().isMultiple().ofType(language);
56
+ export const lioncoreFacade = {
57
+ language: factory.language,
58
+ metaConcepts: {
59
+ annotation,
60
+ classifier,
61
+ concept,
62
+ interface: interface_,
63
+ containment,
64
+ enumeration,
65
+ enumerationLiteral,
66
+ ikeyed,
67
+ language,
68
+ primitiveType,
69
+ property,
70
+ reference
71
+ },
72
+ metaFeatures: {
73
+ concept_abstract,
74
+ ikeyed_key,
75
+ language_version
76
+ }
77
+ };
78
+ /**
79
+ * @deprecated Use `<LionWeb version>.lioncoreFacade.metaConcepts` instead.
80
+ */
81
+ export const metaConcepts = lioncoreFacade.metaConcepts;
82
+ /**
83
+ * @deprecated Use `<LionWeb version>.lioncoreFacade.metaFeatures` instead.
84
+ */
85
+ export const metaFeatures = lioncoreFacade.metaFeatures;
86
+ //# sourceMappingURL=lioncore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lioncore.js","sourceRoot":"","sources":["../../../../src/m3/versions/v2023_1/lioncore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { LionWebVersion } from "../../version.js";
2
+ /**
3
+ * A representation of the 2023.1 LionWeb version.
4
+ */
5
+ export declare const v2023_1: LionWebVersion;
6
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../../src/m3/versions/v2023_1/version.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,OAAO,gBAAuE,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { lioncoreBuiltinsFacade } from "./builtins.js";
2
+ import { lioncoreFacade } from "./lioncore.js";
3
+ import { LionWebVersion } from "../../version.js";
4
+ /**
5
+ * A representation of the 2023.1 LionWeb version.
6
+ */
7
+ export const v2023_1 = new LionWebVersion("2023.1", lioncoreFacade, lioncoreBuiltinsFacade);
8
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../../src/m3/versions/v2023_1/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,sBAAsB,CAAC,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { LionWebVersion } from "./version.js";
2
+ /**
3
+ * The *current* release(d) version.
4
+ *
5
+ * @deprecated Use `LionWebVersions.v2023_1.serializationFormatVersion` instead.
6
+ */
7
+ export declare const currentReleaseVersion = "2023.1";
8
+ /**
9
+ * An enumeration (as const object) of all LionWeb versions currently supported by the WIP specification.
10
+ */
11
+ export declare const LionWebVersions: {
12
+ readonly v2023_1: LionWebVersion;
13
+ };
14
+ /**
15
+ * All LionWeb versions.
16
+ */
17
+ export declare const allLionWebVersions: LionWebVersion[];
18
+ /**
19
+ * @return the {@link LionWebVersion} matching the given `serializationFormatVersion` string,
20
+ * or {@link undefined} if there’s none.
21
+ */
22
+ export declare const lionWebVersionFrom: (serializationFormatVersion: string) => LionWebVersion | undefined;
23
+ //# sourceMappingURL=versions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/m3/versions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAG7C;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,WAAW,CAAA;AAG7C;;GAEG;AACH,eAAO,MAAM,eAAe;;CAGlB,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,kBAAkB,kBAAiC,CAAA;AAEhE;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,4BAA4B,MAAM,KAAG,cAAc,GAAG,SACkB,CAAA"}
@@ -0,0 +1,24 @@
1
+ import { v2023_1 } from "./versions/v2023_1/version.js";
2
+ /**
3
+ * The *current* release(d) version.
4
+ *
5
+ * @deprecated Use `LionWebVersions.v2023_1.serializationFormatVersion` instead.
6
+ */
7
+ export const currentReleaseVersion = "2023.1";
8
+ /**
9
+ * An enumeration (as const object) of all LionWeb versions currently supported by the WIP specification.
10
+ */
11
+ export const LionWebVersions = {
12
+ // LionWeb standard version 2023.1 — defined at https://lionweb.io/specification/2023.1
13
+ v2023_1
14
+ };
15
+ /**
16
+ * All LionWeb versions.
17
+ */
18
+ export const allLionWebVersions = Object.values(LionWebVersions);
19
+ /**
20
+ * @return the {@link LionWebVersion} matching the given `serializationFormatVersion` string,
21
+ * or {@link undefined} if there’s none.
22
+ */
23
+ export const lionWebVersionFrom = (serializationFormatVersion) => allLionWebVersions.find((version) => version.serializationFormatVersion === serializationFormatVersion);
24
+ //# sourceMappingURL=versions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/m3/versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAIvD;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,QAAQ,CAAA;AAG7C;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,uFAAuF;IACvF,OAAO;CACD,CAAA;AAEV;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;AAEhE;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,0BAAkC,EAA8B,EAAE,CACjG,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,0BAA0B,KAAK,0BAA0B,CAAC,CAAA"}
package/dist/reading.d.ts CHANGED
@@ -7,18 +7,20 @@ export type ClassifierDeducer<NT extends Node> = (node: NT) => Classifier;
7
7
  /**
8
8
  * Type def. for functions that deduce the string value of the `resolveInfo` field of a
9
9
  * {@link LionWebJsonReferenceTarget serialized reference target},
10
- * or {@code undefined} to indicate that no `resolveInfo` could be derived.
10
+ * or `undefined` to indicate that no `resolveInfo` could be derived.
11
11
  * The function’s arguments are the target {@link Node} and its containing {@link Reference}.
12
12
  */
13
13
  export type ResolveInfoDeducer<NT extends Node> = (node: NT, reference: Reference) => string | undefined;
14
14
  /**
15
15
  * An interface that's used to parametrize generic serialization of
16
- * (in-memory) nodes of the given type (parameter).
16
+ * (in-memory) nodes of the given type (parameter) `NT`.
17
17
  * Implementations of these interfaces {w|c}ould be:
18
18
  * - specific to LionCore (so to match m3/types.ts)
19
19
  * - generic to serialize {@link DynamicNode dynamic nodes}
20
+ * The `RT` type (parameter) is the type of any *referenced* node,
21
+ * which could e.g. be wider – most likely – or narrower than `NT`.
20
22
  */
21
- export interface Reader<NT extends Node> {
23
+ export interface Reader<NT extends Node, RT extends Node = NT> {
22
24
  /**
23
25
  * @return The {@link Concept concept} of the given node
24
26
  */
@@ -34,13 +36,15 @@ export interface Reader<NT extends Node> {
34
36
  enumerationLiteralFrom: (encoding: unknown, enumeration: Enumeration) => EnumerationLiteral | null;
35
37
  /**
36
38
  * @return The string value of the `resolveInfo` field of a {@link LionWebJsonReferenceTarget serialized reference target},
37
- * or {@code undefined} to indicate that no `resolveInfo` could be derived.
39
+ * or `undefined` to indicate that no `resolveInfo` could be derived.
38
40
  */
39
- resolveInfoFor?: ResolveInfoDeducer<NT>;
41
+ resolveInfoFor?: ResolveInfoDeducer<RT>;
40
42
  }
41
43
  /**
42
44
  * Alias for {@link Reader}, kept for backward compatibility, and to be deprecated and removed later.
45
+ *
46
+ * @deprecated Use {@link Reader} instead.
43
47
  */
44
- export interface ExtractionFacade<NT extends Node> extends Reader<NT> {
48
+ export interface ExtractionFacade<NT extends Node, RT extends Node> extends Reader<NT, RT> {
45
49
  }
46
50
  //# sourceMappingURL=reading.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reading.d.ts","sourceRoot":"","sources":["../src/reading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC/F,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAGjC;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,UAAU,CAAA;AAEzE;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,KAAK,MAAM,GAAG,SAAS,CAAA;AAExG;;;;;;GAMG;AACH,MAAM,WAAW,MAAM,CAAC,EAAE,SAAS,IAAI;IAEnC;;OAEG;IACH,YAAY,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAEnC;;OAEG;IACH,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAA;IAGxD;;;OAGG;IACH,sBAAsB,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,KAAK,kBAAkB,GAAG,IAAI,CAAA;IAElG;;;OAGG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAA;CAE1C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,EAAE,SAAS,IAAI,CAAE,SAAQ,MAAM,CAAC,EAAE,CAAC;CAAG"}
1
+ {"version":3,"file":"reading.d.ts","sourceRoot":"","sources":["../src/reading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC/F,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAGjC;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,UAAU,CAAA;AAEzE;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,KAAK,MAAM,GAAG,SAAS,CAAA;AAExG;;;;;;;;GAQG;AACH,MAAM,WAAW,MAAM,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,EAAE;IAEzD;;OAEG;IACH,YAAY,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAEnC;;OAEG;IACH,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAA;IAGxD;;;OAGG;IACH,sBAAsB,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,KAAK,kBAAkB,GAAG,IAAI,CAAA;IAElG;;;OAGG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAA;CAE1C;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,CAAE,SAAQ,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;CAAG"}