node-opcua-packet-analyzer 2.165.0 → 2.168.0

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.
@@ -1 +1,2 @@
1
- export { analyzePacket, analyseExtensionObject, analyze_object_binary_encoding } from "./packet_analyzer/packet_analyzer";
1
+ export { analyze_object_binary_encoding, analyzePacket, analyseExtensionObject, } from "./packet_analyzer/packet_analyzer";
2
+ export type { AnalyzePacketOptions, ObjectMessage } from "./packet_analyzer/packet_analyzer";
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.analyze_object_binary_encoding = exports.analyseExtensionObject = exports.analyzePacket = void 0;
3
+ exports.analyseExtensionObject = exports.analyzePacket = exports.analyze_object_binary_encoding = void 0;
4
4
  var packet_analyzer_1 = require("./packet_analyzer/packet_analyzer");
5
+ Object.defineProperty(exports, "analyze_object_binary_encoding", { enumerable: true, get: function () { return packet_analyzer_1.analyze_object_binary_encoding; } });
5
6
  Object.defineProperty(exports, "analyzePacket", { enumerable: true, get: function () { return packet_analyzer_1.analyzePacket; } });
6
7
  Object.defineProperty(exports, "analyseExtensionObject", { enumerable: true, get: function () { return packet_analyzer_1.analyseExtensionObject; } });
7
- Object.defineProperty(exports, "analyze_object_binary_encoding", { enumerable: true, get: function () { return packet_analyzer_1.analyze_object_binary_encoding; } });
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/index.ts"],"names":[],"mappings":";;;AAAA,qEAA0H;AAAjH,gHAAA,aAAa,OAAA;AAAE,yHAAA,sBAAsB,OAAA;AAAE,iIAAA,8BAA8B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/index.ts"],"names":[],"mappings":";;;AAAA,qEAI2C;AAHvC,iIAAA,8BAA8B,OAAA;AAC9B,gHAAA,aAAa,OAAA;AACb,yHAAA,sBAAsB,OAAA"}
@@ -1,13 +1,26 @@
1
1
  import { BinaryStream } from "node-opcua-binary-stream";
