@matter/model 0.11.9-alpha.0-20241203-06077d82e → 0.11.9-alpha.0-20241206-22f233334

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 (182) hide show
  1. package/dist/cjs/elements/MatterElement.d.ts +5 -1
  2. package/dist/cjs/elements/MatterElement.d.ts.map +1 -1
  3. package/dist/cjs/elements/MatterElement.js +1 -1
  4. package/dist/cjs/elements/MatterElement.js.map +1 -1
  5. package/dist/cjs/logic/DefaultValue.d.ts +3 -1
  6. package/dist/cjs/logic/DefaultValue.d.ts.map +1 -1
  7. package/dist/cjs/logic/DefaultValue.js +11 -11
  8. package/dist/cjs/logic/DefaultValue.js.map +1 -1
  9. package/dist/cjs/logic/ModelTraversal.d.ts +6 -35
  10. package/dist/cjs/logic/ModelTraversal.d.ts.map +1 -1
  11. package/dist/cjs/logic/ModelTraversal.js +15 -109
  12. package/dist/cjs/logic/ModelTraversal.js.map +1 -1
  13. package/dist/cjs/logic/ModelVariantTraversal.d.ts.map +1 -1
  14. package/dist/cjs/logic/ModelVariantTraversal.js.map +1 -1
  15. package/dist/cjs/logic/Scope.d.ts +102 -0
  16. package/dist/cjs/logic/Scope.d.ts.map +1 -0
  17. package/dist/cjs/logic/Scope.js +220 -0
  18. package/dist/cjs/logic/Scope.js.map +6 -0
  19. package/dist/cjs/logic/definition-validation/ModelValidator.d.ts.map +1 -1
  20. package/dist/cjs/logic/index.d.ts +1 -0
  21. package/dist/cjs/logic/index.d.ts.map +1 -1
  22. package/dist/cjs/logic/index.js +1 -0
  23. package/dist/cjs/logic/index.js.map +1 -1
  24. package/dist/cjs/models/AttributeModel.d.ts +20 -0
  25. package/dist/cjs/models/AttributeModel.d.ts.map +1 -1
  26. package/dist/cjs/models/AttributeModel.js +3 -0
  27. package/dist/cjs/models/AttributeModel.js.map +1 -1
  28. package/dist/cjs/models/Children.d.ts +4 -0
  29. package/dist/cjs/models/Children.d.ts.map +1 -1
  30. package/dist/cjs/models/Children.js +13 -0
  31. package/dist/cjs/models/Children.js.map +1 -1
  32. package/dist/cjs/models/ClusterModel.d.ts +6 -7
  33. package/dist/cjs/models/ClusterModel.d.ts.map +1 -1
  34. package/dist/cjs/models/ClusterModel.js +5 -38
  35. package/dist/cjs/models/ClusterModel.js.map +1 -1
  36. package/dist/cjs/models/CommandModel.d.ts +22 -0
  37. package/dist/cjs/models/CommandModel.d.ts.map +1 -1
  38. package/dist/cjs/models/CommandModel.js +3 -0
  39. package/dist/cjs/models/CommandModel.js.map +1 -1
  40. package/dist/cjs/models/DatatypeModel.js +0 -2
  41. package/dist/cjs/models/DatatypeModel.js.map +1 -1
  42. package/dist/cjs/models/EventModel.d.ts +21 -0
  43. package/dist/cjs/models/EventModel.d.ts.map +1 -1
  44. package/dist/cjs/models/EventModel.js +3 -0
  45. package/dist/cjs/models/EventModel.js.map +1 -1
  46. package/dist/cjs/models/MatterModel.d.ts +3 -3
  47. package/dist/cjs/models/MatterModel.d.ts.map +1 -1
  48. package/dist/cjs/models/MatterModel.js +6 -5
  49. package/dist/cjs/models/MatterModel.js.map +1 -1
  50. package/dist/cjs/models/Model.d.ts +10 -6
  51. package/dist/cjs/models/Model.d.ts.map +1 -1
  52. package/dist/cjs/models/Model.js +28 -9
  53. package/dist/cjs/models/Model.js.map +1 -1
  54. package/dist/cjs/models/ScopeModel.d.ts +22 -0
  55. package/dist/cjs/models/ScopeModel.d.ts.map +1 -0
  56. package/dist/cjs/models/ScopeModel.js +63 -0
  57. package/dist/cjs/models/ScopeModel.js.map +6 -0
  58. package/dist/cjs/models/ValueModel.d.ts +7 -21
  59. package/dist/cjs/models/ValueModel.d.ts.map +1 -1
  60. package/dist/cjs/models/ValueModel.js +15 -34
  61. package/dist/cjs/models/ValueModel.js.map +1 -1
  62. package/dist/cjs/models/index.d.ts +1 -0
  63. package/dist/cjs/models/index.d.ts.map +1 -1
  64. package/dist/cjs/models/index.js +1 -0
  65. package/dist/cjs/models/index.js.map +1 -1
  66. package/dist/cjs/standard/elements/ColorControl.js +3 -4
  67. package/dist/cjs/standard/elements/ColorControl.js.map +1 -1
  68. package/dist/cjs/standard/elements/ModeBase.js +1 -1
  69. package/dist/cjs/standard/elements/ModeBase.js.map +1 -1
  70. package/dist/cjs/standard/elements/PumpConfigurationAndControl.d.ts.map +1 -1
  71. package/dist/cjs/standard/elements/PumpConfigurationAndControl.js +3 -20
  72. package/dist/cjs/standard/elements/PumpConfigurationAndControl.js.map +1 -1
  73. package/dist/cjs/standard/elements/UserLabel.d.ts.map +1 -1
  74. package/dist/cjs/standard/elements/UserLabel.js +13 -16
  75. package/dist/cjs/standard/elements/UserLabel.js.map +1 -1
  76. package/dist/cjs/standard/elements/WildcardPathFlagsBitmap.d.ts.map +1 -1
  77. package/dist/cjs/standard/elements/WildcardPathFlagsBitmap.js +1 -5
  78. package/dist/cjs/standard/elements/WildcardPathFlagsBitmap.js.map +1 -1
  79. package/dist/cjs/standard/elements/WindowCovering.js +2 -2
  80. package/dist/esm/elements/MatterElement.d.ts +5 -1
  81. package/dist/esm/elements/MatterElement.d.ts.map +1 -1
  82. package/dist/esm/elements/MatterElement.js +1 -1
  83. package/dist/esm/elements/MatterElement.js.map +1 -1
  84. package/dist/esm/logic/DefaultValue.d.ts +3 -1
  85. package/dist/esm/logic/DefaultValue.d.ts.map +1 -1
  86. package/dist/esm/logic/DefaultValue.js +11 -11
  87. package/dist/esm/logic/DefaultValue.js.map +1 -1
  88. package/dist/esm/logic/ModelTraversal.d.ts +6 -35
  89. package/dist/esm/logic/ModelTraversal.d.ts.map +1 -1
  90. package/dist/esm/logic/ModelTraversal.js +16 -110
  91. package/dist/esm/logic/ModelTraversal.js.map +1 -1
  92. package/dist/esm/logic/ModelVariantTraversal.d.ts.map +1 -1
  93. package/dist/esm/logic/ModelVariantTraversal.js.map +1 -1
  94. package/dist/esm/logic/Scope.d.ts +102 -0
  95. package/dist/esm/logic/Scope.d.ts.map +1 -0
  96. package/dist/esm/logic/Scope.js +200 -0
  97. package/dist/esm/logic/Scope.js.map +6 -0
  98. package/dist/esm/logic/definition-validation/ModelValidator.d.ts.map +1 -1
  99. package/dist/esm/logic/index.d.ts +1 -0
  100. package/dist/esm/logic/index.d.ts.map +1 -1
  101. package/dist/esm/logic/index.js +1 -0
  102. package/dist/esm/logic/index.js.map +1 -1
  103. package/dist/esm/models/AttributeModel.d.ts +20 -0
  104. package/dist/esm/models/AttributeModel.d.ts.map +1 -1
  105. package/dist/esm/models/AttributeModel.js +3 -0
  106. package/dist/esm/models/AttributeModel.js.map +1 -1
  107. package/dist/esm/models/Children.d.ts +4 -0
  108. package/dist/esm/models/Children.d.ts.map +1 -1
  109. package/dist/esm/models/Children.js +13 -0
  110. package/dist/esm/models/Children.js.map +1 -1
  111. package/dist/esm/models/ClusterModel.d.ts +6 -7
  112. package/dist/esm/models/ClusterModel.d.ts.map +1 -1
  113. package/dist/esm/models/ClusterModel.js +5 -38
  114. package/dist/esm/models/ClusterModel.js.map +1 -1
  115. package/dist/esm/models/CommandModel.d.ts +22 -0
  116. package/dist/esm/models/CommandModel.d.ts.map +1 -1
  117. package/dist/esm/models/CommandModel.js +3 -0
  118. package/dist/esm/models/CommandModel.js.map +1 -1
  119. package/dist/esm/models/DatatypeModel.js +0 -2
  120. package/dist/esm/models/DatatypeModel.js.map +1 -1
  121. package/dist/esm/models/EventModel.d.ts +21 -0
  122. package/dist/esm/models/EventModel.d.ts.map +1 -1
  123. package/dist/esm/models/EventModel.js +3 -0
  124. package/dist/esm/models/EventModel.js.map +1 -1
  125. package/dist/esm/models/MatterModel.d.ts +3 -3
  126. package/dist/esm/models/MatterModel.d.ts.map +1 -1
  127. package/dist/esm/models/MatterModel.js +6 -5
  128. package/dist/esm/models/MatterModel.js.map +1 -1
  129. package/dist/esm/models/Model.d.ts +10 -6
  130. package/dist/esm/models/Model.d.ts.map +1 -1
  131. package/dist/esm/models/Model.js +28 -9
  132. package/dist/esm/models/Model.js.map +1 -1
  133. package/dist/esm/models/ScopeModel.d.ts +22 -0
  134. package/dist/esm/models/ScopeModel.d.ts.map +1 -0
  135. package/dist/esm/models/ScopeModel.js +43 -0
  136. package/dist/esm/models/ScopeModel.js.map +6 -0
  137. package/dist/esm/models/ValueModel.d.ts +7 -21
  138. package/dist/esm/models/ValueModel.d.ts.map +1 -1
  139. package/dist/esm/models/ValueModel.js +15 -34
  140. package/dist/esm/models/ValueModel.js.map +1 -1
  141. package/dist/esm/models/index.d.ts +1 -0
  142. package/dist/esm/models/index.d.ts.map +1 -1
  143. package/dist/esm/models/index.js +1 -0
  144. package/dist/esm/models/index.js.map +1 -1
  145. package/dist/esm/standard/elements/ColorControl.js +3 -4
  146. package/dist/esm/standard/elements/ColorControl.js.map +1 -1
  147. package/dist/esm/standard/elements/ModeBase.js +1 -1
  148. package/dist/esm/standard/elements/ModeBase.js.map +1 -1
  149. package/dist/esm/standard/elements/PumpConfigurationAndControl.d.ts.map +1 -1
  150. package/dist/esm/standard/elements/PumpConfigurationAndControl.js +3 -20
  151. package/dist/esm/standard/elements/PumpConfigurationAndControl.js.map +1 -1
  152. package/dist/esm/standard/elements/UserLabel.d.ts.map +1 -1
  153. package/dist/esm/standard/elements/UserLabel.js +13 -16
  154. package/dist/esm/standard/elements/UserLabel.js.map +1 -1
  155. package/dist/esm/standard/elements/WildcardPathFlagsBitmap.d.ts.map +1 -1
  156. package/dist/esm/standard/elements/WildcardPathFlagsBitmap.js +1 -5
  157. package/dist/esm/standard/elements/WildcardPathFlagsBitmap.js.map +1 -1
  158. package/dist/esm/standard/elements/WindowCovering.js +2 -2
  159. package/package.json +4 -4
  160. package/src/elements/MatterElement.ts +7 -2
  161. package/src/logic/DefaultValue.ts +13 -11
  162. package/src/logic/ModelTraversal.ts +28 -147
  163. package/src/logic/ModelVariantTraversal.ts +0 -1
  164. package/src/logic/Scope.ts +400 -0
  165. package/src/logic/index.ts +1 -0
  166. package/src/models/AttributeModel.ts +4 -0
  167. package/src/models/Children.ts +24 -1
  168. package/src/models/ClusterModel.ts +12 -51
  169. package/src/models/CommandModel.ts +4 -0
  170. package/src/models/DatatypeModel.ts +0 -2
  171. package/src/models/EventModel.ts +4 -0
  172. package/src/models/MatterModel.ts +6 -5
  173. package/src/models/Model.ts +38 -12
  174. package/src/models/ScopeModel.ts +55 -0
  175. package/src/models/ValueModel.ts +17 -39
  176. package/src/models/index.ts +1 -0
  177. package/src/standard/elements/ColorControl.ts +4 -4
  178. package/src/standard/elements/ModeBase.ts +1 -1
  179. package/src/standard/elements/PumpConfigurationAndControl.ts +2 -18
  180. package/src/standard/elements/UserLabel.ts +8 -12
  181. package/src/standard/elements/WildcardPathFlagsBitmap.ts +1 -4
  182. package/src/standard/elements/WindowCovering.ts +2 -2
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/models/ClusterModel.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -16,6 +16,28 @@ export declare class CommandModel extends ValueModel<CommandElement> implements
16
16
  get isResponse(): boolean;
