@matter/model 0.16.1 → 0.16.2-alpha.0-20260114-d3127faee

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/cjs/decoration/decorators/element.d.ts +10 -1
  2. package/dist/cjs/decoration/decorators/element.d.ts.map +1 -1
  3. package/dist/cjs/decoration/decorators/element.js +32 -5
  4. package/dist/cjs/decoration/decorators/element.js.map +1 -1
  5. package/dist/cjs/decoration/decorators/index.d.ts +2 -0
  6. package/dist/cjs/decoration/decorators/index.d.ts.map +1 -1
  7. package/dist/cjs/decoration/decorators/index.js +2 -0
  8. package/dist/cjs/decoration/decorators/index.js.map +1 -1
  9. package/dist/cjs/decoration/decorators/response.d.ts +2 -2
  10. package/dist/cjs/decoration/decorators/response.d.ts.map +1 -1
  11. package/dist/cjs/decoration/decorators/response.js +3 -19
  12. package/dist/cjs/decoration/decorators/response.js.map +1 -1
  13. package/dist/cjs/decoration/semantics/ClassSemantics.d.ts +1 -0
  14. package/dist/cjs/decoration/semantics/ClassSemantics.d.ts.map +1 -1
  15. package/dist/cjs/decoration/semantics/ClassSemantics.js +4 -1
  16. package/dist/cjs/decoration/semantics/ClassSemantics.js.map +1 -1
  17. package/dist/cjs/decoration/semantics/FieldSemantics.d.ts +3 -0
  18. package/dist/cjs/decoration/semantics/FieldSemantics.d.ts.map +1 -1
  19. package/dist/cjs/decoration/semantics/FieldSemantics.js +8 -0
  20. package/dist/cjs/decoration/semantics/FieldSemantics.js.map +1 -1
  21. package/dist/cjs/decoration/semantics/Semantics.d.ts +5 -1
  22. package/dist/cjs/decoration/semantics/Semantics.d.ts.map +1 -1
  23. package/dist/cjs/decoration/semantics/Semantics.js +12 -0
  24. package/dist/cjs/decoration/semantics/Semantics.js.map +1 -1
  25. package/dist/cjs/models/CommandModel.d.ts +9 -1
  26. package/dist/cjs/models/CommandModel.d.ts.map +1 -1
  27. package/dist/cjs/models/CommandModel.js +21 -1
  28. package/dist/cjs/models/CommandModel.js.map +1 -1
  29. package/dist/esm/decoration/decorators/element.d.ts +10 -1
  30. package/dist/esm/decoration/decorators/element.d.ts.map +1 -1
  31. package/dist/esm/decoration/decorators/element.js +32 -5
  32. package/dist/esm/decoration/decorators/element.js.map +1 -1
  33. package/dist/esm/decoration/decorators/index.d.ts +2 -0
  34. package/dist/esm/decoration/decorators/index.d.ts.map +1 -1
  35. package/dist/esm/decoration/decorators/index.js +2 -0
  36. package/dist/esm/decoration/decorators/index.js.map +1 -1
  37. package/dist/esm/decoration/decorators/response.d.ts +2 -2
  38. package/dist/esm/decoration/decorators/response.d.ts.map +1 -1
  39. package/dist/esm/decoration/decorators/response.js +3 -19
  40. package/dist/esm/decoration/decorators/response.js.map +1 -1
  41. package/dist/esm/decoration/semantics/ClassSemantics.d.ts +1 -0
  42. package/dist/esm/decoration/semantics/ClassSemantics.d.ts.map +1 -1
  43. package/dist/esm/decoration/semantics/ClassSemantics.js +4 -1
  44. package/dist/esm/decoration/semantics/ClassSemantics.js.map +1 -1
  45. package/dist/esm/decoration/semantics/FieldSemantics.d.ts +3 -0
  46. package/dist/esm/decoration/semantics/FieldSemantics.d.ts.map +1 -1
  47. package/dist/esm/decoration/semantics/FieldSemantics.js +8 -0
  48. package/dist/esm/decoration/semantics/FieldSemantics.js.map +1 -1
  49. package/dist/esm/decoration/semantics/Semantics.d.ts +5 -1
  50. package/dist/esm/decoration/semantics/Semantics.d.ts.map +1 -1
  51. package/dist/esm/decoration/semantics/Semantics.js +12 -0
  52. package/dist/esm/decoration/semantics/Semantics.js.map +1 -1
  53. package/dist/esm/models/CommandModel.d.ts +9 -1
  54. package/dist/esm/models/CommandModel.d.ts.map +1 -1
  55. package/dist/esm/models/CommandModel.js +21 -1
  56. package/dist/esm/models/CommandModel.js.map +1 -1
  57. package/package.json +4 -4
  58. package/src/decoration/decorators/element.ts +46 -6
  59. package/src/decoration/decorators/index.ts +2 -0
  60. package/src/decoration/decorators/response.ts +3 -22
  61. package/src/decoration/semantics/ClassSemantics.ts +7 -3
  62. package/src/decoration/semantics/FieldSemantics.ts +11 -0
  63. package/src/decoration/semantics/Semantics.ts +19 -0
  64. package/src/models/CommandModel.ts +33 -2
@@ -8,7 +8,7 @@ import { Model } from "#models/Model.js";
8
8
  /**
9
9
  * Decorate a class or field as a specific Matter element type.
10
10
  */
11
- export declare function element<T extends Decorator.Collector | Decorator.ClassCollector | Decorator.PropertyCollector | Decorator.MethodCollector>(kind: Model.ConcreteType, ...modifiers: element.Modifier<T>[]): T;
11
+ export declare function element<T extends Decorator.Collector | Decorator.ClassCollector | Decorator.PropertyCollector | Decorator.MethodCollector>(kind: element.ElementKind, ...modifiers: element.Modifier<T>[]): T;
12
12
  export declare namespace element {
13
13
  /**
14
14
  * Create a property decorator for a specific element type.
@@ -36,5 +36,14 @@ export declare namespace element {
36
36
  * * A string sets the {@link Model#name} of {@link Semantics#localModel}
37
37
  */
38
38
  type Modifier<T extends Decorator.Collector | Decorator.ClassCollector | Decorator.PropertyCollector | Decorator.MethodCollector> = Model.ConcreteType | Model | NewableFunction | number | string | T;
39
+ /**
40
+ * Specifies the type of model associated with an element.
41
+ *
42
+ * This is a concrete model class except in the case of responses which we special case to differentiate between
43
+ * commands a responses.
44
+ */
45
+ type ElementKind = Model.ConcreteType | {
46
+ Tag: "response";
47
+ };
39
48
  }
