@matter/model 0.16.0-alpha.0-20251016-b56cf5683 → 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.
- package/dist/cjs/common/Metatype.d.ts +1 -1
- package/dist/cjs/decoration/decorators/attribute.d.ts +11 -0
- package/dist/cjs/decoration/decorators/attribute.d.ts.map +1 -0
- package/dist/cjs/decoration/decorators/attribute.js +32 -0
- package/dist/cjs/decoration/decorators/attribute.js.map +6 -0
- package/dist/cjs/decoration/decorators/cluster.d.ts +11 -0
- package/dist/cjs/decoration/decorators/cluster.d.ts.map +1 -0
- package/dist/cjs/decoration/decorators/cluster.js +32 -0
- package/dist/cjs/decoration/decorators/cluster.js.map +6 -0
- package/dist/cjs/decoration/decorators/command.d.ts +12 -0
- package/dist/cjs/decoration/decorators/command.d.ts.map +1 -0
- package/dist/cjs/decoration/decorators/command.js +34 -0
- package/dist/cjs/decoration/decorators/command.js.map +6 -0
- package/dist/cjs/decoration/decorators/datatype.d.ts +11 -0
- package/dist/cjs/decoration/decorators/datatype.d.ts.map +1 -0
- package/dist/cjs/decoration/decorators/datatype.js +32 -0
- package/dist/cjs/decoration/decorators/datatype.js.map +6 -0
- package/dist/cjs/decoration/decorators/element.d.ts +40 -0
- package/dist/cjs/decoration/decorators/element.d.ts.map +1 -0
- package/dist/cjs/decoration/decorators/element.js +101 -0
- package/dist/cjs/decoration/decorators/element.js.map +6 -0
- package/dist/cjs/decoration/decorators/event.d.ts +14 -0
- package/dist/cjs/decoration/decorators/event.d.ts.map +1 -0
- package/dist/cjs/decoration/decorators/event.js +32 -0
- package/dist/cjs/decoration/decorators/event.js.map +6 -0
- package/dist/cjs/decoration/decorators/field.d.ts +14 -0
- package/dist/cjs/decoration/decorators/field.d.ts.map +1 -0
- package/dist/cjs/decoration/decorators/field.js +32 -0
- package/dist/cjs/decoration/decorators/field.js.map +6 -0
- package/dist/cjs/decoration/decorators/index.d.ts +16 -0
- package/dist/cjs/decoration/decorators/index.d.ts.map +1 -0
- package/dist/cjs/decoration/decorators/index.js +33 -0
- package/dist/cjs/decoration/decorators/index.js.map +6 -0
- package/dist/cjs/decoration/decorators/listOf.d.ts +12 -0
- package/dist/cjs/decoration/decorators/listOf.d.ts.map +1 -0
- package/dist/cjs/decoration/decorators/listOf.js +47 -0
- package/dist/cjs/decoration/decorators/listOf.js.map +6 -0
- package/dist/cjs/decoration/decorators/mandatory.d.ts +11 -0
- package/dist/cjs/decoration/decorators/mandatory.d.ts.map +1 -0
- package/dist/cjs/decoration/decorators/mandatory.js +41 -0
- package/dist/cjs/decoration/decorators/mandatory.js.map +6 -0
- package/dist/cjs/decoration/decorators/nonvolatile.d.ts +11 -0
- package/dist/cjs/decoration/decorators/nonvolatile.d.ts.map +1 -0
- package/dist/cjs/decoration/decorators/nonvolatile.js +41 -0
- package/dist/cjs/decoration/decorators/nonvolatile.js.map +6 -0
- package/dist/cjs/decoration/decorators/nullable.d.ts +11 -0
- package/dist/cjs/decoration/decorators/nullable.d.ts.map +1 -0
- package/dist/cjs/decoration/decorators/nullable.js +41 -0
- package/dist/cjs/decoration/decorators/nullable.js.map +6 -0
- package/dist/cjs/decoration/decorators/response.d.ts +12 -0
- package/dist/cjs/decoration/decorators/response.d.ts.map +1 -0
- package/dist/cjs/decoration/decorators/response.js +49 -0
- package/dist/cjs/decoration/decorators/response.js.map +6 -0
- package/dist/cjs/decoration/errors.d.ts +29 -0
- package/dist/cjs/decoration/errors.d.ts.map +1 -0
- package/dist/cjs/decoration/errors.js +44 -0
- package/dist/cjs/decoration/errors.js.map +6 -0
- package/dist/cjs/decoration/index.d.ts +9 -0
- package/dist/cjs/decoration/index.d.ts.map +1 -0
- package/dist/cjs/decoration/index.js +26 -0
- package/dist/cjs/decoration/index.js.map +6 -0
- package/dist/cjs/decoration/semantics/ClassSemantics.d.ts +84 -0
- package/dist/cjs/decoration/semantics/ClassSemantics.d.ts.map +1 -0
- package/dist/cjs/decoration/semantics/ClassSemantics.js +266 -0
- package/dist/cjs/decoration/semantics/ClassSemantics.js.map +6 -0
- package/dist/cjs/decoration/semantics/FieldSemantics.d.ts +21 -0
- package/dist/cjs/decoration/semantics/FieldSemantics.d.ts.map +1 -0
- package/dist/cjs/decoration/semantics/FieldSemantics.js +57 -0
- package/dist/cjs/decoration/semantics/FieldSemantics.js.map +6 -0
- package/dist/cjs/decoration/semantics/Semantics.d.ts +68 -0
- package/dist/cjs/decoration/semantics/Semantics.d.ts.map +1 -0
- package/dist/cjs/decoration/semantics/Semantics.js +156 -0
- package/dist/cjs/decoration/semantics/Semantics.js.map +6 -0
- package/dist/cjs/decoration/semantics/index.d.ts +9 -0
- package/dist/cjs/decoration/semantics/index.d.ts.map +1 -0
- package/dist/cjs/decoration/semantics/index.js +26 -0
- package/dist/cjs/decoration/semantics/index.js.map +6 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/models/AttributeModel.d.ts +1 -0
- package/dist/cjs/models/AttributeModel.d.ts.map +1 -1
- package/dist/cjs/models/AttributeModel.js +1 -0
- package/dist/cjs/models/AttributeModel.js.map +1 -1
- package/dist/cjs/models/Children.js +3 -3
- package/dist/cjs/models/Children.js.map +1 -1
- package/dist/cjs/models/CommandModel.d.ts +1 -0
- package/dist/cjs/models/CommandModel.d.ts.map +1 -1
- package/dist/cjs/models/CommandModel.js +1 -0
- package/dist/cjs/models/CommandModel.js.map +1 -1
- package/dist/cjs/models/EventModel.d.ts +1 -0
- package/dist/cjs/models/EventModel.d.ts.map +1 -1
- package/dist/cjs/models/EventModel.js +1 -0
- package/dist/cjs/models/EventModel.js.map +1 -1
- package/dist/cjs/models/Globals.d.ts +1 -1
- package/dist/cjs/models/Model.d.ts +12 -3
- package/dist/cjs/models/Model.d.ts.map +1 -1
- package/dist/cjs/models/Model.js +16 -10
- package/dist/cjs/models/Model.js.map +1 -1
- package/dist/cjs/models/Schema.d.ts +14 -0
- package/dist/cjs/models/Schema.d.ts.map +1 -1
- package/dist/cjs/models/Schema.js +29 -1
- package/dist/cjs/models/Schema.js.map +1 -1
- package/dist/cjs/models/ScopeModel.d.ts +1 -1
- package/dist/cjs/models/ScopeModel.d.ts.map +1 -1
- package/dist/cjs/models/ScopeModel.js +2 -2
- package/dist/cjs/models/ScopeModel.js.map +1 -1
- package/dist/cjs/standard/elements/definitions.d.ts +1 -1
- package/dist/cjs/standard/elements/definitions.js +1 -1
- package/dist/cjs/standard/elements/{interval.element.d.ts → duration.element.d.ts} +1 -1
- package/dist/cjs/standard/elements/duration.element.d.ts.map +1 -0
- package/dist/cjs/standard/elements/{interval.element.js → duration.element.js} +4 -4
- package/dist/cjs/standard/elements/{interval.element.js.map → duration.element.js.map} +1 -1
- package/dist/cjs/standard/elements/models.d.ts +1 -1
- package/dist/cjs/standard/elements/models.js +2 -2
- package/dist/esm/common/Metatype.d.ts +1 -1
- package/dist/esm/decoration/decorators/attribute.d.ts +11 -0
- package/dist/esm/decoration/decorators/attribute.d.ts.map +1 -0
- package/dist/esm/decoration/decorators/attribute.js +12 -0
- package/dist/esm/decoration/decorators/attribute.js.map +6 -0
- package/dist/esm/decoration/decorators/cluster.d.ts +11 -0
- package/dist/esm/decoration/decorators/cluster.d.ts.map +1 -0
- package/dist/esm/decoration/decorators/cluster.js +12 -0
- package/dist/esm/decoration/decorators/cluster.js.map +6 -0
- package/dist/esm/decoration/decorators/command.d.ts +12 -0
- package/dist/esm/decoration/decorators/command.d.ts.map +1 -0
- package/dist/esm/decoration/decorators/command.js +14 -0
- package/dist/esm/decoration/decorators/command.js.map +6 -0
- package/dist/esm/decoration/decorators/datatype.d.ts +11 -0
- package/dist/esm/decoration/decorators/datatype.d.ts.map +1 -0
- package/dist/esm/decoration/decorators/datatype.js +12 -0
- package/dist/esm/decoration/decorators/datatype.js.map +6 -0
- package/dist/esm/decoration/decorators/element.d.ts +40 -0
- package/dist/esm/decoration/decorators/element.d.ts.map +1 -0
- package/dist/esm/decoration/decorators/element.js +81 -0
- package/dist/esm/decoration/decorators/element.js.map +6 -0
- package/dist/esm/decoration/decorators/event.d.ts +14 -0
- package/dist/esm/decoration/decorators/event.d.ts.map +1 -0
- package/dist/esm/decoration/decorators/event.js +12 -0
- package/dist/esm/decoration/decorators/event.js.map +6 -0
- package/dist/esm/decoration/decorators/field.d.ts +14 -0
- package/dist/esm/decoration/decorators/field.d.ts.map +1 -0
- package/dist/esm/decoration/decorators/field.js +12 -0
- package/dist/esm/decoration/decorators/field.js.map +6 -0
- package/dist/esm/decoration/decorators/index.d.ts +16 -0
- package/dist/esm/decoration/decorators/index.d.ts.map +1 -0
- package/dist/esm/decoration/decorators/index.js +16 -0
- package/dist/esm/decoration/decorators/index.js.map +6 -0
- package/dist/esm/decoration/decorators/listOf.d.ts +12 -0
- package/dist/esm/decoration/decorators/listOf.d.ts.map +1 -0
- package/dist/esm/decoration/decorators/listOf.js +27 -0
- package/dist/esm/decoration/decorators/listOf.js.map +6 -0
- package/dist/esm/decoration/decorators/mandatory.d.ts +11 -0
- package/dist/esm/decoration/decorators/mandatory.d.ts.map +1 -0
- package/dist/esm/decoration/decorators/mandatory.js +21 -0
- package/dist/esm/decoration/decorators/mandatory.js.map +6 -0
- package/dist/esm/decoration/decorators/nonvolatile.d.ts +11 -0
- package/dist/esm/decoration/decorators/nonvolatile.d.ts.map +1 -0
- package/dist/esm/decoration/decorators/nonvolatile.js +21 -0
- package/dist/esm/decoration/decorators/nonvolatile.js.map +6 -0
- package/dist/esm/decoration/decorators/nullable.d.ts +11 -0
- package/dist/esm/decoration/decorators/nullable.d.ts.map +1 -0
- package/dist/esm/decoration/decorators/nullable.js +21 -0
- package/dist/esm/decoration/decorators/nullable.js.map +6 -0
- package/dist/esm/decoration/decorators/response.d.ts +12 -0
- package/dist/esm/decoration/decorators/response.d.ts.map +1 -0
- package/dist/esm/decoration/decorators/response.js +29 -0
- package/dist/esm/decoration/decorators/response.js.map +6 -0
- package/dist/esm/decoration/errors.d.ts +29 -0
- package/dist/esm/decoration/errors.d.ts.map +1 -0
- package/dist/esm/decoration/errors.js +24 -0
- package/dist/esm/decoration/errors.js.map +6 -0
- package/dist/esm/decoration/index.d.ts +9 -0
- package/dist/esm/decoration/index.d.ts.map +1 -0
- package/dist/esm/decoration/index.js +9 -0
- package/dist/esm/decoration/index.js.map +6 -0
- package/dist/esm/decoration/semantics/ClassSemantics.d.ts +84 -0
- package/dist/esm/decoration/semantics/ClassSemantics.d.ts.map +1 -0
- package/dist/esm/decoration/semantics/ClassSemantics.js +246 -0
- package/dist/esm/decoration/semantics/ClassSemantics.js.map +6 -0
- package/dist/esm/decoration/semantics/FieldSemantics.d.ts +21 -0
- package/dist/esm/decoration/semantics/FieldSemantics.d.ts.map +1 -0
- package/dist/esm/decoration/semantics/FieldSemantics.js +37 -0
- package/dist/esm/decoration/semantics/FieldSemantics.js.map +6 -0
- package/dist/esm/decoration/semantics/Semantics.d.ts +68 -0
- package/dist/esm/decoration/semantics/Semantics.d.ts.map +1 -0
- package/dist/esm/decoration/semantics/Semantics.js +126 -0
- package/dist/esm/decoration/semantics/Semantics.js.map +6 -0
- package/dist/esm/decoration/semantics/index.d.ts +9 -0
- package/dist/esm/decoration/semantics/index.d.ts.map +1 -0
- package/dist/esm/decoration/semantics/index.js +9 -0
- package/dist/esm/decoration/semantics/index.js.map +6 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/models/AttributeModel.d.ts +1 -0
- package/dist/esm/models/AttributeModel.d.ts.map +1 -1
- package/dist/esm/models/AttributeModel.js +1 -0
- package/dist/esm/models/AttributeModel.js.map +1 -1
- package/dist/esm/models/Children.js +3 -3
- package/dist/esm/models/Children.js.map +1 -1
- package/dist/esm/models/CommandModel.d.ts +1 -0
- package/dist/esm/models/CommandModel.d.ts.map +1 -1
- package/dist/esm/models/CommandModel.js +1 -0
- package/dist/esm/models/CommandModel.js.map +1 -1
- package/dist/esm/models/EventModel.d.ts +1 -0
- package/dist/esm/models/EventModel.d.ts.map +1 -1
- package/dist/esm/models/EventModel.js +1 -0
- package/dist/esm/models/EventModel.js.map +1 -1
- package/dist/esm/models/Globals.d.ts +1 -1
- package/dist/esm/models/Model.d.ts +12 -3
- package/dist/esm/models/Model.d.ts.map +1 -1
- package/dist/esm/models/Model.js +16 -10
- package/dist/esm/models/Model.js.map +1 -1
- package/dist/esm/models/Schema.d.ts +14 -0
- package/dist/esm/models/Schema.d.ts.map +1 -1
- package/dist/esm/models/Schema.js +29 -1
- package/dist/esm/models/Schema.js.map +1 -1
- package/dist/esm/models/ScopeModel.d.ts +1 -1
- package/dist/esm/models/ScopeModel.d.ts.map +1 -1
- package/dist/esm/models/ScopeModel.js +2 -2
- package/dist/esm/models/ScopeModel.js.map +1 -1
- package/dist/esm/standard/elements/definitions.d.ts +1 -1
- package/dist/esm/standard/elements/definitions.js +1 -1
- package/dist/esm/standard/elements/{interval.element.d.ts → duration.element.d.ts} +1 -1
- package/dist/esm/standard/elements/duration.element.d.ts.map +1 -0
- package/dist/esm/standard/elements/{interval.element.js → duration.element.js} +1 -1
- package/dist/esm/standard/elements/{interval.element.js.map → duration.element.js.map} +1 -1
- package/dist/esm/standard/elements/models.d.ts +1 -1
- package/dist/esm/standard/elements/models.js +2 -2
- package/package.json +4 -4
- package/src/decoration/decorators/attribute.ts +13 -0
- package/src/decoration/decorators/cluster.ts +13 -0
- package/src/decoration/decorators/command.ts +16 -0
- package/src/decoration/decorators/datatype.ts +13 -0
- package/src/decoration/decorators/element.ts +128 -0
- package/src/decoration/decorators/event.ts +16 -0
- package/src/decoration/decorators/field.ts +16 -0
- package/src/decoration/decorators/index.ts +16 -0
- package/src/decoration/decorators/listOf.ts +30 -0
- package/src/decoration/decorators/mandatory.ts +22 -0
- package/src/decoration/decorators/nonvolatile.ts +22 -0
- package/src/decoration/decorators/nullable.ts +22 -0
- package/src/decoration/decorators/response.ts +34 -0
- package/src/decoration/errors.ts +29 -0
- package/src/decoration/index.ts +9 -0
- package/src/decoration/semantics/ClassSemantics.ts +374 -0
- package/src/decoration/semantics/FieldSemantics.ts +49 -0
- package/src/decoration/semantics/Semantics.ts +170 -0
- package/src/decoration/semantics/index.ts +9 -0
- package/src/index.ts +1 -0
- package/src/models/AttributeModel.ts +1 -0
- package/src/models/Children.ts +3 -3
- package/src/models/CommandModel.ts +1 -0
- package/src/models/EventModel.ts +1 -0
- package/src/models/Model.ts +34 -12
- package/src/models/Schema.ts +51 -0
- package/src/models/ScopeModel.ts +2 -2
- package/src/standard/elements/definitions.ts +1 -1
- package/src/standard/elements/models.ts +1 -1
- package/dist/cjs/standard/elements/interval.element.d.ts.map +0 -1
- package/dist/esm/standard/elements/interval.element.d.ts.map +0 -1
- /package/src/standard/elements/{interval.element.ts → duration.element.ts} +0 -0
|
@@ -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"]
|
|
6
6
|
}
|
|
@@ -5,8 +5,11 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { ClusterModel } from "#models/ClusterModel.js";
|
|
7
7
|
import { DatatypeModel } from "#models/DatatypeModel.js";
|
|
8
|
+
import type { Model } from "#models/Model.js";
|
|
8
9
|
import type { ValueModel } from "#models/ValueModel.js";
|
|
9
10
|
/**
|
|
11
|
+
* Matter data structure semantics
|
|
12
|
+
*
|
|
10
13
|
* Here we use the term "schema" to mean any model element that defines a datatype. For schema we allow any Matter
|
|
11
14
|
* model for such an element.
|
|
12
15
|
*
|
|
@@ -16,9 +19,20 @@ import type { ValueModel } from "#models/ValueModel.js";
|
|
|
16
19
|
* to JS objects and arrays respectively. Thus we tend to use struct/object and list/array interchangeably.
|
|
17
20
|
*
|
|
18
21
|
* If schema is a {@link ClusterModel}, it models a struct with attributes as fields.
|
|
22
|
+
*
|
|
23
|
+
* Schema is immutable and cannot change moving forward.
|
|
19
24
|
*/
|
|
20
25
|
export type Schema = ClusterModel | ValueModel;
|
|
26
|
+
/**
|
|
27
|
+
* Obtain {@link Schema} for a {@link Schema.Source} if present.
|
|
28
|
+
*/
|
|
29
|
+
export declare function Schema(source: Model.Source): Schema | undefined;
|
|
21
30
|
export declare namespace Schema {
|
|
31
|
+
/**
|
|
32
|
+
* Obtain {@link Schema} that is required for operation.
|
|
33
|
+
*/
|
|
34
|
+
function Required(source: Model.Source): Schema;
|
|
35
|
+
type Source = Schema | NewableFunction;
|
|
22
36
|
const empty: DatatypeModel;
|
|
23
37
|
}
|
|
24
38
|
//# sourceMappingURL=Schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/models/Schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/models/Schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAIxD;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,MAAM,GAAG,YAAY,GAAG,UAAU,CAAC;AAE/C;;GAEG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,sBAuB1C;AAED,yBAAiB,MAAM,CAAC;IACpB;;OAEG;IACH,SAAgB,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,UAQ5C;IAED,KAAY,MAAM,GAAG,MAAM,GAAG,eAAe,CAAC;IAEvC,MAAM,KAAK,eAAuD,CAAC;CAC7E"}
|
|
@@ -3,9 +3,37 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { ImplementationError } from "#general";
|
|
6
7
|
import { DatatypeModel } from "#models/DatatypeModel.js";
|
|
7
|
-
|
|
8
|
+
import { MissingMetadataError } from "../decoration/errors.js";
|
|
9
|
+
import { Semantics } from "../decoration/semantics/Semantics.js";
|
|
10
|
+
function Schema(source) {
|
|
11
|
+
let model;
|
|
12
|
+
if ("tag" in source) {
|
|
13
|
+
source.finalize();
|
|
14
|
+
model = source;
|
|
15
|
+
} else {
|
|
16
|
+
const semantics = Semantics.classOf(source);
|
|
17
|
+
semantics.finalize();
|
|
18
|
+
model = semantics.semanticModel;
|
|
19
|
+
}
|
|
20
|
+
if (!model) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (model.tag !== "cluster" && !model.isType) {
|
|
24
|
+
throw new ImplementationError(`Model ${model.name} tag ${model.tag} is not legal for schema`);
|
|
25
|
+
}
|
|
26
|
+
return model;
|
|
27
|
+
}
|
|
8
28
|
((Schema2) => {
|
|
29
|
+
function Required(source) {
|
|
30
|
+
const schema = Schema2(source);
|
|
31
|
+
if (schema === void 0) {
|
|
32
|
+
throw new MissingMetadataError(`Metadata missing for class ${source.name}`);
|
|
33
|
+
}
|
|
34
|
+
return schema;
|
|
35
|
+
}
|
|
36
|
+
Schema2.Required = Required;
|
|
9
37
|
Schema2.empty = new DatatypeModel({ name: "Empty", type: "struct" });
|
|
10
38
|
})(Schema || (Schema = {}));
|
|
11
39
|
export {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/models/Schema.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,2BAA2B;AAEpC,SAAS,qBAAqB;AAG9B,SAAS,4BAA4B;AACrC,SAAS,iBAAiB;AAsBnB,SAAS,OAAO,QAAsB;AACzC,MAAI;AACJ,MAAI,SAAS,QAAQ;AACjB,WAAO,SAAS;AAEhB,YAAQ;AAAA,EACZ,OAAO;AACH,UAAM,YAAY,UAAU,QAAQ,MAAM;AAE1C,cAAU,SAAS;AAEnB,YAAQ,UAAU;AAAA,EACtB;AAEA,MAAI,CAAC,OAAO;AACR;AAAA,EACJ;AAEA,MAAI,MAAM,QAAQ,aAAa,CAAC,MAAM,QAAQ;AAC1C,UAAM,IAAI,oBAAoB,SAAS,MAAM,IAAI,QAAQ,MAAM,GAAG,0BAA0B;AAAA,EAChG;AAEA,SAAO;AACX;AAAA,CAEO,CAAUA,YAAV;AAII,WAAS,SAAS,QAAsB;AAC3C,UAAM,SAASA,QAAO,MAAM;AAE5B,QAAI,WAAW,QAAW;AACtB,YAAM,IAAI,qBAAqB,8BAA8B,OAAO,IAAI,EAAE;AAAA,IAC9E;AAEA,WAAO;AAAA,EACX;AARO,EAAAA,QAAS;AAYT,EAAMA,QAAA,QAAQ,IAAI,cAAc,EAAE,MAAM,SAAS,MAAM,SAAS,CAAC;AAAA,GAhB3D;",
|
|
5
5
|
"names": ["Schema"]
|
|
6
6
|
}
|
|
@@ -18,7 +18,7 @@ export declare abstract class ScopeModel<T extends BaseElement = BaseElement, C
|
|
|
18
18
|
* Obtain the {@link Scope} for this model.
|
|
19
19
|
*/
|
|
20
20
|
get scope(): Scope;
|
|
21
|
-
|
|
21
|
+
finalize(): this;
|
|
22
22
|
static is(model: Model): model is ScopeModel;
|
|
23
23
|
static of(model: Model): ScopeModel<BaseElement, Model<BaseElement, any>>;
|
|
24
24
|
}
|
|
@@ -1 +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,CAC5B,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,CAAC,SAAS,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAC3C,SAAQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;;IAGjB,QAAQ,CAAC,OAAO,QAAQ;IAExB;;OAEG;IACH,IAAI,KAAK,UAKR;IAEQ,
|
|
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,CAC5B,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,CAAC,SAAS,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAC3C,SAAQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;;IAGjB,QAAQ,CAAC,OAAO,QAAQ;IAExB;;OAEG;IACH,IAAI,KAAK,UAKR;IAEQ,QAAQ;IAQjB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,UAAU;IAI5C,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK;CAazB"}
|
|
@@ -19,11 +19,11 @@ class ScopeModel extends Model {
|
|
|
19
19
|
}
|
|
20
20
|
return Scope(this);
|
|
21
21
|
}
|
|
22
|
-
|
|
22
|
+
finalize() {
|
|
23
23
|
if (!this.#operationalScope) {
|
|
24
24
|
this.#operationalScope = Scope(this);
|
|
25
25
|
}
|
|
26
|
-
super.
|
|
26
|
+
super.finalize();
|
|
27
27
|
return this;
|
|
28
28
|
}
|
|
29
29
|
static is(model) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
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,mBAGZ,MAAY;AAAA,EAClB;AAAA,EAES,UAAU;AAAA;AAAA;AAAA;AAAA,EAKnB,IAAI,QAAQ;AACR,QAAI,KAAK,sBAAsB,QAAW;AACtC,aAAO,KAAK;AAAA,IAChB;AACA,WAAO,MAAM,IAAI;AAAA,EACrB;AAAA,EAES,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,iCAAiC;AAE1C,SAAS,sBAAsB;AAC/B,SAAS,aAAa;AACtB,SAAS,aAAa;AAOf,MAAe,mBAGZ,MAAY;AAAA,EAClB;AAAA,EAES,UAAU;AAAA;AAAA;AAAA;AAAA,EAKnB,IAAI,QAAQ;AACR,QAAI,KAAK,sBAAsB,QAAW;AACtC,aAAO,KAAK;AAAA,IAChB;AACA,WAAO,MAAM,IAAI;AAAA,EACrB;AAAA,EAES,WAAW;AAChB,QAAI,CAAC,KAAK,mBAAmB;AACzB,WAAK,oBAAoB,MAAM,IAAI;AAAA,IACvC;AACA,UAAM,SAAS;AACf,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
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -208,7 +208,7 @@ export * from "./locationdesc.element.js";
|
|
|
208
208
|
export * from "./wildcard-path-flags-bitmap.element.js";
|
|
209
209
|
export * from "./software-version-certification-status-enum.element.js";
|
|
210
210
|
export * from "./any.element.js";
|
|
211
|
-
export * from "./
|
|
211
|
+
export * from "./duration.element.js";
|
|
212
212
|
export * from "./subject-id.element.js";
|
|
213
213
|
export * from "./cluster-revision.element.js";
|
|
214
214
|
export * from "./feature-map.element.js";
|
|
@@ -207,7 +207,7 @@ export * from "./locationdesc.element.js";
|
|
|
207
207
|
export * from "./wildcard-path-flags-bitmap.element.js";
|
|
208
208
|
export * from "./software-version-certification-status-enum.element.js";
|
|
209
209
|
export * from "./any.element.js";
|
|
210
|
-
export * from "./
|
|
210
|
+
export * from "./duration.element.js";
|
|
211
211
|
export * from "./subject-id.element.js";
|
|
212
212
|
export * from "./cluster-revision.element.js";
|
|
213
213
|
export * from "./feature-map.element.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duration.element.d.ts","sourceRoot":"","sources":["../../../../src/standard/elements/duration.element.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,eAAe,IAAI,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEtE,eAAO,MAAM,QAAQ,UAAuD,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/standard/elements/
|
|
3
|
+
"sources": ["../../../../src/standard/elements/duration.element.ts"],
|
|
4
4
|
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,wBAAwB;AACjC,SAAS,mBAAmB,gBAAgB;AAErC,MAAM,WAAW,SAAS,EAAE,MAAM,YAAY,UAAU,WAAW,CAAC;AAC3E,iBAAiB,SAAS,KAAK,QAAQ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -214,7 +214,7 @@ export declare const locationdesc: DatatypeModel;
|
|
|
214
214
|
export declare const WildcardPathFlagsBitmap: DatatypeModel;
|
|
215
215
|
export declare const SoftwareVersionCertificationStatusEnum: DatatypeModel;
|
|
216
216
|
export declare const any: DatatypeModel;
|
|
217
|
-
export declare const
|
|
217
|
+
export declare const duration: DatatypeModel;
|
|
218
218
|
export declare const subjectId: DatatypeModel;
|
|
219
219
|
export declare const ClusterRevision: AttributeModel;
|
|
220
220
|
export declare const FeatureMap: AttributeModel;
|
|
@@ -226,7 +226,7 @@ const SoftwareVersionCertificationStatusEnum = new DatatypeModel(
|
|
|
226
226
|
definitions.SoftwareVersionCertificationStatusEnum
|
|
227
227
|
);
|
|
228
228
|
const any = new DatatypeModel(definitions.any);
|
|
229
|
-
const
|
|
229
|
+
const duration = new DatatypeModel(definitions.duration);
|
|
230
230
|
const subjectId = new DatatypeModel(definitions.subjectId);
|
|
231
231
|
const ClusterRevision = new AttributeModel(definitions.ClusterRevision);
|
|
232
232
|
const FeatureMap = new AttributeModel(definitions.FeatureMap);
|
|
@@ -563,6 +563,7 @@ export {
|
|
|
563
563
|
date,
|
|
564
564
|
devtypeId,
|
|
565
565
|
double,
|
|
566
|
+
duration,
|
|
566
567
|
elapsedS,
|
|
567
568
|
endpointNo,
|
|
568
569
|
energyMWh,
|
|
@@ -586,7 +587,6 @@ export {
|
|
|
586
587
|
int56,
|
|
587
588
|
int64,
|
|
588
589
|
int8,
|
|
589
|
-
interval,
|
|
590
590
|
ipadr,
|
|
591
591
|
ipv4Adr,
|
|
592
592
|
ipv6Adr,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/model",
|
|
3
|
-
"version": "0.16.0-alpha.0-
|
|
3
|
+
"version": "0.16.0-alpha.0-20251020-3f6e46245",
|
|
4
4
|
"description": "Matter data model",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -31,11 +31,11 @@
|
|
|
31
31
|
"embed-examples": "embedme **/README.md"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@matter/general": "0.16.0-alpha.0-
|
|
34
|
+
"@matter/general": "0.16.0-alpha.0-20251020-3f6e46245"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@matter/testing": "0.16.0-alpha.0-
|
|
38
|
-
"@matter/tools": "0.16.0-alpha.0-
|
|
37
|
+
"@matter/testing": "0.16.0-alpha.0-20251020-3f6e46245",
|
|
38
|
+
"@matter/tools": "0.16.0-alpha.0-20251020-3f6e46245"
|
|
39
39
|
},
|
|
40
40
|
"files": [
|
|
41
41
|
"dist/**/*",
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { AttributeModel } from "#models/AttributeModel.js";
|
|
8
|
+
import { element } from "./element.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Decorates a property as a Matter attribute.
|
|
12
|
+
*/
|
|
13
|
+
export const attribute = element.property(AttributeModel);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { ClusterModel } from "#models/ClusterModel.js";
|
|
8
|
+
import { element } from "./element.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Generates a decorator that marks a class as a Matter cluster.
|
|
12
|
+
*/
|
|
13
|
+
export const cluster = element.klass(ClusterModel);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { Decorator } from "#general";
|
|
8
|
+
import { CommandModel } from "#models/CommandModel.js";
|
|
9
|
+
import { element } from "./element.js";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Decorates a method as a Matter command.
|
|
13
|
+
*/
|
|
14
|
+
export function command(...modifiers: element.Modifier<Decorator.MethodCollector>[]) {
|
|
15
|
+
return element(CommandModel, ...modifiers);
|
|
16
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { DatatypeModel } from "#models/DatatypeModel.js";
|
|
8
|
+
import { element } from "./element.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Decorates a class as a datatype.
|
|
12
|
+
*/
|
|
13
|
+
export const datatype = element.klass(DatatypeModel);
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { InvalidMetadataError, MetadataConflictError } from "#decoration/errors.js";
|
|
8
|
+
import type { ClassSemantics } from "#decoration/semantics/ClassSemantics.js";
|
|
9
|
+
import { Semantics } from "#decoration/semantics/Semantics.js";
|
|
10
|
+
import { Decorator } from "#general";
|
|
11
|
+
import { Model } from "#models/Model.js";
|
|
12
|
+
import { Schema } from "#models/Schema.js";
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Decorate a class or field as a specific Matter element type.
|
|
16
|
+
*/
|
|
17
|
+
export function element<
|
|
18
|
+
T extends Decorator.Collector | Decorator.ClassCollector | Decorator.PropertyCollector | Decorator.MethodCollector,
|
|
19
|
+
>(kind: Model.ConcreteType, ...modifiers: element.Modifier<T>[]) {
|
|
20
|
+
// We want to force the element to the specific type. Do this explicitly unless the initial modifier will do it for
|
|
21
|
+
// us. This prevents us from creating a separate local model if there is no further annotation
|
|
22
|
+
const forceType = !(modifiers[0] instanceof kind);
|
|
23
|
+
|
|
24
|
+
return Decorator((target: any, context: DecoratorContext) => {
|
|
25
|
+
const semantics = Semantics.of(context);
|
|
26
|
+
if (forceType) {
|
|
27
|
+
semantics.modelType = kind;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if (context.kind === "class") {
|
|
31
|
+
(semantics as ClassSemantics).new = target as NewableFunction;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
let result: Function | void = undefined;
|
|
35
|
+
for (const modifier of modifiers) {
|
|
36
|
+
switch (typeof modifier) {
|
|
37
|
+
case "number":
|
|
38
|
+
semantics.mutableModel.id = modifier;
|
|
39
|
+
continue;
|
|
40
|
+
|
|
41
|
+
case "string":
|
|
42
|
+
semantics.mutableModel.name = modifier;
|
|
43
|
+
continue;
|
|
44
|
+
|
|
45
|
+
case "function":
|
|
46
|
+
if ("Tag" in modifier) {
|
|
47
|
+
semantics.modelType = modifier;
|
|
48
|
+
} else if (Decorator.is(modifier)) {
|
|
49
|
+
const subresult = (modifier as any)(target, context);
|
|
50
|
+
if (subresult) {
|
|
51
|
+
if (result) {
|
|
52
|
+
throw new MetadataConflictError(`Multiple modifiers returned a value`);
|
|
53
|
+
}
|
|
54
|
+
result = subresult;
|
|
55
|
+
}
|
|
56
|
+
} else {
|
|
57
|
+
const model = Schema(modifier as NewableFunction);
|
|
58
|
+
if (model === undefined) {
|
|
59
|
+
throw new InvalidMetadataError(
|
|
60
|
+
`Cannot use undecorated class ${modifier.name || "(anonymous)"} as type for ${String(context.name || "(anonymous)")}`,
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
model.finalize();
|
|
65
|
+
|
|
66
|
+
semantics.mutableModel = model;
|
|
67
|
+
}
|
|
68
|
+
continue;
|
|
69
|
+
|
|
70
|
+
case "object":
|
|
71
|
+
if (modifier instanceof Model) {
|
|
72
|
+
semantics.mutableModel = modifier;
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
throw new InvalidMetadataError(`Unsupported modifier ${modifier}`);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return result;
|
|
82
|
+
}) as T;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export namespace element {
|
|
86
|
+
/**
|
|
87
|
+
* Create a property decorator for a specific element type.
|
|
88
|
+
*/
|
|
89
|
+
export function property(kind: Model.ConcreteType) {
|
|
90
|
+
return (...modifiers: Modifier<Decorator.PropertyCollector>[]) => {
|
|
91
|
+
return element(kind, ...modifiers);
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Create a decorator factory for a specific type of class.
|
|
97
|
+
*/
|
|
98
|
+
export function klass(kind: Model.ConcreteType) {
|
|
99
|
+
return (...modifiers: Modifier<Decorator.ClassCollector>[]) => {
|
|
100
|
+
return element(kind, ...modifiers);
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* A value that modifies the decoration of an element.
|
|
106
|
+
*
|
|
107
|
+
* Modifiers affect decoration as follows:
|
|
108
|
+
*
|
|
109
|
+
* * A model type forces {@link Semantics#localModel} to that type
|
|
110
|
+
*
|
|
111
|
+
* * A model instance sets the {@link Model#operationalBase} of {@link Semantics#localModel}
|
|
112
|
+
*
|
|
113
|
+
* * A constructor instance also sets the {@link Model#operationalBase} of {@link Semantics#localModel}
|
|
114
|
+
*
|
|
115
|
+
* * A decorator is invoked to decorate the element
|
|
116
|
+
*
|
|
117
|
+
* * A number sets the {@link Model#id} of {@link Semantics#localModel}
|
|
118
|
+
*
|
|
119
|
+
* * A string sets the {@link Model#name} of {@link Semantics#localModel}
|
|
120
|
+
*/
|
|
121
|
+
export type Modifier<
|
|
122
|
+
T extends
|
|
123
|
+
| Decorator.Collector
|
|
124
|
+
| Decorator.ClassCollector
|
|
125
|
+
| Decorator.PropertyCollector
|
|
126
|
+
| Decorator.MethodCollector,
|
|
127
|
+
> = Model.ConcreteType | Model | NewableFunction | number | string | T;
|
|
128
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { EventModel } from "#models/EventModel.js";
|
|
8
|
+
import { element } from "./element.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Decorates a property as a Matter event.
|
|
12
|
+
*
|
|
13
|
+
* If you don't assign an event ID using this decorator, matter.js treats properties as internal and they are not
|
|
14
|
+
* accessible via the Matter protocol.
|
|
15
|
+
*/
|
|
16
|
+
export const event = element.property(EventModel);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { FieldModel } from "#models/FieldModel.js";
|
|
8
|
+
import { element } from "./element.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Decorates a property as a Matter field.
|
|
12
|
+
*
|
|
13
|
+
* If you don't assign a field ID using this decorator, matter.js treats the field as internal and it is not
|
|
14
|
+
* accessible via the Matter protocol.
|
|
15
|
+
*/
|
|
16
|
+
export const field = element.property(FieldModel);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export * from "./attribute.js";
|
|
8
|
+
export * from "./cluster.js";
|
|
9
|
+
export * from "./datatype.js";
|
|
10
|
+
export * from "./element.js";
|
|
11
|
+
export * from "./field.js";
|
|
12
|
+
export * from "./listOf.js";
|
|
13
|
+
export * from "./mandatory.js";
|
|
14
|
+
export * from "./nonvolatile.js";
|
|
15
|
+
export * from "./nullable.js";
|
|
16
|
+
export * from "./response.js";
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { Semantics } from "#decoration/semantics/Semantics.js";
|
|
8
|
+
import { Decorator } from "#general";
|
|
9
|
+
import { FieldModel } from "#models/FieldModel.js";
|
|
10
|
+
import type { Model } from "#models/Model.js";
|
|
11
|
+
import { Schema } from "#models/Schema.js";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Decorate a property as an array.
|
|
15
|
+
*/
|
|
16
|
+
export function listOf(entry: Model.Source): Decorator.PropertyCollector {
|
|
17
|
+
return Decorator((_target, context) => {
|
|
18
|
+
Semantics.of(context).mutableModel.operationalBase = new FieldModel(
|
|
19
|
+
{
|
|
20
|
+
name: context.name.toString(),
|
|
21
|
+
type: "list",
|
|
22
|
+
},
|
|
23
|
+
|
|
24
|
+
new FieldModel({
|
|
25
|
+
name: "entry",
|
|
26
|
+
operationalBase: Schema(entry),
|
|
27
|
+
}),
|
|
28
|
+
);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { InvalidMetadataError } from "#decoration/errors.js";
|
|
8
|
+
import { FieldSemantics } from "#decoration/semantics/FieldSemantics.js";
|
|
9
|
+
import { Decorator } from "#general";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Mark a field as mandatory.
|
|
13
|
+
*/
|
|
14
|
+
export const mandatory = Decorator<Decorator.PropertyCollector>((_target, context) => {
|
|
15
|
+
const model = FieldSemantics.of(context).mutableModel;
|
|
16
|
+
if (!("conformance" in model)) {
|
|
17
|
+
throw new InvalidMetadataError(
|
|
18
|
+
`Cannot set ${model.path} to mandatory because ${model.tag} elements do not support conformance`,
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
model.conformance = "M";
|
|
22
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { Quality } from "#aspects/Quality.js";
|
|
8
|
+
import { InvalidMetadataError } from "#decoration/errors.js";
|
|
9
|
+
import { FieldSemantics } from "#decoration/semantics/FieldSemantics.js";
|
|
10
|
+
import { Decorator } from "#general";
|
|
11
|
+
import { ValueModel } from "#models/ValueModel.js";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Mark a field as nonvolatile (persistent).
|
|
15
|
+
*/
|
|
16
|
+
export const nonvolatile = Decorator<Decorator.PropertyCollector>((_target, context) => {
|
|
17
|
+
const model = FieldSemantics.of(context).mutableModel;
|
|
18
|
+
if (!(model instanceof ValueModel)) {
|
|
19
|
+
throw new InvalidMetadataError("Only a value models may be nonvolatile");
|
|
20
|
+
}
|
|
21
|
+
model.quality = new Quality({ ...model.quality, nonvolatile: true });
|
|
22
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { Quality } from "#aspects/Quality.js";
|
|
8
|
+
import { InvalidMetadataError } from "#decoration/errors.js";
|
|
9
|
+
import { FieldSemantics } from "#decoration/semantics/FieldSemantics.js";
|
|
10
|
+
import { Decorator } from "#general";
|
|
11
|
+
import { ValueModel } from "#models/ValueModel.js";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Mark a field as nullable.
|
|
15
|
+
*/
|
|
16
|
+
export const nullable = Decorator<Decorator.PropertyCollector>((_target, context) => {
|
|
17
|
+
const model = FieldSemantics.of(context).mutableModel;
|
|
18
|
+
if (!(model instanceof ValueModel)) {
|
|
19
|
+
throw new InvalidMetadataError("Only value models may be nullable");
|
|
20
|
+
}
|
|
21
|
+
model.quality = new Quality({ ...model.quality, nullable: true });
|
|
22
|
+
});
|