17
17
  get responseModel(): ValueModel;
18
18
  get effectiveDirection(): CommandElement.Direction | undefined;
19
+ get requiredFields(): {
20
+ id: number;
21
+ tag: `${CommandElement.Tag}`;
22
+ direction?: `${CommandElement.Direction}`;
23
+ response?: string;
24
+ name: string;
25
+ type?: string;
26
+ description?: string;
27
+ details?: string;
28
+ xref?: import("../index.js").Specification.CrossReference;
29
+ children?: (import("../elements/BaseElement.js").BaseElement[] & import("../elements/ValueElement.js").ValueElement[]) | undefined;
30
+ isGlobal?: boolean;
31
+ isSeed?: boolean;
32
+ asOf?: import("../index.js").Specification.Revision;
33
+ until?: import("../index.js").Specification.Revision;
34
+ constraint?: import("../index.js").Constraint.Definition;
35
+ conformance?: import("../index.js").Conformance.Definition;
36
+ access?: import("../index.js").Access.Definition;
37
+ quality?: import("../index.js").Quality.Definition;
38
+ byteSize?: import("../elements/ValueElement.js").ValueElement.ByteSize;
39
+ default?: import("../index.js").FieldValue;
40
+ };
19
41
  /**
20
42
  * Commands may re-use the ID for request and response so identification requires the ID in conjunction with the
21
43
  * direction.
@@ -1 +1 @@
1
- {"version":3,"file":"CommandModel.d.ts","sourceRoot":"","sources":["../../../src/models/CommandModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,YAAa,SAAQ,UAAU,CAAC,cAAc,CAAE,YAAW,cAAc;IACzE,GAAG,EAAE,cAAc,CAAC,GAAG,CAAsB;IAC9C,EAAE,EAAE,GAAG,CAAC;IACR,SAAS,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE1B,IAAI,YAAY,YAEf;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,UAAU,YAEb;IAED,IAAI,aAAa,IACqC,UAAU,CAC/D;IAED,IAAI,kBAAkB,yCAErB;IAED;;;OAGG;IACH,IAAa,aAAa,6BAWzB;IAMD,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,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,YAAa,SAAQ,UAAU,CAAC,cAAc,CAAE,YAAW,cAAc;IACzE,GAAG,EAAE,cAAc,CAAC,GAAG,CAAsB;IAC9C,EAAE,EAAE,GAAG,CAAC;IACR,SAAS,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE1B,IAAI,YAAY,YAEf;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,UAAU,YAEb;IAED,IAAI,aAAa,IACqC,UAAU,CAC/D;IAED,IAAI,kBAAkB,yCAErB;IAED,IAAa,cAAc;;gBA1BsD,eAC1E,GAAG;uBAEqB,eAC/B,SAAK;;;;;;;;;;;;;;;;;;MAwBJ;IAED;;;OAGG;IACH,IAAa,aAAa,6BAWzB;IAMD,MAAM,CAAC,GAAG,mCAAsB;CACnC"}
@@ -24,6 +24,9 @@ class CommandModel extends ValueModel {
24
24
  get effectiveDirection() {
25
25
  return this.direction ?? new ModelTraversal().findShadow(this)?.direction;
26
26
  }
27
+ get requiredFields() {
28
+ return { ...super.requiredFields, id: this.id };
29
+ }
27
30
  /**
28
31
  * Commands may re-use the ID for request and response so identification requires the ID in conjunction with the
29
32
  * direction.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/models/CommandModel.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAC/B,SAAS,aAAa;AACtB,SAAS,kBAAkB;AAEpB,MAAM,qBAAqB,WAAqD;AAAA,EAC1E,MAA0B,eAAe;AAAA,EAKlD,IAAI,eAAe;AACf,WAAO,CAAC,CAAC,KAAK,gBAAgB;AAAA,EAClC;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK,cAAc,eAAe,UAAU;AAAA,EACvD;AAAA,EAEA,IAAI,aAAa;AACb,WAAO,KAAK,cAAc,eAAe,UAAU;AAAA,EACvD;AAAA,EAEA,IAAI,gBAAgB;AAChB,WAAO,IAAI,eAAe,EAAE,aAAa,IAAI;AAAA,EACjD;AAAA,EAEA,IAAI,qBAAqB;AACrB,WAAO,KAAK,aAAc,IAAI,eAAe,EAAE,WAAW,IAAI,GAAgC;AAAA,EAClG;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,OAAO;AACH,UAAM,MAAM,eAAe,GAAG,IAAI;AAAA,EACtC;AAAA,EAEA,OAAO,MAAM,eAAe;AAChC;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAC/B,SAAS,aAAa;AACtB,SAAS,kBAAkB;AAEpB,MAAM,qBAAqB,WAAqD;AAAA,EAC1E,MAA0B,eAAe;AAAA,EAKlD,IAAI,eAAe;AACf,WAAO,CAAC,CAAC,KAAK,gBAAgB;AAAA,EAClC;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK,cAAc,eAAe,UAAU;AAAA,EACvD;AAAA,EAEA,IAAI,aAAa;AACb,WAAO,KAAK,cAAc,eAAe,UAAU;AAAA,EACvD;AAAA,EAEA,IAAI,gBAAgB;AAChB,WAAO,IAAI,eAAe,EAAE,aAAa,IAAI;AAAA,EACjD;AAAA,EAEA,IAAI,qBAAqB;AACrB,WAAO,KAAK,aAAc,IAAI,eAAe,EAAE,WAAW,IAAI,GAAgC;AAAA,EAClG;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,OAAO;AACH,UAAM,MAAM,eAAe,GAAG,IAAI;AAAA,EACtC;AAAA,EAEA,OAAO,MAAM,eAAe;AAChC;",
5
5
  "names": []
6
6
  }
@@ -22,8 +22,6 @@ class DatatypeModel extends ValueModel {
22
22
  Model.types[DatatypeElement.Tag] = this;
23
23
  }
24
24
  }
25
- const x = {};
26
- x.children;
27
25
  export {
28
26
  DatatypeModel
29
27
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/models/DatatypeModel.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,gBAAgB;AACzB,SAAS,uBAAuB;AAChC,SAAS,aAAa;AACtB,SAAS,kBAAkB;AAEpB,MAAM,sBAAsB,WAAuD;AAAA,EAC7E,MAA2B,gBAAgB;AAAA,EAGpD,IAAI,gBAAgB;AAChB,YAAQ,KAAK,mBAAmB;AAAA,MAC5B,KAAK,SAAS;AAAA,MACd,KAAK,SAAS;AAAA,MACd,KAAK,SAAS;AACV,eAAO,CAAC,CAAC,KAAK,eAAe,SAAS;AAAA,IAC9C;AACA,WAAO;AAAA,EACX;AAAA,EAEA,OAAO;AACH,UAAM,MAAM,gBAAgB,GAAG,IAAI;AAAA,EACvC;AACJ;AACA,MAAM,IAAI,CAAC;AACX,EAAE;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,gBAAgB;AACzB,SAAS,uBAAuB;AAChC,SAAS,aAAa;AACtB,SAAS,kBAAkB;AAEpB,MAAM,sBAAsB,WAAuD;AAAA,EAC7E,MAA2B,gBAAgB;AAAA,EAGpD,IAAI,gBAAgB;AAChB,YAAQ,KAAK,mBAAmB;AAAA,MAC5B,KAAK,SAAS;AAAA,MACd,KAAK,SAAS;AAAA,MACd,KAAK,SAAS;AACV,eAAO,CAAC,CAAC,KAAK,eAAe,SAAS;AAAA,IAC9C;AACA,WAAO;AAAA,EACX;AAAA,EAEA,OAAO;AACH,UAAM,MAAM,gBAAgB,GAAG,IAAI;AAAA,EACvC;AACJ;",
5
5
  "names": []
6
6
  }
@@ -12,6 +12,27 @@ export declare class EventModel extends ValueModel<EventElement> implements Even
12
12
  priority?: EventElement.Priority;
13
13
  constructor(definition: EventElement.Properties);
14
14
  get fabricSensitive(): boolean;
15
+ get requiredFields(): {
16
+ id: number;
17
+ tag: `${EventElement.Tag}`;
18
+ priority?: `${EventElement.Priority}`;
19
+ name: string;
20
+ type?: string;
21
+ description?: string;
22
+ details?: string;
23
+ xref?: import("../index.js").Specification.CrossReference;
24
+ children?: (import("../elements/BaseElement.js").BaseElement[] & import("../elements/ValueElement.js").ValueElement[]) | undefined;
25
+ isGlobal?: boolean;
26
+ isSeed?: boolean;
27
+ asOf?: import("../index.js").Specification.Revision;
28
+ until?: import("../index.js").Specification.Revision;
29
+ constraint?: import("../index.js").Constraint.Definition;
30
+ conformance?: import("../index.js").Conformance.Definition;
31
+ access?: import("../index.js").Access.Definition;
32
+ quality?: import("../index.js").Quality.Definition;
33
+ byteSize?: import("../elements/ValueElement.js").ValueElement.ByteSize;
34
+ default?: import("../index.js").FieldValue;
35
+ };
15
36
  static Tag: import("../index.js").ElementTag;
16
37
  }
17
38
  //# 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,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,UAAW,SAAQ,UAAU,CAAC,YAAY,CAAE,YAAW,YAAY;IACnE,GAAG,EAAE,YAAY,CAAC,GAAG,CAAoB;IAC1C,EAAE,EAAE,GAAG,CAAC;IACR,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC;gBAE7B,UAAU,EAAE,YAAY,CAAC,UAAU;IAI/C,IAAI,eAAe,IAAI,OAAO,CAE7B;IAMD,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,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,UAAW,SAAQ,UAAU,CAAC,YAAY,CAAE,YAAW,YAAY;IACnE,GAAG,EAAE,YAAY,CAAC,GAAG,CAAoB;IAC1C,EAAE,EAAE,GAAG,CAAC;IACR,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC;gBAE7B,UAAU,EAAE,YAAY,CAAC,UAAU;IAI/C,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,IAAa,cAAc;;gBAX3B,aAAQ,GAAG;sBAG4B,aACnC,QAAC;;;;;;;;;;;;;;;;;MASJ;IAMD,MAAM,CAAC,GAAG,mCAAoB;CACjC"}
@@ -14,6 +14,9 @@ class EventModel extends ValueModel {
14
14
  get fabricSensitive() {
15
15
  return this.effectiveAccess.fabricSensitive;
16
16
  }
17
+ get requiredFields() {
18
+ return { ...super.requiredFields, id: this.id };
19
+ }
17
20
  static {
18
21
  Model.types[EventElement.Tag] = this;
19
22
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/models/EventModel.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,oBAAoB;AAC7B,SAAS,aAAa;AACtB,SAAS,kBAAkB;AAEpB,MAAM,mBAAmB,WAAiD;AAAA,EACpE,MAAwB,aAAa;AAAA,EAI9C,YAAY,YAAqC;AAC7C,UAAM,UAAU;AAAA,EACpB;AAAA,EAEA,IAAI,kBAA2B;AAC3B,WAAO,KAAK,gBAAgB;AAAA,EAChC;AAAA,EAEA,OAAO;AACH,UAAM,MAAM,aAAa,GAAG,IAAI;AAAA,EACpC;AAAA,EAEA,OAAO,MAAM,aAAa;AAC9B;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,oBAAoB;AAC7B,SAAS,aAAa;AACtB,SAAS,kBAAkB;AAEpB,MAAM,mBAAmB,WAAiD;AAAA,EACpE,MAAwB,aAAa;AAAA,EAI9C,YAAY,YAAqC;AAC7C,UAAM,UAAU;AAAA,EACpB;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;AACH,UAAM,MAAM,aAAa,GAAG,IAAI;AAAA,EACpC;AAAA,EAEA,OAAO,MAAM,aAAa;AAC9B;",
5
5
  "names": []
6
6
  }
@@ -13,13 +13,13 @@ import { DeviceTypeModel } from "./DeviceTypeModel.js";
13
13
  import { FabricModel } from "./FabricModel.js";
14
14
  import { FieldModel } from "./FieldModel.js";
15
15
  import { Model } from "./Model.js";
16
+ import { ScopeModel } from "./ScopeModel.js";
16
17
  import { SemanticNamespaceModel } from "./SemanticNamespaceModel.js";
17
18
  /**
18
19
  * The root of a Matter model. This is the parent for global models.
19
20
  */
