@matter/model 0.16.0-alpha.0-20251018-dd1ea6a8a → 0.16.0-alpha.0-20251020-3f6e46245

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 (265) hide show
  1. package/dist/cjs/common/Metatype.d.ts +1 -1
  2. package/dist/cjs/decoration/decorators/attribute.d.ts +11 -0
  3. package/dist/cjs/decoration/decorators/attribute.d.ts.map +1 -0
  4. package/dist/cjs/decoration/decorators/attribute.js +32 -0
  5. package/dist/cjs/decoration/decorators/attribute.js.map +6 -0
  6. package/dist/cjs/decoration/decorators/cluster.d.ts +11 -0
  7. package/dist/cjs/decoration/decorators/cluster.d.ts.map +1 -0
  8. package/dist/cjs/decoration/decorators/cluster.js +32 -0
  9. package/dist/cjs/decoration/decorators/cluster.js.map +6 -0
  10. package/dist/cjs/decoration/decorators/command.d.ts +12 -0
  11. package/dist/cjs/decoration/decorators/command.d.ts.map +1 -0
  12. package/dist/cjs/decoration/decorators/command.js +34 -0
  13. package/dist/cjs/decoration/decorators/command.js.map +6 -0
  14. package/dist/cjs/decoration/decorators/datatype.d.ts +11 -0
  15. package/dist/cjs/decoration/decorators/datatype.d.ts.map +1 -0
  16. package/dist/cjs/decoration/decorators/datatype.js +32 -0
  17. package/dist/cjs/decoration/decorators/datatype.js.map +6 -0
  18. package/dist/cjs/decoration/decorators/element.d.ts +40 -0
  19. package/dist/cjs/decoration/decorators/element.d.ts.map +1 -0
  20. package/dist/cjs/decoration/decorators/element.js +101 -0
  21. package/dist/cjs/decoration/decorators/element.js.map +6 -0
  22. package/dist/cjs/decoration/decorators/event.d.ts +14 -0
  23. package/dist/cjs/decoration/decorators/event.d.ts.map +1 -0
  24. package/dist/cjs/decoration/decorators/event.js +32 -0
  25. package/dist/cjs/decoration/decorators/event.js.map +6 -0
  26. package/dist/cjs/decoration/decorators/field.d.ts +14 -0
  27. package/dist/cjs/decoration/decorators/field.d.ts.map +1 -0
  28. package/dist/cjs/decoration/decorators/field.js +32 -0
  29. package/dist/cjs/decoration/decorators/field.js.map +6 -0
  30. package/dist/cjs/decoration/decorators/index.d.ts +16 -0
  31. package/dist/cjs/decoration/decorators/index.d.ts.map +1 -0
  32. package/dist/cjs/decoration/decorators/index.js +33 -0
  33. package/dist/cjs/decoration/decorators/index.js.map +6 -0
  34. package/dist/cjs/decoration/decorators/listOf.d.ts +12 -0
  35. package/dist/cjs/decoration/decorators/listOf.d.ts.map +1 -0
  36. package/dist/cjs/decoration/decorators/listOf.js +47 -0
  37. package/dist/cjs/decoration/decorators/listOf.js.map +6 -0
  38. package/dist/cjs/decoration/decorators/mandatory.d.ts +11 -0
  39. package/dist/cjs/decoration/decorators/mandatory.d.ts.map +1 -0
  40. package/dist/cjs/decoration/decorators/mandatory.js +41 -0
  41. package/dist/cjs/decoration/decorators/mandatory.js.map +6 -0
  42. package/dist/cjs/decoration/decorators/nonvolatile.d.ts +11 -0
  43. package/dist/cjs/decoration/decorators/nonvolatile.d.ts.map +1 -0
  44. package/dist/cjs/decoration/decorators/nonvolatile.js +41 -0
  45. package/dist/cjs/decoration/decorators/nonvolatile.js.map +6 -0
  46. package/dist/cjs/decoration/decorators/nullable.d.ts +11 -0
  47. package/dist/cjs/decoration/decorators/nullable.d.ts.map +1 -0
  48. package/dist/cjs/decoration/decorators/nullable.js +41 -0
  49. package/dist/cjs/decoration/decorators/nullable.js.map +6 -0
  50. package/dist/cjs/decoration/decorators/response.d.ts +12 -0
  51. package/dist/cjs/decoration/decorators/response.d.ts.map +1 -0
  52. package/dist/cjs/decoration/decorators/response.js +49 -0
  53. package/dist/cjs/decoration/decorators/response.js.map +6 -0
  54. package/dist/cjs/decoration/errors.d.ts +29 -0
  55. package/dist/cjs/decoration/errors.d.ts.map +1 -0
  56. package/dist/cjs/decoration/errors.js +44 -0
  57. package/dist/cjs/decoration/errors.js.map +6 -0
  58. package/dist/cjs/decoration/index.d.ts +9 -0
  59. package/dist/cjs/decoration/index.d.ts.map +1 -0
  60. package/dist/cjs/decoration/index.js +26 -0
  61. package/dist/cjs/decoration/index.js.map +6 -0
  62. package/dist/cjs/decoration/semantics/ClassSemantics.d.ts +84 -0
  63. package/dist/cjs/decoration/semantics/ClassSemantics.d.ts.map +1 -0
  64. package/dist/cjs/decoration/semantics/ClassSemantics.js +266 -0
  65. package/dist/cjs/decoration/semantics/ClassSemantics.js.map +6 -0
  66. package/dist/cjs/decoration/semantics/FieldSemantics.d.ts +21 -0
  67. package/dist/cjs/decoration/semantics/FieldSemantics.d.ts.map +1 -0
  68. package/dist/cjs/decoration/semantics/FieldSemantics.js +57 -0
  69. package/dist/cjs/decoration/semantics/FieldSemantics.js.map +6 -0
  70. package/dist/cjs/decoration/semantics/Semantics.d.ts +68 -0
  71. package/dist/cjs/decoration/semantics/Semantics.d.ts.map +1 -0
  72. package/dist/cjs/decoration/semantics/Semantics.js +156 -0
  73. package/dist/cjs/decoration/semantics/Semantics.js.map +6 -0
  74. package/dist/cjs/decoration/semantics/index.d.ts +9 -0
  75. package/dist/cjs/decoration/semantics/index.d.ts.map +1 -0
  76. package/dist/cjs/decoration/semantics/index.js +26 -0
  77. package/dist/cjs/decoration/semantics/index.js.map +6 -0
  78. package/dist/cjs/index.d.ts +1 -0
  79. package/dist/cjs/index.d.ts.map +1 -1
  80. package/dist/cjs/index.js +1 -0
  81. package/dist/cjs/index.js.map +1 -1
  82. package/dist/cjs/models/AttributeModel.d.ts +1 -0
  83. package/dist/cjs/models/AttributeModel.d.ts.map +1 -1
  84. package/dist/cjs/models/AttributeModel.js +1 -0
  85. package/dist/cjs/models/AttributeModel.js.map +1 -1
  86. package/dist/cjs/models/Children.js +3 -3
  87. package/dist/cjs/models/Children.js.map +1 -1
  88. package/dist/cjs/models/CommandModel.d.ts +1 -0
  89. package/dist/cjs/models/CommandModel.d.ts.map +1 -1
  90. package/dist/cjs/models/CommandModel.js +1 -0
  91. package/dist/cjs/models/CommandModel.js.map +1 -1
  92. package/dist/cjs/models/EventModel.d.ts +1 -0
  93. package/dist/cjs/models/EventModel.d.ts.map +1 -1
  94. package/dist/cjs/models/EventModel.js +1 -0
  95. package/dist/cjs/models/EventModel.js.map +1 -1
  96. package/dist/cjs/models/Globals.d.ts +1 -1
  97. package/dist/cjs/models/Model.d.ts +12 -3
  98. package/dist/cjs/models/Model.d.ts.map +1 -1
  99. package/dist/cjs/models/Model.js +16 -10
  100. package/dist/cjs/models/Model.js.map +1 -1
  101. package/dist/cjs/models/Schema.d.ts +14 -0
  102. package/dist/cjs/models/Schema.d.ts.map +1 -1
  103. package/dist/cjs/models/Schema.js +29 -1
  104. package/dist/cjs/models/Schema.js.map +1 -1
  105. package/dist/cjs/models/ScopeModel.d.ts +1 -1
  106. package/dist/cjs/models/ScopeModel.d.ts.map +1 -1
  107. package/dist/cjs/models/ScopeModel.js +2 -2
  108. package/dist/cjs/models/ScopeModel.js.map +1 -1
  109. package/dist/cjs/standard/elements/definitions.d.ts +1 -1
  110. package/dist/cjs/standard/elements/definitions.js +1 -1
  111. package/dist/cjs/standard/elements/{interval.element.d.ts → duration.element.d.ts} +1 -1
  112. package/dist/cjs/standard/elements/duration.element.d.ts.map +1 -0
  113. package/dist/cjs/standard/elements/{interval.element.js → duration.element.js} +4 -4
  114. package/dist/cjs/standard/elements/{interval.element.js.map → duration.element.js.map} +1 -1
  115. package/dist/cjs/standard/elements/models.d.ts +1 -1
  116. package/dist/cjs/standard/elements/models.js +2 -2
  117. package/dist/esm/common/Metatype.d.ts +1 -1
  118. package/dist/esm/decoration/decorators/attribute.d.ts +11 -0
  119. package/dist/esm/decoration/decorators/attribute.d.ts.map +1 -0
  120. package/dist/esm/decoration/decorators/attribute.js +12 -0
  121. package/dist/esm/decoration/decorators/attribute.js.map +6 -0
  122. package/dist/esm/decoration/decorators/cluster.d.ts +11 -0
  123. package/dist/esm/decoration/decorators/cluster.d.ts.map +1 -0
  124. package/dist/esm/decoration/decorators/cluster.js +12 -0
  125. package/dist/esm/decoration/decorators/cluster.js.map +6 -0
  126. package/dist/esm/decoration/decorators/command.d.ts +12 -0
  127. package/dist/esm/decoration/decorators/command.d.ts.map +1 -0
  128. package/dist/esm/decoration/decorators/command.js +14 -0
  129. package/dist/esm/decoration/decorators/command.js.map +6 -0
  130. package/dist/esm/decoration/decorators/datatype.d.ts +11 -0
  131. package/dist/esm/decoration/decorators/datatype.d.ts.map +1 -0
  132. package/dist/esm/decoration/decorators/datatype.js +12 -0
  133. package/dist/esm/decoration/decorators/datatype.js.map +6 -0
  134. package/dist/esm/decoration/decorators/element.d.ts +40 -0
  135. package/dist/esm/decoration/decorators/element.d.ts.map +1 -0
  136. package/dist/esm/decoration/decorators/element.js +81 -0
  137. package/dist/esm/decoration/decorators/element.js.map +6 -0
  138. package/dist/esm/decoration/decorators/event.d.ts +14 -0
  139. package/dist/esm/decoration/decorators/event.d.ts.map +1 -0
  140. package/dist/esm/decoration/decorators/event.js +12 -0
  141. package/dist/esm/decoration/decorators/event.js.map +6 -0
  142. package/dist/esm/decoration/decorators/field.d.ts +14 -0
  143. package/dist/esm/decoration/decorators/field.d.ts.map +1 -0
  144. package/dist/esm/decoration/decorators/field.js +12 -0
  145. package/dist/esm/decoration/decorators/field.js.map +6 -0
  146. package/dist/esm/decoration/decorators/index.d.ts +16 -0
  147. package/dist/esm/decoration/decorators/index.d.ts.map +1 -0
  148. package/dist/esm/decoration/decorators/index.js +16 -0
  149. package/dist/esm/decoration/decorators/index.js.map +6 -0
  150. package/dist/esm/decoration/decorators/listOf.d.ts +12 -0
  151. package/dist/esm/decoration/decorators/listOf.d.ts.map +1 -0
  152. package/dist/esm/decoration/decorators/listOf.js +27 -0
  153. package/dist/esm/decoration/decorators/listOf.js.map +6 -0
  154. package/dist/esm/decoration/decorators/mandatory.d.ts +11 -0
  155. package/dist/esm/decoration/decorators/mandatory.d.ts.map +1 -0
  156. package/dist/esm/decoration/decorators/mandatory.js +21 -0
  157. package/dist/esm/decoration/decorators/mandatory.js.map +6 -0
  158. package/dist/esm/decoration/decorators/nonvolatile.d.ts +11 -0
  159. package/dist/esm/decoration/decorators/nonvolatile.d.ts.map +1 -0
  160. package/dist/esm/decoration/decorators/nonvolatile.js +21 -0
  161. package/dist/esm/decoration/decorators/nonvolatile.js.map +6 -0
  162. package/dist/esm/decoration/decorators/nullable.d.ts +11 -0
  163. package/dist/esm/decoration/decorators/nullable.d.ts.map +1 -0
  164. package/dist/esm/decoration/decorators/nullable.js +21 -0
  165. package/dist/esm/decoration/decorators/nullable.js.map +6 -0
  166. package/dist/esm/decoration/decorators/response.d.ts +12 -0
  167. package/dist/esm/decoration/decorators/response.d.ts.map +1 -0
  168. package/dist/esm/decoration/decorators/response.js +29 -0
  169. package/dist/esm/decoration/decorators/response.js.map +6 -0
  170. package/dist/esm/decoration/errors.d.ts +29 -0
  171. package/dist/esm/decoration/errors.d.ts.map +1 -0
  172. package/dist/esm/decoration/errors.js +24 -0
  173. package/dist/esm/decoration/errors.js.map +6 -0
  174. package/dist/esm/decoration/index.d.ts +9 -0
  175. package/dist/esm/decoration/index.d.ts.map +1 -0
  176. package/dist/esm/decoration/index.js +9 -0
  177. package/dist/esm/decoration/index.js.map +6 -0
  178. package/dist/esm/decoration/semantics/ClassSemantics.d.ts +84 -0
  179. package/dist/esm/decoration/semantics/ClassSemantics.d.ts.map +1 -0
  180. package/dist/esm/decoration/semantics/ClassSemantics.js +246 -0
  181. package/dist/esm/decoration/semantics/ClassSemantics.js.map +6 -0
  182. package/dist/esm/decoration/semantics/FieldSemantics.d.ts +21 -0
  183. package/dist/esm/decoration/semantics/FieldSemantics.d.ts.map +1 -0
  184. package/dist/esm/decoration/semantics/FieldSemantics.js +37 -0
  185. package/dist/esm/decoration/semantics/FieldSemantics.js.map +6 -0
  186. package/dist/esm/decoration/semantics/Semantics.d.ts +68 -0
  187. package/dist/esm/decoration/semantics/Semantics.d.ts.map +1 -0
  188. package/dist/esm/decoration/semantics/Semantics.js +126 -0
  189. package/dist/esm/decoration/semantics/Semantics.js.map +6 -0
  190. package/dist/esm/decoration/semantics/index.d.ts +9 -0
  191. package/dist/esm/decoration/semantics/index.d.ts.map +1 -0
  192. package/dist/esm/decoration/semantics/index.js +9 -0
  193. package/dist/esm/decoration/semantics/index.js.map +6 -0
  194. package/dist/esm/index.d.ts +1 -0
  195. package/dist/esm/index.d.ts.map +1 -1
  196. package/dist/esm/index.js +1 -0
  197. package/dist/esm/index.js.map +1 -1
  198. package/dist/esm/models/AttributeModel.d.ts +1 -0
  199. package/dist/esm/models/AttributeModel.d.ts.map +1 -1
  200. package/dist/esm/models/AttributeModel.js +1 -0
  201. package/dist/esm/models/AttributeModel.js.map +1 -1
  202. package/dist/esm/models/Children.js +3 -3
  203. package/dist/esm/models/Children.js.map +1 -1
  204. package/dist/esm/models/CommandModel.d.ts +1 -0
  205. package/dist/esm/models/CommandModel.d.ts.map +1 -1
  206. package/dist/esm/models/CommandModel.js +1 -0
  207. package/dist/esm/models/CommandModel.js.map +1 -1
  208. package/dist/esm/models/EventModel.d.ts +1 -0
  209. package/dist/esm/models/EventModel.d.ts.map +1 -1
  210. package/dist/esm/models/EventModel.js +1 -0
  211. package/dist/esm/models/EventModel.js.map +1 -1
  212. package/dist/esm/models/Globals.d.ts +1 -1
  213. package/dist/esm/models/Model.d.ts +12 -3
  214. package/dist/esm/models/Model.d.ts.map +1 -1
  215. package/dist/esm/models/Model.js +16 -10
  216. package/dist/esm/models/Model.js.map +1 -1
  217. package/dist/esm/models/Schema.d.ts +14 -0
  218. package/dist/esm/models/Schema.d.ts.map +1 -1
  219. package/dist/esm/models/Schema.js +29 -1
  220. package/dist/esm/models/Schema.js.map +1 -1
  221. package/dist/esm/models/ScopeModel.d.ts +1 -1
  222. package/dist/esm/models/ScopeModel.d.ts.map +1 -1
  223. package/dist/esm/models/ScopeModel.js +2 -2
  224. package/dist/esm/models/ScopeModel.js.map +1 -1
  225. package/dist/esm/standard/elements/definitions.d.ts +1 -1
  226. package/dist/esm/standard/elements/definitions.js +1 -1
  227. package/dist/esm/standard/elements/{interval.element.d.ts → duration.element.d.ts} +1 -1
  228. package/dist/esm/standard/elements/duration.element.d.ts.map +1 -0
  229. package/dist/esm/standard/elements/{interval.element.js → duration.element.js} +1 -1
  230. package/dist/esm/standard/elements/{interval.element.js.map → duration.element.js.map} +1 -1
  231. package/dist/esm/standard/elements/models.d.ts +1 -1
  232. package/dist/esm/standard/elements/models.js +2 -2
  233. package/package.json +4 -4
  234. package/src/decoration/decorators/attribute.ts +13 -0
  235. package/src/decoration/decorators/cluster.ts +13 -0
  236. package/src/decoration/decorators/command.ts +16 -0
  237. package/src/decoration/decorators/datatype.ts +13 -0
  238. package/src/decoration/decorators/element.ts +128 -0
  239. package/src/decoration/decorators/event.ts +16 -0
  240. package/src/decoration/decorators/field.ts +16 -0
  241. package/src/decoration/decorators/index.ts +16 -0
  242. package/src/decoration/decorators/listOf.ts +30 -0
  243. package/src/decoration/decorators/mandatory.ts +22 -0
  244. package/src/decoration/decorators/nonvolatile.ts +22 -0
  245. package/src/decoration/decorators/nullable.ts +22 -0
  246. package/src/decoration/decorators/response.ts +34 -0
  247. package/src/decoration/errors.ts +29 -0
  248. package/src/decoration/index.ts +9 -0
  249. package/src/decoration/semantics/ClassSemantics.ts +374 -0
  250. package/src/decoration/semantics/FieldSemantics.ts +49 -0
  251. package/src/decoration/semantics/Semantics.ts +170 -0
  252. package/src/decoration/semantics/index.ts +9 -0
  253. package/src/index.ts +1 -0
  254. package/src/models/AttributeModel.ts +1 -0
  255. package/src/models/Children.ts +3 -3
  256. package/src/models/CommandModel.ts +1 -0
  257. package/src/models/EventModel.ts +1 -0
  258. package/src/models/Model.ts +34 -12
  259. package/src/models/Schema.ts +51 -0
  260. package/src/models/ScopeModel.ts +2 -2
  261. package/src/standard/elements/definitions.ts +1 -1
  262. package/src/standard/elements/models.ts +1 -1
  263. package/dist/cjs/standard/elements/interval.element.d.ts.map +0 -1
  264. package/dist/esm/standard/elements/interval.element.d.ts.map +0 -1
  265. /package/src/standard/elements/{interval.element.ts → duration.element.ts} +0 -0