2
- import { BaseUAObject } from "node-opcua-factory";
3
- interface AnalyzePacketOptions {
2
+ import { type IBaseUAObject } from "node-opcua-factory";
3
+ /** Encoding info maps enum key names ↔ bitmask values */
4
+ type EncodingInfo = Record<string, number | string>;
5
+ type TraceOperation = "start" | "end" | "start_array" | "end_array" | "start_element" | "end_element" | "member";
6
+ interface TracerMethods {
7
+ dump: (title: string, value: unknown) => void;
8
+ encoding_byte: (encodingMask: number, valueEnum: EncodingInfo, start: number, end: number) => void;
9
+ trace: (operation: TraceOperation, name: string, value: unknown, start: number, end: number, fieldType: string) => void;
10
+ }
11
+ interface Tracer {
12
+ name?: string;
13
+ tracer: TracerMethods;
14
+ }
15
+ export interface AnalyzePacketOptions {
16
+ [key: string]: unknown;
4
17
  }
5
18
  export interface ObjectMessage {
6
19
  encode(stream: BinaryStream): void;
7
20
  decode(stream: BinaryStream): void;
8
- decodeDebug(stream: BinaryStream, options: any): void;
21
+ decodeDebug(stream: BinaryStream, options: Tracer): void;
9
22
  }
10
23
  export declare function analyzePacket(buffer: Buffer, objMessage: ObjectMessage, padding: number, offset?: number, customOptions?: AnalyzePacketOptions): void;
11
24
  export declare function analyseExtensionObject(buffer: Buffer, padding: number, offset: number, customOptions?: AnalyzePacketOptions): void;
12
- export declare function analyze_object_binary_encoding(obj: BaseUAObject): void;
25
+ export declare function analyze_object_binary_encoding(obj: IBaseUAObject): void;
13
26
  export {};
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.analyzePacket = analyzePacket;
7
7
  exports.analyseExtensionObject = analyseExtensionObject;
8
8
  exports.analyze_object_binary_encoding = analyze_object_binary_encoding;
9
- const util_1 = require("util");
9
+ const node_util_1 = require("node:util");
10
10
  const chalk_1 = __importDefault(require("chalk"));
11
11
  const node_opcua_assert_1 = require("node-opcua-assert");
12
12
  const node_opcua_basic_types_1 = require("node-opcua-basic-types");
@@ -14,14 +14,14 @@ const node_opcua_binary_stream_1 = require("node-opcua-binary-stream");
14
14
  const node_opcua_debug_1 = require("node-opcua-debug");
15
15
  const node_opcua_factory_1 = require("node-opcua-factory");
16
16
  const node_opcua_utils_1 = require("node-opcua-utils");
17
- const spaces = " ";
18
- function f(n, width) {
19
- const s = n.toString();
20
- return (s + " ").substring(0, Math.max(s.length, width));
17
+ const displayWidth = 132;
18
+ const separator = "-".repeat(49);
19
+ function padNumber(n, width) {
20
+ return n.toString().padEnd(width);
21
21
  }
22
22
  function display_encoding_mask(padding, encodingMask, encodingInfo) {
23
23
  for (const v in encodingInfo) {
24
- if (!Object.prototype.hasOwnProperty.call(encodingInfo, v)) {
24
+ if (!Object.hasOwn(encodingInfo, v)) {
25
25
  continue;
26
26
  }
27
27
  const enumKey = encodingInfo[v];
@@ -30,31 +30,40 @@ function display_encoding_mask(padding, encodingMask, encodingInfo) {
30
30
  }
31
31
  const mask = encodingInfo[enumKey];
32
32
  const bit = Math.log(mask) / Math.log(2);
33
- const bits = [".", ".", ".", ".", ".", ".", ".", ".", "."];
33
+ const bits = Array(9).fill(".");
34
34
  bits[bit] = (encodingMask & mask) === mask ? "Y" : "n";
35
- console.log(padding + " ", bits.join(""), " <- has " + enumKey + " 0x" + mask.toString(16));
35
+ console.log(`${padding} ${bits.join("")}` + ` <- has ${enumKey} 0x${mask.toString(16)}`);
36
36
  }
37
- // DataValueEncodingByte
38
37
  }
39
38
  function hex_block(start, end, buffer) {
40
39
  const n = end - start;
41
40
  const strBuf = (0, node_opcua_utils_1.buffer_ellipsis)(buffer);
42
- return (chalk_1.default.cyan("s:") + f(start, 4) + chalk_1.default.cyan(" e:") + f(end, 4) + chalk_1.default.cyan(" n:") + f(n, 4) + " " + chalk_1.default.yellow(strBuf));
41
+ return (chalk_1.default.cyan("s:") +
42
+ padNumber(start, 4) +
43
+ chalk_1.default.cyan(" e:") +
44
+ padNumber(end, 4) +
45
+ chalk_1.default.cyan(" n:") +
46
+ padNumber(n, 4) +
47
+ " " +
48
+ chalk_1.default.yellow(strBuf));
49
+ }
50
+ function isEncodeable(val) {
51
+ return val != null && typeof val.encode === "function";
43
52
  }
44
53
  function make_tracer(buffer, padding, offset) {
45
- padding = !padding ? 0 : padding;
46
- offset = offset || 0;
47
- const pad = () => " ".substring(0, padding);
54
+ padding ??= 0;
55
+ offset ??= 0;
56
+ const pad = () => "".padEnd(padding);
48
57
  function _display(str, hexInfo) {
49
- hexInfo = hexInfo || "";
58
+ hexInfo ??= "";
50
59
  // account for ESC codes for colors
51
- const nbColorAttributes = [...str.split("")].filter((c) => c === "\u001b").length;
60
+ const nbColorAttributes = str.split("").filter((c) => c === "\u001b").length;
52
61
  const extra = nbColorAttributes * 5;
53
- console.log((pad() + str + spaces).substring(0, 132 + extra) + "|" + hexInfo);
62
+ const line = (pad() + str).padEnd(displayWidth + extra);
63
+ console.log(`${line}|${hexInfo}`);
54
64
  }
55
65
  function display(str, hexInfo) {
56
- const lines = str.split("\n");
57
- for (const line of lines) {
66
+ for (const line of str.split("\n")) {
58
67
  _display(line, hexInfo);
59
68
  }
60
69
  }
@@ -62,16 +71,16 @@ function make_tracer(buffer, padding, offset) {
62
71
  const bufferExtract = buffer1.subarray(start, end);
63
72
  const stream = new node_opcua_binary_stream_1.BinaryStream(bufferExtract);
64
73
  const nodeId = (0, node_opcua_basic_types_1.decodeNodeId)(stream);
65
- const encodingMask = (0, node_opcua_basic_types_1.decodeByte)(stream); // 1 bin 2: xml
74
+ const encodingMask = (0, node_opcua_basic_types_1.decodeByte)(stream);
66
75
  const length = (0, node_opcua_basic_types_1.decodeUInt32)(stream);
67
- display(chalk_1.default.green(" ExpandedNodId =") + " " + nodeId);
68
- display(chalk_1.default.green(" encoding mask =") + " " + encodingMask);
69
- display(chalk_1.default.green(" length =") + " " + length);
76
+ display(`${chalk_1.default.green(" ExpandedNodId =")} ${nodeId}`);
77
+ display(`${chalk_1.default.green(" encoding mask =")} ${encodingMask}`);
78
+ display(`${chalk_1.default.green(" length =")} ${length}`);
70
79
  analyzePacket(bufferExtract.subarray(stream.length), value.encodingDefaultBinary, padding + 2, start + stream.length);
71
80
  }
72
81
  return {
73
82
  tracer: {
74
- dump: (title, value) => display(title + " " + chalk_1.default.green(value.toString())),
83
+ dump: (title, value) => display(`${title} ${chalk_1.default.green(String(value))}`),
75
84
  encoding_byte: (encodingMask, valueEnum, start, end) => {
76
85
  (0, node_opcua_assert_1.assert)(valueEnum);
77
86
  const b = buffer.subarray(start, end);
@@ -80,52 +89,49 @@ function make_tracer(buffer, padding, offset) {
80
89
  },
81
90
  trace: (operation, name, value, start, end, fieldType) => {
82
91
  const b = buffer.subarray(start, end);
83
- let _hexDump = "";
84
92
  switch (operation) {
85
93
  case "start":
86
94
  padding += 2;
87
- display(name.toString());
95
+ display(name);
88
96
  break;
89
97
  case "end":
90
98
  padding -= 2;
91
99
  break;
92
100
  case "start_array":
93
- display("." + name + " (length = " + value + ") " + "[", hex_block(start, end, b));
101
+ display(`.${name} (length = ${value}) [`, hex_block(start, end, b));
94
102
  padding += 2;
95
103
  break;
96
104
  case "end_array":
97
105
  padding -= 2;
98
- display("] // " + name);
106
+ display(`] // ${name}`);
99
107
  break;
100
108
  case "start_element":
101
- display(" #" + value + " {");
109
+ display(` #${value} {`);
102
110
  padding += 2;
103
111
  break;
104
112
  case "end_element":
105
113
  padding -= 2;
106
- display(" } // # " + value);
114
+ display(` } // # ${value}`);
107
115
  break;
108
- case "member":
109
- display("." + name + " : " + fieldType);
110
- _hexDump = "";
116
+ case "member": {
117
+ display(`.${name} : ${fieldType}`);
111
118
  if (value instanceof Buffer) {
112
- _hexDump = (0, node_opcua_debug_1.hexDump)(value);
113
- console.log(_hexDump);
119
+ console.log((0, node_opcua_debug_1.hexDump)(value));
114
120
  value = "<BUFFER>";
115
121
  }
116
- if (value && value.encode) {
122
+ if (isEncodeable(value)) {
117
123
  if (fieldType === "ExtensionObject") {
118
124
  display_encodeable(value, buffer, start, end);
119
125
  }
120
126
  else {
121
- const str = value.toString() || "<empty>";
122
- display(str);
127
+ display(String(value) || "<empty>");
123
128
  }
124
129
  }
125
130
  else {
126
- display(" " + value, hex_block(start, end, b));
131
+ display(` ${value}`, hex_block(start, end, b));
127
132
  }
128
133
  break;
134
+ }
129
135
  }
130
136
  }
131
137
  }
@@ -146,15 +152,16 @@ function analyseExtensionObject(buffer, padding, offset, customOptions) {
146
152
  catch (err) {
147
153
  console.log(id);
148
154
  console.log(err);
149
- console.log("Cannot read decodeExpandedNodeId on stream " + stream.buffer.toString("hex"));
155
+ console.log("Cannot read decodeExpandedNodeId on stream " + stream.buffer.toString("hex"));
150
156
  }
151
157
  _internalAnalyzePacket(buffer, stream, objMessage, padding, customOptions, offset);
152
158
  }
153
159
  function _internalAnalyzePacket(buffer, stream, objMessage, padding, customOptions, offset) {
154
160
  let options = make_tracer(buffer, padding, offset);
155
161
  options.name = "message";
156
- if (customOptions)
162
+ if (customOptions) {
157
163
  options = { ...options, ...customOptions };
164
+ }
158
165
  try {
159
166
  if (objMessage) {
160
167
  objMessage.decodeDebug(stream, options);
@@ -165,26 +172,27 @@ function _internalAnalyzePacket(buffer, stream, objMessage, padding, customOptio
165
172
  }
166
173
  catch (err) {
167
174
  console.log(" Error in ", err);
168
- if (util_1.types.isNativeError(err)) {
175
+ if (err instanceof Error) {
169
176
  console.log(" Error in ", err.stack);
170
177
  }
171
- console.log(" objMessage ", (0, util_1.inspect)(objMessage, { colors: true }));
178
+ console.log(" objMessage ", (0, node_util_1.inspect)(objMessage, { colors: true }));
172
179
  }
173
180
  }
174
181
  function analyze_object_binary_encoding(obj) {
175
182
  (0, node_opcua_assert_1.assert)(obj);
176
183
  const size = obj.binaryStoreSize();
177
- console.log("-------------------------------------------------");
184
+ console.log(separator);
178
185
  console.log(" size = ", size);
179
186
  const stream = new node_opcua_binary_stream_1.BinaryStream(size);
180
187
  obj.encode(stream);
181
188
  stream.rewind();
182
- console.log("-------------------------------------------------");
189
+ console.log(separator);
183
190
  if (stream.buffer.length < 256) {
184
191
  console.log((0, node_opcua_debug_1.hexDump)(stream.buffer));
185
- console.log("-------------------------------------------------");
192
+ console.log(separator);
186
193
  }
187
- const reloadedObject = new obj.constructor();
194
+ const Ctor = obj.constructor;
195
+ const reloadedObject = new Ctor();
188
196
  analyzePacket(stream.buffer, reloadedObject, 0);
189
197
  }
190
198
  //# sourceMappingURL=packet_analyzer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"packet_analyzer.js","sourceRoot":"","sources":["../../../source/packet_analyzer/packet_analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packet_analyzer.js","sourceRoot":"","sources":["../../../source/packet_analyzer/packet_analyzer.ts"],"names":[],"mappings":";;;;;AA2MA,sCASC;AAED,wDAkBC;AA8BD,wEAmBC;AAzRD,yCAAoC;AACpC,kDAA0B;AAC1B,yDAA2C;AAE3C,mEAAsG;AACtG,uEAAwD;AACxD,uDAA2C;AAC3C,2DAA0G;AAE1G,uDAAmD;AAEnD,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAEjC,SAAS,SAAS,CAAC,CAAS,EAAE,KAAa;IACvC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAKD,SAAS,qBAAqB,CAAC,OAAe,EAAE,YAAoB,EAAE,YAA0B;IAC5F,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC;YAClC,SAAS;QACb,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9B,SAAS;QACb,CAAC;QAED,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAW,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEzC,MAAM,IAAI,GAAG,KAAK,CAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAEvD,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,WAAW,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9F,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,GAAW,EAAE,MAAc;IACzD,MAAM,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;IACtB,MAAM,MAAM,GAAG,IAAA,kCAAe,EAAC,MAAM,CAAC,CAAC;IACvC,OAAO,CACH,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAChB,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;QACnB,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QACjB,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QACjB,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QACjB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;QACf,GAAG;QACH,eAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CACvB,CAAC;AACN,CAAC;AAoBD,SAAS,YAAY,CAAC,GAAY;IAC9B,OAAO,GAAG,IAAI,IAAI,IAAI,OAAQ,GAAkB,CAAC,MAAM,KAAK,UAAU,CAAC;AAC3E,CAAC;AAED,SAAS,WAAW,CAAC,MAAc,EAAE,OAAe,EAAE,MAAe;IACjE,OAAO,KAAK,CAAC,CAAC;IACd,MAAM,KAAK,CAAC,CAAC;IAEb,MAAM,GAAG,GAAG,GAAW,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE7C,SAAS,QAAQ,CAAC,GAAW,EAAE,OAAgB;QAC3C,OAAO,KAAK,EAAE,CAAC;QACf,mCAAmC;QACnC,MAAM,iBAAiB,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QAC7E,MAAM,KAAK,GAAG,iBAAiB,GAAG,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,SAAS,OAAO,CAAC,GAAW,EAAE,OAAgB;QAC1C,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,SAAS,kBAAkB,CAAC,KAAiB,EAAE,OAAe,EAAE,KAAa,EAAE,GAAW;QACtF,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,uCAAY,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAA,qCAAY,EAAC,MAAM,CAAC,CAAC;QACpC,MAAM,YAAY,GAAG,IAAA,mCAAU,EAAC,MAAM,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAA,qCAAY,EAAC,MAAM,CAAC,CAAC;QAEpC,OAAO,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;QAC5D,aAAa,CACT,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EACrC,KAAK,CAAC,qBAAsC,EAC5C,OAAO,GAAG,CAAC,EACX,KAAK,GAAG,MAAM,CAAC,MAAM,CACxB,CAAC;IACN,CAAC;IAED,OAAO;QACH,MAAM,EAAE;YACJ,IAAI,EAAE,CAAC,KAAa,EAAE,KAAc,EAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,KAAK,eAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAEjG,aAAa,EAAE,CAAC,YAAoB,EAAE,SAAuB,EAAE,KAAa,EAAE,GAAW,EAAQ,EAAE;gBAC/F,IAAA,0BAAM,EAAC,SAAS,CAAC,CAAC;gBAClB,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACtC,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjD,qBAAqB,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;YAC1D,CAAC;YAED,KAAK,EAAE,CACH,SAAyB,EACzB,IAAY,EACZ,KAAc,EACd,KAAa,EACb,GAAW,EACX,SAAiB,EACb,EAAE;gBACN,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAEtC,QAAQ,SAAS,EAAE,CAAC;oBAChB,KAAK,OAAO;wBACR,OAAO,IAAI,CAAC,CAAC;wBACb,OAAO,CAAC,IAAI,CAAC,CAAC;wBACd,MAAM;oBAEV,KAAK,KAAK;wBACN,OAAO,IAAI,CAAC,CAAC;wBACb,MAAM;oBAEV,KAAK,aAAa;wBACd,OAAO,CAAC,IAAI,IAAI,cAAc,KAAK,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;wBACpE,OAAO,IAAI,CAAC,CAAC;wBACb,MAAM;oBAEV,KAAK,WAAW;wBACZ,OAAO,IAAI,CAAC,CAAC;wBACb,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;wBACxB,MAAM;oBAEV,KAAK,eAAe;wBAChB,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;wBACxB,OAAO,IAAI,CAAC,CAAC;wBACb,MAAM;oBAEV,KAAK,aAAa;wBACd,OAAO,IAAI,CAAC,CAAC;wBACb,OAAO,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC;wBAC5B,MAAM;oBAEV,KAAK,QAAQ,CAAC,CAAC,CAAC;wBACZ,OAAO,CAAC,IAAI,IAAI,MAAM,SAAS,EAAE,CAAC,CAAC;wBAEnC,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;4BAC1B,OAAO,CAAC,GAAG,CAAC,IAAA,0BAAO,EAAC,KAAK,CAAC,CAAC,CAAC;4BAC5B,KAAK,GAAG,UAAU,CAAC;wBACvB,CAAC;wBAED,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;4BACtB,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;gCAClC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;4BAClD,CAAC;iCAAM,CAAC;gCACJ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC;4BACxC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACJ,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;wBACnD,CAAC;wBACD,MAAM;oBACV,CAAC;gBACL,CAAC;YACL,CAAC;SACJ;KACJ,CAAC;AACN,CAAC;AAYD,SAAgB,aAAa,CACzB,MAAc,EACd,UAAyB,EACzB,OAAe,EACf,MAAe,EACf,aAAoC;IAEpC,MAAM,MAAM,GAAG,IAAI,uCAAY,CAAC,MAAM,CAAC,CAAC;IACxC,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;AACvF,CAAC;AAED,SAAgB,sBAAsB,CAClC,MAAc,EACd,OAAe,EACf,MAAc,EACd,aAAoC;IAEpC,MAAM,MAAM,GAAG,IAAI,uCAAY,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,EAA8B,CAAC;IACnC,IAAI,UAAqC,CAAC;IAC1C,IAAI,CAAC;QACD,EAAE,GAAG,IAAA,6CAAoB,EAAC,MAAM,CAAC,CAAC;QAClC,UAAU,GAAG,IAAA,+CAA0B,GAAE,CAAC,eAAe,CAAC,EAAE,CAA6B,CAAC;IAC9F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,6CAA6C,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/F,CAAC;IACD,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,sBAAsB,CAC3B,MAAc,EACd,MAAoB,EACpB,UAAqC,EACrC,OAAe,EACf,aAAoC,EACpC,MAAe;IAEf,IAAI,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACnD,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IACzB,IAAI,aAAa,EAAE,CAAC;QAChB,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,aAAa,EAAE,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAC/B,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAA,mBAAO,EAAC,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;AACL,CAAC;AAED,SAAgB,8BAA8B,CAAC,GAAkB;IAC7D,IAAA,0BAAM,EAAC,GAAG,CAAC,CAAC;IAEZ,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAI,uCAAY,CAAC,IAAI,CAAC,CAAC;IACtC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEnB,MAAM,CAAC,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,IAAA,0BAAO,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,WAA8B,CAAC;IAChD,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;IAClC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,cAA0C,EAAE,CAAC,CAAC,CAAC;AAChF,CAAC"}
@@ -1,2 +1,2 @@
1
- import { BaseUAObject } from "node-opcua-factory";
2
- export declare function compare_obj_by_encoding(obj1: BaseUAObject, obj2: BaseUAObject): boolean;
1
+ import type { IBaseUAObject } from "node-opcua-factory";
2
+ export declare function compare_obj_by_encoding(obj1: IBaseUAObject, obj2: IBaseUAObject): boolean;
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.compare_obj_by_encoding = compare_obj_by_encoding;
7
7
  const node_opcua_binary_stream_1 = require("node-opcua-binary-stream");
8
8
  const should_1 = __importDefault(require("should"));
9
- const persist = should_1.default;
9
+ const _should = should_1.default; // keep should side-effect import alive
10
10
  function compare_obj_by_encoding(obj1, obj2) {
11
11
  function encoded(obj) {
12
12
  const stream = new node_opcua_binary_stream_1.BinaryStream(obj.binaryStoreSize());
@@ -1 +1 @@
1
- {"version":3,"file":"compare_obj_by_encoding.js","sourceRoot":"","sources":["../../test_helpers/compare_obj_by_encoding.ts"],"names":[],"mappings":";;;;;AAKA,0DAQC;AAbD,uEAAwD;AAExD,oDAA4B;AAC5B,MAAM,OAAO,GAAG,gBAAM,CAAC;AAEvB,SAAgB,uBAAuB,CAAC,IAAkB,EAAE,IAAkB;IAC1E,SAAS,OAAO,CAAC,GAAiB;QAC9B,MAAM,MAAM,GAAG,IAAI,uCAAY,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;QACvD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnB,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"compare_obj_by_encoding.js","sourceRoot":"","sources":["../../test_helpers/compare_obj_by_encoding.ts"],"names":[],"mappings":";;;;;AAMA,0DAQC;AAdD,uEAAwD;AAExD,oDAA4B;AAE5B,MAAM,OAAO,GAAG,gBAAM,CAAC,CAAC,uCAAuC;AAE/D,SAAgB,uBAAuB,CAAC,IAAmB,EAAE,IAAmB;IAC5E,SAAS,OAAO,CAAC,GAAkB;QAC/B,MAAM,MAAM,GAAG,IAAI,uCAAY,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;QACvD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnB,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1,21 +1,17 @@
1
- import { BinaryStream } from "node-opcua-binary-stream";
2
- import { ExpandedNodeId } from "node-opcua-nodeid";
3
- import { BaseUAObject } from "node-opcua-factory";
4
- export interface IExtensionObject extends BaseUAObject {
5
- binaryStoreSize(): number;
6
- encode(stream: BinaryStream): void;
7
- decode(stream: BinaryStream): void;
1
+ import { type IBaseUAObject } from "node-opcua-factory";
2
+ import type { ExpandedNodeId } from "node-opcua-nodeid";
3
+ export interface IExtensionObject extends IBaseUAObject {
8
4
  encodingDefaultBinary?: ExpandedNodeId;
9
- constructor: any;
10
5
  }
11
- type encode_decode_round_trip_testCallback = (buffer: Buffer, encoding: any, options: any) => void;
6
+ type BufferInspectionCallback = (buffer: Buffer, encoding: ExpandedNodeId | undefined, options: Record<string, unknown>) => void;
12
7
  /**
13
-
14
- * @param obj : object to test ( the object must provide a binaryStoreSize,encode,decode method
15
- * @param [options]
16
- * @param callback_buffer
17
- * @return {*}
8
+ * @param obj - object to test (the object must provide
9
+ * binaryStoreSize, encode, decode methods)
10
+ * @param options - optional options or callback
11
+ * @param callback_buffer - optional callback to inspect
12
+ * the encoded buffer
13
+ * @returns the reloaded object after decode
18
14
  */
19
- export declare function encode_decode_round_trip_test(obj: IExtensionObject, options?: unknown | encode_decode_round_trip_testCallback, callback_buffer?: encode_decode_round_trip_testCallback): any;
20
- export declare function json_encode_decode_round_trip_test(obj: unknown, options: unknown, callbackBuffer?: unknown): void;
15
+ export declare function encode_decode_round_trip_test(obj: IExtensionObject, options?: Record<string, unknown> | BufferInspectionCallback, callback_buffer?: BufferInspectionCallback): IBaseUAObject;
16
+ export declare function json_encode_decode_round_trip_test(obj: Record<string, unknown>, options?: Record<string, unknown> | BufferInspectionCallback, callbackBuffer?: BufferInspectionCallback): Record<string, unknown>;
21
17
  export {};
@@ -14,24 +14,24 @@ const node_opcua_factory_1 = require("node-opcua-factory");
14
14
  const node_opcua_test_helpers_1 = require("node-opcua-test-helpers");
15
15
  const should_1 = __importDefault(require("should"));
16
16
  const source_1 = require("../source");
17
- function dump_block_in_debug_mode(buffer, id, options) {
18
- if (process.env.DEBUG) {
19
- console.log((0, node_opcua_debug_1.hexDump)(buffer));
20
- (0, source_1.analyzePacket)(buffer, id, 0, 0, options);
21
- }
22
- }
23
17
  function isTypedArray(v) {
24
- if (v && v.buffer && v.buffer instanceof ArrayBuffer) {
18
+ if (v?.buffer && v.buffer instanceof ArrayBuffer) {
25
19
  return true;
26
20
  }
27
21
  return false;
28
22
  }
29
23
  function isArrayOrTypedArray(v) {
30
- return isTypedArray(v) || v instanceof Array;
24
+ return isTypedArray(v) || Array.isArray(v);
25
+ }
26
+ function dump_block_in_debug_mode(buffer, id, options) {
27
+ if (process.env.DEBUG) {
28
+ console.log((0, node_opcua_debug_1.hexDump)(buffer));
29
+ (0, source_1.analyzePacket)(buffer, id, 0, 0, options);
30
+ }
31
31
  }
32
32
  function compare(objReloaded, obj) {
33
33
  function displayError(p, expected, actual) {
34
- console.log(chalk_1.default.yellow(" ---------------------------------- error in encode_decode_round_trip_test"));
34
+ console.log(chalk_1.default.yellow(" ---------------------------------- error" + " in encode_decode_round_trip_test"));
35
35
  console.log(chalk_1.default.red(" key "), p);
36
36
  console.log(chalk_1.default.red(" expected "), JSON.stringify(expected));
37
37
  console.log(chalk_1.default.cyan(" actual "), JSON.stringify(actual));
@@ -50,8 +50,8 @@ function compare(objReloaded, obj) {
50
50
  }
51
51
  catch (err) {
52
52
  displayError(p, obj[p], objReloaded[p]);
53
- console.log(obj.toString());
54
- console.log(objReloaded.toString());
53
+ console.log(String(obj));
54
+ console.log(String(objReloaded));
55
55
  // re throw exception
56
56
  throw err;
57
57
  }
@@ -61,7 +61,7 @@ function redirectToNull(functor) {
61
61
  const old = console.log;
62
62
  if (!process.env.DEBUG) {
63
63
  // tslint:disable:no-empty
64
- console.log = (...args) => {
64
+ console.log = (..._args) => {
65
65
  /** */
66
66
  };
67
67
  }
@@ -73,11 +73,12 @@ function redirectToNull(functor) {
73
73
  }
74
74
  }
75
75
  /**
76
-
77
- * @param obj : object to test ( the object must provide a binaryStoreSize,encode,decode method
78
- * @param [options]
79
- * @param callback_buffer
80
- * @return {*}
76
+ * @param obj - object to test (the object must provide
77
+ * binaryStoreSize, encode, decode methods)
78
+ * @param options - optional options or callback
79
+ * @param callback_buffer - optional callback to inspect
80
+ * the encoded buffer
81
+ * @returns the reloaded object after decode
81
82
  */
82
83
  function encode_decode_round_trip_test(obj, options, callback_buffer) {
83
84
  if (!callback_buffer && typeof options === "function") {
@@ -89,11 +90,14 @@ function encode_decode_round_trip_test(obj, options, callback_buffer) {
89
90
  const size = obj.binaryStoreSize();
90
91
  const stream = new node_opcua_binary_stream_1.BinaryStream(Buffer.alloc(size));
91
92
  obj.encode(stream);
92
- callback_buffer(stream.buffer, obj.encodingDefaultBinary, options);
93
+ callback_buffer(stream.buffer, obj.encodingDefaultBinary, (options ?? {}));
93
94
  stream.rewind();
94
- // reconstruct a object ( some object may not have a default Binary and should be recreated
95
+ // reconstruct an object (some objects may not have a
96
+ // default Binary encoding and should be recreated)
95
97
  const expandedNodeId = obj.encodingDefaultBinary;
96
- const objReloaded = expandedNodeId ? (0, node_opcua_factory_1.getStandardDataTypeFactory)().constructObject(expandedNodeId) : new obj.constructor();
98
+ const objReloaded = expandedNodeId
99
+ ? (0, node_opcua_factory_1.getStandardDataTypeFactory)().constructObject(expandedNodeId)
100
+ : new obj.constructor();
97
101
  objReloaded.decode(stream);
98
102
  redirectToNull(() => (0, source_1.analyze_object_binary_encoding)(obj));
99
103
  compare(objReloaded, obj);
@@ -1 +1 @@
1
- {"version":3,"file":"encode_decode_round_trip_test.js","sourceRoot":"","sources":["../../test_helpers/encode_decode_round_trip_test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encode_decode_round_trip_test.js","sourceRoot":"","sources":["../../test_helpers/encode_decode_round_trip_test.ts"],"names":[],"mappings":"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"}