@matter/general 0.16.0-alpha.0-20251205-dfb1e1556 → 0.16.0-alpha.0-20251209-d6072d23e
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/MatterError.js +2 -2
- package/dist/cjs/MatterError.js.map +1 -1
- package/dist/cjs/codec/DerTypes.d.ts.map +1 -1
- package/dist/cjs/codec/DerTypes.js +2 -1
- package/dist/cjs/codec/DerTypes.js.map +1 -1
- package/dist/cjs/crypto/NodeJsStyleCrypto.d.ts +60 -3
- package/dist/cjs/crypto/NodeJsStyleCrypto.d.ts.map +1 -1
- package/dist/cjs/crypto/NodeJsStyleCrypto.js.map +1 -1
- package/dist/cjs/environment/Environment.d.ts +4 -1
- package/dist/cjs/environment/Environment.d.ts.map +1 -1
- package/dist/cjs/environment/Environment.js +83 -3
- package/dist/cjs/environment/Environment.js.map +1 -1
- package/dist/cjs/environment/Environmental.js +1 -1
- package/dist/cjs/environment/Environmental.js.map +1 -1
- package/dist/cjs/environment/RuntimeService.d.ts +3 -44
- package/dist/cjs/environment/RuntimeService.d.ts.map +1 -1
- package/dist/cjs/environment/RuntimeService.js +65 -10
- package/dist/cjs/environment/RuntimeService.js.map +2 -2
- package/dist/cjs/environment/Worker.d.ts +56 -0
- package/dist/cjs/environment/Worker.d.ts.map +1 -0
- package/dist/cjs/environment/Worker.js +44 -0
- package/dist/cjs/environment/Worker.js.map +6 -0
- package/dist/cjs/environment/index.d.ts +1 -0
- package/dist/cjs/environment/index.d.ts.map +1 -1
- package/dist/cjs/environment/index.js +1 -0
- package/dist/cjs/environment/index.js.map +1 -1
- package/dist/cjs/log/Diagnostic.d.ts +11 -1
- package/dist/cjs/log/Diagnostic.d.ts.map +1 -1
- package/dist/cjs/log/Diagnostic.js +3 -0
- package/dist/cjs/log/Diagnostic.js.map +1 -1
- package/dist/cjs/log/DiagnosticPresentation.d.ts +4 -0
- package/dist/cjs/log/DiagnosticPresentation.d.ts.map +1 -1
- package/dist/cjs/log/DiagnosticPresentation.js +3 -2
- package/dist/cjs/log/DiagnosticPresentation.js.map +1 -1
- package/dist/cjs/log/DiagnosticSource.d.ts +1 -1
- package/dist/cjs/log/DiagnosticSource.d.ts.map +1 -1
- package/dist/cjs/log/DiagnosticSource.js +5 -1
- package/dist/cjs/log/DiagnosticSource.js.map +1 -1
- package/dist/cjs/log/LogFormat.js +2 -2
- package/dist/cjs/log/LogFormat.js.map +1 -1
- package/dist/cjs/log/NodeJsStyleInspectable.js +1 -1
- package/dist/cjs/log/NodeJsStyleInspectable.js.map +1 -1
- package/dist/cjs/net/Channel.d.ts +1 -1
- package/dist/cjs/net/Channel.d.ts.map +1 -1
- package/dist/cjs/net/Channel.js +1 -1
- package/dist/cjs/net/Channel.js.map +1 -1
- package/dist/cjs/net/mock/MockUdpChannel.d.ts +1 -1
- package/dist/cjs/net/mock/MockUdpChannel.d.ts.map +1 -1
- package/dist/cjs/net/mock/NetworkSimulator.d.ts.map +1 -1
- package/dist/cjs/net/mock/NetworkSimulator.js +2 -1
- package/dist/cjs/net/mock/NetworkSimulator.js.map +1 -1
- package/dist/cjs/net/udp/UdpChannel.d.ts +5 -1
- package/dist/cjs/net/udp/UdpChannel.d.ts.map +1 -1
- package/dist/cjs/net/udp/UdpMulticastServer.d.ts +4 -6
- package/dist/cjs/net/udp/UdpMulticastServer.d.ts.map +1 -1
- package/dist/cjs/net/udp/UdpMulticastServer.js +114 -37
- package/dist/cjs/net/udp/UdpMulticastServer.js.map +1 -1
- package/dist/cjs/polyfills/disposable.js +2 -2
- package/dist/cjs/polyfills/disposable.js.map +1 -1
- package/dist/cjs/polyfills/metadata.js +1 -1
- package/dist/cjs/polyfills/metadata.js.map +1 -1
- package/dist/cjs/time/StandardTime.d.ts +38 -0
- package/dist/cjs/time/StandardTime.d.ts.map +1 -0
- package/dist/cjs/time/StandardTime.js +172 -0
- package/dist/cjs/time/StandardTime.js.map +6 -0
- package/dist/cjs/time/Time.d.ts +4 -23
- package/dist/cjs/time/Time.d.ts.map +1 -1
- package/dist/cjs/time/Time.js +12 -88
- package/dist/cjs/time/Time.js.map +1 -1
- package/dist/cjs/time/Timestamp.d.ts +5 -0
- package/dist/cjs/time/Timestamp.d.ts.map +1 -1
- package/dist/cjs/time/Timestamp.js +4 -0
- package/dist/cjs/time/Timestamp.js.map +1 -1
- package/dist/cjs/time/index.d.ts +1 -0
- package/dist/cjs/time/index.d.ts.map +1 -1
- package/dist/cjs/time/index.js +1 -0
- package/dist/cjs/time/index.js.map +1 -1
- package/dist/cjs/transaction/Resource.js +1 -1
- package/dist/cjs/transaction/Resource.js.map +1 -1
- package/dist/cjs/transaction/Transaction.d.ts +12 -4
- package/dist/cjs/transaction/Transaction.d.ts.map +1 -1
- package/dist/cjs/transaction/Transaction.js +4 -4
- package/dist/cjs/transaction/Transaction.js.map +1 -1
- package/dist/cjs/transaction/Tx.d.ts +2 -1
- package/dist/cjs/transaction/Tx.d.ts.map +1 -1
- package/dist/cjs/transaction/Tx.js +92 -6
- package/dist/cjs/transaction/Tx.js.map +1 -1
- package/dist/cjs/util/Abort.js +1 -1
- package/dist/cjs/util/Abort.js.map +1 -1
- package/dist/cjs/util/Construction.d.ts +2 -1
- package/dist/cjs/util/Construction.d.ts.map +1 -1
- package/dist/cjs/util/Construction.js +62 -18
- package/dist/cjs/util/Construction.js.map +2 -2
- package/dist/cjs/util/DataReadQueue.d.ts +1 -5
- package/dist/cjs/util/DataReadQueue.d.ts.map +1 -1
- package/dist/cjs/util/DataReadQueue.js +12 -11
- package/dist/cjs/util/DataReadQueue.js.map +1 -1
- package/dist/cjs/util/Decorator.js +1 -1
- package/dist/cjs/util/Decorator.js.map +1 -1
- package/dist/cjs/util/DeepEqual.js +1 -1
- package/dist/cjs/util/DeepEqual.js.map +1 -1
- package/dist/cjs/util/FormattedText.d.ts +1 -1
- package/dist/cjs/util/FormattedText.d.ts.map +1 -1
- package/dist/cjs/util/FormattedText.js +1 -3
- package/dist/cjs/util/FormattedText.js.map +1 -1
- package/dist/cjs/util/Lifetime.d.ts +97 -0
- package/dist/cjs/util/Lifetime.d.ts.map +1 -0
- package/dist/cjs/util/Lifetime.js +166 -0
- package/dist/cjs/util/Lifetime.js.map +6 -0
- package/dist/cjs/util/Multiplex.js +2 -2
- package/dist/cjs/util/Multiplex.js.map +1 -1
- package/dist/cjs/util/Observable.d.ts +27 -26
- package/dist/cjs/util/Observable.d.ts.map +1 -1
- package/dist/cjs/util/Observable.js +78 -37
- package/dist/cjs/util/Observable.js.map +2 -2
- package/dist/cjs/util/String.d.ts +5 -29
- package/dist/cjs/util/String.d.ts.map +1 -1
- package/dist/cjs/util/String.js +16 -158
- package/dist/cjs/util/String.js.map +2 -2
- package/dist/cjs/util/identifier-case.d.ts +19 -0
- package/dist/cjs/util/identifier-case.d.ts.map +1 -0
- package/dist/cjs/util/identifier-case.js +99 -0
- package/dist/cjs/util/identifier-case.js.map +6 -0
- package/dist/cjs/util/index.d.ts +3 -0
- package/dist/cjs/util/index.d.ts.map +1 -1
- package/dist/cjs/util/index.js +3 -0
- package/dist/cjs/util/index.js.map +1 -1
- package/dist/cjs/util/serialize.d.ts +25 -0
- package/dist/cjs/util/serialize.d.ts.map +1 -0
- package/dist/cjs/util/serialize.js +116 -0
- package/dist/cjs/util/serialize.js.map +6 -0
- package/dist/esm/MatterError.js +1 -1
- package/dist/esm/codec/DerTypes.d.ts.map +1 -1
- package/dist/esm/codec/DerTypes.js +2 -1
- package/dist/esm/codec/DerTypes.js.map +1 -1
- package/dist/esm/crypto/NodeJsStyleCrypto.d.ts +60 -3
- package/dist/esm/crypto/NodeJsStyleCrypto.d.ts.map +1 -1
- package/dist/esm/crypto/NodeJsStyleCrypto.js.map +1 -1
- package/dist/esm/environment/Environment.d.ts +4 -1
- package/dist/esm/environment/Environment.d.ts.map +1 -1
- package/dist/esm/environment/Environment.js +83 -3
- package/dist/esm/environment/Environment.js.map +1 -1
- package/dist/esm/environment/Environmental.js +1 -1
- package/dist/esm/environment/Environmental.js.map +1 -1
- package/dist/esm/environment/RuntimeService.d.ts +3 -44
- package/dist/esm/environment/RuntimeService.d.ts.map +1 -1
- package/dist/esm/environment/RuntimeService.js +65 -10
- package/dist/esm/environment/RuntimeService.js.map +2 -2
- package/dist/esm/environment/Worker.d.ts +56 -0
- package/dist/esm/environment/Worker.d.ts.map +1 -0
- package/dist/esm/environment/Worker.js +24 -0
- package/dist/esm/environment/Worker.js.map +6 -0
- package/dist/esm/environment/index.d.ts +1 -0
- package/dist/esm/environment/index.d.ts.map +1 -1
- package/dist/esm/environment/index.js +1 -0
- package/dist/esm/environment/index.js.map +1 -1
- package/dist/esm/log/Diagnostic.d.ts +11 -1
- package/dist/esm/log/Diagnostic.d.ts.map +1 -1
- package/dist/esm/log/Diagnostic.js +3 -0
- package/dist/esm/log/Diagnostic.js.map +1 -1
- package/dist/esm/log/DiagnosticPresentation.d.ts +4 -0
- package/dist/esm/log/DiagnosticPresentation.d.ts.map +1 -1
- package/dist/esm/log/DiagnosticPresentation.js +3 -2
- package/dist/esm/log/DiagnosticPresentation.js.map +1 -1
- package/dist/esm/log/DiagnosticSource.d.ts +1 -1
- package/dist/esm/log/DiagnosticSource.d.ts.map +1 -1
- package/dist/esm/log/DiagnosticSource.js +5 -1
- package/dist/esm/log/DiagnosticSource.js.map +1 -1
- package/dist/esm/log/LogFormat.js +1 -1
- package/dist/esm/log/LogFormat.js.map +1 -1
- package/dist/esm/log/NodeJsStyleInspectable.js +1 -1
- package/dist/esm/log/NodeJsStyleInspectable.js.map +1 -1
- package/dist/esm/net/Channel.d.ts +1 -1
- package/dist/esm/net/Channel.d.ts.map +1 -1
- package/dist/esm/net/Channel.js +1 -1
- package/dist/esm/net/Channel.js.map +1 -1
- package/dist/esm/net/mock/MockUdpChannel.d.ts +1 -1
- package/dist/esm/net/mock/MockUdpChannel.d.ts.map +1 -1
- package/dist/esm/net/mock/NetworkSimulator.d.ts.map +1 -1
- package/dist/esm/net/mock/NetworkSimulator.js +2 -1
- package/dist/esm/net/mock/NetworkSimulator.js.map +1 -1
- package/dist/esm/net/udp/UdpChannel.d.ts +5 -1
- package/dist/esm/net/udp/UdpChannel.d.ts.map +1 -1
- package/dist/esm/net/udp/UdpMulticastServer.d.ts +4 -6
- package/dist/esm/net/udp/UdpMulticastServer.d.ts.map +1 -1
- package/dist/esm/net/udp/UdpMulticastServer.js +114 -37
- package/dist/esm/net/udp/UdpMulticastServer.js.map +1 -1
- package/dist/esm/polyfills/disposable.js +2 -2
- package/dist/esm/polyfills/disposable.js.map +1 -1
- package/dist/esm/polyfills/metadata.js +1 -1
- package/dist/esm/polyfills/metadata.js.map +1 -1
- package/dist/esm/time/StandardTime.d.ts +38 -0
- package/dist/esm/time/StandardTime.d.ts.map +1 -0
- package/dist/esm/time/StandardTime.js +152 -0
- package/dist/esm/time/StandardTime.js.map +6 -0
- package/dist/esm/time/Time.d.ts +4 -23
- package/dist/esm/time/Time.d.ts.map +1 -1
- package/dist/esm/time/Time.js +12 -88
- package/dist/esm/time/Time.js.map +1 -1
- package/dist/esm/time/Timestamp.d.ts +5 -0
- package/dist/esm/time/Timestamp.d.ts.map +1 -1
- package/dist/esm/time/Timestamp.js +4 -0
- package/dist/esm/time/Timestamp.js.map +1 -1
- package/dist/esm/time/index.d.ts +1 -0
- package/dist/esm/time/index.d.ts.map +1 -1
- package/dist/esm/time/index.js +1 -0
- package/dist/esm/time/index.js.map +1 -1
- package/dist/esm/transaction/Resource.js +1 -1
- package/dist/esm/transaction/Resource.js.map +1 -1
- package/dist/esm/transaction/Transaction.d.ts +12 -4
- package/dist/esm/transaction/Transaction.d.ts.map +1 -1
- package/dist/esm/transaction/Transaction.js +4 -4
- package/dist/esm/transaction/Transaction.js.map +1 -1
- package/dist/esm/transaction/Tx.d.ts +2 -1
- package/dist/esm/transaction/Tx.d.ts.map +1 -1
- package/dist/esm/transaction/Tx.js +92 -6
- package/dist/esm/transaction/Tx.js.map +1 -1
- package/dist/esm/util/Abort.js +1 -1
- package/dist/esm/util/Abort.js.map +1 -1
- package/dist/esm/util/Construction.d.ts +2 -1
- package/dist/esm/util/Construction.d.ts.map +1 -1
- package/dist/esm/util/Construction.js +62 -18
- package/dist/esm/util/Construction.js.map +2 -2
- package/dist/esm/util/DataReadQueue.d.ts +1 -5
- package/dist/esm/util/DataReadQueue.d.ts.map +1 -1
- package/dist/esm/util/DataReadQueue.js +12 -11
- package/dist/esm/util/DataReadQueue.js.map +1 -1
- package/dist/esm/util/Decorator.js +1 -1
- package/dist/esm/util/Decorator.js.map +1 -1
- package/dist/esm/util/DeepEqual.js +1 -1
- package/dist/esm/util/DeepEqual.js.map +1 -1
- package/dist/esm/util/FormattedText.d.ts +1 -1
- package/dist/esm/util/FormattedText.d.ts.map +1 -1
- package/dist/esm/util/FormattedText.js +2 -4
- package/dist/esm/util/FormattedText.js.map +1 -1
- package/dist/esm/util/Lifetime.d.ts +97 -0
- package/dist/esm/util/Lifetime.d.ts.map +1 -0
- package/dist/esm/util/Lifetime.js +146 -0
- package/dist/esm/util/Lifetime.js.map +6 -0
- package/dist/esm/util/Multiplex.js +2 -2
- package/dist/esm/util/Multiplex.js.map +1 -1
- package/dist/esm/util/Observable.d.ts +27 -26
- package/dist/esm/util/Observable.d.ts.map +1 -1
- package/dist/esm/util/Observable.js +78 -37
- package/dist/esm/util/Observable.js.map +2 -2
- package/dist/esm/util/String.d.ts +5 -29
- package/dist/esm/util/String.d.ts.map +1 -1
- package/dist/esm/util/String.js +16 -158
- package/dist/esm/util/String.js.map +2 -2
- package/dist/esm/util/identifier-case.d.ts +19 -0
- package/dist/esm/util/identifier-case.d.ts.map +1 -0
- package/dist/esm/util/identifier-case.js +79 -0
- package/dist/esm/util/identifier-case.js.map +6 -0
- package/dist/esm/util/index.d.ts +3 -0
- package/dist/esm/util/index.d.ts.map +1 -1
- package/dist/esm/util/index.js +3 -0
- package/dist/esm/util/index.js.map +1 -1
- package/dist/esm/util/serialize.d.ts +25 -0
- package/dist/esm/util/serialize.d.ts.map +1 -0
- package/dist/esm/util/serialize.js +96 -0
- package/dist/esm/util/serialize.js.map +6 -0
- package/package.json +2 -2
- package/src/MatterError.ts +1 -1
- package/src/codec/DerTypes.ts +2 -1
- package/src/crypto/NodeJsStyleCrypto.ts +98 -6
- package/src/environment/Environment.ts +29 -4
- package/src/environment/RuntimeService.ts +19 -55
- package/src/environment/Worker.ts +75 -0
- package/src/environment/index.ts +1 -0
- package/src/log/Diagnostic.ts +15 -1
- package/src/log/DiagnosticPresentation.ts +7 -2
- package/src/log/DiagnosticSource.ts +5 -1
- package/src/log/LogFormat.ts +1 -1
- package/src/net/Channel.ts +2 -2
- package/src/net/mock/MockUdpChannel.ts +1 -1
- package/src/net/mock/NetworkSimulator.ts +2 -1
- package/src/net/udp/UdpChannel.ts +6 -1
- package/src/net/udp/UdpMulticastServer.ts +72 -34
- package/src/time/StandardTime.ts +122 -0
- package/src/time/Time.ts +13 -105
- package/src/time/Timestamp.ts +8 -0
- package/src/time/index.ts +1 -0
- package/src/transaction/Transaction.ts +19 -6
- package/src/transaction/Tx.ts +49 -2
- package/src/util/Abort.ts +1 -1
- package/src/util/Construction.ts +76 -18
- package/src/util/DataReadQueue.ts +14 -12
- package/src/util/FormattedText.ts +1 -1
- package/src/util/Lifetime.ts +284 -0
- package/src/util/Multiplex.ts +2 -2
- package/src/util/Observable.ts +133 -54
- package/src/util/String.ts +14 -215
- package/src/util/identifier-case.ts +101 -0
- package/src/util/index.ts +3 -0
- package/src/util/serialize.ts +129 -0
package/dist/esm/util/String.js
CHANGED
|
@@ -6,135 +6,6 @@
|
|
|
6
6
|
import { ImplementationError } from "#MatterError.js";
|
|
7
7
|
import { Bytes } from "./Bytes.js";
|
|
8
8
|
import { isObject } from "./Type.js";
|
|
9
|
-
function capitalize(text) {
|
|
10
|
-
return text[0].toUpperCase() + text.slice(1);
|
|
11
|
-
}
|
|
12
|
-
function camelize(name, upperFirst = false) {
|
|
13
|
-
const pieces = new Array();
|
|
14
|
-
let pieceStart = 0, sawUpper = false, sawLower = false, i = 0;
|
|
15
|
-
function addPiece(to) {
|
|
16
|
-
if (pieceStart < to) pieces.push(name.slice(pieceStart, to));
|
|
17
|
-
sawLower = sawUpper = false;
|
|
18
|
-
}
|
|
19
|
-
for (; i < name.length; i++) {
|
|
20
|
-
if (name[i] >= "A" && name[i] <= "Z") {
|
|
21
|
-
if (sawLower) {
|
|
22
|
-
addPiece(i);
|
|
23
|
-
pieceStart = i;
|
|
24
|
-
}
|
|
25
|
-
sawUpper = true;
|
|
26
|
-
continue;
|
|
27
|
-
}
|
|
28
|
-
if (name[i] >= "a" && name[i] <= "z") {
|
|
29
|
-
if (!sawLower) {
|
|
30
|
-
if (sawUpper) {
|
|
31
|
-
addPiece(i - 1);
|
|
32
|
-
pieceStart = i - 1;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
sawLower = true;
|
|
36
|
-
continue;
|
|
37
|
-
}
|
|
38
|
-
addPiece(i);
|
|
39
|
-
if (name[i] >= "0" && name[i] <= "9" || name[i] === "$") {
|
|
40
|
-
pieces.push(name[i]);
|
|
41
|
-
}
|
|
42
|
-
pieceStart = i + 1;
|
|
43
|
-
continue;
|
|
44
|
-
}
|
|
45
|
-
addPiece(i);
|
|
46
|
-
let didFirst = false;
|
|
47
|
-
let result = pieces.map((piece) => {
|
|
48
|
-
let firstChar = piece[0];
|
|
49
|
-
if (upperFirst || didFirst) {
|
|
50
|
-
firstChar = firstChar.toUpperCase();
|
|
51
|
-
} else {
|
|
52
|
-
firstChar = firstChar.toLowerCase();
|
|
53
|
-
didFirst = true;
|
|
54
|
-
}
|
|
55
|
-
return `${firstChar}${piece.slice(1).toLowerCase()}`;
|
|
56
|
-
}).join("");
|
|
57
|
-
result = result.replace(/(\d)Ths/i, "$1ths");
|
|
58
|
-
return result;
|
|
59
|
-
}
|
|
60
|
-
function decamelize(name, separator = "-") {
|
|
61
|
-
const result = Array();
|
|
62
|
-
let needSeparator = false;
|
|
63
|
-
for (const c of name) {
|
|
64
|
-
if (c >= "A" && c <= "Z") {
|
|
65
|
-
if (needSeparator) {
|
|
66
|
-
result.push(separator);
|
|
67
|
-
needSeparator = false;
|
|
68
|
-
}
|
|
69
|
-
result.push(c.toLowerCase());
|
|
70
|
-
} else {
|
|
71
|
-
result.push(c);
|
|
72
|
-
needSeparator = true;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
return result.join("");
|
|
76
|
-
}
|
|
77
|
-
function serialize(value) {
|
|
78
|
-
const visited = /* @__PURE__ */ new Set();
|
|
79
|
-
function asValidKey(key) {
|
|
80
|
-
if (key.match(/[a-z_$][\w$]*/i)) {
|
|
81
|
-
return key;
|
|
82
|
-
}
|
|
83
|
-
return JSON.stringify(key);
|
|
84
|
-
}
|
|
85
|
-
function serializeOne(value2) {
|
|
86
|
-
if (value2 === void 0) {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
if (value2 === null) {
|
|
90
|
-
return "null";
|
|
91
|
-
}
|
|
92
|
-
if (value2[serialize.SERIALIZE]) {
|
|
93
|
-
return value2[serialize.SERIALIZE]();
|
|
94
|
-
}
|
|
95
|
-
if (typeof value2 === "function") {
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
if (typeof value2 === "bigint" || value2 instanceof BigInt) {
|
|
99
|
-
return value2.toString();
|
|
100
|
-
}
|
|
101
|
-
if (typeof value2 === "number" || value2 instanceof Number) {
|
|
102
|
-
return value2.toString();
|
|
103
|
-
}
|
|
104
|
-
if (typeof value2 === "string" || value2 instanceof String) {
|
|
105
|
-
return JSON.stringify(value2);
|
|
106
|
-
}
|
|
107
|
-
if (typeof value2 === "boolean") {
|
|
108
|
-
return value2 ? "true" : "false";
|
|
109
|
-
}
|
|
110
|
-
if (Bytes.isBytes(value2)) {
|
|
111
|
-
return Bytes.toHex(value2);
|
|
112
|
-
}
|
|
113
|
-
if (visited.has(value2)) {
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
if (value2.toJSON) {
|
|
117
|
-
value2 = JSON.parse(JSON.stringify(value2));
|
|
118
|
-
}
|
|
119
|
-
try {
|
|
120
|
-
visited.add(value2);
|
|
121
|
-
if (Array.isArray(value2)) {
|
|
122
|
-
if (value2.length) {
|
|
123
|
-
return `[ ${value2.map(serializeOne).join(", ")} ]`;
|
|
124
|
-
}
|
|
125
|
-
return "[]";
|
|
126
|
-
}
|
|
127
|
-
const entries = Object.entries(value2).map(([k, v]) => [k, serializeOne(v)]).filter(([_k, v]) => v !== void 0).map(([k, v]) => `${asValidKey(k ?? "")}: ${v}`);
|
|
128
|
-
if (!entries.length) {
|
|
129
|
-
return "{}";
|
|
130
|
-
}
|
|
131
|
-
return `{ ${entries.join(", ")} }`;
|
|
132
|
-
} finally {
|
|
133
|
-
visited.delete(value2);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
return serializeOne(value);
|
|
137
|
-
}
|
|
138
9
|
function asJson(value, space) {
|
|
139
10
|
return JSON.stringify(
|
|
140
11
|
value,
|
|
@@ -150,31 +21,6 @@ function asJson(value, space) {
|
|
|
150
21
|
space
|
|
151
22
|
);
|
|
152
23
|
}
|
|
153
|
-
((serialize2) => {
|
|
154
|
-
serialize2.SERIALIZE = Symbol("SERIALIZE");
|
|
155
|
-
function asIs(value) {
|
|
156
|
-
if (typeof value === "string") {
|
|
157
|
-
value = new String(value);
|
|
158
|
-
}
|
|
159
|
-
if (value !== void 0 && value !== null) {
|
|
160
|
-
value[serialize2.SERIALIZE] = function() {
|
|
161
|
-
return this.toString();
|
|
162
|
-
};
|
|
163
|
-
}
|
|
164
|
-
return value;
|
|
165
|
-
}
|
|
166
|
-
serialize2.asIs = asIs;
|
|
167
|
-
function isPrimitive(value) {
|
|
168
|
-
if (value === void 0 || value === null || value instanceof Date || ArrayBuffer.isView(value) || value[serialize2.SERIALIZE]) {
|
|
169
|
-
return true;
|
|
170
|
-
}
|
|
171
|
-
if (Array.isArray(value)) {
|
|
172
|
-
return false;
|
|
173
|
-
}
|
|
174
|
-
return typeof value !== "object";
|
|
175
|
-
}
|
|
176
|
-
serialize2.isPrimitive = isPrimitive;
|
|
177
|
-
})(serialize || (serialize = {}));
|
|
178
24
|
function describeList(setType, ...entries) {
|
|
179
25
|
const text = Array();
|
|
180
26
|
if (entries.length === 1) {
|
|
@@ -237,13 +83,25 @@ function serializeToJs(value) {
|
|
|
237
83
|
parts.push("}");
|
|
238
84
|
return parts.join("");
|
|
239
85
|
}
|
|
86
|
+
var hex;
|
|
87
|
+
((hex2) => {
|
|
88
|
+
function fixed(value, width) {
|
|
89
|
+
return value.toString(16).padStart(width, "0");
|
|
90
|
+
}
|
|
91
|
+
hex2.fixed = fixed;
|
|
92
|
+
function byte(value) {
|
|
93
|
+
return fixed(value, 2);
|
|
94
|
+
}
|
|
95
|
+
hex2.byte = byte;
|
|
96
|
+
function word(value) {
|
|
97
|
+
return fixed(value, 4);
|
|
98
|
+
}
|
|
99
|
+
hex2.word = word;
|
|
100
|
+
})(hex || (hex = {}));
|
|
240
101
|
export {
|
|
241
102
|
asJson,
|
|
242
|
-
camelize,
|
|
243
|
-
capitalize,
|
|
244
|
-
decamelize,
|
|
245
103
|
describeList,
|
|
246
|
-
|
|
104
|
+
hex,
|
|
247
105
|
serializeToJs
|
|
248
106
|
};
|
|
249
107
|
//# sourceMappingURL=String.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/util/String.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,2BAA2B;AACpC,SAAS,aAAa;AACtB,SAAS,gBAAgB;
|
|
5
|
-
"names": ["value", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["value", "parts", "hex"]
|
|
6
6
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Make first character uppercase.
|
|
8
|
+
*/
|
|
9
|
+
export declare function capitalize<T extends string>(text: T): Capitalize<T>;
|
|
10
|
+
/**
|
|
11
|
+
* Converts identifiers of the form "foo-bar", "foo_bar", "foo bar", "foo*bar",
|
|
12
|
+
* "fooBar" or "FOOBar" into "fooBar" or "FooBar".
|
|
13
|
+
*/
|
|
14
|
+
export declare function camelize(name: string, upperFirst?: boolean): string;
|
|
15
|
+
/**
|
|
16
|
+
* Converts an identifier from CamelCase to snake_case.
|
|
17
|
+
*/
|
|
18
|
+
export declare function decamelize(name: string, separator?: string): string;
|
|
19
|
+
//# sourceMappingURL=identifier-case.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identifier-case.d.ts","sourceRoot":"","sources":["../../../src/util/identifier-case.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GACE,UAAU,CAAC,CAAC,CAAC,CAClE;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,UAAQ,UA8DxD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAM,UAgBvD"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
function capitalize(text) {
|
|
7
|
+
return text[0].toUpperCase() + text.slice(1);
|
|
8
|
+
}
|
|
9
|
+
function camelize(name, upperFirst = false) {
|
|
10
|
+
const pieces = new Array();
|
|
11
|
+
let pieceStart = 0, sawUpper = false, sawLower = false, i = 0;
|
|
12
|
+
function addPiece(to) {
|
|
13
|
+
if (pieceStart < to) pieces.push(name.slice(pieceStart, to));
|
|
14
|
+
sawLower = sawUpper = false;
|
|
15
|
+
}
|
|
16
|
+
for (; i < name.length; i++) {
|
|
17
|
+
if (name[i] >= "A" && name[i] <= "Z") {
|
|
18
|
+
if (sawLower) {
|
|
19
|
+
addPiece(i);
|
|
20
|
+
pieceStart = i;
|
|
21
|
+
}
|
|
22
|
+
sawUpper = true;
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
if (name[i] >= "a" && name[i] <= "z") {
|
|
26
|
+
if (!sawLower) {
|
|
27
|
+
if (sawUpper) {
|
|
28
|
+
addPiece(i - 1);
|
|
29
|
+
pieceStart = i - 1;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
sawLower = true;
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
addPiece(i);
|
|
36
|
+
if (name[i] >= "0" && name[i] <= "9" || name[i] === "$") {
|
|
37
|
+
pieces.push(name[i]);
|
|
38
|
+
}
|
|
39
|
+
pieceStart = i + 1;
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
addPiece(i);
|
|
43
|
+
let didFirst = false;
|
|
44
|
+
let result = pieces.map((piece) => {
|
|
45
|
+
let firstChar = piece[0];
|
|
46
|
+
if (upperFirst || didFirst) {
|
|
47
|
+
firstChar = firstChar.toUpperCase();
|
|
48
|
+
} else {
|
|
49
|
+
firstChar = firstChar.toLowerCase();
|
|
50
|
+
didFirst = true;
|
|
51
|
+
}
|
|
52
|
+
return `${firstChar}${piece.slice(1).toLowerCase()}`;
|
|
53
|
+
}).join("");
|
|
54
|
+
result = result.replace(/(\d)Ths/i, "$1ths");
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
function decamelize(name, separator = "-") {
|
|
58
|
+
const result = Array();
|
|
59
|
+
let needSeparator = false;
|
|
60
|
+
for (const c of name) {
|
|
61
|
+
if (c >= "A" && c <= "Z") {
|
|
62
|
+
if (needSeparator) {
|
|
63
|
+
result.push(separator);
|
|
64
|
+
needSeparator = false;
|
|
65
|
+
}
|
|
66
|
+
result.push(c.toLowerCase());
|
|
67
|
+
} else {
|
|
68
|
+
result.push(c);
|
|
69
|
+
needSeparator = true;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return result.join("");
|
|
73
|
+
}
|
|
74
|
+
export {
|
|
75
|
+
camelize,
|
|
76
|
+
capitalize,
|
|
77
|
+
decamelize
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=identifier-case.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/identifier-case.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AASO,SAAS,WAA6B,MAAS;AAClD,SAAQ,KAAK,CAAC,EAAE,YAAY,IAAI,KAAK,MAAM,CAAC;AAChD;AAMO,SAAS,SAAS,MAAc,aAAa,OAAO;AACvD,QAAM,SAAS,IAAI,MAAc;AACjC,MAAI,aAAa,GACb,WAAW,OACX,WAAW,OACX,IAAI;AAER,WAAS,SAAS,IAAY;AAC1B,QAAI,aAAa,GAAI,QAAO,KAAK,KAAK,MAAM,YAAY,EAAE,CAAC;AAC3D,eAAW,WAAW;AAAA,EAC1B;AAEA,SAAO,IAAI,KAAK,QAAQ,KAAK;AACzB,QAAI,KAAK,CAAC,KAAK,OAAO,KAAK,CAAC,KAAK,KAAK;AAClC,UAAI,UAAU;AACV,iBAAS,CAAC;AACV,qBAAa;AAAA,MACjB;AACA,iBAAW;AACX;AAAA,IACJ;AAEA,QAAI,KAAK,CAAC,KAAK,OAAO,KAAK,CAAC,KAAK,KAAK;AAClC,UAAI,CAAC,UAAU;AACX,YAAI,UAAU;AACV,mBAAS,IAAI,CAAC;AACd,uBAAa,IAAI;AAAA,QACrB;AAAA,MACJ;AACA,iBAAW;AACX;AAAA,IACJ;AAEA,aAAS,CAAC;AAEV,QAAK,KAAK,CAAC,KAAK,OAAO,KAAK,CAAC,KAAK,OAAQ,KAAK,CAAC,MAAM,KAAK;AACvD,aAAO,KAAK,KAAK,CAAC,CAAC;AAAA,IACvB;AAEA,iBAAa,IAAI;AACjB;AAAA,EACJ;AACA,WAAS,CAAC;AAEV,MAAI,WAAW;AACf,MAAI,SAAS,OACR,IAAI,WAAS;AACV,QAAI,YAAY,MAAM,CAAC;AACvB,QAAI,cAAc,UAAU;AACxB,kBAAY,UAAU,YAAY;AAAA,IACtC,OAAO;AACH,kBAAY,UAAU,YAAY;AAClC,iBAAW;AAAA,IACf;AACA,WAAO,GAAG,SAAS,GAAG,MAAM,MAAM,CAAC,EAAE,YAAY,CAAC;AAAA,EACtD,CAAC,EACA,KAAK,EAAE;AAGZ,WAAS,OAAO,QAAQ,YAAY,OAAO;AAE3C,SAAO;AACX;AAKO,SAAS,WAAW,MAAc,YAAY,KAAK;AACtD,QAAM,SAAS,MAAc;AAC7B,MAAI,gBAAgB;AACpB,aAAW,KAAK,MAAM;AAClB,QAAI,KAAK,OAAO,KAAK,KAAK;AACtB,UAAI,eAAe;AACf,eAAO,KAAK,SAAS;AACrB,wBAAgB;AAAA,MACpB;AACA,aAAO,KAAK,EAAE,YAAY,CAAC;AAAA,IAC/B,OAAO;AACH,aAAO,KAAK,CAAC;AACb,sBAAgB;AAAA,IACpB;AAAA,EACJ;AACA,SAAO,OAAO,KAAK,EAAE;AACzB;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/dist/esm/util/index.d.ts
CHANGED
|
@@ -22,8 +22,10 @@ export * from "./FormattedText.js";
|
|
|
22
22
|
export * from "./Function.js";
|
|
23
23
|
export * from "./GeneratedClass.js";
|
|
24
24
|
export * from "./Github.js";
|
|
25
|
+
export * from "./identifier-case.js";
|
|
25
26
|
export * from "./Ip.js";
|
|
26
27
|
export * from "./Lifecycle.js";
|
|
28
|
+
export * from "./Lifetime.js";
|
|
27
29
|
export * from "./Map.js";
|
|
28
30
|
export * from "./MockFetch.js";
|
|
29
31
|
export * from "./Multiplex.js";
|
|
@@ -33,6 +35,7 @@ export * from "./Number.js";
|
|
|
33
35
|
export * from "./Observable.js";
|
|
34
36
|
export * from "./PromiseQueue.js";
|
|
35
37
|
export * from "./Promises.js";
|
|
38
|
+
export * from "./serialize.js";
|
|
36
39
|
export * from "./Set.js";
|
|
37
40
|
export * from "./Singleton.js";
|
|
38
41
|
export * from "./Streams.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,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,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,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,cAAc,CAAC;AAC7B,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,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,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,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,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
|
package/dist/esm/util/index.js
CHANGED
|
@@ -22,8 +22,10 @@ export * from "./FormattedText.js";
|
|
|
22
22
|
export * from "./Function.js";
|
|
23
23
|
export * from "./GeneratedClass.js";
|
|
24
24
|
export * from "./Github.js";
|
|
25
|
+
export * from "./identifier-case.js";
|
|
25
26
|
export * from "./Ip.js";
|
|
26
27
|
export * from "./Lifecycle.js";
|
|
28
|
+
export * from "./Lifetime.js";
|
|
27
29
|
export * from "./Map.js";
|
|
28
30
|
export * from "./MockFetch.js";
|
|
29
31
|
export * from "./Multiplex.js";
|
|
@@ -33,6 +35,7 @@ export * from "./Number.js";
|
|
|
33
35
|
export * from "./Observable.js";
|
|
34
36
|
export * from "./PromiseQueue.js";
|
|
35
37
|
export * from "./Promises.js";
|
|
38
|
+
export * from "./serialize.js";
|
|
36
39
|
export * from "./Set.js";
|
|
37
40
|
export * from "./Singleton.js";
|
|
38
41
|
export * from "./Streams.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;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;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
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Like JSON.stringify but targets well-formed JS and is slightly more readable.
|
|
8
|
+
*/
|
|
9
|
+
export declare function serialize(value: unknown): string | undefined;
|
|
10
|
+
export declare namespace serialize {
|
|
11
|
+
/**
|
|
12
|
+
* Custom serialization function key.
|
|
13
|
+
*/
|
|
14
|
+
const SERIALIZE: unique symbol;
|
|
15
|
+
/**
|
|
16
|
+
* Mark a value as serialized so the serializer just uses its string
|
|
17
|
+
* representation.
|
|
18
|
+
*/
|
|
19
|
+
function asIs(value: any): any;
|
|
20
|
+
/**
|
|
21
|
+
* Test whether a value serializes as a structure or a primitive.
|
|
22
|
+
*/
|
|
23
|
+
function isPrimitive(value: any): boolean;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=serialize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../../src/util/serialize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,sBAyEvC;AAED,yBAAiB,SAAS,CAAC;IACvB;;OAEG;IACI,MAAM,SAAS,eAAsB,CAAC;IAE7C;;;OAGG;IACH,SAAgB,IAAI,CAAC,KAAK,EAAE,GAAG,OAU9B;IAED;;OAEG;IACH,SAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,WAgBrC;CACJ"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Bytes } from "./Bytes.js";
|
|
7
|
+
function serialize(value) {
|
|
8
|
+
const visited = /* @__PURE__ */ new Set();
|
|
9
|
+
function asValidKey(key) {
|
|
10
|
+
if (key.match(/[a-z_$][\w$]*/i)) {
|
|
11
|
+
return key;
|
|
12
|
+
}
|
|
13
|
+
return JSON.stringify(key);
|
|
14
|
+
}
|
|
15
|
+
function serializeOne(value2) {
|
|
16
|
+
if (value2 === void 0) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (value2 === null) {
|
|
20
|
+
return "null";
|
|
21
|
+
}
|
|
22
|
+
if (value2[serialize.SERIALIZE]) {
|
|
23
|
+
return value2[serialize.SERIALIZE]();
|
|
24
|
+
}
|
|
25
|
+
if (typeof value2 === "function") {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (typeof value2 === "bigint" || value2 instanceof BigInt) {
|
|
29
|
+
return value2.toString();
|
|
30
|
+
}
|
|
31
|
+
if (typeof value2 === "number" || value2 instanceof Number) {
|
|
32
|
+
return value2.toString();
|
|
33
|
+
}
|
|
34
|
+
if (typeof value2 === "string" || value2 instanceof String) {
|
|
35
|
+
return JSON.stringify(value2);
|
|
36
|
+
}
|
|
37
|
+
if (typeof value2 === "boolean") {
|
|
38
|
+
return value2 ? "true" : "false";
|
|
39
|
+
}
|
|
40
|
+
if (Bytes.isBytes(value2)) {
|
|
41
|
+
return Bytes.toHex(value2);
|
|
42
|
+
}
|
|
43
|
+
if (visited.has(value2)) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (value2.toJSON) {
|
|
47
|
+
value2 = JSON.parse(JSON.stringify(value2));
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
visited.add(value2);
|
|
51
|
+
if (Array.isArray(value2)) {
|
|
52
|
+
if (value2.length) {
|
|
53
|
+
return `[ ${value2.map(serializeOne).join(", ")} ]`;
|
|
54
|
+
}
|
|
55
|
+
return "[]";
|
|
56
|
+
}
|
|
57
|
+
const entries = Object.entries(value2).map(([k, v]) => [k, serializeOne(v)]).filter(([_k, v]) => v !== void 0).map(([k, v]) => `${asValidKey(k ?? "")}: ${v}`);
|
|
58
|
+
if (!entries.length) {
|
|
59
|
+
return "{}";
|
|
60
|
+
}
|
|
61
|
+
return `{ ${entries.join(", ")} }`;
|
|
62
|
+
} finally {
|
|
63
|
+
visited.delete(value2);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return serializeOne(value);
|
|
67
|
+
}
|
|
68
|
+
((serialize2) => {
|
|
69
|
+
serialize2.SERIALIZE = /* @__PURE__ */ Symbol("SERIALIZE");
|
|
70
|
+
function asIs(value) {
|
|
71
|
+
if (typeof value === "string") {
|
|
72
|
+
value = new String(value);
|
|
73
|
+
}
|
|
74
|
+
if (value !== void 0 && value !== null) {
|
|
75
|
+
value[serialize2.SERIALIZE] = function() {
|
|
76
|
+
return this.toString();
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
return value;
|
|
80
|
+
}
|
|
81
|
+
serialize2.asIs = asIs;
|
|
82
|
+
function isPrimitive(value) {
|
|
83
|
+
if (value === void 0 || value === null || value instanceof Date || ArrayBuffer.isView(value) || value[serialize2.SERIALIZE]) {
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
if (Array.isArray(value)) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
return typeof value !== "object";
|
|
90
|
+
}
|
|
91
|
+
serialize2.isPrimitive = isPrimitive;
|
|
92
|
+
})(serialize || (serialize = {}));
|
|
93
|
+
export {
|
|
94
|
+
serialize
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=serialize.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/serialize.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,aAAa;AAKf,SAAS,UAAU,OAAgB;AACtC,QAAM,UAAU,oBAAI,IAAI;AAExB,WAAS,WAAW,KAAa;AAC7B,QAAI,IAAI,MAAM,gBAAgB,GAAG;AAC7B,aAAO;AAAA,IACX;AACA,WAAO,KAAK,UAAU,GAAG;AAAA,EAC7B;AAEA,WAAS,aAAaA,QAAoC;AACtD,QAAIA,WAAU,QAAW;AACrB;AAAA,IACJ;AACA,QAAIA,WAAU,MAAM;AAChB,aAAO;AAAA,IACX;AACA,QAAKA,OAA8C,UAAU,SAAS,GAAG;AACrE,aAAQA,OAA8C,UAAU,SAAS,EAAE;AAAA,IAC/E;AACA,QAAI,OAAOA,WAAU,YAAY;AAC7B;AAAA,IACJ;AACA,QAAI,OAAOA,WAAU,YAAYA,kBAAiB,QAAQ;AACtD,aAAOA,OAAM,SAAS;AAAA,IAC1B;AACA,QAAI,OAAOA,WAAU,YAAYA,kBAAiB,QAAQ;AACtD,aAAOA,OAAM,SAAS;AAAA,IAC1B;AACA,QAAI,OAAOA,WAAU,YAAYA,kBAAiB,QAAQ;AACtD,aAAO,KAAK,UAAUA,MAAK;AAAA,IAC/B;AACA,QAAI,OAAOA,WAAU,WAAW;AAC5B,aAAOA,SAAQ,SAAS;AAAA,IAC5B;AACA,QAAI,MAAM,QAAQA,MAAK,GAAG;AACtB,aAAO,MAAM,MAAMA,MAAK;AAAA,IAC5B;AAGA,QAAI,QAAQ,IAAIA,MAAK,GAAG;AACpB;AAAA,IACJ;AACA,QAAKA,OAA+B,QAAQ;AACxC,MAAAA,SAAQ,KAAK,MAAM,KAAK,UAAUA,MAAK,CAAC;AAAA,IAC5C;AAEA,QAAI;AACA,cAAQ,IAAIA,MAAK;AAEjB,UAAI,MAAM,QAAQA,MAAK,GAAG;AACtB,YAAIA,OAAM,QAAQ;AACd,iBAAO,KAAKA,OAAM,IAAI,YAAY,EAAE,KAAK,IAAI,CAAC;AAAA,QAClD;AACA,eAAO;AAAA,MACX;AAEA,YAAM,UAAU,OAAO,QAAQA,MAAW,EACrC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,EACpC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,MAAM,MAAS,EACnC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,WAAW,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE;AAEnD,UAAI,CAAC,QAAQ,QAAQ;AACjB,eAAO;AAAA,MACX;AAEA,aAAO,KAAK,QAAQ,KAAK,IAAI,CAAC;AAAA,IAClC,UAAE;AACE,cAAQ,OAAOA,MAAK;AAAA,IACxB;AAAA,EACJ;AAEA,SAAO,aAAa,KAAK;AAC7B;AAAA,CAEO,CAAUC,eAAV;AAII,EAAMA,WAAA,YAAY,uBAAO,WAAW;AAMpC,WAAS,KAAK,OAAY;AAC7B,QAAI,OAAO,UAAU,UAAU;AAC3B,cAAQ,IAAI,OAAO,KAAK;AAAA,IAC5B;AACA,QAAI,UAAU,UAAa,UAAU,MAAM;AACvC,YAAMA,WAAA,SAAS,IAAI,WAAY;AAC3B,eAAO,KAAK,SAAS;AAAA,MACzB;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AAVO,EAAAA,WAAS;AAeT,WAAS,YAAY,OAAY;AACpC,QACI,UAAU,UACV,UAAU,QACV,iBAAiB,QACjB,YAAY,OAAO,KAAK,KACxB,MAAMA,WAAA,SAAS,GACjB;AACE,aAAO;AAAA,IACX;AAEA,QAAI,MAAM,QAAQ,KAAK,GAAG;AACtB,aAAO;AAAA,IACX;AAEA,WAAO,OAAO,UAAU;AAAA,EAC5B;AAhBO,EAAAA,WAAS;AAAA,GAzBH;",
|
|
5
|
+
"names": ["value", "serialize"]
|
|
6
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/general",
|
|
3
|
-
"version": "0.16.0-alpha.0-
|
|
3
|
+
"version": "0.16.0-alpha.0-20251209-d6072d23e",
|
|
4
4
|
"description": "Non-Matter support for Matter.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"@noble/curves": "^2.0.1"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@matter/testing": "0.16.0-alpha.0-
|
|
39
|
+
"@matter/testing": "0.16.0-alpha.0-20251209-d6072d23e"
|
|
40
40
|
},
|
|
41
41
|
"files": [
|
|
42
42
|
"dist/**/*",
|
package/src/MatterError.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
import { NodeJsStyleInspectable } from "#log/NodeJsStyleInspectable.js";
|
|
8
8
|
import type { MaybePromise } from "#util/Promises.js";
|
|
9
|
-
import { decamelize } from "#util/
|
|
9
|
+
import { decamelize } from "#util/identifier-case.js";
|
|
10
10
|
import { errorOf } from "./util/Error.js";
|
|
11
11
|
|
|
12
12
|
const codes = new WeakMap<{}, string>();
|
package/src/codec/DerTypes.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
import { InternalError } from "#MatterError.js";
|
|
8
8
|
import { Bytes } from "#util/Bytes.js";
|
|
9
|
+
import { hex } from "#util/String.js";
|
|
9
10
|
import {
|
|
10
11
|
ContextTagged,
|
|
11
12
|
ContextTaggedBytes,
|
|
@@ -112,7 +113,7 @@ export namespace X520 {
|
|
|
112
113
|
* Also registers the OID in the reverse lookup map immediately.
|
|
113
114
|
*/
|
|
114
115
|
const GenericString_X520 = (id: number, fieldName: string) => {
|
|
115
|
-
const oidHex = `5504${
|
|
116
|
+
const oidHex = `5504${hex.byte(id)}`;
|
|
116
117
|
// Register in reverse lookup map immediately at function creation time
|
|
117
118
|
if (OID_TO_FIELD_MAP[oidHex] !== undefined && OID_TO_FIELD_MAP[oidHex] !== fieldName) {
|
|
118
119
|
throw new InternalError(
|