40
49
  //# sourceMappingURL=element.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../../../src/decoration/decorators/element.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC;;GAEG;AACH,wBAAgB,OAAO,CACnB,CAAC,SAAS,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,iBAAiB,GAAG,SAAS,CAAC,eAAe,EACpH,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,GAAG,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GA+DrD,CAAC,CACV;AAED,yBAAiB,OAAO,CAAC;IACrB;;OAEG;IACH,SAAgB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,IACrC,GAAG,WAAW,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,iCAGhE;IAED;;OAEG;IACH,SAAgB,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,IAClC,GAAG,WAAW,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,8BAG7D;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAY,QAAQ,CAChB,CAAC,SACK,SAAS,CAAC,SAAS,GACnB,SAAS,CAAC,cAAc,GACxB,SAAS,CAAC,iBAAiB,GAC3B,SAAS,CAAC,eAAe,IAC/B,KAAK,CAAC,YAAY,GAAG,KAAK,GAAG,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;CAC1E"}
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../../../src/decoration/decorators/element.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC;;GAEG;AACH,wBAAgB,OAAO,CACnB,CAAC,SAAS,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,iBAAiB,GAAG,SAAS,CAAC,eAAe,EACpH,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GA6FtD,CAAC,CACV;AAED,yBAAiB,OAAO,CAAC;IACrB;;OAEG;IACH,SAAgB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,IACrC,GAAG,WAAW,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,iCAGhE;IAED;;OAEG;IACH,SAAgB,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,IAClC,GAAG,WAAW,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,8BAG7D;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAY,QAAQ,CAChB,CAAC,SACK,SAAS,CAAC,SAAS,GACnB,SAAS,CAAC,cAAc,GACxB,SAAS,CAAC,iBAAiB,GAC3B,SAAS,CAAC,eAAe,IAC/B,KAAK,CAAC,YAAY,GAAG,KAAK,GAAG,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;IAEvE;;;;;OAKG;IACH,KAAY,WAAW,GAAG,KAAK,CAAC,YAAY,GAAG;QAAE,GAAG,EAAE,UAAU,CAAA;KAAE,CAAC;CACtE"}
@@ -22,8 +22,10 @@ __export(element_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(element_exports);
24
24
  var import_errors = require("#decoration/errors.js");
25
+ var import_FieldSemantics = require("#decoration/semantics/FieldSemantics.js");
25
26
  var import_Semantics = require("#decoration/semantics/Semantics.js");
26
27
  var import_general = require("#general");
28
+ var import_CommandModel = require("#models/CommandModel.js");
27
29
  var import_Model = require("#models/Model.js");
28
30
  var import_Schema = require("#models/Schema.js");
29
31
  /**
@@ -32,11 +34,32 @@ var import_Schema = require("#models/Schema.js");
32
34
  * SPDX-License-Identifier: Apache-2.0
33
35
  */
34
36
  function element(kind, ...modifiers) {
35
- const forceType = !(modifiers[0] instanceof kind);
37
+ let modelType;
38
+ if (kind.Tag === "response") {
39
+ modelType = import_CommandModel.CommandModel;
40
+ } else {
41
+ modelType = kind;
42
+ }
43
+ const forceType = !(modifiers[0] instanceof modelType);
36
44
  return (0, import_general.Decorator)((target, context) => {
37
- const semantics = import_Semantics.Semantics.of(context);
45
+ let semantics = import_Semantics.Semantics.of(context);
46
+ if (kind.Tag === "response") {
47
+ semantics.modelType = import_CommandModel.CommandModel;
48
+ if (semantics.response === void 0) {
49
+ if (typeof context.name !== "string") {
50
+ throw new import_errors.InvalidMetadataError(
51
+ `Cannot specify response for ${String(context.name) || "(anonymous)"} because element name is ${typeof context.name}`
52
+ );
53
+ }
54
+ const response = new import_FieldSemantics.FieldSemantics(semantics.owner, context.name);
55
+ response.modelType = import_CommandModel.CommandModel;
56
+ response.mutableModel.name = `${context.name}Response`;
57
+ response.mutableModel.isResponse = true;
58
+ semantics = semantics.response = response;
59
+ }
60
+ }
38
61
  if (forceType) {
39
- semantics.modelType = kind;
62
+ semantics.modelType = modelType;
40
63
  }
41
64
  if (context.kind === "class") {
42
65
  semantics.new = target;
@@ -57,7 +80,9 @@ function element(kind, ...modifiers) {
57
80
  const subresult = modifier(target, context);
58
81
  if (subresult) {
59
82
  if (result) {
60
- throw new import_errors.MetadataConflictError(`Multiple modifiers returned a value`);
83
+ throw new import_errors.MetadataConflictError(
84
+ `Multiple modifiers returned a value for ${String(context.name || "(anonymous)")}`
85
+ );
61
86
  }
62
87
  result = subresult;
63
88
  }
@@ -79,7 +104,9 @@ function element(kind, ...modifiers) {
79
104
  }
80
105
  break;
81
106
  }
82
- throw new import_errors.InvalidMetadataError(`Unsupported modifier ${modifier}`);
107
+ throw new import_errors.InvalidMetadataError(
108
+ `Unsupported modifier ${modifier} for ${String(context.name || "(anonymous)")}`
109
+ );
83
110
  }
84
111
  return result;
85
112
  });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/decoration/decorators/element.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,oBAA4D;AAE5D,uBAA0B;AAC1B,qBAA0B;AAC1B,mBAAsB;AACtB,oBAAuB;AAXvB;AAAA;AAAA;AAAA;AAAA;AAgBO,SAAS,QAEd,SAA6B,WAAkC;AAG7D,QAAM,YAAY,EAAE,UAAU,CAAC,aAAa;AAE5C,aAAO,0BAAU,CAAC,QAAa,YAA8B;AACzD,UAAM,YAAY,2BAAU,GAAG,OAAO;AACtC,QAAI,WAAW;AACX,gBAAU,YAAY;AAAA,IAC1B;AAEA,QAAI,QAAQ,SAAS,SAAS;AAC1B,MAAC,UAA6B,MAAM;AAAA,IACxC;AAEA,QAAI,SAA0B;AAC9B,eAAW,YAAY,WAAW;AAC9B,cAAQ,OAAO,UAAU;AAAA,QACrB,KAAK;AACD,oBAAU,aAAa,KAAK;AAC5B;AAAA,QAEJ,KAAK;AACD,oBAAU,aAAa,OAAO;AAC9B;AAAA,QAEJ,KAAK;AACD,cAAI,SAAS,UAAU;AACnB,sBAAU,YAAY;AAAA,UAC1B,WAAW,yBAAU,GAAG,QAAQ,GAAG;AAC/B,kBAAM,YAAa,SAAiB,QAAQ,OAAO;AACnD,gBAAI,WAAW;AACX,kBAAI,QAAQ;AACR,sBAAM,IAAI,oCAAsB,qCAAqC;AAAA,cACzE;AACA,uBAAS;AAAA,YACb;AAAA,UACJ,OAAO;AACH,kBAAM,YAAQ,sBAAO,QAA2B;AAChD,gBAAI,UAAU,QAAW;AACrB,oBAAM,IAAI;AAAA,gBACN,gCAAgC,SAAS,QAAQ,aAAa,gBAAgB,OAAO,QAAQ,QAAQ,aAAa,CAAC;AAAA,cACvH;AAAA,YACJ;AAEA,kBAAM,SAAS;AAEf,sBAAU,eAAe;AAAA,UAC7B;AACA;AAAA,QAEJ,KAAK;AACD,cAAI,oBAAoB,oBAAO;AAC3B,sBAAU,eAAe;AACzB;AAAA,UACJ;AACA;AAAA,MACR;AAEA,YAAM,IAAI,mCAAqB,wBAAwB,QAAQ,EAAE;AAAA,IACrE;AAEA,WAAO;AAAA,EACX,CAAC;AACL;AAAA,CAEO,CAAUA,aAAV;AAII,WAAS,SAAS,MAA0B;AAC/C,WAAO,IAAI,cAAuD;AAC9D,aAAOA,SAAQ,MAAM,GAAG,SAAS;AAAA,IACrC;AAAA,EACJ;AAJO,EAAAA,SAAS;AAST,WAAS,MAAM,MAA0B;AAC5C,WAAO,IAAI,cAAoD;AAC3D,aAAOA,SAAQ,MAAM,GAAG,SAAS;AAAA,IACrC;AAAA,EACJ;AAJO,EAAAA,SAAS;AAAA,GAbH;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,oBAA4D;AAE5D,4BAA+B;AAC/B,uBAA0B;AAC1B,qBAA0B;AAC1B,0BAA6B;AAC7B,mBAAsB;AACtB,oBAAuB;AAbvB;AAAA;AAAA;AAAA;AAAA;AAkBO,SAAS,QAEd,SAA8B,WAAkC;AAC9D,MAAI;AACJ,MAAI,KAAK,QAAQ,YAAY;AACzB,gBAAY;AAAA,EAChB,OAAO;AACH,gBAAY;AAAA,EAChB;AAIA,QAAM,YAAY,EAAE,UAAU,CAAC,aAAa;AAE5C,aAAO,0BAAU,CAAC,QAAa,YAA8B;AACzD,QAAI,YAAY,2BAAU,GAAG,OAAO;AAEpC,QAAI,KAAK,QAAQ,YAAY;AACzB,gBAAU,YAAY;AAEtB,UAAI,UAAU,aAAa,QAAW;AAClC,YAAI,OAAO,QAAQ,SAAS,UAAU;AAClC,gBAAM,IAAI;AAAA,YACN,+BAA+B,OAAO,QAAQ,IAAI,KAAK,aAAa,4BAA4B,OAAO,QAAQ,IAAI;AAAA,UACvH;AAAA,QACJ;AAEA,cAAM,WAAW,IAAI,qCAAe,UAAU,OAAO,QAAQ,IAAI;AACjE,iBAAS,YAAY;AACrB,iBAAS,aAAa,OAAO,GAAG,QAAQ,IAAI;AAC5C,QAAC,SAAS,aAA8B,aAAa;AACrD,oBAAY,UAAU,WAAW;AAAA,MACrC;AAAA,IACJ;AAEA,QAAI,WAAW;AACX,gBAAU,YAAY;AAAA,IAC1B;AAEA,QAAI,QAAQ,SAAS,SAAS;AAC1B,MAAC,UAA6B,MAAM;AAAA,IACxC;AAEA,QAAI,SAA0B;AAC9B,eAAW,YAAY,WAAW;AAC9B,cAAQ,OAAO,UAAU;AAAA,QACrB,KAAK;AACD,oBAAU,aAAa,KAAK;AAC5B;AAAA,QAEJ,KAAK;AACD,oBAAU,aAAa,OAAO;AAC9B;AAAA,QAEJ,KAAK;AACD,cAAI,SAAS,UAAU;AACnB,sBAAU,YAAY;AAAA,UAC1B,WAAW,yBAAU,GAAG,QAAQ,GAAG;AAC/B,kBAAM,YAAa,SAAiB,QAAQ,OAAO;AACnD,gBAAI,WAAW;AACX,kBAAI,QAAQ;AACR,sBAAM,IAAI;AAAA,kBACN,2CAA2C,OAAO,QAAQ,QAAQ,aAAa,CAAC;AAAA,gBACpF;AAAA,cACJ;AACA,uBAAS;AAAA,YACb;AAAA,UACJ,OAAO;AACH,kBAAM,YAAQ,sBAAO,QAA2B;AAChD,gBAAI,UAAU,QAAW;AACrB,oBAAM,IAAI;AAAA,gBACN,gCAAgC,SAAS,QAAQ,aAAa,gBAAgB,OAAO,QAAQ,QAAQ,aAAa,CAAC;AAAA,cACvH;AAAA,YACJ;AAEA,kBAAM,SAAS;AAEf,sBAAU,eAAe;AAAA,UAC7B;AACA;AAAA,QAEJ,KAAK;AACD,cAAI,oBAAoB,oBAAO;AAC3B,sBAAU,eAAe;AACzB;AAAA,UACJ;AACA;AAAA,MACR;AAEA,YAAM,IAAI;AAAA,QACN,wBAAwB,QAAQ,QAAQ,OAAO,QAAQ,QAAQ,aAAa,CAAC;AAAA,MACjF;AAAA,IACJ;AAEA,WAAO;AAAA,EACX,CAAC;AACL;AAAA,CAEO,CAAUA,aAAV;AAII,WAAS,SAAS,MAA0B;AAC/C,WAAO,IAAI,cAAuD;AAC9D,aAAOA,SAAQ,MAAM,GAAG,SAAS;AAAA,IACrC;AAAA,EACJ;AAJO,EAAAA,SAAS;AAST,WAAS,MAAM,MAA0B;AAC5C,WAAO,IAAI,cAAoD;AAC3D,aAAOA,SAAQ,MAAM,GAAG,SAAS;AAAA,IACrC;AAAA,EACJ;AAJO,EAAAA,SAAS;AAAA,GAbH;",
5
5
  "names": ["element"]
6
6
  }
@@ -5,8 +5,10 @@
5
5
  */
6
6
  export * from "./attribute.js";
7
7
  export * from "./cluster.js";
8
+ export * from "./command.js";
8
9
  export * from "./datatype.js";
9
10
  export * from "./element.js";
11
+ export * from "./event.js";
10
12
  export * from "./field.js";
11
13
  export * from "./listOf.js";
12
14
  export * from "./mandatory.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/decoration/decorators/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/decoration/decorators/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
@@ -17,8 +17,10 @@ var decorators_exports = {};
17
17
  module.exports = __toCommonJS(decorators_exports);
18
18
  __reExport(decorators_exports, require("./attribute.js"), module.exports);
19
19
  __reExport(decorators_exports, require("./cluster.js"), module.exports);
20
+ __reExport(decorators_exports, require("./command.js"), module.exports);
20
21
  __reExport(decorators_exports, require("./datatype.js"), module.exports);
21
22
  __reExport(decorators_exports, require("./element.js"), module.exports);
23
+ __reExport(decorators_exports, require("./event.js"), module.exports);
22
24
  __reExport(decorators_exports, require("./field.js"), module.exports);
23
25
  __reExport(decorators_exports, require("./listOf.js"), module.exports);
24
26
  __reExport(decorators_exports, require("./mandatory.js"), module.exports);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/decoration/decorators/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,+BAAc,2BANd;AAOA,+BAAc,yBAPd;AAQA,+BAAc,0BARd;AASA,+BAAc,yBATd;AAUA,+BAAc,uBAVd;AAWA,+BAAc,wBAXd;AAYA,+BAAc,2BAZd;AAaA,+BAAc,6BAbd;AAcA,+BAAc,0BAdd;AAeA,+BAAc,0BAfd;AAAA;AAAA;AAAA;AAAA;AAAA;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,+BAAc,2BANd;AAOA,+BAAc,yBAPd;AAQA,+BAAc,yBARd;AASA,+BAAc,0BATd;AAUA,+BAAc,yBAVd;AAWA,+BAAc,uBAXd;AAYA,+BAAc,uBAZd;AAaA,+BAAc,wBAbd;AAcA,+BAAc,2BAdd;AAeA,+BAAc,6BAfd;AAgBA,+BAAc,0BAhBd;AAiBA,+BAAc,0BAjBd;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
5
  "names": []
6
6
  }
