@matter/general 0.14.1-alpha.0-20250605-9fc134af0 → 0.14.1-alpha.0-20250606-a9bcd03f9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/dist/cjs/codec/DerCodec.js +2 -2
  2. package/dist/cjs/codec/DerCodec.js.map +1 -1
  3. package/dist/cjs/codec/DnsCodec.js +14 -14
  4. package/dist/cjs/codec/DnsCodec.js.map +1 -1
  5. package/dist/cjs/net/Network.d.ts +1 -0
  6. package/dist/cjs/net/Network.d.ts.map +1 -1
  7. package/dist/cjs/net/Network.js +3 -1
  8. package/dist/cjs/net/Network.js.map +1 -1
  9. package/dist/cjs/net/UdpChannel.d.ts +5 -2
  10. package/dist/cjs/net/UdpChannel.d.ts.map +1 -1
  11. package/dist/cjs/net/UdpChannel.js.map +1 -1
  12. package/dist/cjs/net/UdpInterface.d.ts +6 -6
  13. package/dist/cjs/net/UdpInterface.d.ts.map +1 -1
  14. package/dist/cjs/net/UdpInterface.js +32 -18
  15. package/dist/cjs/net/UdpInterface.js.map +1 -1
  16. package/dist/cjs/net/UdpMulticastServer.d.ts.map +1 -1
  17. package/dist/cjs/net/UdpMulticastServer.js +9 -8
  18. package/dist/cjs/net/UdpMulticastServer.js.map +1 -1
  19. package/dist/cjs/net/mock/MockUdpChannel.d.ts +2 -0
  20. package/dist/cjs/net/mock/MockUdpChannel.d.ts.map +1 -1
  21. package/dist/cjs/net/mock/MockUdpChannel.js +4 -0
  22. package/dist/cjs/net/mock/MockUdpChannel.js.map +1 -1
  23. package/dist/cjs/time/Time.d.ts +2 -0
  24. package/dist/cjs/time/Time.d.ts.map +1 -1
  25. package/dist/cjs/time/Time.js +7 -0
  26. package/dist/cjs/time/Time.js.map +1 -1
  27. package/dist/cjs/util/DataReadQueue.d.ts +1 -0
  28. package/dist/cjs/util/DataReadQueue.d.ts.map +1 -1
  29. package/dist/cjs/util/DataReadQueue.js +3 -0
  30. package/dist/cjs/util/DataReadQueue.js.map +1 -1
  31. package/dist/cjs/util/DataReader.d.ts +2 -2
  32. package/dist/cjs/util/DataReader.d.ts.map +1 -1
  33. package/dist/cjs/util/DataReader.js.map +1 -1
  34. package/dist/cjs/util/DataWriter.d.ts +2 -2
  35. package/dist/cjs/util/DataWriter.d.ts.map +1 -1
  36. package/dist/cjs/util/DataWriter.js.map +1 -1
  37. package/dist/cjs/util/Ip.d.ts +1 -0
  38. package/dist/cjs/util/Ip.d.ts.map +1 -1
  39. package/dist/cjs/util/Ip.js +45 -0
  40. package/dist/cjs/util/Ip.js.map +1 -1
  41. package/dist/cjs/util/Map.d.ts +24 -0
  42. package/dist/cjs/util/Map.d.ts.map +1 -0
  43. package/dist/cjs/util/Map.js +72 -0
  44. package/dist/cjs/util/Map.js.map +6 -0
  45. package/dist/cjs/util/Set.d.ts +1 -0
  46. package/dist/cjs/util/Set.d.ts.map +1 -1
  47. package/dist/cjs/util/Set.js +14 -5
  48. package/dist/cjs/util/Set.js.map +2 -2
  49. package/dist/cjs/util/index.d.ts +1 -0
  50. package/dist/cjs/util/index.d.ts.map +1 -1
  51. package/dist/cjs/util/index.js +1 -0
  52. package/dist/cjs/util/index.js.map +1 -1
  53. package/dist/esm/codec/DerCodec.js +3 -3
  54. package/dist/esm/codec/DerCodec.js.map +1 -1
  55. package/dist/esm/codec/DnsCodec.js +15 -15
  56. package/dist/esm/codec/DnsCodec.js.map +1 -1
  57. package/dist/esm/net/Network.d.ts +1 -0
  58. package/dist/esm/net/Network.d.ts.map +1 -1
  59. package/dist/esm/net/Network.js +3 -1
  60. package/dist/esm/net/Network.js.map +1 -1
  61. package/dist/esm/net/UdpChannel.d.ts +5 -2
  62. package/dist/esm/net/UdpChannel.d.ts.map +1 -1
  63. package/dist/esm/net/UdpChannel.js.map +1 -1
  64. package/dist/esm/net/UdpInterface.d.ts +6 -6
  65. package/dist/esm/net/UdpInterface.d.ts.map +1 -1
  66. package/dist/esm/net/UdpInterface.js +32 -18
  67. package/dist/esm/net/UdpInterface.js.map +1 -1
  68. package/dist/esm/net/UdpMulticastServer.d.ts.map +1 -1
  69. package/dist/esm/net/UdpMulticastServer.js +9 -8
  70. package/dist/esm/net/UdpMulticastServer.js.map +1 -1
  71. package/dist/esm/net/mock/MockUdpChannel.d.ts +2 -0
  72. package/dist/esm/net/mock/MockUdpChannel.d.ts.map +1 -1
  73. package/dist/esm/net/mock/MockUdpChannel.js +4 -0
  74. package/dist/esm/net/mock/MockUdpChannel.js.map +1 -1
  75. package/dist/esm/time/Time.d.ts +2 -0
  76. package/dist/esm/time/Time.d.ts.map +1 -1
  77. package/dist/esm/time/Time.js +7 -0
  78. package/dist/esm/time/Time.js.map +1 -1
  79. package/dist/esm/util/DataReadQueue.d.ts +1 -0
  80. package/dist/esm/util/DataReadQueue.d.ts.map +1 -1
  81. package/dist/esm/util/DataReadQueue.js +3 -0
  82. package/dist/esm/util/DataReadQueue.js.map +1 -1
  83. package/dist/esm/util/DataReader.d.ts +2 -2
  84. package/dist/esm/util/DataReader.d.ts.map +1 -1
  85. package/dist/esm/util/DataReader.js.map +1 -1
  86. package/dist/esm/util/DataWriter.d.ts +2 -2
  87. package/dist/esm/util/DataWriter.d.ts.map +1 -1
  88. package/dist/esm/util/DataWriter.js.map +1 -1
  89. package/dist/esm/util/Ip.d.ts +1 -0
  90. package/dist/esm/util/Ip.d.ts.map +1 -1
  91. package/dist/esm/util/Ip.js +45 -0
  92. package/dist/esm/util/Ip.js.map +1 -1
  93. package/dist/esm/util/Map.d.ts +24 -0
  94. package/dist/esm/util/Map.d.ts.map +1 -0
  95. package/dist/esm/util/Map.js +52 -0
  96. package/dist/esm/util/Map.js.map +6 -0
  97. package/dist/esm/util/Set.d.ts +1 -0
  98. package/dist/esm/util/Set.d.ts.map +1 -1
  99. package/dist/esm/util/Set.js +14 -5
  100. package/dist/esm/util/Set.js.map +2 -2
  101. package/dist/esm/util/index.d.ts +1 -0
  102. package/dist/esm/util/index.d.ts.map +1 -1
  103. package/dist/esm/util/index.js +1 -0
  104. package/dist/esm/util/index.js.map +1 -1
  105. package/package.json +2 -2
  106. package/src/codec/DerCodec.ts +5 -5
  107. package/src/codec/DnsCodec.ts +14 -14
  108. package/src/net/Network.ts +2 -0
  109. package/src/net/UdpChannel.ts +6 -2
  110. package/src/net/UdpInterface.ts +36 -17
  111. package/src/net/UdpMulticastServer.ts +8 -7
  112. package/src/net/mock/MockUdpChannel.ts +8 -0
  113. package/src/time/Time.ts +10 -0
  114. package/src/util/DataReadQueue.ts +4 -0
  115. package/src/util/DataReader.ts +2 -2
  116. package/src/util/DataWriter.ts +2 -2
  117. package/src/util/Ip.ts +50 -0
  118. package/src/util/Map.ts +65 -0
  119. package/src/util/Set.ts +13 -1
  120. package/src/util/index.ts +1 -0
