@matter/types 0.16.0-alpha.0-20250812-285b75d83 → 0.16.0-alpha.0-20250815-ac9fd6eb0
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/clusters/access-control.d.ts +10 -10
- package/dist/cjs/clusters/administrator-commissioning.d.ts +8 -8
- package/dist/cjs/clusters/application-launcher.d.ts +14 -14
- package/dist/cjs/clusters/channel.d.ts +15 -15
- package/dist/cjs/clusters/commissioner-control.d.ts +4 -4
- package/dist/cjs/clusters/diagnostic-logs.d.ts +2 -2
- package/dist/cjs/clusters/door-lock.d.ts +111 -111
- package/dist/cjs/clusters/energy-evse.d.ts +5 -5
- package/dist/cjs/clusters/general-diagnostics.d.ts +26 -26
- package/dist/cjs/clusters/group-key-management.d.ts +21 -21
- package/dist/cjs/clusters/icd-management.d.ts +15 -15
- package/dist/cjs/clusters/joint-fabric-datastore.d.ts +7 -7
- package/dist/cjs/clusters/joint-fabric-pki.d.ts +4 -4
- package/dist/cjs/clusters/media-playback.d.ts +4 -4
- package/dist/cjs/clusters/messages.d.ts +20 -20
- package/dist/cjs/clusters/network-commissioning.d.ts +74 -74
- package/dist/cjs/clusters/operational-credentials.d.ts +33 -33
- package/dist/cjs/clusters/ota-software-update-provider.d.ts +10 -10
- package/dist/cjs/clusters/ota-software-update-requestor.d.ts +2 -2
- package/dist/cjs/clusters/software-diagnostics.d.ts +4 -4
- package/dist/cjs/clusters/target-navigator.d.ts +2 -2
- package/dist/cjs/clusters/thermostat.d.ts +39 -39
- package/dist/cjs/clusters/thread-border-router-management.d.ts +19 -19
- package/dist/cjs/clusters/thread-network-diagnostics.d.ts +6 -6
- package/dist/cjs/clusters/thread-network-directory.d.ts +11 -11
- package/dist/cjs/clusters/wake-on-lan.d.ts +1 -1
- package/dist/cjs/clusters/wi-fi-network-diagnostics.d.ts +3 -3
- package/dist/cjs/clusters/wi-fi-network-management.d.ts +3 -3
- package/dist/cjs/commissioning/CommissioningOptions.d.ts +1 -1
- package/dist/cjs/commissioning/CommissioningOptions.d.ts.map +1 -1
- package/dist/cjs/schema/Base38Schema.d.ts +4 -3
- package/dist/cjs/schema/Base38Schema.d.ts.map +1 -1
- package/dist/cjs/schema/Base38Schema.js +2 -1
- package/dist/cjs/schema/Base38Schema.js.map +1 -1
- package/dist/cjs/schema/BitmapSchema.d.ts +3 -3
- package/dist/cjs/schema/BitmapSchema.d.ts.map +1 -1
- package/dist/cjs/schema/BitmapSchema.js +2 -1
- package/dist/cjs/schema/BitmapSchema.js.map +1 -1
- package/dist/cjs/schema/PairingCodeSchema.d.ts +5 -4
- package/dist/cjs/schema/PairingCodeSchema.d.ts.map +1 -1
- package/dist/cjs/schema/PairingCodeSchema.js +2 -2
- package/dist/cjs/schema/PairingCodeSchema.js.map +1 -1
- package/dist/cjs/tlv/TlvCodec.d.ts +2 -2
- package/dist/cjs/tlv/TlvCodec.d.ts.map +1 -1
- package/dist/cjs/tlv/TlvCodec.js +4 -4
- package/dist/cjs/tlv/TlvCodec.js.map +1 -1
- 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 +2 -2
- package/dist/cjs/tlv/TlvObject.js.map +1 -1
- package/dist/cjs/tlv/TlvSchema.d.ts +6 -5
- package/dist/cjs/tlv/TlvSchema.d.ts.map +1 -1
- package/dist/cjs/tlv/TlvSchema.js.map +1 -1
- package/dist/cjs/tlv/TlvString.d.ts.map +1 -1
- package/dist/cjs/tlv/TlvString.js +9 -7
- package/dist/cjs/tlv/TlvString.js.map +1 -1
- package/dist/esm/clusters/access-control.d.ts +10 -10
- package/dist/esm/clusters/administrator-commissioning.d.ts +8 -8
- package/dist/esm/clusters/application-launcher.d.ts +14 -14
- package/dist/esm/clusters/channel.d.ts +15 -15
- package/dist/esm/clusters/commissioner-control.d.ts +4 -4
- package/dist/esm/clusters/diagnostic-logs.d.ts +2 -2
- package/dist/esm/clusters/door-lock.d.ts +111 -111
- package/dist/esm/clusters/energy-evse.d.ts +5 -5
- package/dist/esm/clusters/general-diagnostics.d.ts +26 -26
- package/dist/esm/clusters/group-key-management.d.ts +21 -21
- package/dist/esm/clusters/icd-management.d.ts +15 -15
- package/dist/esm/clusters/joint-fabric-datastore.d.ts +7 -7
- package/dist/esm/clusters/joint-fabric-pki.d.ts +4 -4
- package/dist/esm/clusters/media-playback.d.ts +4 -4
- package/dist/esm/clusters/messages.d.ts +20 -20
- package/dist/esm/clusters/network-commissioning.d.ts +74 -74
- package/dist/esm/clusters/operational-credentials.d.ts +33 -33
- package/dist/esm/clusters/ota-software-update-provider.d.ts +10 -10
- package/dist/esm/clusters/ota-software-update-requestor.d.ts +2 -2
- package/dist/esm/clusters/software-diagnostics.d.ts +4 -4
- package/dist/esm/clusters/target-navigator.d.ts +2 -2
- package/dist/esm/clusters/thermostat.d.ts +39 -39
- package/dist/esm/clusters/thread-border-router-management.d.ts +19 -19
- package/dist/esm/clusters/thread-network-diagnostics.d.ts +6 -6
- package/dist/esm/clusters/thread-network-directory.d.ts +11 -11
- package/dist/esm/clusters/wake-on-lan.d.ts +1 -1
- package/dist/esm/clusters/wi-fi-network-diagnostics.d.ts +3 -3
- package/dist/esm/clusters/wi-fi-network-management.d.ts +3 -3
- package/dist/esm/commissioning/CommissioningOptions.d.ts +1 -1
- package/dist/esm/commissioning/CommissioningOptions.d.ts.map +1 -1
- package/dist/esm/schema/Base38Schema.d.ts +4 -3
- package/dist/esm/schema/Base38Schema.d.ts.map +1 -1
- package/dist/esm/schema/Base38Schema.js +3 -2
- package/dist/esm/schema/Base38Schema.js.map +1 -1
- package/dist/esm/schema/BitmapSchema.d.ts +3 -3
- package/dist/esm/schema/BitmapSchema.d.ts.map +1 -1
- package/dist/esm/schema/BitmapSchema.js +3 -2
- package/dist/esm/schema/BitmapSchema.js.map +1 -1
- package/dist/esm/schema/PairingCodeSchema.d.ts +5 -4
- package/dist/esm/schema/PairingCodeSchema.d.ts.map +1 -1
- package/dist/esm/schema/PairingCodeSchema.js +2 -2
- package/dist/esm/schema/PairingCodeSchema.js.map +1 -1
- package/dist/esm/tlv/TlvCodec.d.ts +2 -2
- package/dist/esm/tlv/TlvCodec.d.ts.map +1 -1
- package/dist/esm/tlv/TlvCodec.js +4 -4
- package/dist/esm/tlv/TlvCodec.js.map +1 -1
- 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 +2 -2
- package/dist/esm/tlv/TlvObject.js.map +1 -1
- package/dist/esm/tlv/TlvSchema.d.ts +6 -5
- package/dist/esm/tlv/TlvSchema.d.ts.map +1 -1
- package/dist/esm/tlv/TlvSchema.js.map +1 -1
- package/dist/esm/tlv/TlvString.d.ts.map +1 -1
- package/dist/esm/tlv/TlvString.js +10 -8
- package/dist/esm/tlv/TlvString.js.map +1 -1
- package/package.json +5 -5
- package/src/commissioning/CommissioningOptions.ts +1 -1
- package/src/schema/Base38Schema.ts +5 -4
- package/src/schema/BitmapSchema.ts +4 -3
- package/src/schema/PairingCodeSchema.ts +5 -5
- package/src/tlv/TlvCodec.ts +5 -5
- package/src/tlv/TlvObject.ts +4 -4
- package/src/tlv/TlvSchema.ts +5 -5
- package/src/tlv/TlvString.ts +10 -8
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/tlv/TlvObject.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAgB,qBAAqB,eAAsB,2BAA2B;AACtF,SAAS,mBAAmB;AAC5B;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP,SAAS,cAAc;AAEvB,SAAiB,eAA8B;AAC/C,SAAwC,iBAA4B;AA8C7D,MAAM,qBAA0C,UAA6B;AAAA,EAIhF,YACqB,kBACA,OAAyC,QAAQ,WACjD,4BAA4B,OAC/C;AACE,UAAM;AAJW;AACA;AACA;AAIjB,QAAI,iBAAiB;AAGrB,eAAW,QAAQ,KAAK,kBAAkB;AACtC,YAAM,QAAQ,KAAK,iBAAiB,IAAI;AACxC,UAAI,MAAM,YAAY,SAAS,QAAQ,MAAM;AACzC,cAAM,IAAI,MAAM,+CAA+C;AAAA,MACnE;AACA,WAAK,UAAU,MAAM,EAAE,IAAI,EAAE,MAAM,MAAM;AACzC,UAAI,MAAM,OAAO,YAAY,IAAI;AAC7B,yBAAiB;AAAA,MACrB;AAAA,IACJ;AACA,SAAK,iBAAiB;AAAA,EAC1B;AAAA,EAxBS;AAAA,EACQ,YAAY,IAAI,MAA+C;AAAA,EAyBhF,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,YAAY,IAAI;AAEtD;AAAA,QACJ;AACA,cAAM,IAAI,qCAAqC,2BAA2B,IAAI,IAAI,IAAI;AAAA,MAC1F;AACA;AAAA,IACJ;AACA,QAAI,YAAY;AACZ,UAAI,CAAC,MAAM,QAAQ,UAAU,GAAG;AAC5B,cAAM,IAAI,gCAAgC,kBAAkB,IAAI,wBAAwB,IAAI;AAAA,MAChG;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,QAAQ,WAAW;AAEjC,WAAK,iBAAiB,QAAQ,OAAO,OAAO;AAAA,IAChD,OAAO;AACH,WAAK,YAAY,QAAQ,OAAO,OAAO;AAAA,IAC3C;AAEA,WAAO,SAAS,EAAE,MAAM,QAAQ,eAAe,CAAC;AAAA,EACpD;AAAA,EAES,uBAAuB,QAAmB,YAA8C;AAC7F,QAAI,WAAW,SAAS,KAAK;AACzB,YAAM,IAAI,oBAAoB,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,QAAQ,eAAgB;AACvD,UAAI,YAAY,UAAa,CAAC,KAAK;AAC/B,cAAM,IAAI,oBAAoB,oDAAoD;AACtF,UAAI,OAAO,OAAW,OAAM,IAAI,oBAAoB,2CAA2C;AAC/F,YAAM,YAAY,KAAK,UAAU,EAAE;AACnC,UAAI,cAAc,QAAW;AAEzB,eAAO,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,qCAAqC,2BAA2B,IAAI,IAAI,IAAI;AAAA,MAC1F;AACA,UAAI,YAAY;AACZ,cAAM,EAAE,YAAY,GAAG,YAAY,MAAM,IAAI,KAAK,iBAAiB,IAAI;AACvE,YAAI,CAAC,MAAM,QAAQ,IAAI,GAAG;AACtB,gBAAM,IAAI,gCAAgC,kBAAkB,IAAI,wBAAwB,IAAI;AAAA,QAChG;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,cAAI;AACA,mBAAO,SAAS,OAAO;AAAA,UAC3B,SAAS,GAAG;AACR,4BAAgB,OAAO,CAAC;AACxB,cAAE,YAAY,GAAG,IAAI,GAAG,EAAE,cAAc,SAAY,IAAI,EAAE,SAAS,KAAK,EAAE;AAC1E,kBAAM;AAAA,UACV;AAAA,QACJ;AAAA,MACJ,OAAO;AACH,YAAI;AACA,iBAAO,SAAS,IAAI;AAAA,QACxB,SAAS,GAAG;AACR,0BAAgB,OAAO,CAAC;AACxB,YAAE,YAAY,GAAG,IAAI,GAAG,EAAE,cAAc,SAAY,IAAI,EAAE,SAAS,KAAK,EAAE;AAC1E,gBAAM;AAAA,QACV;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,QAAQ,SAAS;AAEhG,MAAM,gCAAqD,aAAgB;AAAA,EAC9E,YACI,kBACmB,SACnB,OAAyC,QAAQ,WACjD,4BAA4B,OAC9B;AACE,UAAM,kBAAkB,MAAM,yBAAyB;AAJpC;AAAA,EAKvB;AAAA,EAES,OAAO,OAAiC;AAC7C,UAAM,UAAU,MAAM,OAAO,KAAK;AAClC,QAAI,QAAQ,aAAa,KAAK,SAAS;AACnC,YAAM,IAAI;AAAA,QACN,2BAA2B,QAAQ,UAAU,kCAAkC,KAAK,OAAO;AAAA,MAC/F;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AACJ;AAEO,MAAM,uBAAuB,CAAsB,QAAW,YACjE,IAAI,wBAAwB,QAAQ,SAAS,QAAQ,SAAS;AAW3D,MAAM,gBAAgB,CAAsB,QAAW,4BAA4B,UACtF,IAAI,aAAa,QAAQ,QAAQ,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;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { Bytes } from "#general";
|
|
6
7
|
import { Schema } from "../schema/Schema.js";
|
|
7
8
|
import { TlvTag, TlvToPrimitive, TlvTypeLength } from "./TlvCodec.js";
|
|
8
9
|
export type TlvEncodingOptions = {
|
|
@@ -17,9 +18,9 @@ export type TlvEncodingOptions = {
|
|
|
17
18
|
*/
|
|
18
19
|
allowMissingFieldsForNonFabricFilteredRead?: boolean;
|
|
19
20
|
};
|
|
20
|
-
export declare abstract class TlvSchema<T> extends Schema<T,
|
|
21
|
-
decodeInternal(encoded:
|
|
22
|
-
encodeInternal(value: T):
|
|
21
|
+
export declare abstract class TlvSchema<T> extends Schema<T, Bytes> implements TlvSchema<T> {
|
|
22
|
+
decodeInternal(encoded: Bytes): T;
|
|
23
|
+
encodeInternal(value: T): Bytes;
|
|
23
24
|
encodeTlv(value: T, options?: TlvEncodingOptions): TlvStream;
|
|
24
25
|
decodeTlv(encoded: TlvStream): T;
|
|
25
26
|
decodeTlvInternal(reader: TlvReader): {
|
|
@@ -67,11 +68,11 @@ export declare class TlvByteArrayWriter implements TlvWriter {
|
|
|
67
68
|
private readonly writer;
|
|
68
69
|
writeTag(typeLength: TlvTypeLength, tag?: TlvTag): void;
|
|
69
70
|
writePrimitive<T extends TlvTypeLength>(typeLength: T, value: TlvToPrimitive[T["type"]]): void;
|
|
70
|
-
toByteArray(): Uint8Array<
|
|
71
|
+
toByteArray(): Uint8Array<ArrayBufferLike>;
|
|
71
72
|
}
|
|
72
73
|
export declare class TlvByteArrayReader implements TlvReader {
|
|
73
74
|
private readonly reader;
|
|
74
|
-
constructor(byteArray:
|
|
75
|
+
constructor(byteArray: Bytes);
|
|
75
76
|
readTagType(): {
|
|
76
77
|
tag?: TlvTag;
|
|
77
78
|
typeLength: TlvTypeLength;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TlvSchema.d.ts","sourceRoot":"","sources":["../../../src/tlv/TlvSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"TlvSchema.d.ts","sourceRoot":"","sources":["../../../src/tlv/TlvSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/tlv/TlvSchema.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAgB,YAAY,YAAY,cAAc;AACtD,SAAS,cAAc;AACvB,SAAS,gBAAuD;AAgBzD,MAAe,kBAAqB,OAAyC;AAAA,EACvE,eAAe,SAAmB;AACvC,WAAO,KAAK,kBAAkB,IAAI,mBAAmB,OAAO,CAAC,EAAE;AAAA,EACnE;AAAA,EAES,eAAe,OAAiB;AACrC,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,EAC5B,WAAW,IAAI,MAAuB;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;AAAA,EAAiC;AAAA,EAFtD,QAAQ;AAAA,EAIhB,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,EAChC,SAAS,IAAI,WAAW,OAAO,MAAM;AAAA,EAEtD,SAAS,YAA2B,KAAc;AAC9C,aAAS,SAAS,KAAK,QAAQ,YAAY,GAAG;AAAA,EAClD;AAAA,EAEA,eAAwC,YAAe,OAAkC;AACrF,aAAS,eAAe,KAAK,QAAQ,YAAY,KAAK;AAAA,EAC1D;AAAA,EAEA,cAAc;AACV,WAAO,KAAK,OAAO,YAAY;AAAA,EACnC;AACJ;AAEO,MAAM,mBAAwC;AAAA,EAChC;AAAA,EAEjB,YAAY,WAAkB;AAC1B,SAAK,SAAS,IAAI,WAAW,WAAW,OAAO,MAAM;AAAA,EACzD;AAAA,EAEA,cAAc;AACV,WAAO,SAAS,YAAY,KAAK,MAAM;AAAA,EAC3C;AAAA,EAEA,cAAsE,YAAkB;AACpF,WAAO,SAAS,cAAc,KAAK,QAAQ,UAAU;AAAA,EACzD;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TlvString.d.ts","sourceRoot":"","sources":["../../../src/tlv/TlvString.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAY,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEjE,KAAK,iBAAiB,GAAG;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAE,SAAQ,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAEzG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChB,QAAQ,CAAC,SAAS,EAAE,MAAM;IAE1B,QAAQ,CAAC,SAAS,EAAE,MAAM;gBAHjB,IAAI,EAAE,CAAC,EACP,SAAS,GAAE,MAAU,EAErB,SAAS,GAAE,MAAa;IAU5B,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"TlvString.d.ts","sourceRoot":"","sources":["../../../src/tlv/TlvString.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAY,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEjE,KAAK,iBAAiB,GAAG;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAE,SAAQ,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAEzG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChB,QAAQ,CAAC,SAAS,EAAE,MAAM;IAE1B,QAAQ,CAAC,SAAS,EAAE,MAAM;gBAHjB,IAAI,EAAE,CAAC,EACP,SAAS,GAAE,MAAU,EAErB,SAAS,GAAE,MAAa;IAU5B,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAOlF,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC;IAKvF,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI;IAgBjD,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,iBAAiB;CAO5D;AAED,6BAA6B;AAC7B,eAAO,MAAM,aAAa,kCAAuC,CAAC;AAElE,yBAAyB;AACzB,eAAO,MAAM,SAAS,kCAAuC,CAAC;AAE9D,yBAAyB;AACzB,eAAO,MAAM,cAAc,kCAAqC,CAAC;AAEjE,yBAAyB;AACzB,eAAO,MAAM,cAAc,kCAAqC,CAAC;AAEjE,yBAAyB;AACzB,eAAO,MAAM,eAAe,kCAAsC,CAAC;AAEnE,eAAO,MAAM,kBAAkB,kCAAsD,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { ImplementationError, serialize, UnexpectedDataError } from "#general";
|
|
6
|
+
import { Bytes, ImplementationError, serialize, UnexpectedDataError } from "#general";
|
|
7
7
|
import { ValidationDatatypeMismatchError, ValidationOutOfBoundsError } from "../common/ValidationError.js";
|
|
8
8
|
import { TlvCodec, TlvType } from "./TlvCodec.js";
|
|
9
9
|
import { TlvSchema } from "./TlvSchema.js";
|
|
@@ -19,7 +19,8 @@ class StringSchema extends TlvSchema {
|
|
|
19
19
|
throw new ImplementationError("Minimum length should be smaller than maximum length.");
|
|
20
20
|
}
|
|
21
21
|
encodeTlvInternal(writer, value, tag) {
|
|
22
|
-
const
|
|
22
|
+
const length = typeof value === "string" ? value.length : value.byteLength;
|
|
23
|
+
const typeLength = { type: this.type, length: TlvCodec.getUIntTlvLength(length) };
|
|
23
24
|
writer.writeTag(typeLength, tag);
|
|
24
25
|
writer.writePrimitive(typeLength, value);
|
|
25
26
|
}
|
|
@@ -30,15 +31,16 @@ class StringSchema extends TlvSchema {
|
|
|
30
31
|
validate(value) {
|
|
31
32
|
if (this.type === TlvType.Utf8String && typeof value !== "string")
|
|
32
33
|
throw new ValidationDatatypeMismatchError(`Expected string, got ${typeof value}.`);
|
|
33
|
-
if (this.type === TlvType.ByteString && !(value
|
|
34
|
-
throw new ValidationDatatypeMismatchError(`Expected
|
|
35
|
-
|
|
34
|
+
if (this.type === TlvType.ByteString && !Bytes.isBytes(value))
|
|
35
|
+
throw new ValidationDatatypeMismatchError(`Expected bytes, got ${typeof value}.`);
|
|
36
|
+
const length = typeof value === "string" ? value.length : value.byteLength;
|
|
37
|
+
if (length > this.maxLength)
|
|
36
38
|
throw new ValidationOutOfBoundsError(
|
|
37
|
-
`String ${serialize(value)} is too long: ${
|
|
39
|
+
`String ${serialize(value)} is too long: ${length}, max ${this.maxLength}.`
|
|
38
40
|
);
|
|
39
|
-
if (
|
|
41
|
+
if (length < this.minLength)
|
|
40
42
|
throw new ValidationOutOfBoundsError(
|
|
41
|
-
`String ${serialize(value)} is too short: ${
|
|
43
|
+
`String ${serialize(value)} is too short: ${length}, min ${this.minLength}.`
|
|
42
44
|
);
|
|
43
45
|
}
|
|
44
46
|
bound({ minLength, maxLength, length }) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/tlv/TlvString.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,qBAAqB,WAAW,2BAA2B;
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,OAAO,qBAAqB,WAAW,2BAA2B;AAC3E,SAAS,iCAAiC,kCAAkC;AAC5E,SAAS,UAAkC,eAA8B;AACzE,SAAoB,iBAA4B;AAazC,MAAM,qBAAwE,UAA6B;AAAA,EAC9G,YACa,MACA,YAAoB,GAEpB,YAAoB,MAC/B;AACE,UAAM;AALG;AACA;AAEA;AAIT,QAAI,YAAY,EAAG,OAAM,IAAI,oBAAoB,6CAA6C;AAC9F,QAAI,YAAY,EAAG,OAAM,IAAI,oBAAoB,6CAA6C;AAC9F,QAAI,YAAY;AACZ,YAAM,IAAI,oBAAoB,uDAAuD;AAAA,EAC7F;AAAA,EAES,kBAAkB,QAAmB,OAA0B,KAAoB;AACxF,UAAM,SAAS,OAAO,UAAU,WAAW,MAAM,SAAS,MAAM;AAChE,UAAM,aAA4B,EAAE,MAAM,KAAK,MAAM,QAAQ,SAAS,iBAAiB,MAAM,EAAE;AAC/F,WAAO,SAAS,YAAY,GAAG;AAC/B,WAAO,eAAe,YAAY,KAAK;AAAA,EAC3C;AAAA,EAES,uBAAuB,QAAmB,YAA8C;AAC7F,QAAI,WAAW,SAAS,KAAK,KAAM,OAAM,IAAI,oBAAoB,mBAAmB,WAAW,IAAI,GAAG;AACtG,WAAO,OAAO,cAAc,UAAU;AAAA,EAC1C;AAAA,EAES,SAAS,OAAgC;AAC9C,QAAI,KAAK,SAAS,QAAQ,cAAc,OAAO,UAAU;AACrD,YAAM,IAAI,gCAAgC,wBAAwB,OAAO,KAAK,GAAG;AACrF,QAAI,KAAK,SAAS,QAAQ,cAAc,CAAC,MAAM,QAAQ,KAAK;AACxD,YAAM,IAAI,gCAAgC,uBAAuB,OAAO,KAAK,GAAG;AACpF,UAAM,SAAS,OAAO,UAAU,WAAW,MAAM,SAAS,MAAM;AAChE,QAAI,SAAS,KAAK;AACd,YAAM,IAAI;AAAA,QACN,UAAU,UAAU,KAAK,CAAC,iBAAiB,MAAM,SAAS,KAAK,SAAS;AAAA,MAC5E;AACJ,QAAI,SAAS,KAAK;AACd,YAAM,IAAI;AAAA,QACN,UAAU,UAAU,KAAK,CAAC,kBAAkB,MAAM,SAAS,KAAK,SAAS;AAAA,MAC7E;AAAA,EACR;AAAA,EAEA,MAAM,EAAE,WAAW,WAAW,OAAO,GAAsB;AACvD,WAAO,IAAI;AAAA,MACP,KAAK;AAAA,MACL,UAAU,aAAa,KAAK;AAAA,MAC5B,UAAU,aAAa,KAAK;AAAA,IAChC;AAAA,EACJ;AACJ;AAGO,MAAM,gBAAgB,IAAI,aAAa,QAAQ,UAAU;AAGzD,MAAM,YAAY,IAAI,aAAa,QAAQ,UAAU;AAGrD,MAAM,iBAAiB,UAAU,MAAM,EAAE,WAAW,GAAG,CAAC;AAGxD,MAAM,iBAAiB,UAAU,MAAM,EAAE,WAAW,GAAG,CAAC;AAGxD,MAAM,kBAAkB,UAAU,MAAM,EAAE,WAAW,IAAI,CAAC;AAE1D,MAAM,qBAAqB,cAAc,MAAM,EAAE,WAAW,GAAG,WAAW,EAAE,CAAC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/types",
|
|
3
|
-
"version": "0.16.0-alpha.0-
|
|
3
|
+
"version": "0.16.0-alpha.0-20250815-ac9fd6eb0",
|
|
4
4
|
"description": "Definitions for Matter application",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -33,12 +33,12 @@
|
|
|
33
33
|
"embed-examples": "embedme **/README.md"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@matter/general": "0.16.0-alpha.0-
|
|
37
|
-
"@matter/model": "0.16.0-alpha.0-
|
|
36
|
+
"@matter/general": "0.16.0-alpha.0-20250815-ac9fd6eb0",
|
|
37
|
+
"@matter/model": "0.16.0-alpha.0-20250815-ac9fd6eb0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@matter/tools": "0.16.0-alpha.0-
|
|
41
|
-
"@matter/testing": "0.16.0-alpha.0-
|
|
40
|
+
"@matter/tools": "0.16.0-alpha.0-20250815-ac9fd6eb0",
|
|
41
|
+
"@matter/testing": "0.16.0-alpha.0-20250815-ac9fd6eb0"
|
|
42
42
|
},
|
|
43
43
|
"files": [
|
|
44
44
|
"dist/**/*",
|
|
@@ -48,7 +48,7 @@ export namespace CommissioningOptions {
|
|
|
48
48
|
/**
|
|
49
49
|
* Vendor-specific BLE advertisement data.
|
|
50
50
|
*/
|
|
51
|
-
readonly additionalBleAdvertisementData?:
|
|
51
|
+
readonly additionalBleAdvertisementData?: BufferSource;
|
|
52
52
|
|
|
53
53
|
/**
|
|
54
54
|
* Maximum time to advdertise. Must be > 3 minutes and < 48 hours.
|
|
@@ -4,14 +4,15 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { UnexpectedDataError } from "#general";
|
|
7
|
+
import { Bytes, UnexpectedDataError } from "#general";
|
|
8
8
|
import { Schema } from "./Schema.js";
|
|
9
9
|
|
|
10
10
|
const BASE38_ALPHABET = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-.";
|
|
11
11
|
|
|
12
12
|
/** See {@link MatterSpecification.v10.Core} § 5.1.3.1 */
|
|
13
|
-
class Base38Schema extends Schema<
|
|
14
|
-
protected encodeInternal(
|
|
13
|
+
class Base38Schema extends Schema<Bytes, string> {
|
|
14
|
+
protected encodeInternal(data: Bytes): string {
|
|
15
|
+
const bytes = Bytes.of(data);
|
|
15
16
|
const length = bytes.length;
|
|
16
17
|
let offset = 0;
|
|
17
18
|
const result = new Array<string>();
|
|
@@ -40,7 +41,7 @@ class Base38Schema extends Schema<Uint8Array, string> {
|
|
|
40
41
|
return result;
|
|
41
42
|
}
|
|
42
43
|
|
|
43
|
-
protected decodeInternal(encoded: string):
|
|
44
|
+
protected decodeInternal(encoded: string): BufferSource {
|
|
44
45
|
const encodedLength = encoded.length;
|
|
45
46
|
const remainderEncodedLength = encodedLength % 5;
|
|
46
47
|
let decodeLength = ((encodedLength - remainderEncodedLength) / 5) * 3;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { capitalize, Merge, UnexpectedDataError } from "#general";
|
|
7
|
+
import { Bytes, capitalize, Merge, UnexpectedDataError } from "#general";
|
|
8
8
|
import { Schema } from "./Schema.js";
|
|
9
9
|
|
|
10
10
|
const enum BitRangeType {
|
|
@@ -106,7 +106,7 @@ export class BitmapSchemaInternal<T extends BitSchema> extends Schema<TypeFromBi
|
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
export class ByteArrayBitmapSchemaInternal<T extends BitSchema> extends Schema<TypeFromBitSchema<T>,
|
|
109
|
+
export class ByteArrayBitmapSchemaInternal<T extends BitSchema> extends Schema<TypeFromBitSchema<T>, Bytes> {
|
|
110
110
|
private readonly byteArrayLength: number;
|
|
111
111
|
private readonly maskOffset: MaskOffsetFromBitSchema<T>;
|
|
112
112
|
|
|
@@ -158,7 +158,8 @@ export class ByteArrayBitmapSchemaInternal<T extends BitSchema> extends Schema<T
|
|
|
158
158
|
return result;
|
|
159
159
|
}
|
|
160
160
|
|
|
161
|
-
override decodeInternal(
|
|
161
|
+
override decodeInternal(data: BufferSource) {
|
|
162
|
+
const bitmap = Bytes.of(data);
|
|
162
163
|
if (bitmap.length !== this.byteArrayLength)
|
|
163
164
|
throw new UnexpectedDataError(`Unexpected length: ${bitmap.length}. Expected ${this.byteArrayLength}`);
|
|
164
165
|
const result = {} as any;
|
|
@@ -77,7 +77,7 @@ export type QrCodeData = TypeFromBitmapSchema<typeof QrCodeDataSchema> & {
|
|
|
77
77
|
* Variable length TLV data. Zero length if TLV is not included. This data is byte-aligned.
|
|
78
78
|
* All elements SHALL be housed within an anonymous top-level structure container.
|
|
79
79
|
*/
|
|
80
|
-
tlvData?:
|
|
80
|
+
tlvData?: Bytes;
|
|
81
81
|
};
|
|
82
82
|
|
|
83
83
|
/**
|
|
@@ -114,8 +114,8 @@ class QrPairingCodeSchema extends Schema<QrCodeData[], string> {
|
|
|
114
114
|
.map(payloadData => {
|
|
115
115
|
const { tlvData } = payloadData;
|
|
116
116
|
const data =
|
|
117
|
-
tlvData !== undefined && tlvData.
|
|
118
|
-
? Bytes.concat(QrCodeDataSchema.encode(payloadData), tlvData)
|
|
117
|
+
tlvData !== undefined && tlvData.byteLength > 0
|
|
118
|
+
? Bytes.of(Bytes.concat(QrCodeDataSchema.encode(payloadData), tlvData))
|
|
119
119
|
: QrCodeDataSchema.encode(payloadData);
|
|
120
120
|
return Base38.encode(data);
|
|
121
121
|
})
|
|
@@ -129,7 +129,7 @@ class QrPairingCodeSchema extends Schema<QrCodeData[], string> {
|
|
|
129
129
|
.slice(PREFIX.length)
|
|
130
130
|
.split("*")
|
|
131
131
|
.map(encodedData => {
|
|
132
|
-
const data = Base38.decode(encodedData);
|
|
132
|
+
const data = Bytes.of(Base38.decode(encodedData));
|
|
133
133
|
return {
|
|
134
134
|
...QrCodeDataSchema.decode(data.slice(0, 11)),
|
|
135
135
|
tlvData: data.length > 11 ? data.slice(11) : undefined, // TlvData (if any) is after the fixed-length data
|
|
@@ -144,7 +144,7 @@ class QrPairingCodeSchema extends Schema<QrCodeData[], string> {
|
|
|
144
144
|
* @param data Encoded TLV data
|
|
145
145
|
* @param schema The schema to use for decoding the TLV data, by default a schema with the QrCodeTlvDataDefaultFields is used
|
|
146
146
|
*/
|
|
147
|
-
decodeTlvData(data:
|
|
147
|
+
decodeTlvData(data: Bytes, schema: TlvSchema<any> = TlvObject(QrCodeTlvDataDefaultFields)) {
|
|
148
148
|
const decoded = schema.decode(data);
|
|
149
149
|
if (decoded.serialNumber !== undefined) {
|
|
150
150
|
if (
|
package/src/tlv/TlvCodec.ts
CHANGED
|
@@ -71,7 +71,7 @@ export type TlvToPrimitive = {
|
|
|
71
71
|
[TlvType.Boolean]: never;
|
|
72
72
|
[TlvType.Float]: number;
|
|
73
73
|
[TlvType.Utf8String]: string;
|
|
74
|
-
[TlvType.ByteString]:
|
|
74
|
+
[TlvType.ByteString]: Bytes;
|
|
75
75
|
[TlvType.Null]: null;
|
|
76
76
|
[TlvType.Structure]: never;
|
|
77
77
|
[TlvType.Array]: never;
|
|
@@ -405,12 +405,12 @@ export class TlvCodec {
|
|
|
405
405
|
case TlvType.Utf8String: {
|
|
406
406
|
const string = value as TlvToPrimitive[typeof typeLength.type];
|
|
407
407
|
const stringData = Bytes.fromString(string);
|
|
408
|
-
this.writeUInt(writer, typeLength.length, stringData.
|
|
408
|
+
this.writeUInt(writer, typeLength.length, stringData.byteLength);
|
|
409
409
|
return writer.writeByteArray(stringData);
|
|
410
410
|
}
|
|
411
411
|
case TlvType.ByteString: {
|
|
412
412
|
const byteArray = value as TlvToPrimitive[typeof typeLength.type];
|
|
413
|
-
this.writeUInt(writer, typeLength.length, byteArray.
|
|
413
|
+
this.writeUInt(writer, typeLength.length, byteArray.byteLength);
|
|
414
414
|
return writer.writeByteArray(byteArray);
|
|
415
415
|
}
|
|
416
416
|
case TlvType.Boolean:
|
|
@@ -429,11 +429,11 @@ export class TlvCodec {
|
|
|
429
429
|
case TlvType.Utf8String: {
|
|
430
430
|
const string = value as TlvToPrimitive[typeof typeLength.type];
|
|
431
431
|
const stringData = Bytes.fromString(string);
|
|
432
|
-
return this.getUIntByteLength(typeLength.length) + stringData.
|
|
432
|
+
return this.getUIntByteLength(typeLength.length) + stringData.byteLength;
|
|
433
433
|
}
|
|
434
434
|
case TlvType.ByteString: {
|
|
435
435
|
const byteArray = value as TlvToPrimitive[typeof typeLength.type];
|
|
436
|
-
return this.getUIntByteLength(typeLength.length) + byteArray.
|
|
436
|
+
return this.getUIntByteLength(typeLength.length) + byteArray.byteLength;
|
|
437
437
|
}
|
|
438
438
|
case TlvType.Boolean:
|
|
439
439
|
return 0;
|
package/src/tlv/TlvObject.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { ImplementationError, InternalError, Merge, UnexpectedDataError } from "#general";
|
|
7
|
+
import { Bytes, ImplementationError, InternalError, Merge, UnexpectedDataError } from "#general";
|
|
8
8
|
import { FabricIndex } from "#model";
|
|
9
9
|
import {
|
|
10
10
|
ValidationDatatypeMismatchError,
|
|
@@ -308,11 +308,11 @@ export class ObjectSchemaWithMaxSize<F extends TlvFields> extends ObjectSchema<F
|
|
|
308
308
|
super(fieldDefinitions, type, allowProtocolSpecificTags);
|
|
309
309
|
}
|
|
310
310
|
|
|
311
|
-
override encode(value: TypeFromFields<F>):
|
|
311
|
+
override encode(value: TypeFromFields<F>): Bytes {
|
|
312
312
|
const encoded = super.encode(value);
|
|
313
|
-
if (encoded.
|
|
313
|
+
if (encoded.byteLength > this.maxSize) {
|
|
314
314
|
throw new ImplementationError(
|
|
315
|
-
`Encoded TLV object with ${encoded.
|
|
315
|
+
`Encoded TLV object with ${encoded.byteLength} bytes exceeds maximum size of ${this.maxSize} bytes.`,
|
|
316
316
|
);
|
|
317
317
|
}
|
|
318
318
|
return encoded;
|
package/src/tlv/TlvSchema.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { DataReader, DataWriter, Endian } from "#general";
|
|
7
|
+
import { Bytes, DataReader, DataWriter, Endian } from "#general";
|
|
8
8
|
import { Schema } from "../schema/Schema.js";
|
|
9
9
|
import { TlvCodec, TlvTag, TlvToPrimitive, TlvTypeLength } from "./TlvCodec.js";
|
|
10
10
|
|
|
@@ -22,12 +22,12 @@ export type TlvEncodingOptions = {
|
|
|
22
22
|
allowMissingFieldsForNonFabricFilteredRead?: boolean;
|
|
23
23
|
};
|
|
24
24
|
|
|
25
|
-
export abstract class TlvSchema<T> extends Schema<T,
|
|
26
|
-
override decodeInternal(encoded:
|
|
25
|
+
export abstract class TlvSchema<T> extends Schema<T, Bytes> implements TlvSchema<T> {
|
|
26
|
+
override decodeInternal(encoded: Bytes): T {
|
|
27
27
|
return this.decodeTlvInternal(new TlvByteArrayReader(encoded)).value;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
override encodeInternal(value: T):
|
|
30
|
+
override encodeInternal(value: T): Bytes {
|
|
31
31
|
const writer = new TlvByteArrayWriter();
|
|
32
32
|
this.encodeTlvInternal(writer, value);
|
|
33
33
|
return writer.toByteArray();
|
|
@@ -134,7 +134,7 @@ export class TlvByteArrayWriter implements TlvWriter {
|
|
|
134
134
|
export class TlvByteArrayReader implements TlvReader {
|
|
135
135
|
private readonly reader: DataReader<Endian.Little>;
|
|
136
136
|
|
|
137
|
-
constructor(byteArray:
|
|
137
|
+
constructor(byteArray: Bytes) {
|
|
138
138
|
this.reader = new DataReader(byteArray, Endian.Little);
|
|
139
139
|
}
|
|
140
140
|
|
package/src/tlv/TlvString.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { ImplementationError, serialize, UnexpectedDataError } from "#general";
|
|
7
|
+
import { Bytes, ImplementationError, serialize, UnexpectedDataError } from "#general";
|
|
8
8
|
import { ValidationDatatypeMismatchError, ValidationOutOfBoundsError } from "../common/ValidationError.js";
|
|
9
9
|
import { TlvCodec, TlvTag, TlvToPrimitive, TlvType, TlvTypeLength } from "./TlvCodec.js";
|
|
10
10
|
import { TlvReader, TlvSchema, TlvWriter } from "./TlvSchema.js";
|
|
@@ -36,7 +36,8 @@ export class StringSchema<T extends TlvType.ByteString | TlvType.Utf8String> ext
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
override encodeTlvInternal(writer: TlvWriter, value: TlvToPrimitive[T], tag?: TlvTag): void {
|
|
39
|
-
const
|
|
39
|
+
const length = typeof value === "string" ? value.length : value.byteLength;
|
|
40
|
+
const typeLength: TlvTypeLength = { type: this.type, length: TlvCodec.getUIntTlvLength(length) };
|
|
40
41
|
writer.writeTag(typeLength, tag);
|
|
41
42
|
writer.writePrimitive(typeLength, value);
|
|
42
43
|
}
|
|
@@ -49,15 +50,16 @@ export class StringSchema<T extends TlvType.ByteString | TlvType.Utf8String> ext
|
|
|
49
50
|
override validate(value: TlvToPrimitive[T]): void {
|
|
50
51
|
if (this.type === TlvType.Utf8String && typeof value !== "string")
|
|
51
52
|
throw new ValidationDatatypeMismatchError(`Expected string, got ${typeof value}.`);
|
|
52
|
-
if (this.type === TlvType.ByteString && !(value
|
|
53
|
-
throw new ValidationDatatypeMismatchError(`Expected
|
|
54
|
-
|
|
53
|
+
if (this.type === TlvType.ByteString && !Bytes.isBytes(value))
|
|
54
|
+
throw new ValidationDatatypeMismatchError(`Expected bytes, got ${typeof value}.`);
|
|
55
|
+
const length = typeof value === "string" ? value.length : value.byteLength;
|
|
56
|
+
if (length > this.maxLength)
|
|
55
57
|
throw new ValidationOutOfBoundsError(
|
|
56
|
-
`String ${serialize(value)} is too long: ${
|
|
58
|
+
`String ${serialize(value)} is too long: ${length}, max ${this.maxLength}.`,
|
|
57
59
|
);
|
|
58
|
-
if (
|
|
60
|
+
if (length < this.minLength)
|
|
59
61
|
throw new ValidationOutOfBoundsError(
|
|
60
|
-
`String ${serialize(value)} is too short: ${
|
|
62
|
+
`String ${serialize(value)} is too short: ${length}, min ${this.minLength}.`,
|
|
61
63
|
);
|
|
62
64
|
}
|
|
63
65
|
|