@@ -4,9 +4,9 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { Decorator } from "#general";
7
- import { DatatypeModel } from "#models/DatatypeModel.js";
7
+ import { element } from "./element.js";
8
8
  /**
9
9
  * Specify the response type for a command.
10
10
  */
11
- export declare function response(type: DatatypeModel): Decorator.ClassMethod;
11
+ export declare function response(...modifiers: element.Modifier<Decorator.MethodCollector>[]): Decorator.MethodCollector;
12
12
  //# sourceMappingURL=response.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../../src/decoration/decorators/response.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC,WAAW,CAkBnE"}
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../../src/decoration/decorators/response.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,6BAEnF"}
@@ -21,29 +21,13 @@ __export(response_exports, {
21
21
  response: () => response
22
22
  });
23
23
  module.exports = __toCommonJS(response_exports);
24
- var import_FieldSemantics = require("#decoration/semantics/FieldSemantics.js");
25
- var import_CommandElement = require("#elements/CommandElement.js");
26
- var import_general = require("#general");
27
- var import_CommandModel = require("#models/CommandModel.js");
24
+ var import_element = require("./element.js");
28
25
  /**
29
26
  * @license
30
27
  * Copyright 2022-2026 Matter.js Authors
31
28
  * SPDX-License-Identifier: Apache-2.0
32
29
  */
