@project-chip/matter.js 0.9.2 → 0.9.4
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/CommissioningServer.d.ts.map +1 -1
- package/dist/cjs/CommissioningServer.js +0 -1
- package/dist/cjs/CommissioningServer.js.map +2 -2
- package/dist/cjs/MatterDevice.d.ts +3 -0
- package/dist/cjs/MatterDevice.d.ts.map +1 -1
- package/dist/cjs/MatterDevice.js +21 -7
- package/dist/cjs/MatterDevice.js.map +2 -2
- package/dist/cjs/behavior/AccessControl.js +2 -2
- package/dist/cjs/behavior/AccessControl.js.map +2 -2
- package/dist/cjs/behavior/definitions/general-commissioning/ServerNodeFailsafeContext.d.ts +1 -0
- package/dist/cjs/behavior/definitions/general-commissioning/ServerNodeFailsafeContext.d.ts.map +1 -1
- package/dist/cjs/behavior/definitions/general-commissioning/ServerNodeFailsafeContext.js +14 -0
- package/dist/cjs/behavior/definitions/general-commissioning/ServerNodeFailsafeContext.js.map +2 -2
- package/dist/cjs/behavior/definitions/operational-credentials/OperationalCredentialsServer.d.ts.map +1 -1
- package/dist/cjs/behavior/definitions/operational-credentials/OperationalCredentialsServer.js +11 -2
- package/dist/cjs/behavior/definitions/operational-credentials/OperationalCredentialsServer.js.map +2 -2
- package/dist/cjs/behavior/state/transaction/Transaction.d.ts +18 -18
- package/dist/cjs/certificate/CertificateManager.d.ts.map +1 -1
- package/dist/cjs/certificate/CertificateManager.js +1 -0
- package/dist/cjs/certificate/CertificateManager.js.map +2 -2
- package/dist/cjs/certificate/CertificationDeclarationManager.d.ts +1 -1
- package/dist/cjs/certificate/CertificationDeclarationManager.d.ts.map +1 -1
- package/dist/cjs/certificate/CertificationDeclarationManager.js +3 -2
- package/dist/cjs/certificate/CertificationDeclarationManager.js.map +2 -2
- package/dist/cjs/cluster/server/AccessControlServer.js.map +1 -1
- package/dist/cjs/cluster/server/AttributeServer.d.ts +9 -0
- package/dist/cjs/cluster/server/AttributeServer.d.ts.map +1 -1
- package/dist/cjs/cluster/server/AttributeServer.js +62 -0
- package/dist/cjs/cluster/server/AttributeServer.js.map +3 -3
- package/dist/cjs/cluster/server/ClusterServer.d.ts.map +1 -1
- package/dist/cjs/cluster/server/ClusterServer.js +8 -1
- package/dist/cjs/cluster/server/ClusterServer.js.map +2 -2
- package/dist/cjs/cluster/server/ClusterServerTypes.d.ts +3 -3
- package/dist/cjs/cluster/server/ClusterServerTypes.d.ts.map +1 -1
- package/dist/cjs/cluster/server/ClusterServerTypes.js.map +1 -1
- package/dist/cjs/cluster/server/EventServer.d.ts +8 -2
- package/dist/cjs/cluster/server/EventServer.d.ts.map +1 -1
- package/dist/cjs/cluster/server/EventServer.js +33 -7
- package/dist/cjs/cluster/server/EventServer.js.map +2 -2
- package/dist/cjs/cluster/server/OperationalCredentialsServer.d.ts.map +1 -1
- package/dist/cjs/cluster/server/OperationalCredentialsServer.js +31 -8
- package/dist/cjs/cluster/server/OperationalCredentialsServer.js.map +2 -2
- package/dist/cjs/common/FailsafeContext.d.ts +1 -0
- package/dist/cjs/common/FailsafeContext.d.ts.map +1 -1
- package/dist/cjs/common/FailsafeContext.js +16 -2
- package/dist/cjs/common/FailsafeContext.js.map +2 -2
- package/dist/cjs/crypto/Crypto.d.ts +1 -1
- package/dist/cjs/crypto/Crypto.d.ts.map +1 -1
- package/dist/cjs/crypto/Crypto.js +2 -2
- package/dist/cjs/crypto/Crypto.js.map +2 -2
- package/dist/cjs/device/LegacyInteractionServer.d.ts +2 -2
- package/dist/cjs/device/LegacyInteractionServer.d.ts.map +1 -1
- package/dist/cjs/device/LegacyInteractionServer.js +13 -1
- package/dist/cjs/device/LegacyInteractionServer.js.map +2 -2
- package/dist/cjs/fabric/Fabric.d.ts +1 -0
- package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
- package/dist/cjs/fabric/Fabric.js +5 -0
- package/dist/cjs/fabric/Fabric.js.map +2 -2
- package/dist/cjs/fabric/FabricManager.d.ts +1 -0
- package/dist/cjs/fabric/FabricManager.d.ts.map +1 -1
- package/dist/cjs/fabric/FabricManager.js +2 -1
- package/dist/cjs/fabric/FabricManager.js.map +2 -2
- package/dist/cjs/model/models/EventModel.d.ts +1 -0
- package/dist/cjs/model/models/EventModel.d.ts.map +1 -1
- package/dist/cjs/model/models/EventModel.js +3 -0
- package/dist/cjs/model/models/EventModel.js.map +2 -2
- package/dist/cjs/model/models/FieldModel.d.ts +1 -0
- package/dist/cjs/model/models/FieldModel.d.ts.map +1 -1
- package/dist/cjs/model/models/FieldModel.js +3 -0
- package/dist/cjs/model/models/FieldModel.js.map +2 -2
- package/dist/cjs/node/server/TransactionalInteractionServer.d.ts +2 -2
- package/dist/cjs/node/server/TransactionalInteractionServer.d.ts.map +1 -1
- package/dist/cjs/node/server/TransactionalInteractionServer.js +0 -2
- package/dist/cjs/node/server/TransactionalInteractionServer.js.map +2 -2
- package/dist/cjs/protocol/interaction/AttributeDataEncoder.d.ts +6 -3
- package/dist/cjs/protocol/interaction/AttributeDataEncoder.d.ts.map +1 -1
- package/dist/cjs/protocol/interaction/AttributeDataEncoder.js +14 -8
- package/dist/cjs/protocol/interaction/AttributeDataEncoder.js.map +2 -2
- package/dist/cjs/protocol/interaction/EventHandler.d.ts.map +1 -1
- package/dist/cjs/protocol/interaction/EventHandler.js +1 -3
- package/dist/cjs/protocol/interaction/EventHandler.js.map +2 -2
- package/dist/cjs/protocol/interaction/InteractionClient.js +1 -1
- package/dist/cjs/protocol/interaction/InteractionClient.js.map +2 -2
- package/dist/cjs/protocol/interaction/InteractionEndpointStructure.d.ts +3 -3
- package/dist/cjs/protocol/interaction/InteractionEndpointStructure.d.ts.map +1 -1
- package/dist/cjs/protocol/interaction/InteractionEndpointStructure.js +1 -0
- package/dist/cjs/protocol/interaction/InteractionEndpointStructure.js.map +2 -2
- package/dist/cjs/protocol/interaction/InteractionMessenger.d.ts +1 -1
- package/dist/cjs/protocol/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/cjs/protocol/interaction/InteractionMessenger.js +11 -4
- package/dist/cjs/protocol/interaction/InteractionMessenger.js.map +2 -2
- package/dist/cjs/protocol/interaction/InteractionServer.d.ts +5 -6
- package/dist/cjs/protocol/interaction/InteractionServer.d.ts.map +1 -1
- package/dist/cjs/protocol/interaction/InteractionServer.js +44 -37
- package/dist/cjs/protocol/interaction/InteractionServer.js.map +2 -2
- package/dist/cjs/protocol/interaction/SubscriptionHandler.d.ts +31 -12
- package/dist/cjs/protocol/interaction/SubscriptionHandler.d.ts.map +1 -1
- package/dist/cjs/protocol/interaction/SubscriptionHandler.js +161 -69
- package/dist/cjs/protocol/interaction/SubscriptionHandler.js.map +3 -3
- package/dist/cjs/session/SecureSession.d.ts.map +1 -1
- package/dist/cjs/session/SecureSession.js +2 -1
- package/dist/cjs/session/SecureSession.js.map +2 -2
- package/dist/cjs/session/SessionManager.d.ts +2 -0
- package/dist/cjs/session/SessionManager.d.ts.map +1 -1
- package/dist/cjs/session/SessionManager.js +7 -0
- package/dist/cjs/session/SessionManager.js.map +2 -2
- package/dist/cjs/tlv/TlvArray.d.ts +2 -2
- package/dist/cjs/tlv/TlvArray.d.ts.map +1 -1
- package/dist/cjs/tlv/TlvArray.js +2 -2
- package/dist/cjs/tlv/TlvArray.js.map +2 -2
- package/dist/cjs/tlv/TlvNullable.d.ts +2 -2
- package/dist/cjs/tlv/TlvNullable.d.ts.map +1 -1
- package/dist/cjs/tlv/TlvNullable.js +2 -2
- package/dist/cjs/tlv/TlvNullable.js.map +2 -2
- package/dist/cjs/tlv/TlvObject.d.ts +2 -2
- package/dist/cjs/tlv/TlvObject.d.ts.map +1 -1
- package/dist/cjs/tlv/TlvObject.js +18 -12
- package/dist/cjs/tlv/TlvObject.js.map +2 -2
- package/dist/cjs/tlv/TlvSchema.d.ts +14 -2
- package/dist/cjs/tlv/TlvSchema.d.ts.map +1 -1
- package/dist/cjs/tlv/TlvSchema.js +2 -2
- package/dist/cjs/tlv/TlvSchema.js.map +2 -2
- package/dist/cjs/tlv/TlvWrapper.d.ts +2 -2
- package/dist/cjs/tlv/TlvWrapper.d.ts.map +1 -1
- package/dist/cjs/tlv/TlvWrapper.js +2 -2
- package/dist/cjs/tlv/TlvWrapper.js.map +2 -2
- package/dist/esm/CommissioningServer.d.ts.map +1 -1
- package/dist/esm/CommissioningServer.js +0 -1
- package/dist/esm/CommissioningServer.js.map +2 -2
- package/dist/esm/MatterDevice.d.ts +3 -0
- package/dist/esm/MatterDevice.d.ts.map +1 -1
- package/dist/esm/MatterDevice.js +21 -7
- package/dist/esm/MatterDevice.js.map +2 -2
- package/dist/esm/behavior/AccessControl.js +2 -2
- package/dist/esm/behavior/AccessControl.js.map +2 -2
- package/dist/esm/behavior/definitions/general-commissioning/ServerNodeFailsafeContext.d.ts +1 -0
- package/dist/esm/behavior/definitions/general-commissioning/ServerNodeFailsafeContext.d.ts.map +1 -1
- package/dist/esm/behavior/definitions/general-commissioning/ServerNodeFailsafeContext.js +15 -1
- package/dist/esm/behavior/definitions/general-commissioning/ServerNodeFailsafeContext.js.map +2 -2
- package/dist/esm/behavior/definitions/operational-credentials/OperationalCredentialsServer.d.ts.map +1 -1
- package/dist/esm/behavior/definitions/operational-credentials/OperationalCredentialsServer.js +11 -2
- package/dist/esm/behavior/definitions/operational-credentials/OperationalCredentialsServer.js.map +2 -2
- package/dist/esm/behavior/state/transaction/Transaction.d.ts +18 -18
- package/dist/esm/certificate/CertificateManager.d.ts.map +1 -1
- package/dist/esm/certificate/CertificateManager.js +1 -0
- package/dist/esm/certificate/CertificateManager.js.map +2 -2
- package/dist/esm/certificate/CertificationDeclarationManager.d.ts +1 -1
- package/dist/esm/certificate/CertificationDeclarationManager.d.ts.map +1 -1
- package/dist/esm/certificate/CertificationDeclarationManager.js +3 -2
- package/dist/esm/certificate/CertificationDeclarationManager.js.map +2 -2
- package/dist/esm/cluster/server/AccessControlServer.js.map +1 -1
- package/dist/esm/cluster/server/AttributeServer.d.ts +9 -0
- package/dist/esm/cluster/server/AttributeServer.d.ts.map +1 -1
- package/dist/esm/cluster/server/AttributeServer.js +69 -1
- package/dist/esm/cluster/server/AttributeServer.js.map +2 -2
- package/dist/esm/cluster/server/ClusterServer.d.ts.map +1 -1
- package/dist/esm/cluster/server/ClusterServer.js +9 -2
- package/dist/esm/cluster/server/ClusterServer.js.map +2 -2
- package/dist/esm/cluster/server/ClusterServerTypes.d.ts +3 -3
- package/dist/esm/cluster/server/ClusterServerTypes.d.ts.map +1 -1
- package/dist/esm/cluster/server/ClusterServerTypes.js.map +1 -1
- package/dist/esm/cluster/server/EventServer.d.ts +8 -2
- package/dist/esm/cluster/server/EventServer.d.ts.map +1 -1
- package/dist/esm/cluster/server/EventServer.js +33 -7
- package/dist/esm/cluster/server/EventServer.js.map +2 -2
- package/dist/esm/cluster/server/OperationalCredentialsServer.d.ts.map +1 -1
- package/dist/esm/cluster/server/OperationalCredentialsServer.js +31 -8
- package/dist/esm/cluster/server/OperationalCredentialsServer.js.map +2 -2
- package/dist/esm/common/FailsafeContext.d.ts +1 -0
- package/dist/esm/common/FailsafeContext.d.ts.map +1 -1
- package/dist/esm/common/FailsafeContext.js +17 -3
- package/dist/esm/common/FailsafeContext.js.map +2 -2
- package/dist/esm/crypto/Crypto.d.ts +1 -1
- package/dist/esm/crypto/Crypto.d.ts.map +1 -1
- package/dist/esm/crypto/Crypto.js +2 -2
- package/dist/esm/crypto/Crypto.js.map +2 -2
- package/dist/esm/device/LegacyInteractionServer.d.ts +2 -2
- package/dist/esm/device/LegacyInteractionServer.d.ts.map +1 -1
- package/dist/esm/device/LegacyInteractionServer.js +13 -1
- package/dist/esm/device/LegacyInteractionServer.js.map +2 -2
- package/dist/esm/fabric/Fabric.d.ts +1 -0
- package/dist/esm/fabric/Fabric.d.ts.map +1 -1
- package/dist/esm/fabric/Fabric.js +5 -0
- package/dist/esm/fabric/Fabric.js.map +2 -2
- package/dist/esm/fabric/FabricManager.d.ts +1 -0
- package/dist/esm/fabric/FabricManager.d.ts.map +1 -1
- package/dist/esm/fabric/FabricManager.js +2 -1
- package/dist/esm/fabric/FabricManager.js.map +2 -2
- package/dist/esm/model/models/EventModel.d.ts +1 -0
- package/dist/esm/model/models/EventModel.d.ts.map +1 -1
- package/dist/esm/model/models/EventModel.js +3 -0
- package/dist/esm/model/models/EventModel.js.map +2 -2
- package/dist/esm/model/models/FieldModel.d.ts +1 -0
- package/dist/esm/model/models/FieldModel.d.ts.map +1 -1
- package/dist/esm/model/models/FieldModel.js +3 -0
- package/dist/esm/model/models/FieldModel.js.map +2 -2
- package/dist/esm/node/server/TransactionalInteractionServer.d.ts +2 -2
- package/dist/esm/node/server/TransactionalInteractionServer.d.ts.map +1 -1
- package/dist/esm/node/server/TransactionalInteractionServer.js +0 -2
- package/dist/esm/node/server/TransactionalInteractionServer.js.map +2 -2
- package/dist/esm/protocol/interaction/AttributeDataEncoder.d.ts +6 -3
- package/dist/esm/protocol/interaction/AttributeDataEncoder.d.ts.map +1 -1
- package/dist/esm/protocol/interaction/AttributeDataEncoder.js +14 -8
- package/dist/esm/protocol/interaction/AttributeDataEncoder.js.map +2 -2
- package/dist/esm/protocol/interaction/EventHandler.d.ts.map +1 -1
- package/dist/esm/protocol/interaction/EventHandler.js +1 -3
- package/dist/esm/protocol/interaction/EventHandler.js.map +2 -2
- package/dist/esm/protocol/interaction/InteractionClient.js +1 -1
- package/dist/esm/protocol/interaction/InteractionClient.js.map +2 -2
- package/dist/esm/protocol/interaction/InteractionEndpointStructure.d.ts +3 -3
- package/dist/esm/protocol/interaction/InteractionEndpointStructure.d.ts.map +1 -1
- package/dist/esm/protocol/interaction/InteractionEndpointStructure.js +1 -0
- package/dist/esm/protocol/interaction/InteractionEndpointStructure.js.map +2 -2
- package/dist/esm/protocol/interaction/InteractionMessenger.d.ts +1 -1
- package/dist/esm/protocol/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/esm/protocol/interaction/InteractionMessenger.js +11 -4
- package/dist/esm/protocol/interaction/InteractionMessenger.js.map +2 -2
- package/dist/esm/protocol/interaction/InteractionServer.d.ts +5 -6
- package/dist/esm/protocol/interaction/InteractionServer.d.ts.map +1 -1
- package/dist/esm/protocol/interaction/InteractionServer.js +44 -37
- package/dist/esm/protocol/interaction/InteractionServer.js.map +2 -2
- package/dist/esm/protocol/interaction/SubscriptionHandler.d.ts +31 -12
- package/dist/esm/protocol/interaction/SubscriptionHandler.d.ts.map +1 -1
- package/dist/esm/protocol/interaction/SubscriptionHandler.js +161 -69
- package/dist/esm/protocol/interaction/SubscriptionHandler.js.map +3 -3
- package/dist/esm/session/SecureSession.d.ts.map +1 -1
- package/dist/esm/session/SecureSession.js +2 -1
- package/dist/esm/session/SecureSession.js.map +2 -2
- package/dist/esm/session/SessionManager.d.ts +2 -0
- package/dist/esm/session/SessionManager.d.ts.map +1 -1
- package/dist/esm/session/SessionManager.js +7 -0
- package/dist/esm/session/SessionManager.js.map +2 -2
- package/dist/esm/tlv/TlvArray.d.ts +2 -2
- package/dist/esm/tlv/TlvArray.d.ts.map +1 -1
- package/dist/esm/tlv/TlvArray.js +2 -2
- package/dist/esm/tlv/TlvArray.js.map +2 -2
- package/dist/esm/tlv/TlvNullable.d.ts +2 -2
- package/dist/esm/tlv/TlvNullable.d.ts.map +1 -1
- package/dist/esm/tlv/TlvNullable.js +2 -2
- package/dist/esm/tlv/TlvNullable.js.map +2 -2
- package/dist/esm/tlv/TlvObject.d.ts +2 -2
- package/dist/esm/tlv/TlvObject.d.ts.map +1 -1
- package/dist/esm/tlv/TlvObject.js +19 -13
- package/dist/esm/tlv/TlvObject.js.map +2 -2
- package/dist/esm/tlv/TlvSchema.d.ts +14 -2
- package/dist/esm/tlv/TlvSchema.d.ts.map +1 -1
- package/dist/esm/tlv/TlvSchema.js +2 -2
- package/dist/esm/tlv/TlvSchema.js.map +2 -2
- package/dist/esm/tlv/TlvWrapper.d.ts +2 -2
- package/dist/esm/tlv/TlvWrapper.d.ts.map +1 -1
- package/dist/esm/tlv/TlvWrapper.js +2 -2
- package/dist/esm/tlv/TlvWrapper.js.map +2 -2
- package/package.json +3 -3
- package/src/CommissioningServer.ts +0 -1
- package/src/MatterDevice.ts +34 -7
- package/src/behavior/AccessControl.ts +2 -2
- package/src/behavior/definitions/general-commissioning/ServerNodeFailsafeContext.ts +21 -1
- package/src/behavior/definitions/operational-credentials/OperationalCredentialsServer.ts +13 -0
- package/src/certificate/CertificateManager.ts +1 -2
- package/src/certificate/CertificationDeclarationManager.ts +2 -2
- package/src/cluster/server/AccessControlServer.ts +3 -3
- package/src/cluster/server/AttributeServer.ts +79 -1
- package/src/cluster/server/ClusterServer.ts +9 -2
- package/src/cluster/server/ClusterServerTypes.ts +3 -3
- package/src/cluster/server/EventServer.ts +57 -10
- package/src/cluster/server/OperationalCredentialsServer.ts +35 -5
- package/src/common/FailsafeContext.ts +19 -7
- package/src/crypto/Crypto.ts +1 -1
- package/src/device/LegacyInteractionServer.ts +15 -4
- package/src/fabric/Fabric.ts +6 -0
- package/src/fabric/FabricManager.ts +1 -0
- package/src/model/models/EventModel.ts +4 -0
- package/src/model/models/FieldModel.ts +4 -0
- package/src/node/server/TransactionalInteractionServer.ts +2 -4
- package/src/protocol/interaction/AttributeDataEncoder.ts +20 -9
- package/src/protocol/interaction/EventHandler.ts +1 -3
- package/src/protocol/interaction/InteractionClient.ts +1 -1
- package/src/protocol/interaction/InteractionEndpointStructure.ts +4 -4
- package/src/protocol/interaction/InteractionMessenger.ts +12 -3
- package/src/protocol/interaction/InteractionServer.ts +53 -52
- package/src/protocol/interaction/SubscriptionHandler.ts +215 -92
- package/src/session/SecureSession.ts +2 -1
- package/src/session/SessionManager.ts +9 -0
- package/src/tlv/TlvArray.ts +3 -3
- package/src/tlv/TlvNullable.ts +3 -3
- package/src/tlv/TlvObject.ts +20 -14
- package/src/tlv/TlvSchema.ts +17 -3
- package/src/tlv/TlvWrapper.ts +3 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/tlv/TlvObject.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * @license\n * Copyright 2022-2024 Matter.js Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { UnexpectedDataError } from \"../common/MatterError.js\";\nimport { tryCatch } from \"../common/TryCatchHandler.js\";\nimport { ValidationError } from \"../common/ValidationError.js\";\nimport { Globals } from \"../model/index.js\";\nimport { Merge } from \"../util/Type.js\";\nimport { TlvAny } from \"./TlvAny.js\";\nimport { LengthConstraints } from \"./TlvArray.js\";\nimport { TlvTag, TlvType, TlvTypeLength } from \"./TlvCodec.js\";\nimport { TlvReader, TlvSchema, TlvWriter } from \"./TlvSchema.js\";\n\nexport interface FieldType<T> {\n id: number;\n schema: TlvSchema<T>;\n optional?: boolean;\n repeated?: boolean;\n fallback?: T;\n}\n\nexport interface RepeatedFieldType<T> extends FieldType<T> {\n repeated: true;\n minLength?: number;\n maxLength?: number;\n}\n\nexport interface OptionalFieldType<T> extends FieldType<T> {\n optional: true;\n}\n\nexport interface OptionalRepeatedFieldType<T> extends OptionalFieldType<T> {\n repeated: true;\n maxLength?: number;\n}\n\nexport type TlvFields = { [field: string]: FieldType<any> };\n\ntype MandatoryFieldNames<F extends TlvFields> = {\n [K in keyof F]: F[K] extends OptionalFieldType<any> ? never : K;\n}[keyof F];\ntype OptionalFieldNames<F extends TlvFields> = {\n [K in keyof F]: F[K] extends OptionalFieldType<any> ? K : never;\n}[keyof F];\ntype TypeFromField<F extends FieldType<any>> = F extends FieldType<infer T> ? T : never;\ntype TypeForMandatoryFields<F extends TlvFields, MF extends keyof F> = { [K in MF]: TypeFromField<F[K]> };\ntype TypeForOptionalFields<F extends TlvFields, MF extends keyof F> = { [K in MF]?: TypeFromField<F[K]> };\nexport type TypeFromFields<F extends TlvFields> = Merge<\n TypeForMandatoryFields<F, MandatoryFieldNames<F>>,\n TypeForOptionalFields<F, OptionalFieldNames<F>>\n>;\n\n/**\n * Schema to encode an object in TLV.\n *\n * @see {@link MatterSpecification.v10.Core} \u00A7 A.5.1 and \u00A7 A.11.4\n */\nexport class ObjectSchema<F extends TlvFields> extends TlvSchema<TypeFromFields<F>> {\n private readonly fieldById = new Array<{ name: string; field: FieldType<any> }>();\n\n constructor(\n private readonly fieldDefinitions: F,\n private readonly type: TlvType.Structure | TlvType.List = TlvType.Structure,\n private readonly allowProtocolSpecificTags = false,\n ) {\n super();\n\n // TODO Add sorting option to enforce order of fields in encoded TLV If Ty is Structure\n // Requirements @see {@link MatterSpecification.Core.v12} \u00A7 A.2.4\n for (const name in this.fieldDefinitions) {\n const field = this.fieldDefinitions[name];\n if (field.repeated && type !== TlvType.List) {\n throw new Error(\"Repeated fields are only allowed in TLV List.\");\n }\n this.fieldById[field.id] = { name, field };\n }\n }\n\n #encodeEntryToTlv(writer: TlvWriter, name: string, value: TypeFromFields<F>, forWriteInteraction?: boolean) {\n const { id, schema, optional: isOptional, repeated: isRepeated } = this.fieldDefinitions[name];\n const fieldValue = (value as any)[name];\n if (fieldValue === undefined) {\n if (!isOptional) {\n if (forWriteInteraction && id === <number>Globals.FabricIndex.id) {\n // FabricIndex field should not be included in encoded data for write interactions\n return;\n }\n throw new ValidationError(`Missing mandatory field ${name}`, name);\n }\n return;\n }\n if (isRepeated) {\n if (!Array.isArray(fieldValue)) {\n throw new ValidationError(`Repeated field ${name} should be an array.`, name);\n }\n for (const element of fieldValue) {\n schema.encodeTlvInternal(writer, element, { id }, forWriteInteraction);\n }\n } else {\n schema.encodeTlvInternal(writer, fieldValue, { id }, forWriteInteraction);\n }\n }\n\n /**\n * Encode the object as Structure, by the order of field definitions.\n */\n #encodeStructure(writer: TlvWriter, value: TypeFromFields<F>, forWriteInteraction?: boolean) {\n for (const name in this.fieldDefinitions) {\n this.#encodeEntryToTlv(writer, name, value, forWriteInteraction);\n }\n }\n\n /**\n * Encode the object as List, by the order of the fields in the object.\n */\n #encodeList(writer: TlvWriter, value: TypeFromFields<F>, forWriteInteraction?: boolean) {\n const encodedFields = new Set<string>();\n // Encode object fields\n for (const name of Object.keys(value)) {\n this.#encodeEntryToTlv(writer, name, value, forWriteInteraction);\n encodedFields.add(name);\n }\n // Verify the potentially missing fields\n for (const name in this.fieldDefinitions) {\n if (encodedFields.has(name)) continue;\n this.#encodeEntryToTlv(writer, name, value, forWriteInteraction);\n }\n }\n\n override encodeTlvInternal(\n writer: TlvWriter,\n value: TypeFromFields<F>,\n tag?: TlvTag,\n forWriteInteraction?: boolean,\n ): void {\n writer.writeTag({ type: this.type }, tag);\n\n if (this.type === TlvType.Structure) {\n // Encode in order of field definitions\n this.#encodeStructure(writer, value, forWriteInteraction);\n } else {\n this.#encodeList(writer, value, forWriteInteraction);\n }\n\n writer.writeTag({ type: TlvType.EndOfContainer });\n }\n\n override decodeTlvInternalValue(reader: TlvReader, typeLength: TlvTypeLength): TypeFromFields<F> {\n if (typeLength.type !== this.type)\n throw new UnexpectedDataError(`Unexpected type ${typeLength.type} (expected ${this.type}).`);\n const result: any = {};\n while (true) {\n const { tag: { profile, id } = {}, typeLength: elementTypeLength } = reader.readTagType();\n if (elementTypeLength.type === TlvType.EndOfContainer) break;\n if (profile !== undefined && !this.allowProtocolSpecificTags)\n throw new UnexpectedDataError(\"Structure element tags should be context-specific.\");\n if (id === undefined) throw new UnexpectedDataError(\"Structure element tags should have an id.\");\n const fieldName = this.fieldById[id];\n if (fieldName === undefined) {\n // Ignore unknown field by decoding it as raw TLV so we skip forward the proper length.\n TlvAny.decodeTlvInternalValue(reader, elementTypeLength);\n continue;\n }\n const { field, name } = fieldName;\n const decoded = field.schema.decodeTlvInternalValue(reader, elementTypeLength);\n if (field.repeated) {\n if (result[name] === undefined) {\n result[name] = [decoded];\n } else {\n result[name].push(decoded);\n }\n } else {\n result[name] = decoded;\n }\n }\n // Check mandatory fields and, if missing, populate with fallback value if defined.\n for (const name in this.fieldDefinitions) {\n const { optional, fallback, repeated } = this.fieldDefinitions[name];\n if (optional) continue;\n const value = result[name];\n if (value !== undefined) continue;\n if (fallback !== undefined) {\n if (repeated) {\n result[name] = [fallback];\n } else {\n result[name] = fallback;\n }\n }\n }\n return result as TypeFromFields<F>;\n }\n\n override validate(value: TypeFromFields<F>): void {\n for (const name in this.fieldDefinitions) {\n const { optional, schema, repeated: isRepeated } = this.fieldDefinitions[name];\n const data = (value as any)[name];\n if (data === undefined) {\n if (optional) {\n continue;\n }\n throw new ValidationError(`Missing mandatory field ${name}`, name);\n }\n if (isRepeated) {\n const { minLength = 2, maxLength = 65535 } = this.fieldDefinitions[name] as RepeatedFieldType<any>;\n if (!Array.isArray(data)) {\n throw new ValidationError(`Repeated field ${name} should be an array.`, name);\n }\n if (data.length > maxLength)\n throw new ValidationError(\n `Repeated field list for ${name} is too long: ${data.length}, max ${maxLength}.`,\n name,\n );\n if (data.length < minLength)\n throw new ValidationError(\n `Repeated field list for ${name} is too short: ${data.length}, min ${minLength}.`,\n name,\n );\n for (const element of data) {\n tryCatch(\n () => schema.validate(element),\n ValidationError,\n error => {\n error.fieldName = `${name}${error.fieldName !== undefined ? `.${error.fieldName}` : \"\"}`;\n throw error;\n },\n );\n }\n } else {\n tryCatch(\n () => schema.validate(data),\n ValidationError,\n error => {\n error.fieldName = `${name}${error.fieldName !== undefined ? `.${error.fieldName}` : \"\"}`;\n throw error;\n },\n );\n }\n }\n }\n\n override injectField(\n value: TypeFromFields<F>,\n fieldId: number,\n fieldValue: any,\n injectChecker: (fieldValue: any) => boolean,\n ): TypeFromFields<F> {\n for (const k in this.fieldDefinitions) {\n const field = this.fieldDefinitions[k] as FieldType<any>;\n\n if (field.id === fieldId) {\n if (injectChecker((value as any)[k])) {\n field.schema.validate(fieldValue); // Make sure type matches\n (value as any)[k] = fieldValue;\n }\n } else {\n (value as any)[k] = field.schema.injectField((value as any)[k], fieldId, fieldValue, injectChecker);\n }\n }\n return value;\n }\n\n override removeField(\n value: TypeFromFields<F>,\n fieldId: number,\n removeChecker: (fieldValue: any) => boolean,\n ): TypeFromFields<F> {\n for (const k in this.fieldDefinitions) {\n const field = this.fieldDefinitions[k] as FieldType<any>;\n\n if (field.id === fieldId) {\n if ((value as any)[k] !== undefined && removeChecker((value as any)[k])) {\n delete (value as any)[k];\n }\n } else {\n (value as any)[k] = field.schema.removeField((value as any)[k], fieldId, removeChecker);\n }\n }\n return value;\n }\n}\n\n/** Object TLV schema. */\nexport const TlvObject = <F extends TlvFields>(fields: F) => new ObjectSchema(fields, TlvType.Structure);\n\n/**\n * List TLV schema with all tagged entries.\n * List entries that can appear multiple times can be defined using TlvRepeatedField/TlvOptionalRepeatedField and are\n * represented as Arrays.\n * TODO: We represent Tlv Lists right now as named object properties. This formally does not match the spec, which\n * defines a list as a sequence of TLV elements with optional tag where the order matters. That's ok for now\n * (also with the help of \"Repeated Fields\") because it not makes any real difference for now for the current\n * existing data structures. We need to change once this changes.\n */\nexport const TlvTaggedList = <F extends TlvFields>(fields: F, allowProtocolSpecificTags = false) =>\n new ObjectSchema(fields, TlvType.List, allowProtocolSpecificTags);\n\n// TODO Implement a real TlvList schema that matches the spec to represent a ordered list of TLV elements with optional\n// tag.\n\n/**\n * Object TLV mandatory field. Optionally provide a fallback value to initialize the field value when devices omit\n * providing a value against the specifications or in special use cases. Make sure to use a value that is an equivalent\n * to the value being empty.\n */\nexport const TlvField = <T>(id: number, schema: TlvSchema<T>, fallback?: T) =>\n ({ id, schema, fallback, optional: false }) as FieldType<T>;\n\n/** Object TLV optional field. */\nexport const TlvOptionalField = <T>(id: number, schema: TlvSchema<T>) =>\n ({ id, schema, optional: true }) as OptionalFieldType<T>;\n\n/**\n * Object TLV mandatory field that can exist repeated in a TLV List structure. The order is preserved on encoding and\n * decoding.\n */\nexport const TlvRepeatedField = <T>(id: number, schema: TlvSchema<T>, lengthOptions?: LengthConstraints) => {\n const { minLength, maxLength, length } = lengthOptions ?? {};\n return {\n id,\n schema,\n optional: false,\n repeated: true,\n minLength: length ?? minLength,\n maxLength: length ?? maxLength,\n } as RepeatedFieldType<T[]>;\n};\n\n/**\n * Object TLV optional field that can exist repeated in a TLV List structure. The order is preserved on encoding and\n * decoding.\n */\nexport const TlvOptionalRepeatedField = <T>(\n id: number,\n schema: TlvSchema<T>,\n lengthOptions?: { maxLength: number },\n) => {\n const { maxLength } = lengthOptions ?? {};\n return {\n id,\n schema,\n optional: true,\n repeated: true,\n minLength: 0,\n maxLength,\n } as OptionalRepeatedFieldType<T[]>;\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,
|
|
4
|
+
"sourcesContent": ["/**\n * @license\n * Copyright 2022-2024 Matter.js Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InternalError, UnexpectedDataError } from \"../common/MatterError.js\";\nimport { tryCatch } from \"../common/TryCatchHandler.js\";\nimport { ValidationError } from \"../common/ValidationError.js\";\nimport { Globals } from \"../model/index.js\";\nimport { Merge } from \"../util/Type.js\";\nimport { TlvAny } from \"./TlvAny.js\";\nimport { LengthConstraints } from \"./TlvArray.js\";\nimport { TlvTag, TlvType, TlvTypeLength } from \"./TlvCodec.js\";\nimport { TlvEncodingOptions, TlvReader, TlvSchema, TlvWriter } from \"./TlvSchema.js\";\n\nexport interface FieldType<T> {\n id: number;\n schema: TlvSchema<T>;\n optional?: boolean;\n repeated?: boolean;\n fallback?: T;\n}\n\nexport interface RepeatedFieldType<T> extends FieldType<T> {\n repeated: true;\n minLength?: number;\n maxLength?: number;\n}\n\nexport interface OptionalFieldType<T> extends FieldType<T> {\n optional: true;\n}\n\nexport interface OptionalRepeatedFieldType<T> extends OptionalFieldType<T> {\n repeated: true;\n maxLength?: number;\n}\n\nexport type TlvFields = { [field: string]: FieldType<any> };\n\ntype MandatoryFieldNames<F extends TlvFields> = {\n [K in keyof F]: F[K] extends OptionalFieldType<any> ? never : K;\n}[keyof F];\ntype OptionalFieldNames<F extends TlvFields> = {\n [K in keyof F]: F[K] extends OptionalFieldType<any> ? K : never;\n}[keyof F];\ntype TypeFromField<F extends FieldType<any>> = F extends FieldType<infer T> ? T : never;\ntype TypeForMandatoryFields<F extends TlvFields, MF extends keyof F> = { [K in MF]: TypeFromField<F[K]> };\ntype TypeForOptionalFields<F extends TlvFields, MF extends keyof F> = { [K in MF]?: TypeFromField<F[K]> };\nexport type TypeFromFields<F extends TlvFields> = Merge<\n TypeForMandatoryFields<F, MandatoryFieldNames<F>>,\n TypeForOptionalFields<F, OptionalFieldNames<F>>\n>;\n\n/**\n * Schema to encode an object in TLV.\n *\n * @see {@link MatterSpecification.v10.Core} \u00A7 A.5.1 and \u00A7 A.11.4\n */\nexport class ObjectSchema<F extends TlvFields> extends TlvSchema<TypeFromFields<F>> {\n private readonly fieldById = new Array<{ name: string; field: FieldType<any> }>();\n\n constructor(\n private readonly fieldDefinitions: F,\n private readonly type: TlvType.Structure | TlvType.List = TlvType.Structure,\n private readonly allowProtocolSpecificTags = false,\n ) {\n super();\n\n // TODO Add sorting option to enforce order of fields in encoded TLV If Ty is Structure\n // Requirements @see {@link MatterSpecification.Core.v12} \u00A7 A.2.4\n for (const name in this.fieldDefinitions) {\n const field = this.fieldDefinitions[name];\n if (field.repeated && type !== TlvType.List) {\n throw new Error(\"Repeated fields are only allowed in TLV List.\");\n }\n this.fieldById[field.id] = { name, field };\n }\n }\n\n #encodeEntryToTlv(writer: TlvWriter, name: string, value: TypeFromFields<F>, options?: TlvEncodingOptions) {\n const { id, schema, optional: isOptional, repeated: isRepeated } = this.fieldDefinitions[name];\n const { forWriteInteraction = false, allowMissingFieldsForNonFabricFilteredRead = false } = options ?? {};\n if (forWriteInteraction && allowMissingFieldsForNonFabricFilteredRead) {\n throw new InternalError(\n \"Encode options can not indicate a write interaction and a fabric filtered read interaction at the same time.\",\n );\n }\n const fieldValue = (value as any)[name];\n if (fieldValue === undefined) {\n if (!isOptional && !allowMissingFieldsForNonFabricFilteredRead) {\n if (forWriteInteraction && id === <number>Globals.FabricIndex.id) {\n // FabricIndex field should not be included in encoded data for write interactions\n return;\n }\n throw new ValidationError(`Missing mandatory field ${name}`, name);\n }\n return;\n }\n if (isRepeated) {\n if (!Array.isArray(fieldValue)) {\n throw new ValidationError(`Repeated field ${name} should be an array.`, name);\n }\n for (const element of fieldValue) {\n schema.encodeTlvInternal(writer, element, { id }, options);\n }\n } else {\n schema.encodeTlvInternal(writer, fieldValue, { id }, options);\n }\n }\n\n /**\n * Encode the object as Structure, by the order of field definitions.\n */\n #encodeStructure(writer: TlvWriter, value: TypeFromFields<F>, options?: TlvEncodingOptions) {\n for (const name in this.fieldDefinitions) {\n this.#encodeEntryToTlv(writer, name, value, options);\n }\n }\n\n /**\n * Encode the object as List, by the order of the fields in the object.\n */\n #encodeList(writer: TlvWriter, value: TypeFromFields<F>, options?: TlvEncodingOptions) {\n const encodedFields = new Set<string>();\n // Encode object fields\n for (const name of Object.keys(value)) {\n this.#encodeEntryToTlv(writer, name, value, options);\n encodedFields.add(name);\n }\n // Verify the potentially missing fields\n for (const name in this.fieldDefinitions) {\n if (encodedFields.has(name)) continue;\n this.#encodeEntryToTlv(writer, name, value, options);\n }\n }\n\n override encodeTlvInternal(\n writer: TlvWriter,\n value: TypeFromFields<F>,\n tag?: TlvTag,\n options?: TlvEncodingOptions,\n ): void {\n writer.writeTag({ type: this.type }, tag);\n\n if (this.type === TlvType.Structure) {\n // Encode in order of field definitions\n this.#encodeStructure(writer, value, options);\n } else {\n this.#encodeList(writer, value, options);\n }\n\n writer.writeTag({ type: TlvType.EndOfContainer });\n }\n\n override decodeTlvInternalValue(reader: TlvReader, typeLength: TlvTypeLength): TypeFromFields<F> {\n if (typeLength.type !== this.type)\n throw new UnexpectedDataError(`Unexpected type ${typeLength.type} (expected ${this.type}).`);\n const result: any = {};\n while (true) {\n const { tag: { profile, id } = {}, typeLength: elementTypeLength } = reader.readTagType();\n if (elementTypeLength.type === TlvType.EndOfContainer) break;\n if (profile !== undefined && !this.allowProtocolSpecificTags)\n throw new UnexpectedDataError(\"Structure element tags should be context-specific.\");\n if (id === undefined) throw new UnexpectedDataError(\"Structure element tags should have an id.\");\n const fieldName = this.fieldById[id];\n if (fieldName === undefined) {\n // Ignore unknown field by decoding it as raw TLV so we skip forward the proper length.\n TlvAny.decodeTlvInternalValue(reader, elementTypeLength);\n continue;\n }\n const { field, name } = fieldName;\n const decoded = field.schema.decodeTlvInternalValue(reader, elementTypeLength);\n if (field.repeated) {\n if (result[name] === undefined) {\n result[name] = [decoded];\n } else {\n result[name].push(decoded);\n }\n } else {\n result[name] = decoded;\n }\n }\n // Check mandatory fields and, if missing, populate with fallback value if defined.\n for (const name in this.fieldDefinitions) {\n const { optional, fallback, repeated } = this.fieldDefinitions[name];\n if (optional) continue;\n const value = result[name];\n if (value !== undefined) continue;\n if (fallback !== undefined) {\n if (repeated) {\n result[name] = [fallback];\n } else {\n result[name] = fallback;\n }\n }\n }\n return result as TypeFromFields<F>;\n }\n\n override validate(value: TypeFromFields<F>): void {\n for (const name in this.fieldDefinitions) {\n const { optional, schema, repeated: isRepeated } = this.fieldDefinitions[name];\n const data = (value as any)[name];\n if (data === undefined) {\n if (optional) {\n continue;\n }\n throw new ValidationError(`Missing mandatory field ${name}`, name);\n }\n if (isRepeated) {\n const { minLength = 2, maxLength = 65535 } = this.fieldDefinitions[name] as RepeatedFieldType<any>;\n if (!Array.isArray(data)) {\n throw new ValidationError(`Repeated field ${name} should be an array.`, name);\n }\n if (data.length > maxLength)\n throw new ValidationError(\n `Repeated field list for ${name} is too long: ${data.length}, max ${maxLength}.`,\n name,\n );\n if (data.length < minLength)\n throw new ValidationError(\n `Repeated field list for ${name} is too short: ${data.length}, min ${minLength}.`,\n name,\n );\n for (const element of data) {\n tryCatch(\n () => schema.validate(element),\n ValidationError,\n error => {\n error.fieldName = `${name}${error.fieldName !== undefined ? `.${error.fieldName}` : \"\"}`;\n throw error;\n },\n );\n }\n } else {\n tryCatch(\n () => schema.validate(data),\n ValidationError,\n error => {\n error.fieldName = `${name}${error.fieldName !== undefined ? `.${error.fieldName}` : \"\"}`;\n throw error;\n },\n );\n }\n }\n }\n\n override injectField(\n value: TypeFromFields<F>,\n fieldId: number,\n fieldValue: any,\n injectChecker: (fieldValue: any) => boolean,\n ): TypeFromFields<F> {\n for (const k in this.fieldDefinitions) {\n const field = this.fieldDefinitions[k] as FieldType<any>;\n\n if (field.id === fieldId) {\n if (injectChecker((value as any)[k])) {\n field.schema.validate(fieldValue); // Make sure type matches\n (value as any)[k] = fieldValue;\n }\n } else {\n (value as any)[k] = field.schema.injectField((value as any)[k], fieldId, fieldValue, injectChecker);\n }\n }\n return value;\n }\n\n override removeField(\n value: TypeFromFields<F>,\n fieldId: number,\n removeChecker: (fieldValue: any) => boolean,\n ): TypeFromFields<F> {\n for (const k in this.fieldDefinitions) {\n const field = this.fieldDefinitions[k] as FieldType<any>;\n\n if (field.id === fieldId) {\n if ((value as any)[k] !== undefined && removeChecker((value as any)[k])) {\n delete (value as any)[k];\n }\n } else {\n (value as any)[k] = field.schema.removeField((value as any)[k], fieldId, removeChecker);\n }\n }\n return value;\n }\n}\n\n/** Object TLV schema. */\nexport const TlvObject = <F extends TlvFields>(fields: F) => new ObjectSchema(fields, TlvType.Structure);\n\n/**\n * List TLV schema with all tagged entries.\n * List entries that can appear multiple times can be defined using TlvRepeatedField/TlvOptionalRepeatedField and are\n * represented as Arrays.\n * TODO: We represent Tlv Lists right now as named object properties. This formally does not match the spec, which\n * defines a list as a sequence of TLV elements with optional tag where the order matters. That's ok for now\n * (also with the help of \"Repeated Fields\") because it not makes any real difference for now for the current\n * existing data structures. We need to change once this changes.\n */\nexport const TlvTaggedList = <F extends TlvFields>(fields: F, allowProtocolSpecificTags = false) =>\n new ObjectSchema(fields, TlvType.List, allowProtocolSpecificTags);\n\n// TODO Implement a real TlvList schema that matches the spec to represent a ordered list of TLV elements with optional\n// tag.\n\n/**\n * Object TLV mandatory field. Optionally provide a fallback value to initialize the field value when devices omit\n * providing a value against the specifications or in special use cases. Make sure to use a value that is an equivalent\n * to the value being empty.\n */\nexport const TlvField = <T>(id: number, schema: TlvSchema<T>, fallback?: T) =>\n ({ id, schema, fallback, optional: false }) as FieldType<T>;\n\n/** Object TLV optional field. */\nexport const TlvOptionalField = <T>(id: number, schema: TlvSchema<T>) =>\n ({ id, schema, optional: true }) as OptionalFieldType<T>;\n\n/**\n * Object TLV mandatory field that can exist repeated in a TLV List structure. The order is preserved on encoding and\n * decoding.\n */\nexport const TlvRepeatedField = <T>(id: number, schema: TlvSchema<T>, lengthOptions?: LengthConstraints) => {\n const { minLength, maxLength, length } = lengthOptions ?? {};\n return {\n id,\n schema,\n optional: false,\n repeated: true,\n minLength: length ?? minLength,\n maxLength: length ?? maxLength,\n } as RepeatedFieldType<T[]>;\n};\n\n/**\n * Object TLV optional field that can exist repeated in a TLV List structure. The order is preserved on encoding and\n * decoding.\n */\nexport const TlvOptionalRepeatedField = <T>(\n id: number,\n schema: TlvSchema<T>,\n lengthOptions?: { maxLength: number },\n) => {\n const { maxLength } = lengthOptions ?? {};\n return {\n id,\n schema,\n optional: true,\n repeated: true,\n minLength: 0,\n maxLength,\n } as OptionalRepeatedFieldType<T[]>;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,yBAAmD;AACnD,6BAAyB;AACzB,6BAAgC;AAChC,mBAAwB;AAExB,oBAAuB;AAEvB,sBAA+C;AAC/C,uBAAoE;AAdpE;AAAA;AAAA;AAAA;AAAA;AA4DO,MAAM,qBAA0C,2BAA6B;AAAA,EAGhF,YACqB,kBACA,OAAyC,wBAAQ,WACjD,4BAA4B,OAC/C;AACE,UAAM;AAJW;AACA;AACA;AALrB,SAAiB,YAAY,IAAI,MAA+C;AAW5E,eAAW,QAAQ,KAAK,kBAAkB;AACtC,YAAM,QAAQ,KAAK,iBAAiB,IAAI;AACxC,UAAI,MAAM,YAAY,SAAS,wBAAQ,MAAM;AACzC,cAAM,IAAI,MAAM,+CAA+C;AAAA,MACnE;AACA,WAAK,UAAU,MAAM,EAAE,IAAI,EAAE,MAAM,MAAM;AAAA,IAC7C;AAAA,EACJ;AAAA,EAEA,kBAAkB,QAAmB,MAAc,OAA0B,SAA8B;AACvG,UAAM,EAAE,IAAI,QAAQ,UAAU,YAAY,UAAU,WAAW,IAAI,KAAK,iBAAiB,IAAI;AAC7F,UAAM,EAAE,sBAAsB,OAAO,6CAA6C,MAAM,IAAI,WAAW,CAAC;AACxG,QAAI,uBAAuB,4CAA4C;AACnE,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AACA,UAAM,aAAc,MAAc,IAAI;AACtC,QAAI,eAAe,QAAW;AAC1B,UAAI,CAAC,cAAc,CAAC,4CAA4C;AAC5D,YAAI,uBAAuB,OAAe,qBAAQ,YAAY,IAAI;AAE9D;AAAA,QACJ;AACA,cAAM,IAAI,uCAAgB,2BAA2B,IAAI,IAAI,IAAI;AAAA,MACrE;AACA;AAAA,IACJ;AACA,QAAI,YAAY;AACZ,UAAI,CAAC,MAAM,QAAQ,UAAU,GAAG;AAC5B,cAAM,IAAI,uCAAgB,kBAAkB,IAAI,wBAAwB,IAAI;AAAA,MAChF;AACA,iBAAW,WAAW,YAAY;AAC9B,eAAO,kBAAkB,QAAQ,SAAS,EAAE,GAAG,GAAG,OAAO;AAAA,MAC7D;AAAA,IACJ,OAAO;AACH,aAAO,kBAAkB,QAAQ,YAAY,EAAE,GAAG,GAAG,OAAO;AAAA,IAChE;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,iBAAiB,QAAmB,OAA0B,SAA8B;AACxF,eAAW,QAAQ,KAAK,kBAAkB;AACtC,WAAK,kBAAkB,QAAQ,MAAM,OAAO,OAAO;AAAA,IACvD;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY,QAAmB,OAA0B,SAA8B;AACnF,UAAM,gBAAgB,oBAAI,IAAY;AAEtC,eAAW,QAAQ,OAAO,KAAK,KAAK,GAAG;AACnC,WAAK,kBAAkB,QAAQ,MAAM,OAAO,OAAO;AACnD,oBAAc,IAAI,IAAI;AAAA,IAC1B;AAEA,eAAW,QAAQ,KAAK,kBAAkB;AACtC,UAAI,cAAc,IAAI,IAAI,EAAG;AAC7B,WAAK,kBAAkB,QAAQ,MAAM,OAAO,OAAO;AAAA,IACvD;AAAA,EACJ;AAAA,EAES,kBACL,QACA,OACA,KACA,SACI;AACJ,WAAO,SAAS,EAAE,MAAM,KAAK,KAAK,GAAG,GAAG;AAExC,QAAI,KAAK,SAAS,wBAAQ,WAAW;AAEjC,WAAK,iBAAiB,QAAQ,OAAO,OAAO;AAAA,IAChD,OAAO;AACH,WAAK,YAAY,QAAQ,OAAO,OAAO;AAAA,IAC3C;AAEA,WAAO,SAAS,EAAE,MAAM,wBAAQ,eAAe,CAAC;AAAA,EACpD;AAAA,EAES,uBAAuB,QAAmB,YAA8C;AAC7F,QAAI,WAAW,SAAS,KAAK;AACzB,YAAM,IAAI,uCAAoB,mBAAmB,WAAW,IAAI,cAAc,KAAK,IAAI,IAAI;AAC/F,UAAM,SAAc,CAAC;AACrB,WAAO,MAAM;AACT,YAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC,GAAG,YAAY,kBAAkB,IAAI,OAAO,YAAY;AACxF,UAAI,kBAAkB,SAAS,wBAAQ,eAAgB;AACvD,UAAI,YAAY,UAAa,CAAC,KAAK;AAC/B,cAAM,IAAI,uCAAoB,oDAAoD;AACtF,UAAI,OAAO,OAAW,OAAM,IAAI,uCAAoB,2CAA2C;AAC/F,YAAM,YAAY,KAAK,UAAU,EAAE;AACnC,UAAI,cAAc,QAAW;AAEzB,6BAAO,uBAAuB,QAAQ,iBAAiB;AACvD;AAAA,MACJ;AACA,YAAM,EAAE,OAAO,KAAK,IAAI;AACxB,YAAM,UAAU,MAAM,OAAO,uBAAuB,QAAQ,iBAAiB;AAC7E,UAAI,MAAM,UAAU;AAChB,YAAI,OAAO,IAAI,MAAM,QAAW;AAC5B,iBAAO,IAAI,IAAI,CAAC,OAAO;AAAA,QAC3B,OAAO;AACH,iBAAO,IAAI,EAAE,KAAK,OAAO;AAAA,QAC7B;AAAA,MACJ,OAAO;AACH,eAAO,IAAI,IAAI;AAAA,MACnB;AAAA,IACJ;AAEA,eAAW,QAAQ,KAAK,kBAAkB;AACtC,YAAM,EAAE,UAAU,UAAU,SAAS,IAAI,KAAK,iBAAiB,IAAI;AACnE,UAAI,SAAU;AACd,YAAM,QAAQ,OAAO,IAAI;AACzB,UAAI,UAAU,OAAW;AACzB,UAAI,aAAa,QAAW;AACxB,YAAI,UAAU;AACV,iBAAO,IAAI,IAAI,CAAC,QAAQ;AAAA,QAC5B,OAAO;AACH,iBAAO,IAAI,IAAI;AAAA,QACnB;AAAA,MACJ;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AAAA,EAES,SAAS,OAAgC;AAC9C,eAAW,QAAQ,KAAK,kBAAkB;AACtC,YAAM,EAAE,UAAU,QAAQ,UAAU,WAAW,IAAI,KAAK,iBAAiB,IAAI;AAC7E,YAAM,OAAQ,MAAc,IAAI;AAChC,UAAI,SAAS,QAAW;AACpB,YAAI,UAAU;AACV;AAAA,QACJ;AACA,cAAM,IAAI,uCAAgB,2BAA2B,IAAI,IAAI,IAAI;AAAA,MACrE;AACA,UAAI,YAAY;AACZ,cAAM,EAAE,YAAY,GAAG,YAAY,MAAM,IAAI,KAAK,iBAAiB,IAAI;AACvE,YAAI,CAAC,MAAM,QAAQ,IAAI,GAAG;AACtB,gBAAM,IAAI,uCAAgB,kBAAkB,IAAI,wBAAwB,IAAI;AAAA,QAChF;AACA,YAAI,KAAK,SAAS;AACd,gBAAM,IAAI;AAAA,YACN,2BAA2B,IAAI,iBAAiB,KAAK,MAAM,SAAS,SAAS;AAAA,YAC7E;AAAA,UACJ;AACJ,YAAI,KAAK,SAAS;AACd,gBAAM,IAAI;AAAA,YACN,2BAA2B,IAAI,kBAAkB,KAAK,MAAM,SAAS,SAAS;AAAA,YAC9E;AAAA,UACJ;AACJ,mBAAW,WAAW,MAAM;AACxB;AAAA,YACI,MAAM,OAAO,SAAS,OAAO;AAAA,YAC7B;AAAA,YACA,WAAS;AACL,oBAAM,YAAY,GAAG,IAAI,GAAG,MAAM,cAAc,SAAY,IAAI,MAAM,SAAS,KAAK,EAAE;AACtF,oBAAM;AAAA,YACV;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ,OAAO;AACH;AAAA,UACI,MAAM,OAAO,SAAS,IAAI;AAAA,UAC1B;AAAA,UACA,WAAS;AACL,kBAAM,YAAY,GAAG,IAAI,GAAG,MAAM,cAAc,SAAY,IAAI,MAAM,SAAS,KAAK,EAAE;AACtF,kBAAM;AAAA,UACV;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA,EAES,YACL,OACA,SACA,YACA,eACiB;AACjB,eAAW,KAAK,KAAK,kBAAkB;AACnC,YAAM,QAAQ,KAAK,iBAAiB,CAAC;AAErC,UAAI,MAAM,OAAO,SAAS;AACtB,YAAI,cAAe,MAAc,CAAC,CAAC,GAAG;AAClC,gBAAM,OAAO,SAAS,UAAU;AAChC,UAAC,MAAc,CAAC,IAAI;AAAA,QACxB;AAAA,MACJ,OAAO;AACH,QAAC,MAAc,CAAC,IAAI,MAAM,OAAO,YAAa,MAAc,CAAC,GAAG,SAAS,YAAY,aAAa;AAAA,MACtG;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AAAA,EAES,YACL,OACA,SACA,eACiB;AACjB,eAAW,KAAK,KAAK,kBAAkB;AACnC,YAAM,QAAQ,KAAK,iBAAiB,CAAC;AAErC,UAAI,MAAM,OAAO,SAAS;AACtB,YAAK,MAAc,CAAC,MAAM,UAAa,cAAe,MAAc,CAAC,CAAC,GAAG;AACrE,iBAAQ,MAAc,CAAC;AAAA,QAC3B;AAAA,MACJ,OAAO;AACH,QAAC,MAAc,CAAC,IAAI,MAAM,OAAO,YAAa,MAAc,CAAC,GAAG,SAAS,aAAa;AAAA,MAC1F;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AACJ;AAGO,MAAM,YAAY,CAAsB,WAAc,IAAI,aAAa,QAAQ,wBAAQ,SAAS;AAWhG,MAAM,gBAAgB,CAAsB,QAAW,4BAA4B,UACtF,IAAI,aAAa,QAAQ,wBAAQ,MAAM,yBAAyB;AAU7D,MAAM,WAAW,CAAI,IAAY,QAAsB,cACzD,EAAE,IAAI,QAAQ,UAAU,UAAU,MAAM;AAGtC,MAAM,mBAAmB,CAAI,IAAY,YAC3C,EAAE,IAAI,QAAQ,UAAU,KAAK;AAM3B,MAAM,mBAAmB,CAAI,IAAY,QAAsB,kBAAsC;AACxG,QAAM,EAAE,WAAW,WAAW,OAAO,IAAI,iBAAiB,CAAC;AAC3D,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,UAAU;AAAA,IACV,WAAW,UAAU;AAAA,IACrB,WAAW,UAAU;AAAA,EACzB;AACJ;AAMO,MAAM,2BAA2B,CACpC,IACA,QACA,kBACC;AACD,QAAM,EAAE,UAAU,IAAI,iBAAiB,CAAC;AACxC,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,UAAU;AAAA,IACV,WAAW;AAAA,IACX;AAAA,EACJ;AACJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -6,17 +6,29 @@
|
|
|
6
6
|
import { Schema } from "../schema/Schema.js";
|
|
7
7
|
import { ByteArray } from "../util/ByteArray.js";
|
|
8
8
|
import { TlvTag, TlvToPrimitive, TlvTypeLength } from "./TlvCodec.js";
|
|
9
|
+
export type TlvEncodingOptions = {
|
|
10
|
+
/**
|
|
11
|
+
* When true, the fabricIndex field will be excluded from the TLV encoding for list entries.
|
|
12
|
+
* This flag must not be set together with the following flag.
|
|
13
|
+
*/
|
|
14
|
+
forWriteInteraction?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* When true, mandatory field validation is skipped when encoding TLV for list entries.
|
|
17
|
+
* This flag must not be set together with the former flag.
|
|
18
|
+
*/
|
|
19
|
+
allowMissingFieldsForNonFabricFilteredRead?: boolean;
|
|
20
|
+
};
|
|
9
21
|
export declare abstract class TlvSchema<T> extends Schema<T, ByteArray> implements TlvSchema<T> {
|
|
10
22
|
decodeInternal(encoded: ByteArray): T;
|
|
11
23
|
encodeInternal(value: T): ByteArray;
|
|
12
|
-
encodeTlv(value: T,
|
|
24
|
+
encodeTlv(value: T, options?: TlvEncodingOptions): TlvStream;
|
|
13
25
|
decodeTlv(encoded: TlvStream): T;
|
|
14
26
|
decodeTlvInternal(reader: TlvReader): {
|
|
15
27
|
value: T;
|
|
16
28
|
tag?: TlvTag;
|
|
17
29
|
};
|
|
18
30
|
abstract decodeTlvInternalValue(reader: TlvReader, typeLength: TlvTypeLength): T;
|
|
19
|
-
abstract encodeTlvInternal(writer: TlvWriter, value: T, tag?: TlvTag,
|
|
31
|
+
abstract encodeTlvInternal(writer: TlvWriter, value: T, tag?: TlvTag, options?: TlvEncodingOptions): void;
|
|
20
32
|
injectField(value: T, _fieldId: number, _fieldValue: any, _injectChecker: (fieldValue: any) => boolean): T;
|
|
21
33
|
removeField(value: T, _fieldId: number, _removeChecker: (fieldValue: any) => boolean): T;
|
|
22
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TlvSchema.d.ts","sourceRoot":"","sources":["../../../src/tlv/TlvSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAU,MAAM,sBAAsB,CAAC;AAGzD,OAAO,EAAY,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEhF,8BAAsB,SAAS,CAAC,CAAC,CAAE,SAAQ,MAAM,CAAC,CAAC,EAAE,SAAS,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IAC1E,cAAc,CAAC,OAAO,EAAE,SAAS,GAAG,CAAC;IAIrC,cAAc,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS;IAM5C,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"TlvSchema.d.ts","sourceRoot":"","sources":["../../../src/tlv/TlvSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,9 +44,9 @@ class TlvSchema extends import_Schema.Schema {
|
|
|
44
44
|
this.encodeTlvInternal(writer, value);
|
|
45
45
|
return writer.toByteArray();
|
|
46
46
|
}
|
|
47
|
-
encodeTlv(value,
|
|
47
|
+
encodeTlv(value, options) {
|
|
48
48
|
const writer = new TlvArrayWriter();
|
|
49
|
-
this.encodeTlvInternal(writer, value, void 0,
|
|
49
|
+
this.encodeTlvInternal(writer, value, void 0, options);
|
|
50
50
|
return writer.toTlvArray();
|
|
51
51
|
}
|
|
52
52
|
decodeTlv(encoded) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/tlv/TlvSchema.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * @license\n * Copyright 2022-2024 Matter.js Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Schema } from \"../schema/Schema.js\";\nimport { ByteArray, Endian } from \"../util/ByteArray.js\";\nimport { DataReader } from \"../util/DataReader.js\";\nimport { DataWriter } from \"../util/DataWriter.js\";\nimport { TlvCodec, TlvTag, TlvToPrimitive, TlvTypeLength } from \"./TlvCodec.js\";\n\nexport abstract class TlvSchema<T> extends Schema<T, ByteArray> implements TlvSchema<T> {\n override decodeInternal(encoded: ByteArray): T {\n return this.decodeTlvInternal(new TlvByteArrayReader(encoded)).value;\n }\n\n override encodeInternal(value: T): ByteArray {\n const writer = new TlvByteArrayWriter();\n this.encodeTlvInternal(writer, value);\n return writer.toByteArray();\n }\n\n encodeTlv(value: T,
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,oBAAuB;AACvB,uBAAkC;AAClC,wBAA2B;AAC3B,wBAA2B;AAC3B,sBAAgE;AAVhE;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["/**\n * @license\n * Copyright 2022-2024 Matter.js Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Schema } from \"../schema/Schema.js\";\nimport { ByteArray, Endian } from \"../util/ByteArray.js\";\nimport { DataReader } from \"../util/DataReader.js\";\nimport { DataWriter } from \"../util/DataWriter.js\";\nimport { TlvCodec, TlvTag, TlvToPrimitive, TlvTypeLength } from \"./TlvCodec.js\";\n\nexport type TlvEncodingOptions = {\n /**\n * When true, the fabricIndex field will be excluded from the TLV encoding for list entries.\n * This flag must not be set together with the following flag.\n */\n forWriteInteraction?: boolean;\n\n /**\n * When true, mandatory field validation is skipped when encoding TLV for list entries.\n * This flag must not be set together with the former flag.\n */\n allowMissingFieldsForNonFabricFilteredRead?: boolean;\n};\n\nexport abstract class TlvSchema<T> extends Schema<T, ByteArray> implements TlvSchema<T> {\n override decodeInternal(encoded: ByteArray): T {\n return this.decodeTlvInternal(new TlvByteArrayReader(encoded)).value;\n }\n\n override encodeInternal(value: T): ByteArray {\n const writer = new TlvByteArrayWriter();\n this.encodeTlvInternal(writer, value);\n return writer.toByteArray();\n }\n\n encodeTlv(value: T, options?: TlvEncodingOptions): TlvStream {\n const writer = new TlvArrayWriter();\n this.encodeTlvInternal(writer, value, undefined, options);\n return writer.toTlvArray();\n }\n\n decodeTlv(encoded: TlvStream): T {\n return this.decodeTlvInternal(new TlvArrayReader(encoded)).value;\n }\n\n decodeTlvInternal(reader: TlvReader): { value: T; tag?: TlvTag } {\n const { tag, typeLength } = reader.readTagType();\n return { tag, value: this.decodeTlvInternalValue(reader, typeLength) };\n }\n\n abstract decodeTlvInternalValue(reader: TlvReader, typeLength: TlvTypeLength): T;\n\n abstract encodeTlvInternal(writer: TlvWriter, value: T, tag?: TlvTag, options?: TlvEncodingOptions): void;\n\n injectField(value: T, _fieldId: number, _fieldValue: any, _injectChecker: (fieldValue: any) => boolean): T {\n return value;\n }\n\n removeField(value: T, _fieldId: number, _removeChecker: (fieldValue: any) => boolean): T {\n return value;\n }\n}\n\nexport type TlvStream = TlvElement<any>[];\n\nexport type TlvElement<T extends TlvTypeLength> = {\n tag?: TlvTag;\n typeLength: T;\n value?: TlvToPrimitive[T[\"type\"]];\n};\n\nexport class TlvArrayWriter implements TlvWriter {\n private readonly tlvArray = new Array<TlvElement<any>>();\n\n writeTag(typeLength: TlvTypeLength, tag?: TlvTag) {\n this.tlvArray.push({ tag, typeLength });\n }\n\n writePrimitive<T extends TlvTypeLength>(_typeLength: T, value: TlvToPrimitive[T[\"type\"]]) {\n this.tlvArray[this.tlvArray.length - 1].value = value;\n }\n\n toTlvArray() {\n return this.tlvArray;\n }\n}\n\nexport class TlvArrayReader implements TlvReader {\n private index = -1;\n\n constructor(private readonly tlvElements: TlvElement<any>[]) {}\n\n readTagType() {\n this.index++;\n return this.tlvElements[this.index];\n }\n\n readPrimitive<T extends TlvTypeLength, V = TlvToPrimitive[T[\"type\"]]>(_typeLength: T): V {\n return this.tlvElements[this.index].value;\n }\n}\n\n/** Type defined by the TLV schema. */\nexport type TypeFromSchema<S extends TlvSchema<any>> = S extends TlvSchema<infer T> ? T : never;\n\nexport interface TlvReader {\n readTagType(): { tag?: TlvTag; typeLength: TlvTypeLength };\n\n readPrimitive<T extends TlvTypeLength, V = TlvToPrimitive[T[\"type\"]]>(typeLength: T): V;\n}\n\nexport interface TlvWriter {\n writeTag(typeLength: TlvTypeLength, tag?: TlvTag): void;\n\n writePrimitive<T extends TlvTypeLength>(typeLength: T, value: TlvToPrimitive[T[\"type\"]]): void;\n}\n\nexport class TlvByteArrayWriter implements TlvWriter {\n private readonly writer = new DataWriter(Endian.Little);\n\n writeTag(typeLength: TlvTypeLength, tag?: TlvTag) {\n TlvCodec.writeTag(this.writer, typeLength, tag);\n }\n\n writePrimitive<T extends TlvTypeLength>(typeLength: T, value: TlvToPrimitive[T[\"type\"]]) {\n TlvCodec.writePrimitive(this.writer, typeLength, value);\n }\n\n toByteArray() {\n return this.writer.toByteArray();\n }\n}\n\nexport class TlvByteArrayReader implements TlvReader {\n private readonly reader: DataReader<Endian.Little>;\n\n constructor(byteArray: ByteArray) {\n this.reader = new DataReader(byteArray, Endian.Little);\n }\n\n readTagType() {\n return TlvCodec.readTagType(this.reader);\n }\n\n readPrimitive<T extends TlvTypeLength, V = TlvToPrimitive[T[\"type\"]]>(typeLength: T): V {\n return TlvCodec.readPrimitive(this.reader, typeLength);\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,oBAAuB;AACvB,uBAAkC;AAClC,wBAA2B;AAC3B,wBAA2B;AAC3B,sBAAgE;AAVhE;AAAA;AAAA;AAAA;AAAA;AA0BO,MAAe,kBAAqB,qBAA6C;AAAA,EAC3E,eAAe,SAAuB;AAC3C,WAAO,KAAK,kBAAkB,IAAI,mBAAmB,OAAO,CAAC,EAAE;AAAA,EACnE;AAAA,EAES,eAAe,OAAqB;AACzC,UAAM,SAAS,IAAI,mBAAmB;AACtC,SAAK,kBAAkB,QAAQ,KAAK;AACpC,WAAO,OAAO,YAAY;AAAA,EAC9B;AAAA,EAEA,UAAU,OAAU,SAAyC;AACzD,UAAM,SAAS,IAAI,eAAe;AAClC,SAAK,kBAAkB,QAAQ,OAAO,QAAW,OAAO;AACxD,WAAO,OAAO,WAAW;AAAA,EAC7B;AAAA,EAEA,UAAU,SAAuB;AAC7B,WAAO,KAAK,kBAAkB,IAAI,eAAe,OAAO,CAAC,EAAE;AAAA,EAC/D;AAAA,EAEA,kBAAkB,QAA+C;AAC7D,UAAM,EAAE,KAAK,WAAW,IAAI,OAAO,YAAY;AAC/C,WAAO,EAAE,KAAK,OAAO,KAAK,uBAAuB,QAAQ,UAAU,EAAE;AAAA,EACzE;AAAA,EAMA,YAAY,OAAU,UAAkB,aAAkB,gBAAiD;AACvG,WAAO;AAAA,EACX;AAAA,EAEA,YAAY,OAAU,UAAkB,gBAAiD;AACrF,WAAO;AAAA,EACX;AACJ;AAUO,MAAM,eAAoC;AAAA,EAA1C;AACH,SAAiB,WAAW,IAAI,MAAuB;AAAA;AAAA,EAEvD,SAAS,YAA2B,KAAc;AAC9C,SAAK,SAAS,KAAK,EAAE,KAAK,WAAW,CAAC;AAAA,EAC1C;AAAA,EAEA,eAAwC,aAAgB,OAAkC;AACtF,SAAK,SAAS,KAAK,SAAS,SAAS,CAAC,EAAE,QAAQ;AAAA,EACpD;AAAA,EAEA,aAAa;AACT,WAAO,KAAK;AAAA,EAChB;AACJ;AAEO,MAAM,eAAoC;AAAA,EAG7C,YAA6B,aAAgC;AAAhC;AAF7B,SAAQ,QAAQ;AAAA,EAE8C;AAAA,EAE9D,cAAc;AACV,SAAK;AACL,WAAO,KAAK,YAAY,KAAK,KAAK;AAAA,EACtC;AAAA,EAEA,cAAsE,aAAmB;AACrF,WAAO,KAAK,YAAY,KAAK,KAAK,EAAE;AAAA,EACxC;AACJ;AAiBO,MAAM,mBAAwC;AAAA,EAA9C;AACH,SAAiB,SAAS,IAAI,6BAAW,wBAAO,MAAM;AAAA;AAAA,EAEtD,SAAS,YAA2B,KAAc;AAC9C,6BAAS,SAAS,KAAK,QAAQ,YAAY,GAAG;AAAA,EAClD;AAAA,EAEA,eAAwC,YAAe,OAAkC;AACrF,6BAAS,eAAe,KAAK,QAAQ,YAAY,KAAK;AAAA,EAC1D;AAAA,EAEA,cAAc;AACV,WAAO,KAAK,OAAO,YAAY;AAAA,EACnC;AACJ;AAEO,MAAM,mBAAwC;AAAA,EAGjD,YAAY,WAAsB;AAC9B,SAAK,SAAS,IAAI,6BAAW,WAAW,wBAAO,MAAM;AAAA,EACzD;AAAA,EAEA,cAAc;AACV,WAAO,yBAAS,YAAY,KAAK,MAAM;AAAA,EAC3C;AAAA,EAEA,cAAsE,YAAkB;AACpF,WAAO,yBAAS,cAAc,KAAK,QAAQ,UAAU;AAAA,EACzD;AACJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { TlvTag, TlvTypeLength } from "./TlvCodec.js";
|
|
7
|
-
import { TlvReader, TlvSchema, TlvWriter } from "./TlvSchema.js";
|
|
7
|
+
import { TlvEncodingOptions, TlvReader, TlvSchema, TlvWriter } from "./TlvSchema.js";
|
|
8
8
|
export declare class TlvWrapper<O, T> extends TlvSchema<O> {
|
|
9
9
|
protected readonly underlyingSchema: TlvSchema<T>;
|
|
10
10
|
protected readonly wrap: (object: O) => T;
|
|
11
11
|
private readonly unwrap;
|
|
12
12
|
constructor(underlyingSchema: TlvSchema<T>, wrap: (object: O) => T, unwrap: (value: T) => O);
|
|
13
13
|
decodeTlvInternalValue(reader: TlvReader, typeLength: TlvTypeLength): O;
|
|
14
|
-
encodeTlvInternal(writer: TlvWriter, value: O, tag?: TlvTag,
|
|
14
|
+
encodeTlvInternal(writer: TlvWriter, value: O, tag?: TlvTag, options?: TlvEncodingOptions): void;
|
|
15
15
|
validate(value: O): void;
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=TlvWrapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TlvWrapper.d.ts","sourceRoot":"","sources":["../../../src/tlv/TlvWrapper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"TlvWrapper.d.ts","sourceRoot":"","sources":["../../../src/tlv/TlvWrapper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAErF,qBAAa,UAAU,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IAE1C,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFJ,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC,EAC9B,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EACxB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC;IAKnC,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,GAAG,CAAC;IAIvE,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,IAAI;IAIhG,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;CAGpC"}
|
|
@@ -37,8 +37,8 @@ class TlvWrapper extends import_TlvSchema.TlvSchema {
|
|
|
37
37
|
decodeTlvInternalValue(reader, typeLength) {
|
|
38
38
|
return this.unwrap(this.underlyingSchema.decodeTlvInternalValue(reader, typeLength));
|
|
39
39
|
}
|
|
40
|
-
encodeTlvInternal(writer, value, tag,
|
|
41
|
-
this.underlyingSchema.encodeTlvInternal(writer, this.wrap(value), tag,
|
|
40
|
+
encodeTlvInternal(writer, value, tag, options) {
|
|
41
|
+
this.underlyingSchema.encodeTlvInternal(writer, this.wrap(value), tag, options);
|
|
42
42
|
}
|
|
43
43
|
validate(value) {
|
|
44
44
|
this.underlyingSchema.validate(this.wrap(value));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/tlv/TlvWrapper.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * @license\n * Copyright 2022-2024 Matter.js Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { TlvTag, TlvTypeLength } from \"./TlvCodec.js\";\nimport { TlvReader, TlvSchema, TlvWriter } from \"./TlvSchema.js\";\n\nexport class TlvWrapper<O, T> extends TlvSchema<O> {\n constructor(\n protected readonly underlyingSchema: TlvSchema<T>,\n protected readonly wrap: (object: O) => T,\n private readonly unwrap: (value: T) => O,\n ) {\n super();\n }\n\n override decodeTlvInternalValue(reader: TlvReader, typeLength: TlvTypeLength): O {\n return this.unwrap(this.underlyingSchema.decodeTlvInternalValue(reader, typeLength));\n }\n\n override encodeTlvInternal(writer: TlvWriter, value: O, tag?: TlvTag,
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,
|
|
4
|
+
"sourcesContent": ["/**\n * @license\n * Copyright 2022-2024 Matter.js Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { TlvTag, TlvTypeLength } from \"./TlvCodec.js\";\nimport { TlvEncodingOptions, TlvReader, TlvSchema, TlvWriter } from \"./TlvSchema.js\";\n\nexport class TlvWrapper<O, T> extends TlvSchema<O> {\n constructor(\n protected readonly underlyingSchema: TlvSchema<T>,\n protected readonly wrap: (object: O) => T,\n private readonly unwrap: (value: T) => O,\n ) {\n super();\n }\n\n override decodeTlvInternalValue(reader: TlvReader, typeLength: TlvTypeLength): O {\n return this.unwrap(this.underlyingSchema.decodeTlvInternalValue(reader, typeLength));\n }\n\n override encodeTlvInternal(writer: TlvWriter, value: O, tag?: TlvTag, options?: TlvEncodingOptions): void {\n this.underlyingSchema.encodeTlvInternal(writer, this.wrap(value), tag, options);\n }\n\n override validate(value: O): void {\n this.underlyingSchema.validate(this.wrap(value));\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,uBAAoE;AAPpE;AAAA;AAAA;AAAA;AAAA;AASO,MAAM,mBAAyB,2BAAa;AAAA,EAC/C,YACuB,kBACA,MACF,QACnB;AACE,UAAM;AAJa;AACA;AACF;AAAA,EAGrB;AAAA,EAES,uBAAuB,QAAmB,YAA8B;AAC7E,WAAO,KAAK,OAAO,KAAK,iBAAiB,uBAAuB,QAAQ,UAAU,CAAC;AAAA,EACvF;AAAA,EAES,kBAAkB,QAAmB,OAAU,KAAc,SAAoC;AACtG,SAAK,iBAAiB,kBAAkB,QAAQ,KAAK,KAAK,KAAK,GAAG,KAAK,OAAO;AAAA,EAClF;AAAA,EAES,SAAS,OAAgB;AAC9B,SAAK,iBAAiB,SAAS,KAAK,KAAK,KAAK,CAAC;AAAA,EACnD;AACJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommissioningServer.d.ts","sourceRoot":"","sources":["../../src/CommissioningServer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CommissioningServer.d.ts","sourceRoot":"","sources":["../../src/CommissioningServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -318,7 +318,6 @@ class CommissioningServer extends MatterNode {
|
|
|
318
318
|
}
|
|
319
319
|
this.interactionServer = new LegacyInteractionServer({
|
|
320
320
|
endpointStructure: this.endpointStructure,
|
|
321
|
-
eventHandler: this.eventHandler,
|
|
322
321
|
subscriptionOptions: {
|
|
323
322
|
maxIntervalSeconds: this.options.subscriptionMaxIntervalSeconds,
|
|
324
323
|
minIntervalSeconds: this.options.subscriptionMinIntervalSeconds,
|