@@ -5,9 +5,9 @@
5
5
  */
6
6
  import { Endian } from "./Bytes.js";
7
7
  /** Reader that auto-increments its offset after each read. */
8
- export declare class DataReader<E extends Endian> {
8
+ export declare class DataReader<E extends Endian = Endian.Big> {
9
9
  #private;
10
- constructor(buffer: Uint8Array, endian: E);
10
+ constructor(buffer: Uint8Array, endian?: E);
11
11
  readUInt8(): number;
12
12
  readUInt16(): number;
13
13
  readUInt32(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"DataReader.d.ts","sourceRoot":"","sources":["../../../src/util/DataReader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAS,MAAM,EAAE,MAAM,YAAY,CAAC;AAE3C,8DAA8D;AAC9D,qBAAa,UAAU,CAAC,CAAC,SAAS,MAAM;;gBAMxB,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAMzC,SAAS;IAIT,UAAU;IAIV,UAAU;IAIV,UAAU;IAIV,QAAQ;IAIR,SAAS;IAIT,SAAS;IAIT,SAAS;IAIT,SAAS;IAIT,UAAU;IAIV,cAAc,CAAC,MAAM,EAAE,MAAM;IAK7B,aAAa,CAAC,MAAM,EAAE,MAAM;IAK5B,IAAI,mBAAmB,WAEtB;IAED,IAAI,cAAc,gCAEjB;IAED,IAAI,MAAM,WAET;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAKxB;IAED,IAAI,MAAM,IAPS,MAAM,CASxB;IAED,OAAO,CAAC,mBAAmB;CAQ9B"}
1
+ {"version":3,"file":"DataReader.d.ts","sourceRoot":"","sources":["../../../src/util/DataReader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAS,MAAM,EAAE,MAAM,YAAY,CAAC;AAE3C,8DAA8D;AAC9D,qBAAa,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,GAAG;;gBAMrC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;IAM1C,SAAS;IAIT,UAAU;IAIV,UAAU;IAIV,UAAU;IAIV,QAAQ;IAIR,SAAS;IAIT,SAAS;IAIT,SAAS;IAIT,SAAS;IAIT,UAAU;IAIV,cAAc,CAAC,MAAM,EAAE,MAAM;IAK7B,aAAa,CAAC,MAAM,EAAE,MAAM;IAK5B,IAAI,mBAAmB,WAEtB;IAED,IAAI,cAAc,gCAEjB;IAED,IAAI,MAAM,WAET;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAKxB;IAED,IAAI,MAAM,IAPS,MAAM,CASxB;IAED,OAAO,CAAC,mBAAmB;CAQ9B"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/DataReader.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,OAAO,cAAc;AAGvB,MAAM,WAA6B;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACT,UAAU;AAAA,EAEV,YAAY,QAAoB,QAAW;AACvC,SAAK,UAAU;AACf,SAAK,YAAY,MAAM,WAAW,KAAK,OAAO;AAC9C,SAAK,gBAAgB,WAAW,OAAO;AAAA,EAC3C;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,UAAU,SAAS,KAAK,oBAAoB,CAAC,CAAC;AAAA,EAC9D;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,UAAU,UAAU,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACnF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,UAAU,UAAU,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACnF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,UAAU,aAAa,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACtF;AAAA,EAEA,WAAW;AACP,WAAO,KAAK,UAAU,QAAQ,KAAK,oBAAoB,CAAC,CAAC;AAAA,EAC7D;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,UAAU,SAAS,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EAClF;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,UAAU,SAAS,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EAClF;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,UAAU,YAAY,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACrF;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,UAAU,WAAW,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACpF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,UAAU,WAAW,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACpF;AAAA,EAEA,eAAe,QAAgB;AAC3B,UAAM,SAAS,KAAK,oBAAoB,MAAM;AAC9C,WAAO,IAAI,YAAY,EAAE,OAAO,KAAK,QAAQ,SAAS,QAAQ,SAAS,MAAM,CAAC;AAAA,EAClF;AAAA,EAEA,cAAc,QAAgB;AAC1B,UAAM,SAAS,KAAK,oBAAoB,MAAM;AAC9C,WAAO,KAAK,QAAQ,SAAS,QAAQ,SAAS,MAAM;AAAA,EACxD;AAAA,EAEA,IAAI,sBAAsB;AACtB,WAAO,KAAK,UAAU,aAAa,KAAK;AAAA,EAC5C;AAAA,EAEA,IAAI,iBAAiB;AACjB,WAAO,KAAK,QAAQ,SAAS,KAAK,OAAO;AAAA,EAC7C;AAAA,EAEA,IAAI,SAAS;AACT,WAAO,KAAK,UAAU;AAAA,EAC1B;AAAA,EAEA,IAAI,OAAO,QAAgB;AACvB,QAAI,SAAS,KAAK,UAAU,YAAY;AACpC,YAAM,IAAI,MAAM,UAAU,MAAM,oBAAoB;AAAA,IACxD;AACA,SAAK,UAAU;AAAA,EACnB;AAAA,EAEA,IAAI,SAAS;AACT,WAAO,KAAK;AAAA,EAChB;AAAA,EAEQ,oBAAoB,MAAc;AACtC,UAAM,SAAS,KAAK;AACpB,SAAK,WAAW;AAChB,QAAI,KAAK,UAAU,KAAK,UAAU,YAAY;AAC1C,WAAK,UAAU,KAAK,UAAU;AAAA,IAClC;AACA,WAAO;AAAA,EACX;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,OAAO,cAAc;AAGvB,MAAM,WAA0C;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACT,UAAU;AAAA,EAEV,YAAY,QAAoB,QAAY;AACxC,SAAK,UAAU;AACf,SAAK,YAAY,MAAM,WAAW,KAAK,OAAO;AAC9C,SAAK,gBAAgB,WAAW,OAAO;AAAA,EAC3C;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,UAAU,SAAS,KAAK,oBAAoB,CAAC,CAAC;AAAA,EAC9D;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,UAAU,UAAU,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACnF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,UAAU,UAAU,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACnF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,UAAU,aAAa,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACtF;AAAA,EAEA,WAAW;AACP,WAAO,KAAK,UAAU,QAAQ,KAAK,oBAAoB,CAAC,CAAC;AAAA,EAC7D;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,UAAU,SAAS,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EAClF;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,UAAU,SAAS,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EAClF;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,UAAU,YAAY,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACrF;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,UAAU,WAAW,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACpF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,UAAU,WAAW,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACpF;AAAA,EAEA,eAAe,QAAgB;AAC3B,UAAM,SAAS,KAAK,oBAAoB,MAAM;AAC9C,WAAO,IAAI,YAAY,EAAE,OAAO,KAAK,QAAQ,SAAS,QAAQ,SAAS,MAAM,CAAC;AAAA,EAClF;AAAA,EAEA,cAAc,QAAgB;AAC1B,UAAM,SAAS,KAAK,oBAAoB,MAAM;AAC9C,WAAO,KAAK,QAAQ,SAAS,QAAQ,SAAS,MAAM;AAAA,EACxD;AAAA,EAEA,IAAI,sBAAsB;AACtB,WAAO,KAAK,UAAU,aAAa,KAAK;AAAA,EAC5C;AAAA,EAEA,IAAI,iBAAiB;AACjB,WAAO,KAAK,QAAQ,SAAS,KAAK,OAAO;AAAA,EAC7C;AAAA,EAEA,IAAI,SAAS;AACT,WAAO,KAAK,UAAU;AAAA,EAC1B;AAAA,EAEA,IAAI,OAAO,QAAgB;AACvB,QAAI,SAAS,KAAK,UAAU,YAAY;AACpC,YAAM,IAAI,MAAM,UAAU,MAAM,oBAAoB;AAAA,IACxD;AACA,SAAK,UAAU;AAAA,EACnB;AAAA,EAEA,IAAI,SAAS;AACT,WAAO,KAAK;AAAA,EAChB;AAAA,EAEQ,oBAAoB,MAAc;AACtC,UAAM,SAAS,KAAK;AACpB,SAAK,WAAW;AAChB,QAAI,KAAK,UAAU,KAAK,UAAU,YAAY;AAC1C,WAAK,UAAU,KAAK,UAAU;AAAA,IAClC;AACA,WAAO;AAAA,EACX;AACJ;",
5
5
  "names": []
6
6
  }
@@ -5,11 +5,11 @@
5
5
  */
6
6
  import { Endian } from "./Bytes.js";
7
7
  /** Writer that auto-increments its offset after each write. */
8
- export declare class DataWriter<E extends Endian> {
8
+ export declare class DataWriter<E extends Endian = Endian.Big> {
9
9
  private readonly littleEndian;
10
10
  private length;
11
11
  private readonly chunks;
12
- constructor(endian: E);
12
+ constructor(endian?: E);
13
13
  writeUInt8(value: number | bigint): void;
14
14
  writeUInt16(value: number | bigint): void;
15
15
  writeUInt32(value: number | bigint): void;
@@ -1 +1 @@
1
- {"version":3,"file":"DataWriter.d.ts","sourceRoot":"","sources":["../../../src/util/DataWriter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGpC,+DAA+D;AAE/D,qBAAa,UAAU,CAAC,CAAC,SAAS,MAAM;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;gBAEtC,MAAM,EAAE,CAAC;IAIrB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAKjC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOlC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOlC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOlC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOhC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOjC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOjC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOjC,UAAU,CAAC,KAAK,EAAE,MAAM;IAOxB,WAAW,CAAC,KAAK,EAAE,MAAM;IAOzB,cAAc,CAAC,KAAK,EAAE,UAAU;IAKhC,WAAW;CAed"}
1
+ {"version":3,"file":"DataWriter.d.ts","sourceRoot":"","sources":["../../../src/util/DataWriter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGpC,+DAA+D;AAE/D,qBAAa,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,GAAG;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;gBAEtC,MAAM,CAAC,EAAE,CAAC;IAItB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAKjC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOlC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOlC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOlC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOhC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOjC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOjC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOjC,UAAU,CAAC,KAAK,EAAE,MAAM;IAOxB,WAAW,CAAC,KAAK,EAAE,MAAM;IAOzB,cAAc,CAAC,KAAK,EAAE,UAAU;IAKhC,WAAW;CAed"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/DataWriter.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -4,5 +4,6 @@ export declare function ipv4ToNumber(ip: string): number;
4
4
  export declare function ipv4ToBytes(ip: string): Uint8Array<ArrayBuffer>;
5
5
  export declare function ipv6ToArray(ip: string): Uint16Array<ArrayBuffer>;
6
6
  export declare function ipv6ToBytes(ip: string): Uint8Array<ArrayBuffer>;
7
+ export declare function ipv6BytesToString(bytes: Uint8Array): string;
7
8
  export declare function onSameNetwork(ip1: string, ip2: string, mask: string): boolean | undefined;
8
9
  //# sourceMappingURL=Ip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Ip.d.ts","sourceRoot":"","sources":["../../../src/util/Ip.ts"],"names":[],"mappings":"AAOA,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,WAEhC;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,WAEhC;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,UAGtC;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,2BAOrC;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,4BAarC;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,2BAErC;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,uBAsBnE"}
1
+ {"version":3,"file":"Ip.d.ts","sourceRoot":"","sources":["../../../src/util/Ip.ts"],"names":[],"mappings":"AAOA,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,WAEhC;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,WAEhC;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,UAGtC;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,2BAOrC;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,4BAarC;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,2BAErC;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAgD3D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,uBAsBnE"}
@@ -39,6 +39,50 @@ function ipv6ToArray(ip) {
39
39
  function ipv6ToBytes(ip) {
40
40
  return Uint8Array.from(Array.from(ipv6ToArray(ip)).flatMap((value) => [value >> 8, value & 255]));
41
41
  }
42
+ function ipv6BytesToString(bytes) {
43
+ if (bytes.length !== 16) {
44
+ throw new Error("IPv6 address must be 16 bytes");
45
+ }
46
+ const blocks = [];
47
+ for (let i = 0; i < 16; i += 2) {
48
+ blocks.push((bytes[i] << 8 | bytes[i + 1]).toString(16));
49
+ }
50
+ let bestStart = -1;
51
+ let bestLen = 0;
52
+ let currStart = -1;
53
+ let currLen = 0;
54
+ for (let i = 0; i < 8; i++) {
55
+ if (blocks[i] === "0") {
56
+ if (currStart === -1) {
57
+ currStart = i;
58
+ currLen = 1;
59
+ } else {
60
+ currLen++;
61
+ }
62
+ } else {
63
+ if (currLen > bestLen) {
64
+ bestStart = currStart;
65
+ bestLen = currLen;
66
+ }
67
+ currStart = -1;
68
+ currLen = 0;
69
+ }
70
+ }
71
+ if (currLen > bestLen) {
72
+ bestStart = currStart;
73
+ bestLen = currLen;
74
+ }
75
+ if (bestLen > 1) {
76
+ blocks.splice(bestStart, bestLen, "");
77
+ if (bestStart === 0) {
78
+ blocks.unshift("");
79
+ }
80
+ if (bestStart + bestLen === 8) {
81
+ blocks.push("");
82
+ }
83
+ }
84
+ return blocks.join(":").replace(/:{3,}/, "::").toLowerCase();
85
+ }
42
86
  function onSameNetwork(ip1, ip2, mask) {
43
87
  if (isIPv4(ip1)) {
44
88
  if (!isIPv4(ip2) || !isIPv4(mask)) return false;
@@ -61,6 +105,7 @@ function onSameNetwork(ip1, ip2, mask) {
61
105
  export {
62
106
  ipv4ToBytes,
63
107
  ipv4ToNumber,
108
+ ipv6BytesToString,
64
109
  ipv6ToArray,
65
110
  ipv6ToBytes,
66
111
  isIPv4,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/Ip.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,SAAS,aAAa;AAEf,SAAS,OAAO,IAAY;AAC/B,SAAO,GAAG,SAAS,GAAG;AAC1B;AAEO,SAAS,OAAO,IAAY;AAC/B,SAAO,GAAG,SAAS,GAAG;AAC1B;AAEO,SAAS,aAAa,IAAY;AACrC,QAAM,WAAW,MAAM,WAAW,YAAY,EAAE,CAAC;AACjD,SAAO,SAAS,UAAU,CAAC;AAC/B;AAEO,SAAS,YAAY,IAAY;AACpC,QAAM,QAAQ,IAAI,WAAW,CAAC;AAC9B,QAAM,UAAU,GAAG,MAAM,GAAG;AAC5B,WAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AACxB,UAAM,CAAC,IAAI,SAAS,QAAQ,CAAC,CAAC;AAAA,EAClC;AACA,SAAO;AACX;AAEO,SAAS,YAAY,IAAY;AACpC,QAAM,QAAQ,IAAI,YAAY,CAAC;AAC/B,MAAI,UAAU,GAAG,MAAM,GAAG;AAC1B,QAAM,aAAa,QAAQ,OAAO,WAAS,UAAU,EAAE,EAAE;AACzD,MAAI,eAAe,GAAG;AAClB,cAAU,GAAG,QAAQ,MAAM,IAAI,QAAQ,IAAI,cAAc,IAAI,GAAG,IAAI,CAAC,EAAE,MAAM,GAAG;AAAA,EACpF;AACA,MAAI,QAAQ;AACZ,UAAQ,QAAQ,UAAQ;AACpB,QAAI,SAAS,GAAI;AACjB,UAAM,OAAO,IAAI,SAAS,MAAM,EAAE;AAAA,EACtC,CAAC;AACD,SAAO;AACX;AAEO,SAAS,YAAY,IAAY;AACpC,SAAO,WAAW,KAAK,MAAM,KAAK,YAAY,EAAE,CAAC,EAAE,QAAQ,WAAS,CAAC,SAAS,GAAG,QAAQ,GAAI,CAAC,CAAC;AACnG;AAEO,SAAS,cAAc,KAAa,KAAa,MAAc;AAClE,MAAI,OAAO,GAAG,GAAG;AAEb,QAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAG,QAAO;AAC1C,UAAM,YAAY,aAAa,GAAG;AAClC,UAAM,YAAY,aAAa,GAAG;AAClC,UAAM,aAAa,aAAa,IAAI;AAEpC,YAAQ,YAAY,iBAAiB,YAAY;AAAA,EACrD,OAAO;AAEH,QAAI,OAAO,GAAG,KAAK,OAAO,IAAI,EAAG,QAAO;AACxC,UAAM,WAAW,YAAY,GAAG;AAChC,UAAM,WAAW,YAAY,GAAG;AAChC,UAAM,YAAY,YAAY,IAAI;AAElC,aAAS,IAAI,GAAG,IAAI,IAAI,KAAK;AACzB,YAAMA,QAAO,UAAU,CAAC;AACxB,UAAIA,UAAS,EAAG,QAAO;AACvB,WAAK,SAAS,CAAC,IAAIA,YAAW,SAAS,CAAC,IAAIA,OAAO,QAAO;AAAA,IAC9D;AAAA,EACJ;AACJ;",
4
+ "mappings": "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",
5
5
  "names": ["mask"]
6
6
  }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Observable } from "#util/Observable.js";
7
+ /**
8
+ * Set change events.
9
+ */
10
+ export interface ObservableMap<K, V> {
11
+ get added(): Observable<[key: K, newValue: V]>;
12
+ get deleted(): Observable<[key: K, oldValue: V]>;
13
+ get changed(): Observable<[key: K, newValue: V, oldValue: V]>;
14
+ }
15
+ /** Map extension to get added, deleted or changed events */
16
+ export declare class BasicMap<K, V> extends Map<K, V> implements ObservableMap<K, V> {
17
+ #private;
18
+ set(key: K, value: V): this;
19
+ delete(key: K): boolean;
20
+ get added(): Observable<[K, V], void>;
21
+ get deleted(): Observable<[K, V], void>;
22
+ get changed(): Observable<[K, V, V], void>;
23
+ }
24
+ //# sourceMappingURL=Map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Map.d.ts","sourceRoot":"","sources":["../../../src/util/Map.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,EAAE,CAAC;IAC/B,IAAI,KAAK,IAAI,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAI,OAAO,IAAI,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IACjD,IAAI,OAAO,IAAI,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;CACjE;AAED,4DAA4D;AAC5D,qBAAa,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;;IAK/D,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAc3B,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAQhC,IAAI,KAAK,6BAKR;IAED,IAAI,OAAO,6BAKV;IAED,IAAI,OAAO,gCAKV;CACJ"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Observable } from "#util/Observable.js";
7
+ class BasicMap extends Map {
8
+ #added;
9
+ #deleted;
10
+ #changed;
11
+ set(key, value) {
12
+ const existing = this.get(key);
13
+ if (existing !== void 0) {
14
+ if (existing === value) {
15
+ return this;
16
+ }
17
+ this.#changed?.emit(key, value, existing);
18
+ } else {
19
+ this.#added?.emit(key, value);
20
+ }
21
+ return super.set(key, value);
22
+ }
23
+ delete(key) {
24
+ const existing = this.get(key);
25
+ if (existing !== void 0) {
26
+ this.#deleted?.emit(key, existing);
27
+ }
28
+ return super.delete(key);
29
+ }
30
+ get added() {
31
+ if (this.#added === void 0) {
32
+ this.#added = Observable();
33
+ }
34
+ return this.#added;
35
+ }
36
+ get deleted() {
37
+ if (this.#deleted === void 0) {
38
+ this.#deleted = Observable();
39
+ }
40
+ return this.#deleted;
41
+ }
42
+ get changed() {
43
+ if (this.#changed === void 0) {
44
+ this.#changed = Observable();
45
+ }
46
+ return this.#changed;
47
+ }
48
+ }
49
+ export {
50
+ BasicMap
51
+ };
52
+ //# sourceMappingURL=Map.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/Map.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,SAAS,kBAAkB;AAYpB,MAAM,iBAAuB,IAAyC;AAAA,EACzE;AAAA,EACA;AAAA,EACA;AAAA,EAES,IAAI,KAAQ,OAAgB;AACjC,UAAM,WAAW,KAAK,IAAI,GAAG;AAC7B,QAAI,aAAa,QAAW;AACxB,UAAI,aAAa,OAAO;AAEpB,eAAO;AAAA,MACX;AACA,WAAK,UAAU,KAAK,KAAK,OAAO,QAAQ;AAAA,IAC5C,OAAO;AACH,WAAK,QAAQ,KAAK,KAAK,KAAK;AAAA,IAChC;AACA,WAAO,MAAM,IAAI,KAAK,KAAK;AAAA,EAC/B;AAAA,EAES,OAAO,KAAiB;AAC7B,UAAM,WAAW,KAAK,IAAI,GAAG;AAC7B,QAAI,aAAa,QAAW;AACxB,WAAK,UAAU,KAAK,KAAK,QAAQ;AAAA,IACrC;AACA,WAAO,MAAM,OAAO,GAAG;AAAA,EAC3B;AAAA,EAEA,IAAI,QAAQ;AACR,QAAI,KAAK,WAAW,QAAW;AAC3B,WAAK,SAAS,WAAW;AAAA,IAC7B;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,UAAU;AACV,QAAI,KAAK,aAAa,QAAW;AAC7B,WAAK,WAAW,WAAW;AAAA,IAC/B;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,UAAU;AACV,QAAI,KAAK,aAAa,QAAW;AAC7B,WAAK,WAAW,WAAW;AAAA,IAC/B;AACA,WAAO,KAAK;AAAA,EAChB;AACJ;",
5
+ "names": []
6
+ }
@@ -69,6 +69,7 @@ export declare class BasicSet<T, AddT = T> implements ImmutableSet<T>, MutableSe
69
69
  */
70
70
  mapOf<This extends BasicSet<T, T>, F extends keyof T>(this: This, field: F): Map<T[F], T>;
71
71
  delete(item: T): boolean;
72
+ delete<F extends keyof T>(field: keyof T, value: T[F]): boolean;
72
73
  clear(): void;
73
74
  get added(): Observable<[T], void>;
74
75
  get deleted(): Observable<[T], void>;
@@ -1 +1 @@
1
- {"version":3,"file":"Set.d.ts","sourceRoot":"","sources":["../../../src/util/Set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Set.d.ts","sourceRoot":"","sources":["../../../src/util/Set.ts"],"names":[],"mappings":"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"}
@@ -102,19 +102,28 @@ class BasicSet {
102
102
  }
103
103
  return map;
104
104
  }
105
- delete(item) {
105
+ delete(itemOrField, value) {
106
+ let item;
107
+ if (value === void 0) {
108
+ item = itemOrField;
109
+ } else {
110
+ item = this.get(itemOrField, value);
111
+ if (item === void 0) {
112
+ return false;
113
+ }
114
+ }
106
115
  if (!this.#entries.delete(item)) {
107
116
  return false;
108
117
  }
109
118
  if (this.#indices) {
110
119
  for (const field in this.#indices) {
111
- const value = item[field];
112
- if (value === void 0) {
120
+ const value2 = item[field];
121
+ if (value2 === void 0) {
113
122
  continue;
114
123
  }
115
124
  const index = this.#indices[field];
116
- if (index !== void 0 && index.get(value) === item) {
117
- index.delete(value);
125
+ if (index !== void 0 && index.get(value2) === item) {
126
+ index.delete(value2);
118
127
  }
119
128
  }
120
129
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/Set.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,2BAA2B;AACpC,SAAS,kBAAkB;AAqDpB,MAAM,SAAuG;AAAA,EAChH,WAAW,oBAAI,IAAO;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EAGA;AAAA,EAIA,eAAe,cAAsB;AACjC,eAAW,QAAQ,cAAc;AAC7B,WAAK,IAAI,IAAI;AAAA,IACjB;AAAA,EACJ;AAAA,EAEA,CAAC,OAAO,QAAQ,IAAI;AAChB,WAAO,KAAK,SAAS,OAAO,QAAQ,EAAE;AAAA,EAC1C;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA,EAEA,IAAO,QAAwB;AAC3B,WAAO,CAAC,GAAG,IAAI,EAAE,IAAI,MAAM;AAAA,EAC/B;AAAA,EAEA,KAAK,WAA6C;AAC9C,eAAW,QAAQ,MAAM;AACrB,UAAI,UAAU,IAAI,GAAG;AACjB,eAAO;AAAA,MACX;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,OAAO,WAA6C;AAChD,UAAM,SAAS,IAAI,MAAS;AAC5B,eAAW,QAAQ,MAAM;AACrB,UAAI,UAAU,IAAI,GAAG;AACjB,eAAO,KAAK,IAAI;AAAA,MACpB;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,MAAS;AACT,WAAO,KAAK,SAAS,IAAI,IAAI;AAAA,EACjC;AAAA,EAEA,IAAI,MAAY;AACZ,UAAM,UAAU,KAAK,OAAO,IAAI;AAEhC,QAAI,KAAK,SAAS,IAAI,IAAW,GAAG;AAChC;AAAA,IACJ;AAEA,SAAK,SAAS,IAAI,IAAW;AAE7B,QAAI,KAAK,UAAU;AACf,iBAAW,SAAS,KAAK,UAAU;AAC/B,cAAM,QAAQ,QAAQ,KAAK;AAC3B,YAAI,UAAU,QAAW;AACrB;AAAA,QACJ;AAEA,cAAM,QAAQ,KAAK,SAAS,KAAK;AACjC,YAAI,UAAU,UAAa,MAAM,IAAI,KAAK,GAAG;AACzC;AAAA,QACJ;AAEA,cAAM,IAAI,OAAO,OAAO;AAAA,MAC5B;AAAA,IACJ;AAEA,SAAK,QAAQ,KAAK,OAAO;AAAA,EAC7B;AAAA,EAEA,IAAuB,OAAU,OAAa;AAC1C,WAAO,KAAK,SAAS,KAAK,EAAE,IAAI,KAAK;AAAA,EACzC;AAAA,EAEA,SAA4B,OAAU;AAClC,QAAI,CAAC,KAAK,UAAU;AAChB,WAAK,WAAW,CAAC;AAAA,IACrB;AACA,QAAI,QAAQ,KAAK,SAAS,KAAK;AAC/B,QAAI,UAAU,QAAW;AACrB,cAAQ,oBAAI,IAAY;AACxB,iBAAW,QAAQ,MAAM;AACrB,cAAM,QAAQ,KAAK,KAAK;AACxB,YAAI,UAAU,UAAa,MAAM,IAAI,KAAK,GAAG;AACzC;AAAA,QACJ;AACA,cAAM,IAAI,OAAO,IAAI;AAAA,MACzB;AACA,WAAK,SAAS,KAAK,IAAI;AAAA,IAC3B;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAkE,OAAwB;AACtF,QAAI,CAAC,KAAK,OAAO;AACb,WAAK,QAAQ,CAAC;AAAA,IAClB;AACA,QAAI,MAAM,KAAK,MAAM,KAAK;AAC1B,QAAI,QAAQ,QAAW;AACnB,YAAM,IAAI,gBAAgB,MAAM,OAAO,KAAK,SAAS,KAAK,CAAC;AAC3D,WAAK,MAAM,KAAK,IAAI;AAAA,IACxB;AACA,WAAO;AAAA,EACX;AAAA,EAEA,OAAO,MAAS;AACZ,QAAI,CAAC,KAAK,SAAS,OAAO,IAAI,GAAG;AAC7B,aAAO;AAAA,IACX;AAEA,QAAI,KAAK,UAAU;AACf,iBAAW,SAAS,KAAK,UAAU;AAC/B,cAAM,QAAQ,KAAK,KAAK;AACxB,YAAI,UAAU,QAAW;AACrB;AAAA,QACJ;AAEA,cAAM,QAAQ,KAAK,SAAS,KAAK;AACjC,YAAI,UAAU,UAAa,MAAM,IAAI,KAAK,MAAM,MAAM;AAClD,gBAAM,OAAO,KAAK;AAAA,QACtB;AAAA,MACJ;AAAA,IACJ;AAEA,SAAK,UAAU,KAAK,IAAI;AAExB,WAAO;AAAA,EACX;AAAA,EAEA,QAAQ;AACJ,SAAK,SAAS,MAAM;AAAA,EACxB;AAAA,EAEA,IAAI,QAAQ;AACR,QAAI,KAAK,WAAW,QAAW;AAC3B,WAAK,SAAS,WAAW;AAAA,IAC7B;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,UAAU;AACV,QAAI,KAAK,aAAa,QAAW;AAC7B,WAAK,WAAW,WAAW;AAAA,IAC/B;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEU,OAAO,YAAkB;AAC/B,WAAO;AAAA,EACX;AACJ;AASO,MAAM,gBAEb;AAAA,EACI;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,YAAY,KAAQ,KAAQ,OAAsB;AAC9C,SAAK,OAAO;AACZ,SAAK,OAAO;AACZ,SAAK,SAAS;AAAA,EAClB;AAAA,EAEA,QAAc;AACV,SAAK,KAAK,MAAM;AAAA,EACpB;AAAA,EAEA,OAAO,KAAoB;AACvB,UAAM,OAAO,KAAK,IAAI,GAAG;AACzB,QAAI,MAAM;AACN,aAAO,KAAK,KAAK,OAAO,IAAI;AAAA,IAChC;AACA,WAAO;AAAA,EACX;AAAA,EAEA,QAAQ,YAA8D,SAAqB;AACvF,QAAI,SAAS;AACT,mBAAa,WAAW,KAAK,OAAO;AAAA,IACxC;AACA,eAAW,CAAC,GAAG,CAAC,KAAK,MAAM;AACvB,iBAAW,GAAG,GAAG,IAAI;AAAA,IACzB;AAAA,EACJ;AAAA,EAEA,IAAI,KAA0B;AAC1B,QAAI,KAAK,QAAQ;AACb,aAAO,KAAK,OAAO,IAAI,GAAG;AAAA,IAC9B;AACA,WAAO,KAAK,KAAK,IAAI,KAAK,MAAM,GAAG;AAAA,EACvC;AAAA,EAEA,IAAI,KAAoB;AACpB,WAAO,KAAK,SAAS,KAAK,OAAO,IAAI,GAAG,IAAI,KAAK,KAAK,IAAI,KAAK,MAAM,GAAG,MAAM;AAAA,EAClF;AAAA,EAEA,IAAI,KAAW,OAAgB;AAC3B,QAAI,MAAM,KAAK,IAAI,MAAM,KAAK;AAC1B,YAAM,IAAI,gBAAgB;AAAA,QACtB,mBAAmB,GAAG,4BAA4B,OAAO,KAAK,IAAI,CAAC,QAAQ,MAAM,KAAK,IAAI,CAAC;AAAA,MAC/F;AAAA,IACJ;AACA,QAAI,KAAK,IAAI,GAAG,GAAG;AACf,UAAI,KAAK,IAAI,GAAG,MAAM,OAAO;AACzB,eAAO;AAAA,MACX;AACA,WAAK,KAAK,OAAQ,KAAK,SAAS,KAAK,OAAO,IAAI,GAAG,IAAI,KAAK,KAAK,IAAI,KAAK,MAAM,GAAG,CAAO;AAAA,IAC9F;AACA,SAAK,KAAK,IAAI,KAAK;AACnB,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK,KAAK;AAAA,EACrB;AAAA,EAEA,UAAkC;AAC9B,WAAO,KAAK,OAAO,QAAQ,EAAE;AAAA,EACjC;AAAA,EAEA,OAA0B;AACtB,QAAI,KAAK,QAAQ;AACb,aAAO,KAAK,OAAO,KAAK;AAAA,IAC5B;AACA,UAAM,OAAO,CAAC,GAAG,KAAK,IAAI,EAAE,IAAI,UAAQ,KAAK,KAAK,IAAI,CAAC,EAAE,OAAO,SAAO,QAAQ,MAAS;AACxF,WAAO,KAAK,OAAO,QAAQ,EAAE;AAAA,EACjC;AAAA,EAEA,SAAyB;AACrB,QAAI,KAAK,QAAQ;AACb,aAAO,KAAK,OAAO,OAAO;AAAA,IAC9B;AACA,UAAM,SAAS,CAAC,GAAG,KAAK,IAAI,EAAE,IAAI,UAAQ,IAAI;AAC9C,WAAO,OAAO,OAAO,QAAQ,EAAE;AAAA,EACnC;AAAA,EAEA,EAAE,OAAO,QAAQ,IAA4B;AACzC,eAAW,QAAQ,KAAK,MAAM;AAC1B,YAAM,IAAI,KAAK,KAAK,IAAI;AACxB,UAAI,MAAM,QAAW;AACjB;AAAA,MACJ;AACA,YAAM,CAAC,GAAG,IAAI;AAAA,IAClB;AAAA,EACJ;AAAA,EAEA,CAAC,OAAO,WAAW,IAAI;AAC3B;AAAA,CAEO,CAAUA,qBAAV;AAAA,EACI,MAAM,8BAA8B,oBAAoB;AAAA,EAAC;AAAzD,EAAAA,iBAAM;AAAA,GADA;",
5
- "names": ["MapOfIndexedSet"]
4
+ "mappings": "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",
5
+ "names": ["value", "MapOfIndexedSet"]
6
6
  }
@@ -19,6 +19,7 @@ export * from "./FormattedText.js";
19
19
  export * from "./GeneratedClass.js";
20
20
  export * from "./Ip.js";
21
21
  export * from "./Lifecycle.js";
22
+ export * from "./Map.js";
22
23
  export * from "./Mutex.js";
23
24
  export * from "./NamedHandler.js";
24
25
  export * from "./Number.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
@@ -19,6 +19,7 @@ export * from "./FormattedText.js";
19
19
  export * from "./GeneratedClass.js";
20
20
  export * from "./Ip.js";
21
21
  export * from "./Lifecycle.js";
22
+ export * from "./Map.js";
22
23
  export * from "./Mutex.js";
23
24
  export * from "./NamedHandler.js";
24
25
  export * from "./Number.js";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/index.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/general",
3
- "version": "0.14.1-alpha.0-20250605-9fc134af0",
3
+ "version": "0.14.1-alpha.0-20250606-a9bcd03f9",
4
4
  "description": "Non-Matter support for Matter.js",
5
5
  "keywords": [
6
6
  "iot",
@@ -36,7 +36,7 @@
36
36
  "@noble/curves": "^1.9.1"
37
37
  },
38
38
  "devDependencies": {
39
- "@matter/testing": "0.14.1-alpha.0-20250605-9fc134af0"
39
+ "@matter/testing": "0.14.1-alpha.0-20250606-a9bcd03f9"
40
40
  },
41
41
  "files": [
42
42
  "dist/**/*",
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { UnexpectedDataError } from "../MatterError.js";
7
- import { Bytes, Endian } from "../util/Bytes.js";
7
+ import { Bytes } from "../util/Bytes.js";
8
8
  import { DataReader } from "../util/DataReader.js";
9
9
  import { toHex } from "../util/Number.js";
10
10
  import { isObject } from "../util/Type.js";
@@ -267,15 +267,15 @@ export class DerCodec {
267
267
  }
268
268
 
269
269
  static decode(data: Uint8Array): DerNode {
270
- return this.decodeRec(new DataReader(data, Endian.Big));
270
+ return this.decodeRec(new DataReader(data));
271
271
  }
272
272
 
273
- private static decodeRec(reader: DataReader<Endian.Big>): DerNode {
273
+ private static decodeRec(reader: DataReader): DerNode {
274
274
  const { tag, bytes } = this.decodeAsn1(reader);
275
275
  if (tag === DerType.BitString)
276
276
  return { [DerKey.TagId]: tag, [DerKey.Bytes]: bytes.slice(1), [DerKey.BitsPadding]: bytes[0] };
277
277
  if ((tag & CONSTRUCTED) === 0) return { [DerKey.TagId]: tag, [DerKey.Bytes]: bytes };
278
- const elementsReader = new DataReader(bytes, Endian.Big);
278
+ const elementsReader = new DataReader(bytes);
279
279
  const elements: DerNode[] = [];
280
280
  while (elementsReader.remainingBytesCount > 0) {
281
281
  elements.push(this.decodeRec(elementsReader));
@@ -283,7 +283,7 @@ export class DerCodec {
283
283
  return { [DerKey.TagId]: tag, [DerKey.Bytes]: bytes, [DerKey.Elements]: elements };
284
284
  }
285
285
 
286
- private static decodeAsn1(reader: DataReader<Endian.Big>): { tag: number; bytes: Uint8Array } {
286
+ private static decodeAsn1(reader: DataReader): { tag: number; bytes: Uint8Array } {
287
287
  const tag = reader.readUInt8();
288
288
  let length = reader.readUInt8();
289
289
  if ((length & 0x80) !== 0) {
@@ -141,7 +141,7 @@ export enum DnsRecordClass {
141
141
  export class DnsCodec {
142
142
  static decode(message: Uint8Array): DnsMessage | undefined {
143
143
  try {
144
- const reader = new DataReader(message, Endian.Big);
144
+ const reader = new DataReader(message);
145
145
  const transactionId = reader.readUInt16();
146
146
  const messageType = reader.readUInt16();
147
147
  const queriesCount = reader.readUInt16();
@@ -198,7 +198,7 @@ export class DnsCodec {
198
198
  }
199
199
  visited.add(reader.offset);
200
200
 
201
- const messageReader = new DataReader(message, Endian.Big);
201
+ const messageReader = new DataReader(message);
202
202
  const qNameItems = new Array<string>();
203
203
  while (true) {
204
204
  const itemLength = reader.readUInt8();
@@ -227,7 +227,7 @@ export class DnsCodec {
227
227
  private static decodeRecordValue(valueBytes: Uint8Array, recordType: DnsRecordType, message: Uint8Array) {
228
228
  switch (recordType) {
229
229
  case DnsRecordType.PTR:
230
- return this.decodeQName(new DataReader(valueBytes, Endian.Big), message);
230
+ return this.decodeQName(new DataReader(valueBytes), message);
231
231
  case DnsRecordType.SRV:
232
232
  return this.decodeSrvRecord(valueBytes, message);
233
233
  case DnsRecordType.TXT:
@@ -243,7 +243,7 @@ export class DnsCodec {
243
243
  }
244
244
 
245
245
  static decodeSrvRecord(valueBytes: Uint8Array, message: Uint8Array): SrvRecordValue {
246
- const reader = new DataReader(valueBytes, Endian.Big);
246
+ const reader = new DataReader(valueBytes);
247
247
  const priority = reader.readUInt16();
248
248
  const weight = reader.readUInt16();
249
249
  const port = reader.readUInt16();
@@ -252,7 +252,7 @@ export class DnsCodec {
252
252
  }
253
253
 
254
254
  static decodeTxtRecord(valueBytes: Uint8Array): string[] {
255
- const reader = new DataReader(valueBytes, Endian.Big);
255
+ const reader = new DataReader(valueBytes);
256
256
  const result = new Array<string>();
257
257
  let bytesRead = 0;
258
258
  while (bytesRead < valueBytes.length) {
@@ -264,7 +264,7 @@ export class DnsCodec {
264
264
  }
265
265
 
266
266
  static decodeAaaaRecord(valueBytes: Uint8Array): string {
267
- const reader = new DataReader(valueBytes, Endian.Big);
267
+ const reader = new DataReader(valueBytes);
268
268
  const ipItems = new Array<string>();
269
269
  for (let i = 0; i < 8; i++) {
270
270
  ipItems.push(reader.readUInt16().toString(16));
@@ -290,7 +290,7 @@ export class DnsCodec {
290
290
  }
291
291
 
292
292
  static decodeARecord(valueBytes: Uint8Array): string {
293
- const reader = new DataReader(valueBytes, Endian.Big);
293
+ const reader = new DataReader(valueBytes);
294
294
  const ipItems = new Array<string>();
295
295
  for (let i = 0; i < 4; i++) {
296
296
  ipItems.push(reader.readUInt8().toString());
@@ -311,7 +311,7 @@ export class DnsCodec {
311
311
  throw new InternalError("Queries can only be included in query messages!");
312
312
  if (authorities.length > 0) throw new NotImplementedError("Authority answers are not supported yet!");
313
313
 
314
- const writer = new DataWriter(Endian.Big);
314
+ const writer = new DataWriter();
315
315
  writer.writeUInt16(transactionId);
316
316
  writer.writeUInt16(messageType);
317
317
  writer.writeUInt16(queries.length);
@@ -336,7 +336,7 @@ export class DnsCodec {
336
336
  static encodeRecord(record: DnsRecord<any>): Uint8Array {
337
337
  const { name, recordType, recordClass, ttl, value, flushCache = false } = record;
338
338
 
339
- const writer = new DataWriter(Endian.Big);
339
+ const writer = new DataWriter();
340
340
  writer.writeByteArray(this.encodeQName(name));
341
341
  writer.writeUInt16(recordType);
342
342
  writer.writeUInt16(recordClass | (flushCache ? 0x8000 : 0));
@@ -367,7 +367,7 @@ export class DnsCodec {
367
367
 
368
368
  static encodeARecord(ip: string) {
369
369
  if (!isIPv4(ip)) throw new UnexpectedDataError(`Invalid A Record value: ${ip}`);
370
- const writer = new DataWriter(Endian.Big);
370
+ const writer = new DataWriter();
371
371
  ip.split(".").forEach(part => {
372
372
  writer.writeUInt8(parseInt(part));
373
373
  });
@@ -376,7 +376,7 @@ export class DnsCodec {
376
376
 
377
377
  static encodeAaaaRecord(ip: string) {
378
378
  if (!isIPv6(ip)) throw new UnexpectedDataError(`Invalid AAAA Record value: ${ip}`);
379
- const writer = new DataWriter(Endian.Big);
379
+ const writer = new DataWriter();
380
380
  const parts = ip.split(":");
381
381
  parts.forEach(part => {
382
382
  if (part === "") {
@@ -391,7 +391,7 @@ export class DnsCodec {
391
391
  }
392
392
 
393
393
  static encodeTxtRecord(entries: string[]) {
394
- const writer = new DataWriter(Endian.Big);
394
+ const writer = new DataWriter();
395
395
  entries.forEach(entry => {
396
396
  const entryData = Bytes.fromString(entry);
397
397
  writer.writeUInt8(entryData.length);
@@ -401,7 +401,7 @@ export class DnsCodec {
401
401
  }
402
402
 
403
403
  static encodeSrvRecord({ priority, weight, port, target }: SrvRecordValue) {
404
- const writer = new DataWriter(Endian.Big);
404
+ const writer = new DataWriter();
405
405
  writer.writeUInt16(priority);
406
406
  writer.writeUInt16(weight);
407
407
  writer.writeUInt16(port);
@@ -410,7 +410,7 @@ export class DnsCodec {
410
410
  }
411
411
 
412
412
  static encodeQName(qname: string) {
413
- const writer = new DataWriter(Endian.Big);
413
+ const writer = new DataWriter();
414
414
  if (qname !== undefined && qname.length > 0) {
415
415
  // TODO: Implement compression
416
416
  qname.split(".").forEach(label => {
@@ -12,6 +12,8 @@ export class NetworkError extends MatterError {}
12
12
 
13
13
  export class NoAddressAvailableError extends NetworkError {}
14
14
 
15
+ export const STANDARD_MATTER_PORT = 5540;
16
+
15
17
  /**
16
18
  * @see {@link MatterSpecification.v11.Core} § 11.11.4.4
17
19
  * Duplicated from the GeneralDiagnostics cluster to avoid circular dependencies.
@@ -4,22 +4,26 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
+ import { MaybePromise } from "#util/index.js";
7
8
  import { ChannelType } from "./Channel.js";
8
9
  import { TransportInterface } from "./TransportInterface.js";
9
10
 
10
11
  /** @see {@link MatterSpecification.v12.Core} § 4.4.4 */
11
12
  export const MAX_UDP_MESSAGE_SIZE = 1280 - 48; // 48 bytes IP and UDP header size for IPv6
12
13
 
14
+ export type UdpSocketType = "udp4" | "udp6";
15
+
13
16
  export interface UdpChannelOptions {
14
17
  listeningPort?: number;
15
- type: "udp4" | "udp6";
18
+ type: UdpSocketType;
16
19
  listeningAddress?: string;
17
20
  netInterface?: string;
18
- membershipAddresses?: string[];
19
21
  }
20
22
 
21
23
  export interface UdpChannel {
22
24
  maxPayloadSize: number;
25
+ addMembership(address: string): MaybePromise<void>;
26
+ dropMembership(address: string): MaybePromise<void>;
23
27
  onData(
24
28
  listener: (netInterface: string | undefined, peerAddress: string, peerPort: number, data: Uint8Array) => void,
25
29
  ): TransportInterface.Listener;