33
- function response(type) {
34
- return (0, import_general.Decorator)((_target, context) => {
35
- const requestSemantics = import_FieldSemantics.FieldSemantics.of(context);
36
- requestSemantics.modelType = import_CommandModel.CommandModel;
37
- const request = requestSemantics.mutableModel;
38
- const name = `${request.name}Response`;
39
- new import_CommandModel.CommandModel({
40
- name,
41
- id: request.id,
42
- parent: request.parent,
43
- direction: import_CommandElement.CommandElement.Direction.Response,
44
- operationalBase: type
45
- });
46
- request.response = name;
47
- });
30
+ function response(...modifiers) {
31
+ return (0, import_element.element)({ Tag: "response" }, ...modifiers);
48
32
  }
49
33
  //# sourceMappingURL=response.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/decoration/decorators/response.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,4BAA+B;AAC/B,4BAA+B;AAC/B,qBAA0B;AAC1B,0BAA6B;AAT7B;AAAA;AAAA;AAAA;AAAA;AAeO,SAAS,SAAS,MAA4C;AACjE,aAAO,0BAAU,CAAC,SAAS,YAAY;AACnC,UAAM,mBAAmB,qCAAe,GAAG,OAAO;AAElD,qBAAiB,YAAY;AAC7B,UAAM,UAAU,iBAAiB;AAEjC,UAAM,OAAO,GAAG,QAAQ,IAAI;AAC5B,QAAI,iCAAa;AAAA,MACb;AAAA,MACA,IAAI,QAAQ;AAAA,MACZ,QAAQ,QAAQ;AAAA,MAChB,WAAW,qCAAe,UAAU;AAAA,MACpC,iBAAiB;AAAA,IACrB,CAAC;AAED,YAAQ,WAAW;AAAA,EACvB,CAAC;AACL;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,qBAAwB;AAPxB;AAAA;AAAA;AAAA;AAAA;AAYO,SAAS,YAAY,WAA0D;AAClF,aAAO,wBAAQ,EAAE,KAAK,WAAW,GAAG,GAAG,SAAS;AACpD;",
5
5
  "names": []
6
6
  }
@@ -64,6 +64,7 @@ export declare class ClassSemantics extends Semantics {
64
64
  finalize(): void;
65
65
  protected integrateModel(model: Model): Model<import("../../index.js").BaseElement, Model<import("../../index.js").BaseElement, any>>;
66
66
  protected createModel(type?: Model.ConcreteType): Model<import("../../index.js").BaseElement, Model<import("../../index.js").BaseElement, any>>;
67
+ get owner(): this;
67
68
  }