@@ -0,0 +1,68 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { Model } from "#models/Model.js";
7
+ import type { ClassSemantics } from "./ClassSemantics.js";
8
+ /**
9
+ * Base class for Matter semantics associated with JavaScript classes and properties.
10
+ *
11
+ * We model semantics using {@link Model}. The model may be built declaratively with decorators or programmatically
12
+ * using this interface directly.
13
+ */
14
+ export declare abstract class Semantics {
15
+ #private;
16
+ /**
17
+ * Determine whether these semantics are final.
18
+ *
19
+ * Once final no further mutation is allowed.
20
+ */
21
+ get isFinal(): boolean;
22
+ /**
23
+ * Finalize the model.
24
+ */
25
+ finalize(): void;
26
+ /**
27
+ * The {@link Model} defined by local decoration, if any.
28
+ */
29
+ get localModel(): Model<import("../../index.js").BaseElement, Model<import("../../index.js").BaseElement, any>> | undefined;
30
+ /**
31
+ * Set the model.
32
+ *
33
+ * When "setting" the model we need to merge semantics coming from decorators, the prototype hierarchy, and models
34
+ * provided programmatically.
35
+ *
36
+ * This may set the local model, change it or set its operational base. We use local state and the finalization
37
+ * status of the model to determine how to integrate.
38
+ */
39
+ set mutableModel(model: Model);
40
+ /**
41
+ * Replace the "base" of {@link localModel} and return an updated model.
42
+ */
43
+ protected abstract integrateModel(model: Model): Model;
44
+ /**
45
+ * Obtain a model unconditionally for mutation purposes.
46
+ */
47
+ get mutableModel(): Model;
48
+ /**
49
+ * The model's {@link Model.Type}.
50
+ *
51
+ * Field decorators operate prior to class decorators, so we may need to transition the model to a new type when the
52
+ * class is decorated. This is slightly lossy so type-specific decoration should always occur after assigning kind.
53
+ */
54
+ get modelType(): Model.Type | undefined;
55
+ set modelType(type: Model.ConcreteType);
56
+ protected abstract createModel(type?: Model.ConcreteType): Model;
57
+ }
58
+ export declare namespace Semantics {
59
+ /**
60
+ * Access the {@link Semantics} of a {@link DecoratorContext}.
61
+ */
62
+ function of(context: DecoratorContext): import("./FieldSemantics.js").FieldSemantics | ClassSemantics;
63
+ /**
64
+ * Access the {@link ClassSemantics} of a constructor or decorator context.
65
+ */
66
+ let classOf: (_source: ClassSemantics.Source) => ClassSemantics;
67
+ }
68
+ //# sourceMappingURL=Semantics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Semantics.d.ts","sourceRoot":"","sources":["../../../../src/decoration/semantics/Semantics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D;;;;;GAKG;AACH,8BAAsB,SAAS;;IAI3B;;;;OAIG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,QAAQ;IAUR;;OAEG;IACH,IAAI,UAAU,8GAEb;IAED;;;;;;;;OAQG;IACH,IAAI,YAAY,CAAC,KAAK,EAAE,KAAK,EAgB5B;IAED;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;IAEtD;;OAEG;IACH,IAAI,YAAY,IA1BQ,KAAK,CAqC5B;IAED;;;;;OAKG;IACH,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,GAAG,SAAS,CAKtC;IAED,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,EA8BrC;IAED,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK;CACnE;AAED,yBAAiB,SAAS,CAAC;IACvB;;OAEG;IACH,SAAgB,EAAE,CAAC,OAAO,EAAE,gBAAgB,iEAM3C;IAED;;OAEG;IAEI,IAAI,OAAO,GAAI,SAAS,cAAc,CAAC,MAAM,KAAG,cAGtD,CAAC;CACL"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { MetadataConflictError } from "#decoration/errors.js";
7
+ import { InternalError } from "#general";
8
+ import * as models from "#standard/elements/models.js";
9
+ const standardModels = new Set(Object.values(models));
10
+ class Semantics {
11
+ #localModel;
12
+ #isFinal = false;
13
+ /**
14
+ * Determine whether these semantics are final.
15
+ *
16
+ * Once final no further mutation is allowed.
17
+ */
18
+ get isFinal() {
19
+ return this.#isFinal;
20
+ }
21
+ /**
22
+ * Finalize the model.
23
+ */
24
+ finalize() {
25
+ if (this.#isFinal) {
26
+ return;
27
+ }
28
+ this.#isFinal = true;
29
+ Object.freeze(this);
30
+ this.#localModel?.finalize();
31
+ }
32
+ /**
33
+ * The {@link Model} defined by local decoration, if any.
34
+ */
35
+ get localModel() {
36
+ return this.#localModel;
37
+ }
38
+ /**
39
+ * Set the model.
40
+ *
41
+ * When "setting" the model we need to merge semantics coming from decorators, the prototype hierarchy, and models
42
+ * provided programmatically.
43
+ *
44
+ * This may set the local model, change it or set its operational base. We use local state and the finalization
45
+ * status of the model to determine how to integrate.
46
+ */
47
+ set mutableModel(model) {
48
+ if (this.#isFinal) {
49
+ throw new MetadataConflictError(`Cannot modify final semantics of ${this.#localModel?.name ?? "(none)"}`);
50
+ }
51
+ if (this.#localModel === model) {
52
+ return;
53
+ }
54
+ if (standardModels.has(model)) {
55
+ model.finalize();
56
+ }
57
+ this.#localModel = this.integrateModel(model);
58
+ }
59
+ /**
60
+ * Obtain a model unconditionally for mutation purposes.
61
+ */
62
+ get mutableModel() {
63
+ if (this.#isFinal) {
64
+ throw new MetadataConflictError(`Cannot modify final semantics of ${this.#localModel?.name ?? "(none)"}`);
65
+ }
66
+ if (this.#localModel === void 0) {
67
+ this.#localModel = this.createModel();
68
+ } else if (this.#localModel.isFinal) {
69
+ this.#localModel = this.#localModel.extend();
70
+ }
71
+ return this.#localModel;
72
+ }
73
+ /**
74
+ * The model's {@link Model.Type}.
75
+ *
76
+ * Field decorators operate prior to class decorators, so we may need to transition the model to a new type when the
77
+ * class is decorated. This is slightly lossy so type-specific decoration should always occur after assigning kind.
78
+ */
79
+ get modelType() {
80
+ if (this.#localModel === void 0) {
81
+ return;
82
+ }
83
+ return this.mutableModel.constructor;
84
+ }
85
+ set modelType(type) {
86
+ if (this.#localModel === void 0) {
87
+ this.#localModel = this.createModel(type);
88
+ return;
89
+ }
90
+ if (this.#localModel instanceof type) {
91
+ return;
92
+ }
93
+ const original = this.#localModel;
94
+ const { parent } = original;
95
+ original.parent = void 0;
96
+ const replacement = new type({
97
+ name: original.name,
98
+ id: original.id,
99
+ type: original.type,
100
+ parent,
101
+ operationalBase: original.operationalBase,
102
+ children: original.children
103
+ });
104
+ if ("quality" in original && "quality" in replacement) {
105
+ replacement.quality = original.quality;
106
+ }
107
+ this.#localModel = replacement;
108
+ }
109
+ }
110
+ ((Semantics2) => {
111
+ function of(context) {
112
+ const classSemantics = (0, Semantics2.classOf)(context);
113
+ if (context.kind === "class") {
114
+ return classSemantics;
115
+ }
116
+ return classSemantics.fieldFor(context.name);
117
+ }
118
+ Semantics2.of = of;
119
+ Semantics2.classOf = (_source) => {
120
+ throw new InternalError(`Class decoration lookup not installed`);
121
+ };
122
+ })(Semantics || (Semantics = {}));
123
+ export {
124
+ Semantics
125
+ };
126
+ //# sourceMappingURL=Semantics.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/decoration/semantics/Semantics.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,6BAA6B;AACtC,SAAS,qBAAqB;AAE9B,YAAY,YAAY;AAGxB,MAAM,iBAAiB,IAAI,IAAI,OAAO,OAAO,MAAM,CAAY;AAQxD,MAAe,UAAU;AAAA,EAC5B;AAAA,EACA,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOX,IAAI,UAAmB;AACnB,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW;AACP,QAAI,KAAK,UAAU;AACf;AAAA,IACJ;AAEA,SAAK,WAAW;AAChB,WAAO,OAAO,IAAI;AAClB,SAAK,aAAa,SAAS;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,aAAa;AACb,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,IAAI,aAAa,OAAc;AAC3B,QAAI,KAAK,UAAU;AACf,YAAM,IAAI,sBAAsB,oCAAoC,KAAK,aAAa,QAAQ,QAAQ,EAAE;AAAA,IAC5G;AAEA,QAAI,KAAK,gBAAgB,OAAO;AAC5B;AAAA,IACJ;AAIA,QAAI,eAAe,IAAI,KAAK,GAAG;AAC3B,YAAM,SAAS;AAAA,IACnB;AAEA,SAAK,cAAc,KAAK,eAAe,KAAK;AAAA,EAChD;AAAA;AAAA;AAAA;AAAA,EAUA,IAAI,eAAe;AACf,QAAI,KAAK,UAAU;AACf,YAAM,IAAI,sBAAsB,oCAAoC,KAAK,aAAa,QAAQ,QAAQ,EAAE;AAAA,IAC5G;AAEA,QAAI,KAAK,gBAAgB,QAAW;AAChC,WAAK,cAAc,KAAK,YAAY;AAAA,IACxC,WAAW,KAAK,YAAY,SAAS;AACjC,WAAK,cAAc,KAAK,YAAY,OAAO;AAAA,IAC/C;AACA,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,IAAI,YAAoC;AACpC,QAAI,KAAK,gBAAgB,QAAW;AAChC;AAAA,IACJ;AACA,WAAO,KAAK,aAAa;AAAA,EAC7B;AAAA,EAEA,IAAI,UAAU,MAA0B;AACpC,QAAI,KAAK,gBAAgB,QAAW;AAChC,WAAK,cAAc,KAAK,YAAY,IAAI;AACxC;AAAA,IACJ;AAEA,QAAI,KAAK,uBAAuB,MAAM;AAClC;AAAA,IACJ;AAGA,UAAM,WAAW,KAAK;AACtB,UAAM,EAAE,OAAO,IAAI;AACnB,aAAS,SAAS;AAGlB,UAAM,cAAc,IAAI,KAAK;AAAA,MACzB,MAAM,SAAS;AAAA,MACf,IAAI,SAAS;AAAA,MACb,MAAM,SAAS;AAAA,MACf;AAAA,MACA,iBAAiB,SAAS;AAAA,MAC1B,UAAU,SAAS;AAAA,IACvB,CAAC;AAED,QAAI,aAAa,YAAY,aAAa,aAAa;AACnD,kBAAY,UAAU,SAAS;AAAA,IACnC;AAEA,SAAK,cAAc;AAAA,EACvB;AAGJ;AAAA,CAEO,CAAUA,eAAV;AAII,WAAS,GAAG,SAA2B;AAC1C,UAAM,qBAAiBA,WAAA,SAAQ,OAAO;AACtC,QAAI,QAAQ,SAAS,SAAS;AAC1B,aAAO;AAAA,IACX;AACA,WAAO,eAAe,SAAS,QAAQ,IAAI;AAAA,EAC/C;AANO,EAAAA,WAAS;AAYT,EAAIA,WAAA,UAAU,CAAC,YAAmD;AAErE,UAAM,IAAI,cAAc,uCAAuC;AAAA,EACnE;AAAA,GAnBa;",
5
+ "names": ["Semantics"]
6
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export * from "./ClassSemantics.js";
7
+ export * from "./FieldSemantics.js";
8
+ export * from "./Semantics.js";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/decoration/semantics/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export * from "./ClassSemantics.js";
7
+ export * from "./FieldSemantics.js";
8
+ export * from "./Semantics.js";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/decoration/semantics/index.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;",
5
+ "names": []
6
+ }
@@ -5,6 +5,7 @@
5
5
  */
