@matter/general 0.14.1-alpha.0-20250605-9fc134af0 → 0.14.1-alpha.0-20250607-a93593303
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/codec/DerCodec.js +2 -2
- package/dist/cjs/codec/DerCodec.js.map +1 -1
- package/dist/cjs/codec/DnsCodec.js +14 -14
- package/dist/cjs/codec/DnsCodec.js.map +1 -1
- package/dist/cjs/net/Network.d.ts +1 -0
- package/dist/cjs/net/Network.d.ts.map +1 -1
- package/dist/cjs/net/Network.js +3 -1
- package/dist/cjs/net/Network.js.map +1 -1
- package/dist/cjs/net/UdpChannel.d.ts +5 -2
- package/dist/cjs/net/UdpChannel.d.ts.map +1 -1
- package/dist/cjs/net/UdpChannel.js.map +1 -1
- package/dist/cjs/net/UdpInterface.d.ts +6 -6
- package/dist/cjs/net/UdpInterface.d.ts.map +1 -1
- package/dist/cjs/net/UdpInterface.js +32 -18
- package/dist/cjs/net/UdpInterface.js.map +1 -1
- package/dist/cjs/net/UdpMulticastServer.d.ts.map +1 -1
- package/dist/cjs/net/UdpMulticastServer.js +9 -8
- package/dist/cjs/net/UdpMulticastServer.js.map +1 -1
- package/dist/cjs/net/mock/MockUdpChannel.d.ts +2 -0
- package/dist/cjs/net/mock/MockUdpChannel.d.ts.map +1 -1
- package/dist/cjs/net/mock/MockUdpChannel.js +4 -0
- package/dist/cjs/net/mock/MockUdpChannel.js.map +1 -1
- package/dist/cjs/time/Time.d.ts +2 -0
- package/dist/cjs/time/Time.d.ts.map +1 -1
- package/dist/cjs/time/Time.js +7 -0
- package/dist/cjs/time/Time.js.map +1 -1
- package/dist/cjs/util/DataReadQueue.d.ts +1 -0
- package/dist/cjs/util/DataReadQueue.d.ts.map +1 -1
- package/dist/cjs/util/DataReadQueue.js +3 -0
- package/dist/cjs/util/DataReadQueue.js.map +1 -1
- package/dist/cjs/util/DataReader.d.ts +2 -2
- package/dist/cjs/util/DataReader.d.ts.map +1 -1
- package/dist/cjs/util/DataReader.js.map +1 -1
- package/dist/cjs/util/DataWriter.d.ts +2 -2
- package/dist/cjs/util/DataWriter.d.ts.map +1 -1
- package/dist/cjs/util/DataWriter.js.map +1 -1
- package/dist/cjs/util/Ip.d.ts +1 -0
- package/dist/cjs/util/Ip.d.ts.map +1 -1
- package/dist/cjs/util/Ip.js +45 -0
- package/dist/cjs/util/Ip.js.map +1 -1
- package/dist/cjs/util/Map.d.ts +24 -0
- package/dist/cjs/util/Map.d.ts.map +1 -0
- package/dist/cjs/util/Map.js +72 -0
- package/dist/cjs/util/Map.js.map +6 -0
- package/dist/cjs/util/Set.d.ts +1 -0
- package/dist/cjs/util/Set.d.ts.map +1 -1
- package/dist/cjs/util/Set.js +14 -5
- package/dist/cjs/util/Set.js.map +2 -2
- package/dist/cjs/util/index.d.ts +1 -0
- package/dist/cjs/util/index.d.ts.map +1 -1
- package/dist/cjs/util/index.js +1 -0
- package/dist/cjs/util/index.js.map +1 -1
- package/dist/esm/codec/DerCodec.js +3 -3
- package/dist/esm/codec/DerCodec.js.map +1 -1
- package/dist/esm/codec/DnsCodec.js +15 -15
- package/dist/esm/codec/DnsCodec.js.map +1 -1
- package/dist/esm/net/Network.d.ts +1 -0
- package/dist/esm/net/Network.d.ts.map +1 -1
- package/dist/esm/net/Network.js +3 -1
- package/dist/esm/net/Network.js.map +1 -1
- package/dist/esm/net/UdpChannel.d.ts +5 -2
- package/dist/esm/net/UdpChannel.d.ts.map +1 -1
- package/dist/esm/net/UdpChannel.js.map +1 -1
- package/dist/esm/net/UdpInterface.d.ts +6 -6
- package/dist/esm/net/UdpInterface.d.ts.map +1 -1
- package/dist/esm/net/UdpInterface.js +32 -18
- package/dist/esm/net/UdpInterface.js.map +1 -1
- package/dist/esm/net/UdpMulticastServer.d.ts.map +1 -1
- package/dist/esm/net/UdpMulticastServer.js +9 -8
- package/dist/esm/net/UdpMulticastServer.js.map +1 -1
- package/dist/esm/net/mock/MockUdpChannel.d.ts +2 -0
- package/dist/esm/net/mock/MockUdpChannel.d.ts.map +1 -1
- package/dist/esm/net/mock/MockUdpChannel.js +4 -0
- package/dist/esm/net/mock/MockUdpChannel.js.map +1 -1
- package/dist/esm/time/Time.d.ts +2 -0
- package/dist/esm/time/Time.d.ts.map +1 -1
- package/dist/esm/time/Time.js +7 -0
- package/dist/esm/time/Time.js.map +1 -1
- package/dist/esm/util/DataReadQueue.d.ts +1 -0
- package/dist/esm/util/DataReadQueue.d.ts.map +1 -1
- package/dist/esm/util/DataReadQueue.js +3 -0
- package/dist/esm/util/DataReadQueue.js.map +1 -1
- package/dist/esm/util/DataReader.d.ts +2 -2
- package/dist/esm/util/DataReader.d.ts.map +1 -1
- package/dist/esm/util/DataReader.js.map +1 -1
- package/dist/esm/util/DataWriter.d.ts +2 -2
- package/dist/esm/util/DataWriter.d.ts.map +1 -1
- package/dist/esm/util/DataWriter.js.map +1 -1
- package/dist/esm/util/Ip.d.ts +1 -0
- package/dist/esm/util/Ip.d.ts.map +1 -1
- package/dist/esm/util/Ip.js +45 -0
- package/dist/esm/util/Ip.js.map +1 -1
- package/dist/esm/util/Map.d.ts +24 -0
- package/dist/esm/util/Map.d.ts.map +1 -0
- package/dist/esm/util/Map.js +52 -0
- package/dist/esm/util/Map.js.map +6 -0
- package/dist/esm/util/Set.d.ts +1 -0
- package/dist/esm/util/Set.d.ts.map +1 -1
- package/dist/esm/util/Set.js +14 -5
- package/dist/esm/util/Set.js.map +2 -2
- package/dist/esm/util/index.d.ts +1 -0
- package/dist/esm/util/index.d.ts.map +1 -1
- package/dist/esm/util/index.js +1 -0
- package/dist/esm/util/index.js.map +1 -1
- package/package.json +2 -2
- package/src/codec/DerCodec.ts +5 -5
- package/src/codec/DnsCodec.ts +14 -14
- package/src/net/Network.ts +2 -0
- package/src/net/UdpChannel.ts +6 -2
- package/src/net/UdpInterface.ts +36 -17
- package/src/net/UdpMulticastServer.ts +8 -7
- package/src/net/mock/MockUdpChannel.ts +8 -0
- package/src/time/Time.ts +10 -0
- package/src/util/DataReadQueue.ts +4 -0
- package/src/util/DataReader.ts +2 -2
- package/src/util/DataWriter.ts +2 -2
- package/src/util/Ip.ts +50 -0
- package/src/util/Map.ts +65 -0
- package/src/util/Set.ts +13 -1
- 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
|
|
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;;
|
|
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,
|
|
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
|
|
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;
|
|
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": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,cAAc;AACvB,SAAS,UAAU,gBAAgB;AAI5B,MAAM,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/util/Ip.d.ts
CHANGED
|
@@ -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"}
|
package/dist/esm/util/Ip.js
CHANGED
|
@@ -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,
|
package/dist/esm/util/Ip.js.map
CHANGED
|
@@ -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
|
+
}
|
package/dist/esm/util/Set.d.ts
CHANGED
|
@@ -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":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAChD,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;IACtB,IAAI,IAAI,IAAI,MAAM,CAAC;IACnB,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC;IACjE,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC;CAC5D;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC;IACnC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC;IAC/B,KAAK,IAAI,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC;IAC5B,IAAI,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IACzB;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAE7D;;OAEG;IACH,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACpD;AAED;;;;GAIG;AACH,qBAAa,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;;gBAWnG,GAAG,YAAY,EAAE,IAAI,EAAE;IAMnC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB,IAAI,IAAI,WAEP;IAED,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;IAI7B,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,SAAS;IAQhD,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,SAAS;IAUlD,GAAG,CAAC,IAAI,EAAE,CAAC;IAIX,GAAG,CAAC,IAAI,EAAE,IAAI;IA4Bd,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAuB5C;;;;OAIG;IACH,KAAK,CAAC,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAYzF,MAAM,CAAC,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Set.d.ts","sourceRoot":"","sources":["../../../src/util/Set.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAChD,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;IACtB,IAAI,IAAI,IAAI,MAAM,CAAC;IACnB,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC;IACjE,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC;CAC5D;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC;IACnC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC;IAC/B,KAAK,IAAI,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC;IAC5B,IAAI,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IACzB;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAE7D;;OAEG;IACH,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACpD;AAED;;;;GAIG;AACH,qBAAa,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;;gBAWnG,GAAG,YAAY,EAAE,IAAI,EAAE;IAMnC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB,IAAI,IAAI,WAEP;IAED,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;IAI7B,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,SAAS;IAQhD,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,SAAS;IAUlD,GAAG,CAAC,IAAI,EAAE,CAAC;IAIX,GAAG,CAAC,IAAI,EAAE,IAAI;IA4Bd,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAuB5C;;;;OAIG;IACH,KAAK,CAAC,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAYzF,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO;IACxB,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO;IAmC/D,KAAK;IAIL,IAAI,KAAK,0BAKR;IAED,IAAI,OAAO,0BAKV;IAED,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,GACG,CAAC;CAExC;AAED;;;;;;GAMG;AACH,qBAAa,eAAe,CAAC,CAAC,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,CACxG,YAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;;IAQvB;;;;;;OAMG;gBACS,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAMhD,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO;IAQ1B,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI;IAS1F,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAO7B,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO;IAIvB,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAgB9B,IAAI,IAAI,WAEP;IAED,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAIjC,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAQzB,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC;IAQvB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAU5C,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS;CAChC;AAED,yBAAiB,eAAe,CAAC;IAC7B,MAAa,qBAAsB,SAAQ,mBAAmB;KAAG;CACpE"}
|
package/dist/esm/util/Set.js
CHANGED
|
@@ -102,19 +102,28 @@ class BasicSet {
|
|
|
102
102
|
}
|
|
103
103
|
return map;
|
|
104
104
|
}
|
|
105
|
-
delete(
|
|
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
|
|
112
|
-
if (
|
|
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(
|
|
117
|
-
index.delete(
|
|
125
|
+
if (index !== void 0 && index.get(value2) === item) {
|
|
126
|
+
index.delete(value2);
|
|
118
127
|
}
|
|
119
128
|
}
|
|
120
129
|
}
|
package/dist/esm/util/Set.js.map
CHANGED
|
@@ -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,
|
|
5
|
-
"names": ["MapOfIndexedSet"]
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["value", "MapOfIndexedSet"]
|
|
6
6
|
}
|
package/dist/esm/util/index.d.ts
CHANGED
|
@@ -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"}
|
package/dist/esm/util/index.js
CHANGED
|
@@ -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-
|
|
3
|
+
"version": "0.14.1-alpha.0-20250607-a93593303",
|
|
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-
|
|
39
|
+
"@matter/testing": "0.14.1-alpha.0-20250607-a93593303"
|
|
40
40
|
},
|
|
41
41
|
"files": [
|
|
42
42
|
"dist/**/*",
|
package/src/codec/DerCodec.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { UnexpectedDataError } from "../MatterError.js";
|
|
7
|
-
import { Bytes
|
|
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
|
|
270
|
+
return this.decodeRec(new DataReader(data));
|
|
271
271
|
}
|
|
272
272
|
|
|
273
|
-
private static decodeRec(reader: DataReader
|
|
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
|
|
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
|
|
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) {
|
package/src/codec/DnsCodec.ts
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
413
|
+
const writer = new DataWriter();
|
|
414
414
|
if (qname !== undefined && qname.length > 0) {
|
|
415
415
|
// TODO: Implement compression
|
|
416
416
|
qname.split(".").forEach(label => {
|
package/src/net/Network.ts
CHANGED
|
@@ -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.
|
package/src/net/UdpChannel.ts
CHANGED
|
@@ -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:
|
|
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;
|