68
69
  export declare namespace ClassSemantics {
69
70
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ClassSemantics.d.ts","sourceRoot":"","sources":["../../../../src/decoration/semantics/ClassSemantics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAA6B,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAMpE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAmB3C;;;;;;;;;;;;GAYG;AACH,qBAAa,cAAe,SAAQ,SAAS;;IAIzC;;;;OAIG;IACH,IAAI,aAAa,8GAahB;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,cAAc,CAAC,WAAW,GAAG,SAAS,CAEhD;IAED;;OAEG;IACH,IAAI,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,WAAW,EA6BrC;IAED;;OAEG;IACH,IAAI,kBAAkB,IAAI,KAAK,GAAG,SAAS,CAsB1C;IAED;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAmB9B;;;;OAIG;IACH,oBAAoB,CAAC,QAAQ,EAAE,OAAO;IAuDtC;;OAEG;WACa,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM;IAuChD;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,WAAW;IAOzD;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,WAAW;IAUxC,QAAQ;cA6CE,cAAc,CAAC,KAAK,EAAE,KAAK;cAoB3B,WAAW,CAAC,IAAI,GAAE,KAAK,CAAC,YAA4B;CAO1E;AAED,yBAAiB,cAAc,CAAC;IAC5B;;OAEG;IACH,UAAiB,WAAY,SAAQ,eAAe;QAChD;;WAEG;QACH,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAC;KAClD;IAED;;OAEG;IACH,KAAY,MAAM,GAAG,WAAW,GAAG,gBAAgB,GAAG,cAAc,CAAC;IAE9D,MAAM,MAAM,eAAmB,CAAC;CAC1C"}
1
+ {"version":3,"file":"ClassSemantics.d.ts","sourceRoot":"","sources":["../../../../src/decoration/semantics/ClassSemantics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAA6B,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAMpE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAmB3C;;;;;;;;;;;;GAYG;AACH,qBAAa,cAAe,SAAQ,SAAS;;IAIzC;;;;OAIG;IACH,IAAI,aAAa,8GAahB;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,cAAc,CAAC,WAAW,GAAG,SAAS,CAEhD;IAED;;OAEG;IACH,IAAI,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,WAAW,EA6BrC;IAED;;OAEG;IACH,IAAI,kBAAkB,IAAI,KAAK,GAAG,SAAS,CAsB1C;IAED;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAmB9B;;;;OAIG;IACH,oBAAoB,CAAC,QAAQ,EAAE,OAAO;IAuDtC;;OAEG;WACa,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM;IAuChD;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,WAAW;IAOzD;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,WAAW;IAUxC,QAAQ;cA6CE,cAAc,CAAC,KAAK,EAAE,KAAK;cAoB3B,WAAW,CAAC,IAAI,GAAE,KAAK,CAAC,YAA4B;IAQvE,IAAI,KAAK,SAER;CACJ;AAED,yBAAiB,cAAc,CAAC;IAC5B;;OAEG;IACH,UAAiB,WAAY,SAAQ,eAAe;QAChD;;WAEG;QACH,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAC;KAClD;IAED;;OAEG;IACH,KAAY,MAAM,GAAG,WAAW,GAAG,gBAAgB,GAAG,cAAc,CAAC;IAE9D,MAAM,MAAM,eAAmB,CAAC;CAC1C"}
@@ -218,12 +218,12 @@ class ClassSemantics extends import_Semantics.Semantics {
218
218
  return;
219
219
  }
220
220
  this.#new?.[ClassSemantics.extend]?.(this);
221
- super.finalize();
222
221
  if (this.#definedFields) {
223
222
  for (const field of this.#definedFields.values()) {
224
223
  field.finalize();
225
224
  }
226
225
  }
226
+ super.finalize();
227
227
  }
228
228
  #applyBaseSemantics() {
229
229
  const base = this.prototypeBaseModel;
@@ -262,6 +262,9 @@ class ClassSemantics extends import_Semantics.Semantics {
262
262
  }
263
263
  return new type({ name, operationalBase: import_models2.struct });
264
264
  }
265
+ get owner() {
266
+ return this;
267
+ }
265
268
  }