6
6
  export * from "./aspects/index.js";
7
7
  export * from "./common/index.js";
8
+ export * from "./decoration/index.js";
8
9
  export * from "./elements/index.js";
9
10
  export * from "./logic/index.js";
10
11
  export * from "./Matter.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC"}
package/dist/esm/index.js CHANGED
@@ -5,6 +5,7 @@
5
5
  */
6
6
  export * from "./aspects/index.js";
7
7
  export * from "./common/index.js";
8
+ export * from "./decoration/index.js";
8
9
  export * from "./elements/index.js";
9
10
  export * from "./logic/index.js";
10
11
  export * from "./Matter.js";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
5
5
  "names": []
6
6
  }
@@ -39,5 +39,6 @@ export declare class AttributeModel extends PropertyModel<AttributeElement> impl
39
39
  static isGlobal(model: Model): boolean;
40
40
  static get globalIds(): Set<number>;
41
41
  static Tag: import("../index.js").ElementTag;
42
+ static requiresId: boolean;
42
43
  }
43
44
  //# sourceMappingURL=AttributeModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeModel.d.ts","sourceRoot":"","sources":["../../../src/models/AttributeModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,eAAO,MAAM,UAAU,aAA4D,CAAC;AAEpF,qBAAa,cAAe,SAAQ,aAAa,CAAC,gBAAgB,CAAE,YAAW,gBAAgB;IAClF,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAwB;IAE1D,IAAI,QAAQ,YAEX;IAED,IAAI,QAAQ,YAEX;IAED,IAAI,YAAY,YAEf;IAED,IAAI,KAAK,YAER;IAED,IAAI,cAAc,wBAEjB;IAED,IAAa,cAAc;;;;;;;;;;;;;;;;;;;;MAE1B;gBAEW,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE;IAI9G,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK;IAI5B,MAAM,KAAK,SAAS,gBAEnB;IAED,MAAM,CAAC,GAAG,mCAAwB;CACrC"}
