@matter/nodejs-shell 0.16.0-alpha.0-20251211-0f80042cf → 0.16.0-alpha.0-20251213-e83db3732
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 → esm}/MatterNode.js +24 -44
- package/dist/esm/MatterNode.js.map +6 -0
- package/dist/{cjs → esm}/app.js +44 -69
- package/dist/esm/app.js.map +6 -0
- package/dist/{cjs → esm}/package.json +1 -1
- package/dist/esm/shell/Shell.js +183 -0
- package/dist/esm/shell/Shell.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_cert.js +5 -25
- package/dist/esm/shell/cmd_cert.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_cluster-attributes.js +29 -50
- package/dist/esm/shell/cmd_cluster-attributes.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_cluster-commands.js +16 -37
- package/dist/esm/shell/cmd_cluster-commands.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_cluster-events.js +10 -31
- package/dist/esm/shell/cmd_cluster-events.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_commission.js +20 -40
- package/dist/esm/shell/cmd_commission.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_config.js +14 -34
- package/dist/esm/shell/cmd_config.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_dcl.js +16 -36
- package/dist/esm/shell/cmd_dcl.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_discover.js +10 -30
- package/dist/esm/shell/cmd_discover.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_identify.js +5 -25
- package/dist/esm/shell/cmd_identify.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_nodes.js +25 -45
- package/dist/esm/shell/cmd_nodes.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_ota.js +37 -57
- package/dist/esm/shell/cmd_ota.js.map +6 -0
- package/dist/esm/shell/cmd_session.js +23 -0
- package/dist/esm/shell/cmd_session.js.map +6 -0
- package/dist/esm/shell/cmd_subscribe.js +39 -0
- package/dist/esm/shell/cmd_subscribe.js.map +6 -0
- package/dist/esm/shell/cmd_tlv.js +163 -0
- package/dist/esm/shell/cmd_tlv.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_vendor.js +5 -25
- package/dist/esm/shell/cmd_vendor.js.map +6 -0
- package/dist/{cjs → esm}/util/CommandlineParser.js +3 -23
- package/dist/esm/util/CommandlineParser.js.map +6 -0
- package/dist/esm/util/Json.js +45 -0
- package/dist/esm/util/Json.js.map +6 -0
- package/dist/esm/util/String.js +12 -0
- package/dist/esm/util/String.js.map +6 -0
- package/dist/esm/web_plumbing.js +140 -0
- package/dist/esm/web_plumbing.js.map +6 -0
- package/package.json +11 -10
- package/src/app.ts +17 -12
- package/src/shell/Shell.ts +9 -6
- package/src/shell/cmd_cluster-attributes.ts +3 -4
- package/src/shell/cmd_cluster-commands.ts +3 -4
- package/src/shell/cmd_cluster-events.ts +2 -3
- package/src/shell/cmd_commission.ts +2 -2
- package/src/shell/cmd_config.ts +2 -2
- package/src/shell/cmd_discover.ts +1 -1
- package/src/shell/cmd_nodes.ts +1 -1
- package/src/shell/cmd_session.ts +1 -1
- package/src/util/Json.ts +1 -2
- package/src/web_plumbing.ts +1 -1
- package/dist/cjs/MatterNode.js.map +0 -6
- package/dist/cjs/app.js.map +0 -6
- package/dist/cjs/shell/Shell.js +0 -211
- package/dist/cjs/shell/Shell.js.map +0 -6
- package/dist/cjs/shell/cmd_cert.js.map +0 -6
- package/dist/cjs/shell/cmd_cluster-attributes.js.map +0 -6
- package/dist/cjs/shell/cmd_cluster-commands.js.map +0 -6
- package/dist/cjs/shell/cmd_cluster-events.js.map +0 -6
- package/dist/cjs/shell/cmd_commission.js.map +0 -6
- package/dist/cjs/shell/cmd_config.js.map +0 -6
- package/dist/cjs/shell/cmd_dcl.js.map +0 -6
- package/dist/cjs/shell/cmd_discover.js.map +0 -6
- package/dist/cjs/shell/cmd_identify.js.map +0 -6
- package/dist/cjs/shell/cmd_nodes.js.map +0 -6
- package/dist/cjs/shell/cmd_ota.js.map +0 -6
- package/dist/cjs/shell/cmd_session.js +0 -43
- package/dist/cjs/shell/cmd_session.js.map +0 -6
- package/dist/cjs/shell/cmd_subscribe.js +0 -59
- package/dist/cjs/shell/cmd_subscribe.js.map +0 -6
- package/dist/cjs/shell/cmd_tlv.js +0 -183
- package/dist/cjs/shell/cmd_tlv.js.map +0 -6
- package/dist/cjs/shell/cmd_vendor.js.map +0 -6
- package/dist/cjs/util/CommandlineParser.js.map +0 -6
- package/dist/cjs/util/Json.js +0 -66
- package/dist/cjs/util/Json.js.map +0 -6
- package/dist/cjs/util/String.js +0 -32
- package/dist/cjs/util/String.js.map +0 -6
- package/dist/cjs/web_plumbing.js +0 -170
- package/dist/cjs/web_plumbing.js.map +0 -6
|
@@ -1,36 +1,13 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var cmd_ota_exports = {};
|
|
20
|
-
__export(cmd_ota_exports, {
|
|
21
|
-
default: () => commands
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(cmd_ota_exports);
|
|
24
|
-
var import_general = require("#general");
|
|
25
|
-
var import_protocol = require("#protocol");
|
|
26
|
-
var import_node_fs = require("node:fs");
|
|
27
|
-
var import_node_path = require("node:path");
|
|
28
|
-
var import_node_stream = require("node:stream");
|
|
29
1
|
/**
|
|
30
2
|
* @license
|
|
31
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
32
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
33
5
|
*/
|
|
6
|
+
import { Crypto, Diagnostic, Environment } from "#general";
|
|
7
|
+
import { OtaImageReader } from "#protocol";
|
|
8
|
+
import { createReadStream, createWriteStream, statSync } from "node:fs";
|
|
9
|
+
import { basename, dirname, extname, join } from "node:path";
|
|
10
|
+
import { Readable } from "node:stream";
|
|
34
11
|
function parseHexId(value, type) {
|
|
35
12
|
const hexStr = value.replace(/^0x/i, "");
|
|
36
13
|
const parsed = parseInt(hexStr, 16);
|
|
@@ -80,14 +57,14 @@ function commands(theNode) {
|
|
|
80
57
|
let updateInfo;
|
|
81
58
|
if (fileArg.startsWith("file://")) {
|
|
82
59
|
const filePath = fileArg.slice(7);
|
|
83
|
-
const nodeStream =
|
|
84
|
-
const webStream =
|
|
60
|
+
const nodeStream = createReadStream(filePath);
|
|
61
|
+
const webStream = Readable.toWeb(nodeStream);
|
|
85
62
|
updateInfo = await theNode.otaService.updateInfoFromStream(webStream, fileArg);
|
|
86
63
|
} else {
|
|
87
64
|
const fileDesignator = await theNode.otaService.fileDesignatorForUpdate(fileArg);
|
|
88
65
|
const blob = await fileDesignator.openBlob();
|
|
89
66
|
const reader = blob.stream().getReader();
|
|
90
|
-
const header = await
|
|
67
|
+
const header = await OtaImageReader.header(reader);
|
|
91
68
|
updateInfo = {
|
|
92
69
|
vid: header.vendorId,
|
|
93
70
|
pid: header.productId,
|
|
@@ -102,7 +79,7 @@ function commands(theNode) {
|
|
|
102
79
|
storageKey: fileArg
|
|
103
80
|
};
|
|
104
81
|
}
|
|
105
|
-
console.log(
|
|
82
|
+
console.log(Diagnostic.json(updateInfo));
|
|
106
83
|
}
|
|
107
84
|
).command(
|
|
108
85
|
"extract <file>",
|
|
@@ -116,11 +93,11 @@ function commands(theNode) {
|
|
|
116
93
|
},
|
|
117
94
|
async (argv) => {
|
|
118
95
|
const { file } = argv;
|
|
119
|
-
const crypto =
|
|
120
|
-
const dir =
|
|
121
|
-
const ext =
|
|
122
|
-
const base =
|
|
123
|
-
const outputFile =
|
|
96
|
+
const crypto = Environment.default.get(Crypto);
|
|
97
|
+
const dir = dirname(file);
|
|
98
|
+
const ext = extname(file);
|
|
99
|
+
const base = basename(file, ext);
|
|
100
|
+
const outputFile = join(dir, `${base}-payload${ext}`);
|
|
124
101
|
console.log(`Reading OTA image from: ${file}`);
|
|
125
102
|
console.log(`Extracting payload to: ${outputFile}`);
|
|
126
103
|
const response = await fetch(`file://${file}`, { method: "GET" });
|
|
@@ -130,15 +107,15 @@ function commands(theNode) {
|
|
|
130
107
|
if (!response.body) {
|
|
131
108
|
throw new Error("No response body received");
|
|
132
109
|
}
|
|
133
|
-
const writeStream =
|
|
110
|
+
const writeStream = createWriteStream(outputFile);
|
|
134
111
|
const writableStream = createWritableStream(writeStream);
|
|
135
112
|
const payloadWriter = writableStream.getWriter();
|
|
136
113
|
const reader = response.body.getReader();
|
|
137
|
-
const header = await
|
|
114
|
+
const header = await OtaImageReader.extractPayload(reader, payloadWriter, crypto);
|
|
138
115
|
console.log(`
|
|
139
116
|
Payload extracted successfully!`);
|
|
140
|
-
console.log(`Vendor ID: ${
|
|
141
|
-
console.log(`Product ID: 0x${
|
|
117
|
+
console.log(`Vendor ID: ${Diagnostic.hex(header.vendorId, 4)}`);
|
|
118
|
+
console.log(`Product ID: 0x${Diagnostic.hex(header.productId, 4)}`);
|
|
142
119
|
console.log(`Software Version: ${header.softwareVersion}`);
|
|
143
120
|
console.log(`Software Version String: ${header.softwareVersionString}`);
|
|
144
121
|
console.log(`Payload Size: ${header.payloadSize} bytes`);
|
|
@@ -157,7 +134,7 @@ Payload extracted successfully!`);
|
|
|
157
134
|
async (argv) => {
|
|
158
135
|
const { file } = argv;
|
|
159
136
|
const fileArg = file;
|
|
160
|
-
const crypto =
|
|
137
|
+
const crypto = Environment.default.get(Crypto);
|
|
161
138
|
console.log(`Verifying OTA image: ${fileArg}
|
|
162
139
|
`);
|
|
163
140
|
let header;
|
|
@@ -165,22 +142,22 @@ Payload extracted successfully!`);
|
|
|
165
142
|
if (fileArg.startsWith("file://")) {
|
|
166
143
|
const filePath = fileArg.slice(7);
|
|
167
144
|
source = filePath;
|
|
168
|
-
const nodeStream =
|
|
169
|
-
const webStream =
|
|
145
|
+
const nodeStream = createReadStream(filePath);
|
|
146
|
+
const webStream = Readable.toWeb(nodeStream);
|
|
170
147
|
const reader = webStream.getReader();
|
|
171
|
-
header = await
|
|
148
|
+
header = await OtaImageReader.file(reader, crypto);
|
|
172
149
|
} else {
|
|
173
150
|
source = `storage:${fileArg}`;
|
|
174
151
|
const fileDesignator = await theNode.otaService.fileDesignatorForUpdate(fileArg);
|
|
175
152
|
const blob = await fileDesignator.openBlob();
|
|
176
153
|
const reader = blob.stream().getReader();
|
|
177
|
-
header = await
|
|
154
|
+
header = await OtaImageReader.file(reader, crypto);
|
|
178
155
|
}
|
|
179
156
|
console.log(`\u2713 OTA image is valid!
|
|
180
157
|
`);
|
|
181
158
|
console.log(`File: ${source}`);
|
|
182
|
-
console.log(`Vendor ID: ${
|
|
183
|
-
console.log(`Product ID: ${
|
|
159
|
+
console.log(`Vendor ID: ${Diagnostic.hex(header.vendorId, 4)}`);
|
|
160
|
+
console.log(`Product ID: ${Diagnostic.hex(header.productId, 4)}`);
|
|
184
161
|
console.log(`Software Version: ${header.softwareVersion}`);
|
|
185
162
|
console.log(`Software Version String: ${header.softwareVersionString}`);
|
|
186
163
|
console.log(`Payload Size: ${header.payloadSize} bytes`);
|
|
@@ -280,8 +257,8 @@ Payload extracted successfully!`);
|
|
|
280
257
|
if (filePath.toLowerCase().startsWith("https://")) {
|
|
281
258
|
updateInfo = await theNode.otaService.createUpdateInfoFromFile(filePath);
|
|
282
259
|
} else {
|
|
283
|
-
const nodeStream =
|
|
284
|
-
const webStream =
|
|
260
|
+
const nodeStream = createReadStream(filePath);
|
|
261
|
+
const webStream = Readable.toWeb(nodeStream);
|
|
285
262
|
const fileUrl = `file://${filePath}`;
|
|
286
263
|
localFile = true;
|
|
287
264
|
updateInfo = await theNode.otaService.updateInfoFromStream(webStream, fileUrl);
|
|
@@ -294,8 +271,8 @@ Payload extracted successfully!`);
|
|
|
294
271
|
console.log(` Mode: ${isProduction ? "production" : "test"}`);
|
|
295
272
|
let fd;
|
|
296
273
|
if (localFile) {
|
|
297
|
-
const nodeStream =
|
|
298
|
-
const webStream =
|
|
274
|
+
const nodeStream = createReadStream(filePath);
|
|
275
|
+
const webStream = Readable.toWeb(nodeStream);
|
|
299
276
|
fd = await theNode.otaService.store(webStream, updateInfo, isProduction);
|
|
300
277
|
} else {
|
|
301
278
|
fd = await theNode.otaService.downloadUpdate(updateInfo, isProduction);
|
|
@@ -406,14 +383,14 @@ OTA image added to storage successfully: ${fd.text}`);
|
|
|
406
383
|
const fileDesignator = await theNode.otaService.fileDesignatorForUpdate(keyname);
|
|
407
384
|
let targetPath = targetArg;
|
|
408
385
|
try {
|
|
409
|
-
const stats =
|
|
386
|
+
const stats = statSync(targetArg);
|
|
410
387
|
if (stats.isDirectory()) {
|
|
411
|
-
targetPath =
|
|
388
|
+
targetPath = join(targetArg, keyname);
|
|
412
389
|
}
|
|
413
390
|
} catch {
|
|
414
|
-
const parentDir =
|
|
391
|
+
const parentDir = dirname(targetArg);
|
|
415
392
|
try {
|
|
416
|
-
const parentStats =
|
|
393
|
+
const parentStats = statSync(parentDir);
|
|
417
394
|
if (parentStats.isDirectory()) {
|
|
418
395
|
targetPath = targetArg;
|
|
419
396
|
} else {
|
|
@@ -429,7 +406,7 @@ OTA image added to storage successfully: ${fd.text}`);
|
|
|
429
406
|
console.log(`Target path: ${targetPath}`);
|
|
430
407
|
const blob = await fileDesignator.openBlob();
|
|
431
408
|
const reader = blob.stream().getReader();
|
|
432
|
-
const writeStream =
|
|
409
|
+
const writeStream = createWriteStream(targetPath);
|
|
433
410
|
const writableStream = createWritableStream(writeStream);
|
|
434
411
|
const writer = writableStream.getWriter();
|
|
435
412
|
while (true) {
|
|
@@ -446,4 +423,7 @@ OTA image added to storage successfully: ${fd.text}`);
|
|
|
446
423
|
}
|
|
447
424
|
};
|
|
448
425
|
}
|
|
426
|
+
export {
|
|
427
|
+
commands as default
|
|
428
|
+
};
|
|
449
429
|
//# sourceMappingURL=cmd_ota.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/shell/cmd_ota.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["yargs"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
function commands(theNode) {
|
|
7
|
+
return {
|
|
8
|
+
command: "session",
|
|
9
|
+
describe: "Manage session",
|
|
10
|
+
builder: {},
|
|
11
|
+
handler: async () => {
|
|
12
|
+
if (!theNode.commissioningController) {
|
|
13
|
+
throw new Error("CommissioningController not initialized");
|
|
14
|
+
}
|
|
15
|
+
const sessions = theNode.commissioningController?.getActiveSessionInformation();
|
|
16
|
+
console.log(sessions);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
commands as default
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=cmd_session.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/shell/cmd_session.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQe,SAAR,SAA0B,SAAqB;AAClD,SAAO;AAAA,IACH,SAAS;AAAA,IACT,UAAU;AAAA,IACV,SAAS,CAAC;AAAA,IACV,SAAS,YAAY;AACjB,UAAI,CAAC,QAAQ,yBAAyB;AAClC,cAAM,IAAI,MAAM,yCAAyC;AAAA,MAC7D;AAEA,YAAM,WAAW,QAAQ,yBAAyB,4BAA4B;AAC9E,cAAQ,IAAI,QAAQ;AAAA,IACxB;AAAA,EACJ;AACJ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Diagnostic } from "#general";
|
|
7
|
+
function commands(theNode) {
|
|
8
|
+
return {
|
|
9
|
+
command: "subscribe [node-id]",
|
|
10
|
+
describe: "Subscribe to all events and attributes of a node",
|
|
11
|
+
builder: (yargs) => {
|
|
12
|
+
return yargs.positional("node-id", {
|
|
13
|
+
describe: "node id",
|
|
14
|
+
default: void 0,
|
|
15
|
+
type: "string"
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
handler: async (argv) => {
|
|
19
|
+
const { nodeId: subscribeNodeId } = argv;
|
|
20
|
+
const node = (await theNode.connectAndGetNodes(subscribeNodeId))[0];
|
|
21
|
+
await node.subscribeAllAttributesAndEvents({
|
|
22
|
+
attributeChangedCallback: ({ path: { nodeId, clusterId, endpointId, attributeName }, value }) => console.log(
|
|
23
|
+
`${subscribeNodeId}: Attribute ${nodeId}/${endpointId}/${clusterId}/${attributeName} changed to ${Diagnostic.json(
|
|
24
|
+
value
|
|
25
|
+
)}`
|
|
26
|
+
),
|
|
27
|
+
eventTriggeredCallback: ({ path: { nodeId, clusterId, endpointId, eventName }, events }) => console.log(
|
|
28
|
+
`${subscribeNodeId} Event ${nodeId}/${endpointId}/${clusterId}/${eventName} triggered with ${Diagnostic.json(
|
|
29
|
+
events
|
|
30
|
+
)}`
|
|
31
|
+
)
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
commands as default
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=cmd_subscribe.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/shell/cmd_subscribe.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,kBAAkB;AAIZ,SAAR,SAA0B,SAAqB;AAClD,SAAO;AAAA,IACH,SAAS;AAAA,IACT,UAAU;AAAA,IACV,SAAS,CAAC,UAAgB;AACtB,aAAO,MAAM,WAAW,WAAW;AAAA,QAC/B,UAAU;AAAA,QACV,SAAS;AAAA,QACT,MAAM;AAAA,MACV,CAAC;AAAA,IACL;AAAA,IAEA,SAAS,OAAO,SAAc;AAC1B,YAAM,EAAE,QAAQ,gBAAgB,IAAI;AACpC,YAAM,QAAQ,MAAM,QAAQ,mBAAmB,eAAe,GAAG,CAAC;AAElE,YAAM,KAAK,gCAAgC;AAAA,QACvC,0BAA0B,CAAC,EAAE,MAAM,EAAE,QAAQ,WAAW,YAAY,cAAc,GAAG,MAAM,MACvF,QAAQ;AAAA,UACJ,GAAG,eAAe,eAAe,MAAM,IAAI,UAAU,IAAI,SAAS,IAAI,aAAa,eAAe,WAAW;AAAA,YACzG;AAAA,UACJ,CAAC;AAAA,QACL;AAAA,QACJ,wBAAwB,CAAC,EAAE,MAAM,EAAE,QAAQ,WAAW,YAAY,UAAU,GAAG,OAAO,MAClF,QAAQ;AAAA,UACJ,GAAG,eAAe,UAAU,MAAM,IAAI,UAAU,IAAI,SAAS,IAAI,SAAS,mBAAmB,WAAW;AAAA,YACpG;AAAA,UACJ,CAAC;AAAA,QACL;AAAA,MACR,CAAC;AAAA,IACL;AAAA,EACJ;AACJ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Bytes, Diagnostic, Logger, serialize, UnexpectedDataError } from "#general";
|
|
7
|
+
import { TlvAny, TlvArrayReader, TlvType } from "#types";
|
|
8
|
+
const logger = Logger.get("tlv");
|
|
9
|
+
const TlvTypeNames = {
|
|
10
|
+
[TlvType.Null]: "Null(",
|
|
11
|
+
[TlvType.Boolean]: "Boolean(",
|
|
12
|
+
[TlvType.UnsignedInt]: "UnsignedInt(",
|
|
13
|
+
[TlvType.SignedInt]: "SignedInt(",
|
|
14
|
+
[TlvType.Float]: "Float(",
|
|
15
|
+
[TlvType.Utf8String]: "Utf8String(",
|
|
16
|
+
[TlvType.ByteString]: "ByteString(",
|
|
17
|
+
[TlvType.Array]: "Array {",
|
|
18
|
+
[TlvType.List]: "List {",
|
|
19
|
+
[TlvType.Structure]: "Structure {",
|
|
20
|
+
[TlvType.EndOfContainer]: "}"
|
|
21
|
+
};
|
|
22
|
+
function logAnyTlvStream(encoded) {
|
|
23
|
+
if (encoded.length === 0) {
|
|
24
|
+
return void 0;
|
|
25
|
+
}
|
|
26
|
+
const reader = new TlvArrayReader(encoded);
|
|
27
|
+
logGenericElement(reader);
|
|
28
|
+
const nextElement = reader.readTagType();
|
|
29
|
+
if (nextElement !== void 0) {
|
|
30
|
+
throw new UnexpectedDataError(`Unexpected data left after parsing all data: ${Diagnostic.json(nextElement)}`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function logGenericElement(reader, preReadElement, allowTag = false) {
|
|
34
|
+
const element = preReadElement ?? reader.readTagType();
|
|
35
|
+
const {
|
|
36
|
+
tag,
|
|
37
|
+
typeLength: { type }
|
|
38
|
+
} = element;
|
|
39
|
+
switch (type) {
|
|
40
|
+
case TlvType.Null:
|
|
41
|
+
case TlvType.Boolean:
|
|
42
|
+
case TlvType.UnsignedInt:
|
|
43
|
+
case TlvType.SignedInt:
|
|
44
|
+
case TlvType.Float:
|
|
45
|
+
case TlvType.Utf8String:
|
|
46
|
+
case TlvType.ByteString:
|
|
47
|
+
if (tag !== void 0 && !allowTag) {
|
|
48
|
+
throw new UnexpectedDataError(`Tag detected for a native type: ${Diagnostic.json(element)}`);
|
|
49
|
+
}
|
|
50
|
+
const value = reader.readPrimitive(element.typeLength);
|
|
51
|
+
const logValue = Bytes.isBytes(value) ? Bytes.toHex(value) : value;
|
|
52
|
+
const logNumberHex = typeof value === "number" || typeof value === "bigint" ? value.toString(16) : void 0;
|
|
53
|
+
logger.info(
|
|
54
|
+
tag?.id !== void 0 ? `${tag.id}/0x${tag?.id?.toString(16)} => ` : "",
|
|
55
|
+
TlvTypeNames[type],
|
|
56
|
+
`${logValue}${logNumberHex !== void 0 ? `/0x${logNumberHex}` : ""}`,
|
|
57
|
+
")"
|
|
58
|
+
);
|
|
59
|
+
break;
|
|
60
|
+
case TlvType.Array:
|
|
61
|
+
case TlvType.List:
|
|
62
|
+
if (tag?.id !== void 0) {
|
|
63
|
+
logger.info(`${tag.id}/0x${tag.id.toString(16)} => `, TlvTypeNames[type]);
|
|
64
|
+
} else {
|
|
65
|
+
logger.info(TlvTypeNames[type]);
|
|
66
|
+
}
|
|
67
|
+
Logger.nest(() => logGenericArrayOrList(reader, type === TlvType.List));
|
|
68
|
+
logger.info(TlvTypeNames[TlvType.EndOfContainer]);
|
|
69
|
+
break;
|
|
70
|
+
case TlvType.Structure:
|
|
71
|
+
if (tag?.id !== void 0) {
|
|
72
|
+
logger.info(`${tag.id}/0x${tag.id.toString(16)} => `, TlvTypeNames[type]);
|
|
73
|
+
} else {
|
|
74
|
+
logger.info(TlvTypeNames[type]);
|
|
75
|
+
}
|
|
76
|
+
Logger.nest(() => logGenericStructure(reader));
|
|
77
|
+
logger.info(TlvTypeNames[TlvType.EndOfContainer]);
|
|
78
|
+
break;
|
|
79
|
+
default:
|
|
80
|
+
throw new UnexpectedDataError(`Unknown type: ${type}`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function logGenericArrayOrList(reader, allowTag = false) {
|
|
84
|
+
const result = new Array();
|
|
85
|
+
while (true) {
|
|
86
|
+
const element = reader.readTagType();
|
|
87
|
+
const {
|
|
88
|
+
tag,
|
|
89
|
+
typeLength: { type }
|
|
90
|
+
} = element;
|
|
91
|
+
if (type === TlvType.EndOfContainer) break;
|
|
92
|
+
if (tag !== void 0 && !allowTag) {
|
|
93
|
+
throw new UnexpectedDataError(`Tag detected : ${Diagnostic.json(element)}`);
|
|
94
|
+
}
|
|
95
|
+
logGenericElement(reader, element, allowTag);
|
|
96
|
+
}
|
|
97
|
+
return result;
|
|
98
|
+
}
|
|
99
|
+
function logGenericStructure(reader) {
|
|
100
|
+
const result = {};
|
|
101
|
+
while (true) {
|
|
102
|
+
const element = reader.readTagType();
|
|
103
|
+
const {
|
|
104
|
+
tag,
|
|
105
|
+
typeLength: { type }
|
|
106
|
+
} = element;
|
|
107
|
+
if (type === TlvType.EndOfContainer) break;
|
|
108
|
+
if (tag === void 0 || tag.id === void 0) {
|
|
109
|
+
throw new UnexpectedDataError(`Tag missing for a structure: ${Diagnostic.json(element)}`);
|
|
110
|
+
}
|
|
111
|
+
logGenericElement(reader, element, true);
|
|
112
|
+
}
|
|
113
|
+
return result;
|
|
114
|
+
}
|
|
115
|
+
function commands() {
|
|
116
|
+
return {
|
|
117
|
+
command: "tlv",
|
|
118
|
+
describe: "TLV decoding tools",
|
|
119
|
+
builder: (yargs) => {
|
|
120
|
+
return yargs.command(
|
|
121
|
+
"decode [value]",
|
|
122
|
+
"Decodes a TLV string (hex) into matter.js JavaScript object",
|
|
123
|
+
(yargs2) => {
|
|
124
|
+
return yargs2.positional("value", {
|
|
125
|
+
describe: "The TLV value as hex string",
|
|
126
|
+
type: "string",
|
|
127
|
+
demandOption: true
|
|
128
|
+
});
|
|
129
|
+
},
|
|
130
|
+
async (argv) => {
|
|
131
|
+
const { value } = argv;
|
|
132
|
+
const bytes = Bytes.fromHex(value);
|
|
133
|
+
const tlvEncoded = TlvAny.decode(bytes);
|
|
134
|
+
const decoded = TlvAny.decodeAnyTlvStream(tlvEncoded);
|
|
135
|
+
console.log("Decoded:", serialize(decoded));
|
|
136
|
+
}
|
|
137
|
+
).command(
|
|
138
|
+
"log [value]",
|
|
139
|
+
"Decodes a TLV string (hex string) and logs it's structure",
|
|
140
|
+
(yargs2) => {
|
|
141
|
+
return yargs2.positional("value", {
|
|
142
|
+
describe: "The TLV value as hex string",
|
|
143
|
+
type: "string",
|
|
144
|
+
demandOption: true
|
|
145
|
+
});
|
|
146
|
+
},
|
|
147
|
+
async (argv) => {
|
|
148
|
+
const { value } = argv;
|
|
149
|
+
const bytes = Bytes.fromHex(value);
|
|
150
|
+
const tlvEncoded = TlvAny.decode(bytes);
|
|
151
|
+
logAnyTlvStream(tlvEncoded);
|
|
152
|
+
}
|
|
153
|
+
);
|
|
154
|
+
},
|
|
155
|
+
handler: async (argv) => {
|
|
156
|
+
argv.unhandled = true;
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
export {
|
|
161
|
+
commands as default
|
|
162
|
+
};
|
|
163
|
+
//# sourceMappingURL=cmd_tlv.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/shell/cmd_tlv.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["yargs"]
|
|
6
|
+
}
|
|
@@ -1,32 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var cmd_vendor_exports = {};
|
|
20
|
-
__export(cmd_vendor_exports, {
|
|
21
|
-
default: () => commands
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(cmd_vendor_exports);
|
|
24
|
-
var import_general = require("#general");
|
|
25
1
|
/**
|
|
26
2
|
* @license
|
|
27
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
28
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
29
5
|
*/
|
|
6
|
+
import { Diagnostic } from "#general";
|
|
30
7
|
function commands(theNode) {
|
|
31
8
|
return {
|
|
32
9
|
command: "vendor",
|
|
@@ -88,7 +65,7 @@ Found ${vendors.length} vendor(s):
|
|
|
88
65
|
return;
|
|
89
66
|
}
|
|
90
67
|
console.log("\nVendor Details:");
|
|
91
|
-
console.log(
|
|
68
|
+
console.log(Diagnostic.json(vendor));
|
|
92
69
|
}
|
|
93
70
|
).command(
|
|
94
71
|
"update",
|
|
@@ -115,4 +92,7 @@ Found ${vendors.length} vendor(s):
|
|
|
115
92
|
}
|
|
116
93
|
};
|
|
117
94
|
}
|
|
95
|
+
export {
|
|
96
|
+
commands as default
|
|
97
|
+
};
|
|
118
98
|
//# sourceMappingURL=cmd_vendor.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/shell/cmd_vendor.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,kBAAkB;AAIZ,SAAR,SAA0B,SAAqB;AAClD,SAAO;AAAA,IACH,SAAS;AAAA,IACT,UAAU;AAAA,IACV,SAAS,CAAC,UACN,MACK;AAAA,MACG,CAAC,KAAK,MAAM;AAAA,MACZ;AAAA,MACA,MAAM;AAAA,MAAC;AAAA,MACP,YAAY;AACR,cAAM,QAAQ,MAAM;AACpB,cAAM,UAAU,CAAC,GAAG,QAAQ,kBAAkB,QAAQ,OAAO,CAAC;AAE9D,YAAI,QAAQ,WAAW,GAAG;AACtB,kBAAQ,IAAI,yCAAyC;AACrD;AAAA,QACJ;AAEA,gBAAQ,IAAI;AAAA,QAAW,QAAQ,MAAM;AAAA,CAAe;AAGpD,gBAAQ,KAAK,CAAC,GAAG,MAAM,EAAE,WAAW,EAAE,QAAQ;AAE9C,gBAAQ,QAAQ,YAAU;AACtB,kBAAQ;AAAA,YACJ,cAAc,OAAO,QAAQ,OAAO,OAAO,SAAS,SAAS,EAAE,EAAE,YAAY,EAAE,SAAS,GAAG,GAAG,CAAC;AAAA,UACnG;AACA,kBAAQ,IAAI,WAAW,OAAO,UAAU,EAAE;AAC1C,kBAAQ,IAAI,iBAAiB,OAAO,gBAAgB,EAAE;AACtD,kBAAQ,IAAI,qBAAqB,OAAO,oBAAoB,EAAE;AAC9D,kBAAQ,IAAI,mBAAmB,OAAO,oBAAoB,EAAE;AAC5D,kBAAQ,IAAI,EAAE;AAAA,QAClB,CAAC;AAAA,MACL;AAAA,IACJ,EACC;AAAA,MACG;AAAA,MACA;AAAA,MACA,CAAAA,WAAS;AACL,eAAOA,OAAM,WAAW,aAAa;AAAA,UACjC,UAAU;AAAA,UACV,MAAM;AAAA,UACN,cAAc;AAAA,QAClB,CAAC;AAAA,MACL;AAAA,MACA,OAAM,SAAQ;AACV,cAAM,EAAE,UAAU,YAAY,IAAI;AAElC,YAAI;AACJ,YAAI,YAAY,WAAW,IAAI,GAAG;AAC9B,gBAAM,SAAS,YAAY,QAAQ,QAAQ,EAAE;AAC7C,qBAAW,SAAS,QAAQ,EAAE;AAAA,QAClC,OAAO;AACH,qBAAW,SAAS,aAAa,EAAE;AAAA,QACvC;AAEA,YAAI,CAAC,SAAS,QAAQ,GAAG;AACrB,kBAAQ,MAAM,6BAA6B,WAAW,GAAG;AACzD;AAAA,QACJ;AAEA,cAAM,QAAQ,MAAM;AACpB,cAAM,SAAS,QAAQ,kBAAkB,QAAQ,QAAQ;AACzD,YAAI,CAAC,QAAQ;AACT,kBAAQ,MAAM,kBAAkB,WAAW,YAAY;AACvD;AAAA,QACJ;AAEA,gBAAQ,IAAI,mBAAmB;AAC/B,gBAAQ,IAAI,WAAW,KAAK,MAAM,CAAC;AAAA,MACvC;AAAA,IACJ,EACC;AAAA,MACG;AAAA,MACA;AAAA,MACA,MAAM;AAAA,MAAC;AAAA,MACP,YAAY;AACR,cAAM,QAAQ,MAAM;AACpB,gBAAQ,IAAI,yCAAyC;AAErD,YAAI;AACA,gBAAM,QAAQ,kBAAkB,OAAO;AACvC,kBAAQ;AAAA,YACJ,yBAAyB,QAAQ,kBAAkB,QAAQ,IAAI;AAAA,UACnE;AAAA,QACJ,SAAS,OAAO;AACZ,kBAAQ;AAAA,YACJ,wCAAwC,iBAAiB,QAAQ,MAAM,UAAU,KAAK;AAAA,UAC1F;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,IACR,SAAS,OAAO,SAAc;AAC1B,WAAK,YAAY;AAAA,IACrB;AAAA,EACJ;AACJ;",
|
|
5
|
+
"names": ["yargs"]
|
|
6
|
+
}
|
|
@@ -1,26 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var CommandlineParser_exports = {};
|
|
20
|
-
__export(CommandlineParser_exports, {
|
|
21
|
-
commandlineParser: () => commandlineParser
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(CommandlineParser_exports);
|
|
24
1
|
/**
|
|
25
2
|
* Quote aware Command line parser
|
|
26
3
|
*
|
|
@@ -103,4 +80,7 @@ function commandlineParser(line) {
|
|
|
103
80
|
}
|
|
104
81
|
return args;
|
|
105
82
|
}
|
|
83
|
+
export {
|
|
84
|
+
commandlineParser
|
|
85
|
+
};
|
|
106
86
|
//# sourceMappingURL=CommandlineParser.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/CommandlineParser.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BA,MAAM,aAAa;AAAA,EAIf,YAA6B,KAAa;AAAb;AACzB,SAAK,MAAM;AAAA,EACf;AAAA,EALQ;AAAA,EACD;AAAA,EAMP,OAAO;AACH,QAAI,KAAK,MAAM,KAAK,IAAI,QAAQ;AAC5B,WAAK,UAAU,KAAK,IAAI,EAAE,KAAK,GAAG;AAAA,IACtC;AAEA,WAAO,KAAK;AAAA,EAChB;AACJ;AAEA,SAAS,aAAa,GAAW;AAC7B,SAAO,MAAM;AACjB;AAEA,SAAS,kBAAkB,GAAiB;AACxC,SAAO,EAAE,YAAY,UAAa,aAAa,EAAE,OAAO,GAAG;AACvD,MAAE,KAAK;AAAA,EACX;AACJ;AAEA,SAAS,QAAQ,GAAiB;AAC9B,QAAM,IAAI,EAAE,KAAK;AACjB,MAAI,MAAM,QAAW;AACjB,UAAM,IAAI,MAAM,8BAA8B;AAAA,EAClD;AAEA,SAAO;AACX;AAEA,SAAS,OAAO,GAAiB;AAC7B,MAAI,IAAI;AAER,QAAM,IAAI,EAAE;AACZ,QAAM,IAAI,MAAM;AAEhB,WAAS,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,EAAE,KAAK,GAAG;AAC1C,QAAI,MAAM,QAAW;AACjB,YAAM,IAAI,MAAM,uBAAuB,CAAC,EAAE;AAAA,IAC9C;AAEA,QAAI,KAAK,MAAM,MAAM;AACjB,WAAK,QAAQ,CAAC;AAAA,IAClB,OAAO;AACH,WAAK;AAAA,IACT;AAAA,EACJ;AAEA,SAAO;AACX;AAEO,SAAS,kBAAkB,MAAc;AAC5C,QAAM,OAAO,CAAC;AACd,MAAI,IAAI;AAER,QAAM,IAAI,IAAI,aAAa,IAAI;AAC/B,IAAE,KAAK;AACP,oBAAkB,CAAC;AAKnB,MAAI,WAAW;AAEf,SAAO,EAAE,YAAY,QAAW;AAC5B,QAAI,aAAa,EAAE,OAAO,GAAG;AACzB,WAAK,KAAK,CAAC;AACX,iBAAW;AACX,UAAI;AAEJ,wBAAkB,CAAC;AAAA,IACvB,WAAW,EAAE,YAAY,MAAM;AAC3B,WAAK,QAAQ,CAAC;AACd,QAAE,KAAK;AAAA,IACX,WAAW,EAAE,YAAY,OAAO,EAAE,YAAY,KAAK;AAC/C,WAAK,OAAO,CAAC;AACb,iBAAW;AACX,QAAE,KAAK;AAAA,IACX,OAAO;AACH,WAAK,EAAE;AACP,QAAE,KAAK;AAAA,IACX;AAAA,EACJ;AAEA,MAAI,YAAY,EAAE,QAAQ;AACtB,SAAK,KAAK,CAAC;AAAA,EACf;AAEA,SAAO;AACX;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Bytes, camelize } from "#general";
|
|
7
|
+
import { ValidationDatatypeMismatchError } from "#types";
|
|
8
|
+
function convertJsonDataWithModel(model, data) {
|
|
9
|
+
const definingModel = model.definingModel ?? model;
|
|
10
|
+
switch (definingModel.effectiveMetatype) {
|
|
11
|
+
case "array":
|
|
12
|
+
if (!Array.isArray(data)) {
|
|
13
|
+
throw new ValidationDatatypeMismatchError(`Expected array, got ${typeof data}`);
|
|
14
|
+
}
|
|
15
|
+
return data.map((item) => convertJsonDataWithModel(definingModel.children[0], item));
|
|
16
|
+
case "object":
|
|
17
|
+
if (typeof data !== "object") {
|
|
18
|
+
throw new ValidationDatatypeMismatchError(`Expected object, got ${typeof data}`);
|
|
19
|
+
}
|
|
20
|
+
for (const child of definingModel.children) {
|
|
21
|
+
const childKeyName = camelize(child.name);
|
|
22
|
+
data[childKeyName] = convertJsonDataWithModel(child, data[childKeyName]);
|
|
23
|
+
}
|
|
24
|
+
return data;
|
|
25
|
+
case "integer":
|
|
26
|
+
if (typeof data === "string") {
|
|
27
|
+
if (definingModel.metabase?.byteSize !== void 0 && definingModel.metabase.byteSize > 6) {
|
|
28
|
+
return BigInt(data);
|
|
29
|
+
} else if (data.startsWith("0x")) {
|
|
30
|
+
return parseInt(data.substring(2), 16);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
break;
|
|
34
|
+
case "bytes":
|
|
35
|
+
if (typeof data === "string") {
|
|
36
|
+
return Bytes.fromHex(data);
|
|
37
|
+
}
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
return data;
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
convertJsonDataWithModel
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=Json.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/Json.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,OAAO,gBAAgB;AAEhC,SAAS,uCAAuC;AAEzC,SAAS,yBAAyB,OAAmB,MAAgB;AACxE,QAAM,gBAAgB,MAAM,iBAAiB;AAC7C,UAAQ,cAAc,mBAAmB;AAAA,IACrC,KAAK;AACD,UAAI,CAAC,MAAM,QAAQ,IAAI,GAAG;AACtB,cAAM,IAAI,gCAAgC,uBAAuB,OAAO,IAAI,EAAE;AAAA,MAClF;AACA,aAAO,KAAK,IAAI,UAAQ,yBAAyB,cAAc,SAAS,CAAC,GAAG,IAAI,CAAC;AAAA,IACrF,KAAK;AACD,UAAI,OAAO,SAAS,UAAU;AAC1B,cAAM,IAAI,gCAAgC,wBAAwB,OAAO,IAAI,EAAE;AAAA,MACnF;AACA,iBAAW,SAAS,cAAc,UAAU;AACxC,cAAM,eAAe,SAAS,MAAM,IAAI;AACxC,aAAK,YAAY,IAAI,yBAAyB,OAAO,KAAK,YAAY,CAAC;AAAA,MAC3E;AACA,aAAO;AAAA,IACX,KAAK;AACD,UAAI,OAAO,SAAS,UAAU;AAC1B,YAAI,cAAc,UAAU,aAAa,UAAa,cAAc,SAAS,WAAW,GAAG;AAGvF,iBAAO,OAAO,IAAI;AAAA,QACtB,WAAW,KAAK,WAAW,IAAI,GAAG;AAE9B,iBAAO,SAAS,KAAK,UAAU,CAAC,GAAG,EAAE;AAAA,QACzC;AAAA,MACJ;AACA;AAAA,IACJ,KAAK;AACD,UAAI,OAAO,SAAS,UAAU;AAE1B,eAAO,MAAM,QAAQ,IAAI;AAAA,MAC7B;AACA;AAAA,EACR;AAEA,SAAO;AACX;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|