20
- export declare class MatterModel extends Model<MatterElement> implements MatterElement {
21
+ export declare class MatterModel extends ScopeModel<MatterElement> implements MatterElement {
21
22
  tag: MatterElement.Tag;
22
- isTypeScope: boolean;
23
23
  revision?: Specification.Revision;
24
24
  get children(): Children<MatterModel.Child>;
25
25
  set children(children: Children.InputIterable<MatterModel.Child>);
@@ -56,7 +56,7 @@ export declare class MatterModel extends Model<MatterElement> implements MatterE
56
56
  *
57
57
  * @param definition the MatterElement that defines the model
58
58
  */
59
- constructor(definition?: MatterElement.Properties);
59
+ constructor(definition: MatterElement.Definition, ...children: Model.Definition<MatterModel.Child>[]);
60
60
  /**
61
61
  * All sub-cluster global elements from this model.
62
62
  *
@@ -1 +1 @@
1
- {"version":3,"file":"MatterModel.d.ts","sourceRoot":"","sources":["../../../src/models/MatterModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK,CAAC,aAAa,CAAE,YAAW,aAAa;IACjE,GAAG,EAAE,aAAa,CAAC,GAAG,CAAqB;IAC3C,WAAW,UAAQ;IACpB,QAAQ,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC;IAE1C,IAAa,QAAQ,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAEnD;IAED,IAAa,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,EAExE;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAGzB;IAEH;;OAEG;IACH,IAAI,QAAQ,mBAEX;IAED;;OAEG;IACH,IAAI,WAAW,sBAEd;IAED;;OAEG;IACH,IAAI,kBAAkB,6BAErB;IAED;;OAEG;IACH,IAAI,SAAS,sBAEZ;IAED;;OAEG;IACH,IAAI,UAAU,qBAEb;IAED;;OAEG;IACH,IAAI,OAAO,kBAEV;IAED;;;;OAIG;gBACS,UAAU,GAAE,aAAa,CAAC,UAA6C;IAKnF;;;;;;OAMG;IACH,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,EAAE,CAErC;CAKJ;AAED,yBAAiB,WAAW,CAAC;IACzB,KAAY,KAAK,GACX,YAAY,GACZ,eAAe,GACf,UAAU,GACV,aAAa,GACb,cAAc,GACd,WAAW,GACX,sBAAsB,CAAC;CAChC"}
1
+ {"version":3,"file":"MatterModel.d.ts","sourceRoot":"","sources":["../../../src/models/MatterModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;GAEG;AACH,qBAAa,WAAY,SAAQ,UAAU,CAAC,aAAa,CAAE,YAAW,aAAa;IACtE,GAAG,EAAE,aAAa,CAAC,GAAG,CAAqB;IAC5C,QAAQ,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC;IAE1C,IAAa,QAAQ,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAEnD;IAED,IAAa,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,EAExE;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAGzB;IAEH;;OAEG;IACH,IAAI,QAAQ,mBAEX;IAED;;OAEG;IACH,IAAI,WAAW,sBAEd;IAED;;OAEG;IACH,IAAI,kBAAkB,6BAErB;IAED;;OAEG;IACH,IAAI,SAAS,sBAEZ;IAED;;OAEG;IACH,IAAI,UAAU,qBAEb;IAED;;OAEG;IACH,IAAI,OAAO,kBAEV;IAED;;;;OAIG;gBACS,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;IAMpG;;;;;;OAMG;IACH,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,EAAE,CAErC;CAKJ;AAED,yBAAiB,WAAW,CAAC;IACzB,KAAY,KAAK,GACX,YAAY,GACZ,eAAe,GACf,UAAU,GACV,aAAa,GACb,cAAc,GACd,WAAW,GACX,sBAAsB,CAAC;CAChC"}
@@ -12,10 +12,10 @@ import { FabricModel } from "./FabricModel.js";
12
12
  import { FieldModel } from "./FieldModel.js";
13
13
  import { Globals } from "./Globals.js";
14
14
  import { Model } from "./Model.js";
15
+ import { ScopeModel } from "./ScopeModel.js";
15
16
  import { SemanticNamespaceModel } from "./SemanticNamespaceModel.js";
16
- class MatterModel extends Model {
17
+ class MatterModel extends ScopeModel {
17
18
  tag = MatterElement.Tag;
18
- isTypeScope = true;
19
19
  get children() {
20
20
  return super.children;
21
21
  }
@@ -70,9 +70,10 @@ class MatterModel extends Model {
70
70
  *
71
71
  * @param definition the MatterElement that defines the model
72
72
  */
73
- constructor(definition = { name: "Matter", children: [] }) {
74
- const children = [...definition.children || []];
75
- super({ ...definition, name: definition.name, children });
73
+ constructor(definition, ...children) {
74
+ const name = definition.name ?? "Matter";
75
+ const definitionChildren = [...definition.children || []];
76
+ super({ ...definition, name, children: definitionChildren }, ...children);
76
77
  }
77
78
  /**
78
79
  * All sub-cluster global elements from this model.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/models/MatterModel.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAE/B,SAAS,oBAAoB;AAE7B,SAAS,uBAAuB;AAChC,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAC3B,SAAS,eAAe;AACxB,SAAS,aAAa;AACtB,SAAS,8BAA8B;AAKhC,MAAM,oBAAoB,MAA8C;AAAA,EAClE,MAAyB,cAAc;AAAA,EACvC,cAAc;AAAA,EAGvB,IAAa,WAAwC;AACjD,WAAO,MAAM;AAAA,EACjB;AAAA,EAEA,IAAa,SAAS,UAAqD;AACvE,UAAM,WAAW;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,WAAwB,IAAI,YAAY;AAAA,IAC3C,MAAM;AAAA,IACN,UAAU,OAAO,OAAO,OAAO;AAAA,EACnC,CAAC;AAAA;AAAA;AAAA;AAAA,EAKD,IAAI,WAAW;AACX,WAAO,KAAK,IAAI,YAAY;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,cAAc;AACd,WAAO,KAAK,IAAI,eAAe;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,qBAAqB;AACrB,WAAO,KAAK,IAAI,sBAAsB;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,YAAY;AACZ,WAAO,KAAK,IAAI,UAAU;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,aAAa;AACb,WAAO,KAAK,IAAI,cAAc;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,UAAU;AACV,WAAO,KAAK,IAAI,WAAW;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAY,aAAuC,EAAE,MAAM,UAAU,UAAU,CAAC,EAAE,GAAG;AACjF,UAAM,WAAW,CAAC,GAAI,WAAW,YAAY,CAAC,CAAE;AAChD,UAAM,EAAE,GAAG,YAAY,MAAM,WAAW,MAAM,SAAS,CAAC;AAAA,EAC5D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,IAAI,cAAmC;AACnC,WAAO,KAAK,SAAS,OAAO,WAAS,MAAM,MAAM,EAAE,IAAI,WAAS,MAAM,MAAM,CAAC;AAAA,EACjF;AAAA,EAEA,OAAO;AACH,UAAM,MAAM,cAAc,GAAG,IAAI;AAAA,EACrC;AACJ;AAaA,eAAe,gBAAgB,YAAY;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAE/B,SAAS,oBAAoB;AAE7B,SAAS,uBAAuB;AAChC,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAC3B,SAAS,eAAe;AACxB,SAAS,aAAa;AACtB,SAAS,kBAAkB;AAC3B,SAAS,8BAA8B;AAKhC,MAAM,oBAAoB,WAAmD;AAAA,EACvE,MAAyB,cAAc;AAAA,EAGhD,IAAa,WAAwC;AACjD,WAAO,MAAM;AAAA,EACjB;AAAA,EAEA,IAAa,SAAS,UAAqD;AACvE,UAAM,WAAW;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,WAAwB,IAAI,YAAY;AAAA,IAC3C,MAAM;AAAA,IACN,UAAU,OAAO,OAAO,OAAO;AAAA,EACnC,CAAC;AAAA;AAAA;AAAA;AAAA,EAKD,IAAI,WAAW;AACX,WAAO,KAAK,IAAI,YAAY;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,cAAc;AACd,WAAO,KAAK,IAAI,eAAe;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,qBAAqB;AACrB,WAAO,KAAK,IAAI,sBAAsB;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,YAAY;AACZ,WAAO,KAAK,IAAI,UAAU;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,aAAa;AACb,WAAO,KAAK,IAAI,cAAc;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,UAAU;AACV,WAAO,KAAK,IAAI,WAAW;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAY,eAAyC,UAAiD;AAClG,UAAM,OAAO,WAAW,QAAQ;AAChC,UAAM,qBAAqB,CAAC,GAAI,WAAW,YAAY,CAAC,CAAE;AAC1D,UAAM,EAAE,GAAG,YAAY,MAAM,UAAU,mBAAmB,GAAG,GAAG,QAAQ;AAAA,EAC5E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,IAAI,cAAmC;AACnC,WAAO,KAAK,SAAS,OAAO,WAAS,MAAM,MAAM,EAAE,IAAI,WAAS,MAAM,MAAM,CAAC;AAAA,EACjF;AAAA,EAEA,OAAO;AACH,UAAM,MAAM,cAAc,GAAG,IAAI;AAAA,EACrC;AACJ;AAaA,eAAe,gBAAgB,YAAY;",
5
5
  "names": []
6
6
  }
@@ -24,10 +24,6 @@ export declare abstract class Model<T extends BaseElement = BaseElement> {
24
24
  until?: Specification.Revision;
25
25
  id?: number;
26
26
  name: string;
27
- /**
28
- * Indicates that an element may have type definitions as children.
29
- */
30
- isTypeScope?: boolean;
31
27
  /**
32
28
  * Indicates that an element defines a datatype.
33
29
  */
@@ -117,6 +113,10 @@ export declare abstract class Model<T extends BaseElement = BaseElement> {
117
113
  * The set of tags from which this model may derive.
118
114
  */
119
115
  get allowedBaseTags(): ElementTag[];
116
+ /**
117
+ * Update a subset of fields.
118
+ */
119
+ patch(values: Partial<T>): void;
120
120
  /**
121
121
  * Determine whether this element applies to a specific revision.
122
122
  */
@@ -156,6 +156,10 @@ export declare abstract class Model<T extends BaseElement = BaseElement> {
156
156
  * Apply a function to all tree elements.
157
157
  */
158
158
  visit(visitor: (model: Model) => boolean | void): boolean | undefined;
159
+ /**
160
+ * Visit this model and each of its ancestors.
161
+ */
162
+ forEachAncestor(fn: (model: Model) => boolean | void): void;
159
163
  /**
160
164
  * Find all children that reference a specific type.
161
165
  */
@@ -176,7 +180,7 @@ export declare abstract class Model<T extends BaseElement = BaseElement> {
176
180
  * Create an operational extension of the model. This creates a new model that inherits from this model for
177
181
  * operational purposes.
178
182
  */
179
- extend<This extends Model>(this: This, properties?: Partial<BaseElement.Properties<T>>): This;
183
+ extend<This extends Model>(this: This, properties?: Partial<BaseElement.Properties<T>>, ...children: Model.Definition<Model>[]): This;
180
184
  constructor(definition: Model<T> | BaseElement.Properties<T>, ...children: Model.Definition<Model>[]);
181
185
  /**
182
186
  * Freeze the model hierarchy rooted at this model.
@@ -194,7 +198,7 @@ export declare namespace Model {
194
198
  /**
195
199
  * Obtain the element type of a model type.
196
200
  */
197
- type ElementOf<T> = T extends Model<infer E extends AnyElement> ? E : never;
201
+ type ElementOf<T> = T extends Model<infer E extends AnyElement> ? E : AnyElement;
198
202
  /**
199
203
  * Obtain the child type of a model type.
200
204
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../../src/models/Model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../../src/models/Model.ts"],"names":[],"mappings":"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"}
@@ -20,10 +20,6 @@ class Model {
20
20
  #id = void 0;
21
21
  #name;
22
22
  #frozen;
23
- /**
24
- * Indicates that an element may have type definitions as children.
25
- */
26
- isTypeScope;
27
23
  /**
28
24
  * Indicates that an element defines a datatype.
29
25
  */
@@ -219,6 +215,14 @@ class Model {
219
215
  get allowedBaseTags() {
220
216
  return [this.tag];
221
217
  }
218
+ /**
219
+ * Update a subset of fields.
220
+ */
221
+ patch(values) {
222
+ for (const [k, v] of Object.entries(values.valueOf())) {
223
+ this[k] = v;
224
+ }
225
+ }
222
226
  /**
223
227
  * Determine whether this element applies to a specific revision.
224
228
  */
@@ -293,9 +297,10 @@ class Model {
293
297
  switch (key) {
294
298
  case "parent":
295
299
  case "errors":
296
- case "isTypeScope":
300
+ case "scope":
297
301
  case "isType":
298
302
  case "operationalBase":
303
+ case "isScope":
299
304
  continue;
300
305
  default:
301
306
  if (this[key] !== void 0 && (this[key] !== null || key === "default")) {
@@ -311,6 +316,12 @@ class Model {
311
316
  visit(visitor) {
312
317
  return new ModelTraversal().visit(this, visitor);
313
318
  }
319
+ /**
320
+ * Visit this model and each of its ancestors.
321
+ */
322
+ forEachAncestor(fn) {
323
+ new ModelTraversal().visitInheritance(this, fn);
324
+ }
314
325
  /**
315
326
  * Find all children that reference a specific type.
316
327
  */
@@ -340,20 +351,28 @@ class Model {
340
351
  * Create an operational extension of the model. This creates a new model that inherits from this model for
341
352
  * operational purposes.
342
353
  */
343
- extend(properties) {
354
+ extend(properties, ...children) {
344
355
  const constructor = this.constructor;
345
- const extension = new constructor({
356
+ const definition = {
346
357
  id: this.id,
347
358
  name: this.name,
348
359
  ...properties,
349
360
  tag: this.tag,
350
361
  operationalBase: this
351
- });
362
+ };
363
+ if (children.length) {
364
+ if (definition.children) {
365
+ definition.children = [...definition.children, ...children];
366
+ } else {
367
+ definition.children = children;
368
+ }
369
+ }
370
+ const extension = new constructor(definition);
352
371
  return extension;
353
372
  }
354
373
  constructor(definition, ...children) {
355
374
  if (typeof definition !== "object") {
356
- throw new ImplementationError(`Model definition must be an object, not "${typeof definition}"`);
375
+ throw new ImplementationError(`Model definition must be an object, not ${typeof definition}`);
357
376
  }
358
377
  const isClone = definition instanceof Model;
359
378
  this.#id = definition.id;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/models/Model.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["inspect", "Model"]
6
6
  }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { BaseElement } from "#elements/BaseElement.js";
7
+ import { Scope } from "#logic/Scope.js";
8
+ import { Model } from "./Model.js";
9
+ /**
10
+ * A "scope" is a model provides name resolution for other models.
11
+ *
12
+ * {@link Model#type} must reference a model named in a parent scope.
13
+ */
14
+ export declare abstract class ScopeModel<T extends BaseElement = BaseElement> extends Model<T> {
15
+ #private;
16
+ readonly isScope = true;
17
+ get scope(): Scope;
18
+ freeze(): this;
19
+ static is(model: Model): model is ScopeModel;
20
+ static of(model: Model): ScopeModel<BaseElement>;
21
+ }
22
+ //# sourceMappingURL=ScopeModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScopeModel.d.ts","sourceRoot":"","sources":["../../../src/models/ScopeModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;GAIG;AACH,8BAAsB,UAAU,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,KAAK,CAAC,CAAC,CAAC;;IAGlF,QAAQ,CAAC,OAAO,QAAQ;IAExB,IAAI,KAAK,UAKR;IAEQ,MAAM;IAQf,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,UAAU;IAI5C,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK;CAazB"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { SchemaImplementationError } from "#common/errors.js";
7
+ import { ModelTraversal } from "#logic/ModelTraversal.js";
8
+ import { Scope } from "#logic/Scope.js";
9
+ import { Model } from "./Model.js";
10
+ class ScopeModel extends Model {
11
+ #operationalScope;
12
+ isScope = true;
13
+ get scope() {
14
+ if (this.#operationalScope !== void 0) {
15
+ return this.#operationalScope;
16
+ }
17
+ return Scope(this);
18
+ }
19
+ freeze() {
20
+ if (!this.#operationalScope) {
21
+ this.#operationalScope = Scope(this);
22
+ }
23
+ super.freeze();
24
+ return this;
25
+ }
26
+ static is(model) {
27
+ return !!model.isScope;
28
+ }
29
+ static of(model) {
30
+ if (model.isScope) {
31
+ return model;
32
+ }
33
+ const scope = new ModelTraversal().findScope(model);
34
+ if (scope === void 0) {
35
+ throw new SchemaImplementationError(model, `No parent scope`);
36
+ }
37
+ return scope;
38
+ }
39
+ }
40
+ export {
41
+ ScopeModel
42
+ };
43
+ //# sourceMappingURL=ScopeModel.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/models/ScopeModel.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,iCAAiC;AAE1C,SAAS,sBAAsB;AAC/B,SAAS,aAAa;AACtB,SAAS,aAAa;AAOf,MAAe,mBAAwD,MAAS;AAAA,EACnF;AAAA,EAES,UAAU;AAAA,EAEnB,IAAI,QAAQ;AACR,QAAI,KAAK,sBAAsB,QAAW;AACtC,aAAO,KAAK;AAAA,IAChB;AACA,WAAO,MAAM,IAAI;AAAA,EACrB;AAAA,EAES,SAAS;AACd,QAAI,CAAC,KAAK,mBAAmB;AACzB,WAAK,oBAAoB,MAAM,IAAI;AAAA,IACvC;AACA,UAAM,OAAO;AACb,WAAO;AAAA,EACX;AAAA,EAEA,OAAO,GAAG,OAAmC;AACzC,WAAO,CAAC,CAAE,MAAqB;AAAA,EACnC;AAAA,EAEA,OAAO,GAAG,OAAc;AACpB,QAAK,MAAqB,SAAS;AAC/B,aAAO;AAAA,IACX;AAEA,UAAM,QAAQ,IAAI,eAAe,EAAE,UAAU,KAAK;AAElD,QAAI,UAAU,QAAW;AACrB,YAAM,IAAI,0BAA0B,OAAO,iBAAiB;AAAA,IAChE;AAEA,WAAO;AAAA,EACX;AACJ;",
5
+ "names": []
6
+ }
@@ -50,11 +50,6 @@ export declare abstract class ValueModel<T extends ValueElement = ValueElement>
50
50
  * The working metatype for this object.
51
51
  */
52
52
  get effectiveMetatype(): Metatype | undefined;
53
- /**
54
- * The value to use as a default. The "default" field has a manually supplied value but this property decodes the
55
- * default and/or generates a default from subfields.
56
- */
57
- get effectiveDefault(): any;
58
53
  /**
59
54
  * Get the first derived ancestor with children, if any.
60
55
  */
@@ -72,23 +67,9 @@ export declare abstract class ValueModel<T extends ValueElement = ValueElement>
72
67
  */
73
68
  get allowedBaseTags(): ElementTag[];
74
69
  /**
75
- * All {@link FieldModel} children}.
70
+ * All {@link FieldModel} children in the context of the model's containing scope.
76
71
  */
77
72
  get members(): PropertyModel[];
78
- /**
79
- * A subset of {@link members} with conflicts resolved by conformance.
80
- */
81
- get activeMembers(): ValueModel<ValueElement>[];
82
- /**
83
- * The subset of {@link members} that are conformant.
84
- */
85
- get conformantMembers(): ValueModel<ValueElement>[];
86
- /**
87
- * Active members keyed by property name.
88
- */
89
- get fields(): {
90
- [k: string]: ValueModel<ValueElement>;
91
- };
92
73
  /**
93
74
  * Collect constraints and conformance for this type and all base types.
94
75
  */
@@ -117,7 +98,12 @@ export declare abstract class ValueModel<T extends ValueElement = ValueElement>
117
98
  * Search the inheritance chain for a bitmap field defining a specific bit.
118
99
  */
119
100
  bitDefinition(bit: number): FieldModel<import("../elements/FieldElement.js").FieldElement> | undefined;
101
+ /**
102
+ * Clone the model with minimum metadata required to ensure model is valid.
103
+ */
104
+ cloneAsReference<This extends ValueModel>(this: This): This;
105
+ get requiredFields(): T;
120
106
  valueOf(): T;
121
- constructor(definition: BaseElement.Properties<T>);
107
+ constructor(definition: BaseElement.Properties<T>, ...children: Model.Definition<FieldModel>[]);
122
108
  }
123
109
  //# sourceMappingURL=ValueModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ValueModel.d.ts","sourceRoot":"","sources":["../../../src/models/ValueModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ValueModel.d.ts","sourceRoot":"","sources":["../../../src/models/ValueModel.ts"],"names":[],"mappings":"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"}