1
+ {"version":3,"file":"AttributeModel.d.ts","sourceRoot":"","sources":["../../../src/models/AttributeModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,eAAO,MAAM,UAAU,aAA4D,CAAC;AAEpF,qBAAa,cAAe,SAAQ,aAAa,CAAC,gBAAgB,CAAE,YAAW,gBAAgB;IAClF,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAwB;IAE1D,IAAI,QAAQ,YAEX;IAED,IAAI,QAAQ,YAEX;IAED,IAAI,YAAY,YAEf;IAED,IAAI,KAAK,YAER;IAED,IAAI,cAAc,wBAEjB;IAED,IAAa,cAAc;;;;;;;;;;;;;;;;;;;;MAE1B;gBAEW,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE;IAI9G,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK;IAI5B,MAAM,KAAK,SAAS,gBAEnB;IAED,MAAM,CAAC,GAAG,mCAAwB;IAClC,MAAM,CAAC,UAAU,UAAQ;CAC5B"}
@@ -36,6 +36,7 @@ class AttributeModel extends PropertyModel {
36
36
  return GLOBAL_IDS;
37
37
  }
38
38
  static Tag = AttributeElement.Tag;
39
+ static requiresId = true;
39
40
  }
40
41
  AttributeModel.register();
41
42
  export {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/models/AttributeModel.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,wBAAwB;AAEjC,SAAS,qBAAqB;AAGvB,MAAM,aAAa,oBAAI,IAAI,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,KAAM,CAAC;AAE3E,MAAM,uBAAuB,cAA4D;AAAA,EACnF,MAA4B,iBAAiB;AAAA,EAEtD,IAAI,WAAW;AACX,WAAO,KAAK,gBAAgB;AAAA,EAChC;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,CAAC,KAAK,SAAS,KAAK,gBAAgB;AAAA,EAC/C;AAAA,EAEA,IAAI,eAAe;AACf,WAAO,CAAC,CAAC,KAAK,gBAAgB;AAAA,EAClC;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO,CAAC,CAAC,KAAK,iBAAiB;AAAA,EACnC;AAAA,EAEA,IAAI,iBAAiB;AACjB,WAAO,KAAK,iBAAiB;AAAA,EACjC;AAAA,EAEA,IAAa,iBAAiB;AAC1B,WAAO,EAAE,GAAG,MAAM,gBAAgB,IAAI,KAAK,GAAG;AAAA,EAClD;AAAA,EAEA,YAAY,eAAiD,UAAmD;AAC5G,UAAM,YAAY,GAAG,QAAQ;AAAA,EACjC;AAAA,EAEA,OAAO,SAAS,OAAc;AAC1B,WAAO,iBAAiB,kBAAkB,WAAW,IAAI,MAAM,EAAE;AAAA,EACrE;AAAA,EAEA,WAAW,YAAY;AACnB,WAAO;AAAA,EACX;AAAA,EAEA,OAAO,MAAM,iBAAiB;AAClC;AAEA,eAAe,SAAS;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,wBAAwB;AAEjC,SAAS,qBAAqB;AAGvB,MAAM,aAAa,oBAAI,IAAI,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,KAAM,CAAC;AAE3E,MAAM,uBAAuB,cAA4D;AAAA,EACnF,MAA4B,iBAAiB;AAAA,EAEtD,IAAI,WAAW;AACX,WAAO,KAAK,gBAAgB;AAAA,EAChC;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,CAAC,KAAK,SAAS,KAAK,gBAAgB;AAAA,EAC/C;AAAA,EAEA,IAAI,eAAe;AACf,WAAO,CAAC,CAAC,KAAK,gBAAgB;AAAA,EAClC;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO,CAAC,CAAC,KAAK,iBAAiB;AAAA,EACnC;AAAA,EAEA,IAAI,iBAAiB;AACjB,WAAO,KAAK,iBAAiB;AAAA,EACjC;AAAA,EAEA,IAAa,iBAAiB;AAC1B,WAAO,EAAE,GAAG,MAAM,gBAAgB,IAAI,KAAK,GAAG;AAAA,EAClD;AAAA,EAEA,YAAY,eAAiD,UAAmD;AAC5G,UAAM,YAAY,GAAG,QAAQ;AAAA,EACjC;AAAA,EAEA,OAAO,SAAS,OAAc;AAC1B,WAAO,iBAAiB,kBAAkB,WAAW,IAAI,MAAM,EAAE;AAAA,EACrE;AAAA,EAEA,WAAW,YAAY;AACnB,WAAO;AAAA,EACX;AAAA,EAEA,OAAO,MAAM,iBAAiB;AAAA,EAC9B,OAAO,aAAa;AACxB;AAEA,eAAe,SAAS;",
5
5
  "names": []
6
6
  }