266
269
  ((ClassSemantics2) => {
267
270
  ClassSemantics2.extend = /* @__PURE__ */ Symbol("extend");
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/decoration/semantics/ClassSemantics.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["import_models", "metadata", "ClassSemantics"]
6
6
  }
@@ -10,7 +10,10 @@ import { Semantics } from "./Semantics.js";
10
10
  * Decorator metadata associated with a specific class field.
11
11
  */
12
12
  export declare class FieldSemantics extends Semantics {
13
+ #private;
13
14
  constructor(owner: ClassSemantics, name: string);
15
+ get owner(): ClassSemantics;
16
+ get semanticModel(): Model<import("../../index.js").BaseElement, Model<import("../../index.js").BaseElement, any>> | undefined;
14
17
  protected createModel(): Model;
15
18
  protected integrateModel(model: Model): Model;
16
19
  static of(source: FieldSemantics.Source): FieldSemantics;
@@ -1 +1 @@
1
- {"version":3,"file":"FieldSemantics.d.ts","sourceRoot":"","sources":["../../../../src/decoration/semantics/FieldSemantics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;GAEG;AACH,qBAAa,cAAe,SAAQ,SAAS;gBAC7B,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM;cAM5B,WAAW,IAAI,KAAK;cAKpB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;WAQtC,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM;CAQnD;AAED,yBAAiB,cAAc,CAAC;IAC5B,KAAY,MAAM,GAAG,gBAAgB,CAAC;CACzC"}
1
+ {"version":3,"file":"FieldSemantics.d.ts","sourceRoot":"","sources":["../../../../src/decoration/semantics/FieldSemantics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;GAEG;AACH,qBAAa,cAAe,SAAQ,SAAS;;gBAG7B,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM;IAO/C,IAAI,KAAK,mBAER;IAED,IAAI,aAAa,8GAEhB;cAEkB,WAAW,IAAI,KAAK;cAKpB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;WAQtC,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM;CAQnD;AAED,yBAAiB,cAAc,CAAC;IAC5B,KAAY,MAAM,GAAG,gBAAgB,CAAC;CACzC"}
@@ -31,10 +31,18 @@ var import_Semantics = require("./Semantics.js");
31
31
  * SPDX-License-Identifier: Apache-2.0
32
32
  */
33
33
  class FieldSemantics extends import_Semantics.Semantics {
34
+ #owner;
34
35
  constructor(owner, name) {
35
36
  super();
37
+ this.#owner = owner;
36
38
  this.mutableModel = new import_FieldModel.FieldModel({ name, parent: owner.mutableModel });
37
39
  }
40
+ get owner() {
41
+ return this.#owner;
42
+ }
43
+ get semanticModel() {
44
+ return this.localModel;
45
+ }
38
46
  createModel() {
39
47
  throw new import_general.InternalError("Unexpected FieldSemantics.createModel");
40
48
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/decoration/semantics/FieldSemantics.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,oBAAqC;AACrC,qBAA8B;AAC9B,wBAA2B;AAG3B,uBAA0B;AAX1B;AAAA;AAAA;AAAA;AAAA;AAgBO,MAAM,uBAAuB,2BAAU;AAAA,EAC1C,YAAY,OAAuB,MAAc;AAC7C,UAAM;AAEN,SAAK,eAAe,IAAI,6BAAW,EAAE,MAAM,QAAQ,MAAM,aAAa,CAAC;AAAA,EAC3E;AAAA,EAEmB,cAAqB;AAEpC,UAAM,IAAI,6BAAc,uCAAuC;AAAA,EACnE;AAAA,EAEmB,eAAe,OAAqB;AACnD,QAAI,KAAK,eAAe,QAAW;AAC/B,aAAO;AAAA,IACX;AACA,SAAK,aAAa,kBAAkB;AACpC,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,OAAgB,GAAG,QAA+B;AAC9C,QAAI,OAAO,SAAS,SAAS;AACzB,YAAM,IAAI;AAAA,QACN,uDAAuD,OAAO,QAAQ,oBAAoB;AAAA,MAC9F;AAAA,IACJ;AACA,WAAO,2BAAU,QAAQ,MAAM,EAAE,SAAS,OAAO,IAAI;AAAA,EACzD;AACJ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,oBAAqC;AACrC,qBAA8B;AAC9B,wBAA2B;AAG3B,uBAA0B;AAX1B;AAAA;AAAA;AAAA;AAAA;AAgBO,MAAM,uBAAuB,2BAAU;AAAA,EAC1C;AAAA,EAEA,YAAY,OAAuB,MAAc;AAC7C,UAAM;AACN,SAAK,SAAS;AAEd,SAAK,eAAe,IAAI,6BAAW,EAAE,MAAM,QAAQ,MAAM,aAAa,CAAC;AAAA,EAC3E;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,gBAAgB;AAChB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEmB,cAAqB;AAEpC,UAAM,IAAI,6BAAc,uCAAuC;AAAA,EACnE;AAAA,EAEmB,eAAe,OAAqB;AACnD,QAAI,KAAK,eAAe,QAAW;AAC/B,aAAO;AAAA,IACX;AACA,SAAK,aAAa,kBAAkB;AACpC,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,OAAgB,GAAG,QAA+B;AAC9C,QAAI,OAAO,SAAS,SAAS;AACzB,YAAM,IAAI;AAAA,QACN,uDAAuD,OAAO,QAAQ,oBAAoB;AAAA,MAC9F;AAAA,IACJ;AACA,WAAO,2BAAU,QAAQ,MAAM,EAAE,SAAS,OAAO,IAAI;AAAA,EACzD;AACJ;",
5
5
  "names": []
6
6
  }
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import type { Model } from "#models/Model.js";
7
7
  import type { ClassSemantics } from "./ClassSemantics.js";
8
+ import type { FieldSemantics } from "./FieldSemantics.js";
8
9
  /**
9
10
  * Base class for Matter semantics associated with JavaScript classes and properties.
10
11
  *
@@ -13,6 +14,7 @@ import type { ClassSemantics } from "./ClassSemantics.js";
13
14
  */
14
15
  export declare abstract class Semantics {
15
16
  #private;
17
+ response?: FieldSemantics;
16
18
  /**
17
19
  * Determine whether these semantics are final.
18
20
  *
@@ -53,13 +55,15 @@ export declare abstract class Semantics {
53
55
  */
54
56
  get modelType(): Model.Type | undefined;
55
57
  set modelType(type: Model.ConcreteType);
58
+ abstract owner: ClassSemantics;
59
+ abstract semanticModel?: Model;
56
60
  protected abstract createModel(type?: Model.ConcreteType): Model;
57
61
  }
58
62
  export declare namespace Semantics {
59
63
  /**
60
64
  * Access the {@link Semantics} of a {@link DecoratorContext}.
61
65
  */
62
- function of(context: DecoratorContext): import("./FieldSemantics.js").FieldSemantics | ClassSemantics;
66
+ function of(context: DecoratorContext): FieldSemantics | ClassSemantics;
63
67
  /**
64
68
  * Access the {@link ClassSemantics} of a constructor or decorator context.
65
69
  */
@@ -1 +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"}
1
+ {"version":3,"file":"Semantics.d.ts","sourceRoot":"","sources":["../../../../src/decoration/semantics/Semantics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D;;;;;GAKG;AACH,8BAAsB,SAAS;;IAI3B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B;;;;OAIG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,QAAQ;IAuBR;;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,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;IAC/B,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,mCAM3C;IAED;;OAEG;IAEI,IAAI,OAAO,GAAI,SAAS,cAAc,CAAC,MAAM,KAAG,cAGtD,CAAC;CACL"}
@@ -33,6 +33,7 @@ __export(Semantics_exports, {
33
33
  module.exports = __toCommonJS(Semantics_exports);
34
34
  var import_errors = require("#decoration/errors.js");
35
35
  var import_general = require("#general");
36
+ var import_CommandModel = require("#models/CommandModel.js");
36
37
  var models = __toESM(require("#standard/elements/models.js"), 1);
37
38
  /**
38
39
  * @license
@@ -43,6 +44,7 @@ const standardModels = new Set(Object.values(models));
43
44
  class Semantics {
44
45
  #localModel;
45
46
  #isFinal = false;
47
+ response;
46
48
  /**
47
49
  * Determine whether these semantics are final.
48
50
  *
@@ -58,6 +60,16 @@ class Semantics {
58
60
  if (this.#isFinal) {
59
61
  return;
60
62
  }
63
+ if (this.response && this.semanticModel instanceof import_CommandModel.CommandModel) {
64
+ this.response.finalize();
65
+ const response = this.response.localModel;
66
+ if (response) {
67
+ if (response.id === void 0) {
68
+ response.id = this.semanticModel.id;
69
+ }
70
+ this.mutableModel.operationalResponse = this.response.localModel;
71
+ }
72
+ }
61
73
  this.#isFinal = true;
62
74
  Object.freeze(this);
63
75
  this.#localModel?.finalize();
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/decoration/semantics/Semantics.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,oBAAsC;AACtC,qBAA8B;AAE9B,aAAwB;AATxB;AAAA;AAAA;AAAA;AAAA;AAYA,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,oCAAsB,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,oCAAsB,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,6BAAc,uCAAuC;AAAA,EACnE;AAAA,GAnBa;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,oBAAsC;AACtC,qBAA8B;AAC9B,0BAA6B;AAE7B,aAAwB;AAVxB;AAAA;AAAA;AAAA;AAAA;AAcA,MAAM,iBAAiB,IAAI,IAAI,OAAO,OAAO,MAAM,CAAY;AAQxD,MAAe,UAAU;AAAA,EAC5B;AAAA,EACA,WAAW;AAAA,EAEX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,IAAI,UAAmB;AACnB,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW;AACP,QAAI,KAAK,UAAU;AACf;AAAA,IACJ;AAEA,QAAI,KAAK,YAAY,KAAK,yBAAyB,kCAAc;AAC7D,WAAK,SAAS,SAAS;AAEvB,YAAM,WAAW,KAAK,SAAS;AAC/B,UAAI,UAAU;AACV,YAAI,SAAS,OAAO,QAAW;AAE3B,mBAAS,KAAK,KAAK,cAAc;AAAA,QACrC;AACA,QAAC,KAAK,aAA8B,sBAAsB,KAAK,SAAS;AAAA,MAC5E;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,oCAAsB,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,oCAAsB,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;AAKJ;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,6BAAc,uCAAuC;AAAA,EACnE;AAAA,GAnBa;",
5
5
  "names": ["Semantics"]
6
6
  }
@@ -10,9 +10,11 @@ export declare class CommandModel extends ValueModel<CommandElement> implements
10
10
  tag: CommandElement.Tag;
11
11
  direction?: CommandElement.Direction;
12
12
  response?: string;
13
+ operationalResponse?: CommandModel | null;
13
14
  get fabricScoped(): boolean;
14
15
  get isRequest(): boolean;
15
16
  get isResponse(): boolean;
17
+ set isResponse(isResponse: boolean);
16
18
  get responseModel(): CommandModel | undefined;
17
19
  get effectiveDirection(): CommandElement.Direction | undefined;
18
20
  get requiredFields(): {
@@ -43,9 +45,15 @@ export declare class CommandModel extends ValueModel<CommandElement> implements
43
45
  * direction.
44
46
  */
45
47
  get discriminator(): CommandElement.Direction;
46
- constructor(definition: Model.Definition<CommandModel>, ...children: Model.ChildDefinition<CommandModel>[]);
48
+ constructor(definition: CommandModel.Definition, ...children: Model.ChildDefinition<CommandModel>[]);
47
49
  toElement(omitResources?: boolean, extra?: Record<string, unknown>): CommandElement;
50
+ finalize(): void;
48
51
  static Tag: import("../index.js").ElementTag;
49
52
  static requiresId: boolean;
50
53
  }
54
+ export declare namespace CommandModel {
55
+ type Definition = Model.Definition<CommandModel> & {
56
+ operationalResponse?: CommandModel;
57
+ };
58
+ }
51
59
  //# 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;IAChC,MAAM,CAAC,UAAU,UAAQ;CAC5B"}
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,mBAAmB,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAE1C,IAAI,YAAY,YAEf;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,UAAU,IAIa,OAAO,CAFjC;IAED,IAAI,UAAU,CAAC,UAAU,EAAE,OAAO,EAEjC;IAED,IAAI,aAAa,6BAWhB;IAED,IAAI,kBAAkB,yCAErB;IAED,IAAa,cAAc;;;;;;;;;;;;;;;;;;;;;;MAE1B;IAED;;;OAGG;IACH,IAAa,aAAa,6BAWzB;gBAEW,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE;IAQ1F,SAAS,CAAC,aAAa,UAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQhE,QAAQ;IAWjB,MAAM,CAAC,GAAG,mCAAsB;IAChC,MAAM,CAAC,UAAU,UAAQ;CAC5B;AAED,yBAAiB,YAAY,CAAC;IAC1B,KAAY,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG;QAAE,mBAAmB,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC;CACpG"}
@@ -33,6 +33,7 @@ class CommandModel extends import_ValueModel.ValueModel {
33
33
  tag = import_elements.CommandElement.Tag;
34
34
  direction;
35
35
  response;
36
+ operationalResponse;
36
37
  get fabricScoped() {
37
38
  return !!this.effectiveAccess.fabric;
38
39
  }
@@ -42,8 +43,18 @@ class CommandModel extends import_ValueModel.ValueModel {
42
43
  get isResponse() {
43
44
  return this.effectiveDirection === import_elements.CommandElement.Direction.Response;
44
45
  }
46
+ set isResponse(isResponse) {
47
+ this.direction = isResponse ? import_elements.CommandElement.Direction.Response : import_elements.CommandElement.Direction.Request;
48
+ }
45
49
  get responseModel() {
46
- return new import_ModelTraversal.ModelTraversal().findResponse(this);
50
+ switch (this.operationalResponse) {
51
+ case void 0:
52
+ return new import_ModelTraversal.ModelTraversal().findResponse(this);
53
+ case null:
54
+ return void 0;
55
+ default:
56
+ return this.operationalResponse;
57
+ }
47
58
  }
48
59
  get effectiveDirection() {
49
60
  return this.direction ?? this.base?.direction;
@@ -68,6 +79,7 @@ class CommandModel extends import_ValueModel.ValueModel {
68
79
  super(definition, ...children);
69
80
  this.direction = definition.direction;
70
81
  this.response = definition.response;
82
+ this.operationalResponse = definition.operationalResponse;
71
83
  }
72
84
  toElement(omitResources = false, extra) {
73
85
  return super.toElement(omitResources, {
@@ -76,6 +88,14 @@ class CommandModel extends import_ValueModel.ValueModel {
76
88
  ...extra
77
89
  });
78
90
  }
91
+ finalize() {
92
+ if (this.isFinal) {
93
+ return;
94
+ }
95
+ const operationalResponse = this.operationalResponse ?? (this.operationalResponse = this.responseModel ?? null);
96
+ operationalResponse?.finalize();
97
+ super.finalize();
98
+ }
79
99
  static Tag = import_elements.CommandElement.Tag;
80
100
  static requiresId = true;
81
101
  }
@@ -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,sBAA+B;AAC/B,4BAA+B;AAE/B,wBAA2B;AAT3B;AAAA;AAAA;AAAA;AAAA;AAWO,MAAM,qBAAqB,6BAAqD;AAAA,EAC1E,MAA0B,+BAAe;AAAA,EAClD;AAAA,EACA;AAAA,EAEA,IAAI,eAAe;AACf,WAAO,CAAC,CAAC,KAAK,gBAAgB;AAAA,EAClC;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK,uBAAuB,+BAAe,UAAU;AAAA,EAChE;AAAA,EAEA,IAAI,aAAa;AACb,WAAO,KAAK,uBAAuB,+BAAe,UAAU;AAAA,EAChE;AAAA,EAEA,IAAI,gBAAgB;AAChB,WAAO,IAAI,qCAAe,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,+BAAe,UAAU;AAAA,MACpC;AACA,aAAO,+BAAe,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,+BAAe;AAAA,EAC5B,OAAO,aAAa;AACxB;AAEA,aAAa,SAAS;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,sBAA+B;AAC/B,4BAA+B;AAE/B,wBAA2B;AAT3B;AAAA;AAAA;AAAA;AAAA;AAWO,MAAM,qBAAqB,6BAAqD;AAAA,EAC1E,MAA0B,+BAAe;AAAA,EAClD;AAAA,EACA;AAAA,EAEA;AAAA,EAEA,IAAI,eAAe;AACf,WAAO,CAAC,CAAC,KAAK,gBAAgB;AAAA,EAClC;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK,uBAAuB,+BAAe,UAAU;AAAA,EAChE;AAAA,EAEA,IAAI,aAAa;AACb,WAAO,KAAK,uBAAuB,+BAAe,UAAU;AAAA,EAChE;AAAA,EAEA,IAAI,WAAW,YAAqB;AAChC,SAAK,YAAY,aAAa,+BAAe,UAAU,WAAW,+BAAe,UAAU;AAAA,EAC/F;AAAA,EAEA,IAAI,gBAAgB;AAChB,YAAQ,KAAK,qBAAqB;AAAA,MAC9B,KAAK;AACD,eAAO,IAAI,qCAAe,EAAE,aAAa,IAAI;AAAA,MAEjD,KAAK;AACD,eAAO;AAAA,MAEX;AACI,eAAO,KAAK;AAAA,IACpB;AAAA,EACJ;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,+BAAe,UAAU;AAAA,MACpC;AACA,aAAO,+BAAe,UAAU;AAAA,IACpC;AAEA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,YAAY,eAAwC,UAAiD;AACjG,UAAM,YAAY,GAAG,QAAQ;AAE7B,SAAK,YAAY,WAAW;AAC5B,SAAK,WAAW,WAAW;AAC3B,SAAK,sBAAsB,WAAW;AAAA,EAC1C;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,EAES,WAAW;AAChB,QAAI,KAAK,SAAS;AACd;AAAA,IACJ;AAEA,UAAM,sBAAsB,KAAK,wBAAwB,KAAK,sBAAsB,KAAK,iBAAiB;AAC1G,yBAAqB,SAAS;AAE9B,UAAM,SAAS;AAAA,EACnB;AAAA,EAEA,OAAO,MAAM,+BAAe;AAAA,EAC5B,OAAO,aAAa;AACxB;AAMA,aAAa,SAAS;",
5
5
  "names": []
6
6
  }
@@ -8,7 +8,7 @@ import { Model } from "#models/Model.js";
8
8
  /**
9
9
  * Decorate a class or field as a specific Matter element type.
10
10
  */
11
- export declare function element<T extends Decorator.Collector | Decorator.ClassCollector | Decorator.PropertyCollector | Decorator.MethodCollector>(kind: Model.ConcreteType, ...modifiers: element.Modifier<T>[]): T;
11
+ export declare function element<T extends Decorator.Collector | Decorator.ClassCollector | Decorator.PropertyCollector | Decorator.MethodCollector>(kind: element.ElementKind, ...modifiers: element.Modifier<T>[]): T;
12
12
  export declare namespace element {
13
13
  /**
14
14
  * Create a property decorator for a specific element type.
@@ -36,5 +36,14 @@ export declare namespace element {
36
36
  * * A string sets the {@link Model#name} of {@link Semantics#localModel}
37
37
  */
38
38
  type Modifier<T extends Decorator.Collector | Decorator.ClassCollector | Decorator.PropertyCollector | Decorator.MethodCollector> = Model.ConcreteType | Model | NewableFunction | number | string | T;
39
+ /**
40
+ * Specifies the type of model associated with an element.
41
+ *
42
+ * This is a concrete model class except in the case of responses which we special case to differentiate between
43
+ * commands a responses.
44
+ */
45
+ type ElementKind = Model.ConcreteType | {
46
+ Tag: "response";
47
+ };
39
48
  }
40
49
  //# sourceMappingURL=element.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../../../src/decoration/decorators/element.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC;;GAEG;AACH,wBAAgB,OAAO,CACnB,CAAC,SAAS,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,iBAAiB,GAAG,SAAS,CAAC,eAAe,EACpH,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,GAAG,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GA+DrD,CAAC,CACV;AAED,yBAAiB,OAAO,CAAC;IACrB;;OAEG;IACH,SAAgB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,IACrC,GAAG,WAAW,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,iCAGhE;IAED;;OAEG;IACH,SAAgB,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,IAClC,GAAG,WAAW,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,8BAG7D;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAY,QAAQ,CAChB,CAAC,SACK,SAAS,CAAC,SAAS,GACnB,SAAS,CAAC,cAAc,GACxB,SAAS,CAAC,iBAAiB,GAC3B,SAAS,CAAC,eAAe,IAC/B,KAAK,CAAC,YAAY,GAAG,KAAK,GAAG,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;CAC1E"}
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../../../src/decoration/decorators/element.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC;;GAEG;AACH,wBAAgB,OAAO,CACnB,CAAC,SAAS,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,iBAAiB,GAAG,SAAS,CAAC,eAAe,EACpH,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GA6FtD,CAAC,CACV;AAED,yBAAiB,OAAO,CAAC;IACrB;;OAEG;IACH,SAAgB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,IACrC,GAAG,WAAW,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,iCAGhE;IAED;;OAEG;IACH,SAAgB,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,IAClC,GAAG,WAAW,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,8BAG7D;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAY,QAAQ,CAChB,CAAC,SACK,SAAS,CAAC,SAAS,GACnB,SAAS,CAAC,cAAc,GACxB,SAAS,CAAC,iBAAiB,GAC3B,SAAS,CAAC,eAAe,IAC/B,KAAK,CAAC,YAAY,GAAG,KAAK,GAAG,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;IAEvE;;;;;OAKG;IACH,KAAY,WAAW,GAAG,KAAK,CAAC,YAAY,GAAG;QAAE,GAAG,EAAE,UAAU,CAAA;KAAE,CAAC;CACtE"}