@@ -322,9 +322,9 @@ function Children(initial, adopt, reroot, disown) {
322
322
  return child;
323
323
  });
324
324
  }
325
- function freeze() {
325
+ function finalize() {
326
326
  for (const child of self) {
327
- child.freeze();
327
+ child.finalize();
328
328
  }
329
329
  Object.freeze(children);
330
330
  }
@@ -373,7 +373,7 @@ function Children(initial, adopt, reroot, disown) {
373
373
  case "splice":
374
374
  return splice;
375
375
  case "freeze":
376
- return freeze;
376
+ return finalize;
377
377
  case "toString":
378
378
  return () => `[Children: ${children.length}]`;
379
379
  case "rerootAll":
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/models/Children.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -46,5 +46,6 @@ export declare class CommandModel extends ValueModel<CommandElement> implements
46
46
  constructor(definition: Model.Definition<CommandModel>, ...children: Model.ChildDefinition<CommandModel>[]);
47
47
  toElement(omitResources?: boolean, extra?: Record<string, unknown>): CommandElement;
48
48
  static Tag: import("../index.js").ElementTag;
49
+ static requiresId: boolean;
49
50
  }
50
51
  //# sourceMappingURL=CommandModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommandModel.d.ts","sourceRoot":"","sources":["../../../src/models/CommandModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,YAAa,SAAQ,UAAU,CAAC,cAAc,CAAE,YAAW,cAAc;IACzE,GAAG,EAAE,cAAc,CAAC,GAAG,CAAsB;IACtD,SAAS,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,IAAI,YAAY,YAEf;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,UAAU,YAEb;IAED,IAAI,aAAa,6BAEhB;IAED,IAAI,kBAAkB,yCAErB;IAED,IAAa,cAAc;;;;;;;;;;;;;;;;;;;;;;MAE1B;IAED;;;OAGG;IACH,IAAa,aAAa,6BAWzB;gBAEW,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE;IAOjG,SAAS,CAAC,aAAa,UAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQzE,MAAM,CAAC,GAAG,mCAAsB;CACnC"}
1
+ {"version":3,"file":"CommandModel.d.ts","sourceRoot":"","sources":["../../../src/models/CommandModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,YAAa,SAAQ,UAAU,CAAC,cAAc,CAAE,YAAW,cAAc;IACzE,GAAG,EAAE,cAAc,CAAC,GAAG,CAAsB;IACtD,SAAS,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,IAAI,YAAY,YAEf;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,UAAU,YAEb;IAED,IAAI,aAAa,6BAEhB;IAED,IAAI,kBAAkB,yCAErB;IAED,IAAa,cAAc;;;;;;;;;;;;;;;;;;;;;;MAE1B;IAED;;;OAGG;IACH,IAAa,aAAa,6BAWzB;gBAEW,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE;IAOjG,SAAS,CAAC,aAAa,UAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQzE,MAAM,CAAC,GAAG,mCAAsB;IAChC,MAAM,CAAC,UAAU,UAAQ;CAC5B"}
@@ -54,6 +54,7 @@ class CommandModel extends ValueModel {
54
54
  });
55
55
  }
56
56
  static Tag = CommandElement.Tag;
57
+ static requiresId = true;
57
58
  }
58
59
  CommandModel.register();
59
60
  export {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/models/CommandModel.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAE/B,SAAS,kBAAkB;AAEpB,MAAM,qBAAqB,WAAqD;AAAA,EAC1E,MAA0B,eAAe;AAAA,EAClD;AAAA,EACA;AAAA,EAEA,IAAI,eAAe;AACf,WAAO,CAAC,CAAC,KAAK,gBAAgB;AAAA,EAClC;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK,uBAAuB,eAAe,UAAU;AAAA,EAChE;AAAA,EAEA,IAAI,aAAa;AACb,WAAO,KAAK,uBAAuB,eAAe,UAAU;AAAA,EAChE;AAAA,EAEA,IAAI,gBAAgB;AAChB,WAAO,IAAI,eAAe,EAAE,aAAa,IAAI;AAAA,EACjD;AAAA,EAEA,IAAI,qBAAqB;AACrB,WAAO,KAAK,aAAc,KAAK,MAAmC;AAAA,EACtE;AAAA,EAEA,IAAa,iBAAiB;AAC1B,WAAO,EAAE,GAAG,MAAM,gBAAgB,IAAI,KAAK,GAAG;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAa,gBAAgB;AAGzB,QAAI,KAAK,cAAc,QAAW;AAC9B,UAAI,KAAK,KAAK,SAAS,UAAU,GAAG;AAChC,eAAO,eAAe,UAAU;AAAA,MACpC;AACA,aAAO,eAAe,UAAU;AAAA,IACpC;AAEA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,YAAY,eAA+C,UAAiD;AACxG,UAAM,YAAY,GAAG,QAAQ;AAE7B,SAAK,YAAY,WAAW;AAC5B,SAAK,WAAW,WAAW;AAAA,EAC/B;AAAA,EAES,UAAU,gBAAgB,OAAO,OAAiC;AACvE,WAAO,MAAM,UAAU,eAAe;AAAA,MAClC,WAAW,KAAK;AAAA,MAChB,UAAU,KAAK;AAAA,MACf,GAAG;AAAA,IACP,CAAC;AAAA,EACL;AAAA,EAEA,OAAO,MAAM,eAAe;AAChC;AAEA,aAAa,SAAS;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAE/B,SAAS,kBAAkB;AAEpB,MAAM,qBAAqB,WAAqD;AAAA,EAC1E,MAA0B,eAAe;AAAA,EAClD;AAAA,EACA;AAAA,EAEA,IAAI,eAAe;AACf,WAAO,CAAC,CAAC,KAAK,gBAAgB;AAAA,EAClC;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK,uBAAuB,eAAe,UAAU;AAAA,EAChE;AAAA,EAEA,IAAI,aAAa;AACb,WAAO,KAAK,uBAAuB,eAAe,UAAU;AAAA,EAChE;AAAA,EAEA,IAAI,gBAAgB;AAChB,WAAO,IAAI,eAAe,EAAE,aAAa,IAAI;AAAA,EACjD;AAAA,EAEA,IAAI,qBAAqB;AACrB,WAAO,KAAK,aAAc,KAAK,MAAmC;AAAA,EACtE;AAAA,EAEA,IAAa,iBAAiB;AAC1B,WAAO,EAAE,GAAG,MAAM,gBAAgB,IAAI,KAAK,GAAG;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAa,gBAAgB;AAGzB,QAAI,KAAK,cAAc,QAAW;AAC9B,UAAI,KAAK,KAAK,SAAS,UAAU,GAAG;AAChC,eAAO,eAAe,UAAU;AAAA,MACpC;AACA,aAAO,eAAe,UAAU;AAAA,IACpC;AAEA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,YAAY,eAA+C,UAAiD;AACxG,UAAM,YAAY,GAAG,QAAQ;AAE7B,SAAK,YAAY,WAAW;AAC5B,SAAK,WAAW,WAAW;AAAA,EAC/B;AAAA,EAES,UAAU,gBAAgB,OAAO,OAAiC;AACvE,WAAO,MAAM,UAAU,eAAe;AAAA,MAClC,WAAW,KAAK;AAAA,MAChB,UAAU,KAAK;AAAA,MACf,GAAG;AAAA,IACP,CAAC;AAAA,EACL;AAAA,EAEA,OAAO,MAAM,eAAe;AAAA,EAC5B,OAAO,aAAa;AACxB;AAEA,aAAa,SAAS;",
5
5
  "names": []
6
6
  }
@@ -35,5 +35,6 @@ export declare class EventModel extends ValueModel<EventElement> implements Even
35
35
  default?: import("../index.js").FieldValue;
36
36
  };
37
37
  static Tag: import("../index.js").ElementTag;
38
+ static requiresId: boolean;
38
39
  }
39
40
  //# sourceMappingURL=EventModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventModel.d.ts","sourceRoot":"","sources":["../../../src/models/EventModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,UAAW,SAAQ,UAAU,CAAC,YAAY,CAAE,YAAW,YAAY;IACnE,GAAG,EAAE,YAAY,CAAC,GAAG,CAAoB;IAClD,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC;gBAErB,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE;IAM7F,SAAS,CAAC,aAAa,UAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOzE,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,IAAa,cAAc;;;;;;;;;;;;;;;;;;;;;MAE1B;IAED,MAAM,CAAC,GAAG,mCAAoB;CACjC"}
1
+ {"version":3,"file":"EventModel.d.ts","sourceRoot":"","sources":["../../../src/models/EventModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,UAAW,SAAQ,UAAU,CAAC,YAAY,CAAE,YAAW,YAAY;IACnE,GAAG,EAAE,YAAY,CAAC,GAAG,CAAoB;IAClD,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC;gBAErB,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE;IAM7F,SAAS,CAAC,aAAa,UAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOzE,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,IAAa,cAAc;;;;;;;;;;;;;;;;;;;;;MAE1B;IAED,MAAM,CAAC,GAAG,mCAAoB;IAC9B,MAAM,CAAC,UAAU,UAAQ;CAC5B"}
@@ -25,6 +25,7 @@ class EventModel extends ValueModel {
25
25
  return { ...super.requiredFields, id: this.id };
26
26
  }
27
27
  static Tag = EventElement.Tag;
28
+ static requiresId = true;
28
29
  }
29
30
  EventModel.register();
30
31
  export {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/models/EventModel.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,oBAAoB;AAE7B,SAAS,kBAAkB;AAEpB,MAAM,mBAAmB,WAAiD;AAAA,EACpE,MAAwB,aAAa;AAAA,EAC9C;AAAA,EAEA,YAAY,eAA6C,UAA+C;AACpG,UAAM,YAAY,GAAG,QAAQ;AAE7B,SAAK,WAAW,WAAW;AAAA,EAC/B;AAAA,EAES,UAAU,gBAAgB,OAAO,OAAiC;AACvE,WAAO,MAAM,UAAU,eAAe;AAAA,MAClC,UAAU,KAAK;AAAA,MACf,GAAG;AAAA,IACP,CAAC;AAAA,EACL;AAAA,EAEA,IAAI,kBAA2B;AAC3B,WAAO,KAAK,gBAAgB;AAAA,EAChC;AAAA,EAEA,IAAa,iBAAiB;AAC1B,WAAO,EAAE,GAAG,MAAM,gBAAgB,IAAI,KAAK,GAAG;AAAA,EAClD;AAAA,EAEA,OAAO,MAAM,aAAa;AAC9B;AAEA,WAAW,SAAS;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,oBAAoB;AAE7B,SAAS,kBAAkB;AAEpB,MAAM,mBAAmB,WAAiD;AAAA,EACpE,MAAwB,aAAa;AAAA,EAC9C;AAAA,EAEA,YAAY,eAA6C,UAA+C;AACpG,UAAM,YAAY,GAAG,QAAQ;AAE7B,SAAK,WAAW,WAAW;AAAA,EAC/B;AAAA,EAES,UAAU,gBAAgB,OAAO,OAAiC;AACvE,WAAO,MAAM,UAAU,eAAe;AAAA,MAClC,UAAU,KAAK;AAAA,MACf,GAAG;AAAA,IACP,CAAC;AAAA,EACL;AAAA,EAEA,IAAI,kBAA2B;AAC3B,WAAO,KAAK,gBAAgB;AAAA,EAChC;AAAA,EAEA,IAAa,iBAAiB;AAC1B,WAAO,EAAE,GAAG,MAAM,gBAAgB,IAAI,KAAK,GAAG;AAAA,EAClD;AAAA,EAEA,OAAO,MAAM,aAAa;AAAA,EAC1B,OAAO,aAAa;AACxB;AAEA,WAAW,SAAS;",
5
5
  "names": []
6
6
  }
@@ -231,7 +231,7 @@ export declare const Globals: {
231
231
  WildcardPathFlagsBitmap: import("./DatatypeModel.js").DatatypeModel;
232
232
  SoftwareVersionCertificationStatusEnum: import("./DatatypeModel.js").DatatypeModel;
233
233
  any: import("./DatatypeModel.js").DatatypeModel;
234
- interval: import("./DatatypeModel.js").DatatypeModel;
234
+ duration: import("./DatatypeModel.js").DatatypeModel;
235
235
  subjectId: import("./DatatypeModel.js").DatatypeModel;
236
236
  ClusterRevision: import("./AttributeModel.js").AttributeModel;
237
237
  FeatureMap: import("./AttributeModel.js").AttributeModel;
@@ -210,14 +210,15 @@ export declare abstract class Model<E extends BaseElement = BaseElement, C exten
210
210
  extend<This extends Model>(this: This, properties?: Partial<BaseElement.Properties<E>>, ...children: Model.ChildDefinition<Model>[]): This;
211
211
  constructor(definition: Model.Definition<Model<E>>, ...children: Model.TaggedDefinition<C>[]);
212
212
  /**
213
- * Freeze the model hierarchy rooted at this model.
213
+ * Finalize the model hierarchy rooted at this model.
214
214
  *
215
215
  * When using a model as operational schema we implement various optimizations that assume the schema is immutable.
216
216
  * This function enforces that assumption and caches a few values that only make sense with frozen schema.
217
217
  *
218
- * To make changes to a frozen model use {@link clone}.
218
+ * To make changes to a final model use {@link clone}.
219
219
  */
220
- freeze(): void;
220
+ finalize(): void;
221
+ get isFinal(): boolean | undefined;
221
222
  toString(): string;
222
223
  get resource(): Resource | undefined;
223
224
  set resource(resource: Resource | undefined);
@@ -260,9 +261,16 @@ export declare namespace Model {
260
261
  * In most places elements and models are interchangeable on input.
261
262
  */
262
263
  type Definition<T extends Model> = (BaseElement.Properties<ElementOf<T>> & {
264
+ parent?: Model;
263
265
  operationalBase?: Model;
264
266
  operationalShadow?: Model;
265
267
  }) | T;
268
+ /**
269
+ * An object that may be used in some places where a model is required.
270
+ *
271
+ * This is either a model, a class constructor or a DecoratorContext.
272
+ */
273
+ type Source = Model | NewableFunction;
266
274
  /**
267
275
  * Tagged input. Like {@link Definition} but for places where model type is not implied.
268
276
  */
@@ -283,6 +291,7 @@ export declare namespace Model {
283
291
  */
284
292
  type ConcreteType<T extends Model = Model> = (new (definition: any) => T) & {
285
293
  Tag: ElementTag;
294
+ requiresId?: boolean;
286
295
  };
287
296
  /**
288
297
  * A patch to a model tree.
@@ -1 +1 @@
1
- {"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../../src/models/Model.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAwB,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAY,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAoB,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAkB,MAAM,eAAe,CAAC;AAIzD;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,mBAAmB;CAAG;AAEhE;;;;GAIG;AACH,8BAAsB,KAAK,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,CAAC,SAAS,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC;;IACtG,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IAOjB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAE/B;;OAEG;IACH,iBAAiB,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAMjC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAEhB;IAED,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAIpB;IAED,IAAI,IAAI,IAIQ,MAAM,CAFrB;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAIrB;IAED;;OAEG;IACH,IAAI,KAAK,YAER;IAED;;;;OAIG;IACH,IAAI,IAAI,IAAI,MAAM,CA+BjB;IAED;;OAEG;IACH,IAAI,QAAQ,YAEX;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,KAAK,GAAG,SAAS,CAE9B;IAED;;OAEG;IACH,IAAI,IAAI,4BAEP;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,EAiBnC;IAED;;OAEG;IACH,IAAI,WAAW,YAEd;IAED;;;OAGG;IACH,IAAI,GAAG,uBAUN;IAED;;OAEG;IACH,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAEtC;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,CAM1B;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACH,IAAI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAuC/C;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,EAAS;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,YAAY,CAAA;KAAE,CAAC;IAE5D;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY;IAIxC;;OAEG;IACH,MAAM,KAAK,IAAI,iBAId;IAED;;;;OAIG;IACH,IAAI,aAAa,uBAEhB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,KAAK,GAAG,SAAS,CAK5B;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,KAAK,GAAG,SAAS,CAK9B;IAED;;OAEG;IACH,IAAI,UAAU,4DAEb;IAED;;OAEG;IACH,IAAI,aAAa,6CAEhB;IAED;;OAEG;IACH,IAAI,eAAe,iBAElB;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAM5B;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,QAAQ;IAQ1C;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU;IAYpC;;;;;OAKG;IACH,GAAG,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE;IAIrE;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,SAAS;IAI9E;;OAEG;IACH,KAAK,CAAC,CAAC,SAAS,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAIjD;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAanC;;OAEG;IACH,MAAM;IAQN;;OAEG;IACH,OAAO;IAIP;;OAEG;IACH,SAAS,CAAC,aAAa,UAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA2BhE;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,GAAG,IAAI;IAI/C;;OAEG;IACH,eAAe,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,GAAG,IAAI;IAIpD;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,KAAK;IAItB;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,eAA2C,GAAG,KAAK,GAAG,SAAS;IAIzG;;OAEG;IACH,OAAO,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,QAAQ,GAAG,CAAC;IA0BhF;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU;IAIpC;;OAEG;IACH,KAAK,CAAC,IAAI,SAAS,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAK3C;;;OAGG;IACH,MAAM,CAAC,IAAI,SAAS,KAAK,EACrB,IAAI,EAAE,IAAI,EACV,UAAU,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAC/C,GAAG,QAAQ,EAAE,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,GAC5C,IAAI;gBA0BK,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;IA8C5F;;;;;;;OAOG;IACH,MAAM;IAcN,QAAQ;IAIR,IAAI,QAAQ,IAIW,QAAQ,GAAG,SAAS,CAF1C;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAM1C;IAED,IAAI,WAAW,IAIc,MAAM,GAAG,SAAS,CAF9C;IAED,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAE9C;IAED,IAAI,OAAO,IAIU,MAAM,GAAG,SAAS,CAFtC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAEtC;IAED,IAAI,IAAI,IAIO,aAAa,CAAC,cAAc,GAAG,SAAS,CAFtD;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,cAAc,GAAG,SAAS,EAEtD;IAED,IAAI,MAAM,IAIS,eAAe,EAAE,GAAG,SAAS,CAF/C;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,SAAS,EAE/C;IAED,IAAI,IAAI,IAIO,aAAa,CAAC,QAAQ,GAAG,SAAS,CAFhD;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,QAAQ,GAAG,SAAS,EAEhD;IAED,IAAI,KAAK,IAIQ,aAAa,CAAC,QAAQ,GAAG,SAAS,CAFlD;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,QAAQ,GAAG,SAAS,EAElD;IAED,IAAI,OAAO,IAIU;QAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAFvE;IAED,IAAI,OAAO,CAAC,OAAO,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,EAEvE;IAED,IAAI,aAAa,aAEhB;IAED,IAAI,gBAAgB,YAEnB;IAED,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG;CAsBpD;AAED,yBAAiB,KAAK,CAAC;IACnB;;OAEG;IACH,KAAY,SAAS,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAElG;;OAEG;IACH,KAAY,OAAO,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAE/F;;;;OAIG;IACH,KAAY,UAAU,CAAC,CAAC,SAAS,KAAK,IAChC,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG;QAAE,eAAe,CAAC,EAAE,KAAK,CAAC;QAAC,iBAAiB,CAAC,EAAE,KAAK,CAAA;KAAE,CAAC,GAC/F,CAAC,CAAC;IAER;;OAEG;IACH,KAAY,gBAAgB,CAAC,CAAC,SAAS,KAAK,IACtC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;QACZ,eAAe,CAAC,EAAE,KAAK,CAAC;QACxB,iBAAiB,CAAC,EAAE,KAAK,CAAC;KAC7B,CAAC,GACF,CAAC,CAAC;IAER;;OAEG;IACH,KAAY,eAAe,CAAC,CAAC,SAAS,KAAK,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5E;;OAEG;IACH,KAAY,IAAI,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,IAAI,QAAQ,MAAM,UAAU,EAAE,GAAG,KAAK,CAAC,CAAC;IAEhF;;OAEG;IACH,KAAY,YAAY,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,IAAI,CAAC,KAAK,UAAU,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG;QAAE,GAAG,EAAE,UAAU,CAAA;KAAE,CAAC;IAEvG;;OAEG;IACH,KAAY,KAAK,CAAC,CAAC,SAAS,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC,GAAG;QAC9E,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;KAC/E,CAAC;IAEF,KAAY,UAAU,CAAC,CAAC,SAAS,WAAW,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,IAAI,CAAC,GAAG;QACpF,eAAe,CAAC,EAAE,KAAK,CAAC;QACxB,iBAAiB,CAAC,EAAE,KAAK,CAAC;KAC7B,CAAC;IAEF,KAAY,eAAe,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAA;KAAE,CAAC;IAE5G,KAAY,kBAAkB,GAAG;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAA;SAAE,GAAG,SAAS,CAAC;QAC3F,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE;YAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;KACpC,CAAC;CACL"}
1
+ {"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../../src/models/Model.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ class Model {
16
16
  isSeed;
17
17
  #id;
18
18
  #name;
19
- #frozen;
19
+ #isFinal;
20
20
  #resource;
21
21
  /**
22
22
  * Indicates that an element defines a datatype.
@@ -44,7 +44,7 @@ class Model {
44
44
  set id(value) {
45
45
  const oldId = this.effectiveId;
46
46
  this.#id = value;
47
- (this.#parent?.children).updateId(this, oldId);
47
+ this.#parent?.children?.updateId(this, oldId);
48
48
  }
49
49
  get name() {
50
50
  return this.#name;
@@ -52,7 +52,7 @@ class Model {
52
52
  set name(value) {
53
53
  const oldName = this.#name;
54
54
  this.#name = value;
55
- (this.#parent?.children).updateName(this, oldName);
55
+ this.#parent?.children?.updateName(this, oldName);
56
56
  }
57
57
  /**
58
58
  * Did validation find errors?
@@ -479,26 +479,32 @@ class Model {
479
479
  if (children.length) {
480
480
  this.children.push(...children);
481
481
  }
482
+ if (!isClone && definition.parent) {
483
+ this.parent = definition.parent;
484
+ }
482
485
  }
483
486
  /**
484
- * Freeze the model hierarchy rooted at this model.
487
+ * Finalize the model hierarchy rooted at this model.
485
488
  *
486
489
  * When using a model as operational schema we implement various optimizations that assume the schema is immutable.
487
490
  * This function enforces that assumption and caches a few values that only make sense with frozen schema.
488
491
  *
489
- * To make changes to a frozen model use {@link clone}.
492
+ * To make changes to a final model use {@link clone}.
490
493
  */
491
- freeze() {
492
- if (this.#frozen) {
494
+ finalize() {
495
+ if (this.#isFinal) {
493
496
  return;
494
497
  }
495
498
  const base = this.operationalBase ?? (this.operationalBase = this.base ?? null);
496
499
  const shadow = this.operationalShadow ?? (this.operationalShadow = this.shadow ?? null);
497
- this.#frozen = true;
500
+ this.#isFinal = true;
498
501
  this.children.freeze();
499
502
  Object.freeze(this);
500
- base?.freeze();
501
- shadow?.freeze();
503
+ base?.finalize();
504
+ shadow?.finalize();
505
+ }
506
+ get isFinal() {
507
+ return this.#isFinal;
502
508
  }
503
509
  toString() {
504
510
  return `${this.tag}${this.type ? `<${this.type}>` : ""}#${this.path}`;