node-opcua-factory 2.97.0 → 2.98.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.
Files changed (55) hide show
  1. package/package.json +9 -9
  2. package/dist/base_ua_object.d.ts +0 -53
  3. package/dist/base_ua_object.js +0 -548
  4. package/dist/base_ua_object.js.map +0 -1
  5. package/dist/basic_type.d.ts +0 -40
  6. package/dist/basic_type.js +0 -119
  7. package/dist/basic_type.js.map +0 -1
  8. package/dist/builtin_types.d.ts +0 -46
  9. package/dist/builtin_types.js +0 -284
  10. package/dist/builtin_types.js.map +0 -1
  11. package/dist/builtin_types_special.d.ts +0 -5
  12. package/dist/builtin_types_special.js +0 -46
  13. package/dist/builtin_types_special.js.map +0 -1
  14. package/dist/datatype_factory.d.ts +0 -43
  15. package/dist/datatype_factory.js +0 -308
  16. package/dist/datatype_factory.js.map +0 -1
  17. package/dist/encode_decode.d.ts +0 -9
  18. package/dist/encode_decode.js +0 -40
  19. package/dist/encode_decode.js.map +0 -1
  20. package/dist/enumerations.d.ts +0 -34
  21. package/dist/enumerations.js +0 -82
  22. package/dist/enumerations.js.map +0 -1
  23. package/dist/get_built_in_type.d.ts +0 -0
  24. package/dist/get_built_in_type.js +0 -2
  25. package/dist/get_built_in_type.js.map +0 -1
  26. package/dist/get_standard_data_type_factory.d.ts +0 -5
  27. package/dist/get_standard_data_type_factory.js +0 -30
  28. package/dist/get_standard_data_type_factory.js.map +0 -1
  29. package/dist/get_structured_type_schema.d.ts +0 -1
  30. package/dist/get_structured_type_schema.js +0 -9
  31. package/dist/get_structured_type_schema.js.map +0 -1
  32. package/dist/id_generator.d.ts +0 -3
  33. package/dist/id_generator.js +0 -22
  34. package/dist/id_generator.js.map +0 -1
  35. package/dist/index.d.ts +0 -18
  36. package/dist/index.js +0 -35
  37. package/dist/index.js.map +0 -1
  38. package/dist/nodeid_type.d.ts +0 -13
  39. package/dist/nodeid_type.js +0 -19
  40. package/dist/nodeid_type.js.map +0 -1
  41. package/dist/parameters.d.ts +0 -3
  42. package/dist/parameters.js +0 -7
  43. package/dist/parameters.js.map +0 -1
  44. package/dist/register_class_definition.d.ts +0 -3
  45. package/dist/register_class_definition.js +0 -9
  46. package/dist/register_class_definition.js.map +0 -1
  47. package/dist/schema_helpers.d.ts +0 -24
  48. package/dist/schema_helpers.js +0 -100
  49. package/dist/schema_helpers.js.map +0 -1
  50. package/dist/structured_type_schema.d.ts +0 -39
  51. package/dist/structured_type_schema.js +0 -284
  52. package/dist/structured_type_schema.js.map +0 -1
  53. package/dist/types.d.ts +0 -160
  54. package/dist/types.js +0 -10
  55. package/dist/types.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-opcua-factory",
3
- "version": "2.97.0",
3
+ "version": "2.98.0",
4
4
  "description": "pure nodejs OPCUA SDK - module -factory",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -17,15 +17,15 @@
17
17
  "dependencies": {
18
18
  "chalk": "4.1.2",
19
19
  "node-opcua-assert": "2.88.0",
20
- "node-opcua-basic-types": "2.97.0",
21
- "node-opcua-binary-stream": "2.90.1",
20
+ "node-opcua-basic-types": "2.98.0",
21
+ "node-opcua-binary-stream": "2.98.0",
22
22
  "node-opcua-constants": "2.88.0",
23
- "node-opcua-debug": "2.90.1",
24
- "node-opcua-enum": "2.90.1",
23
+ "node-opcua-debug": "2.98.0",
24
+ "node-opcua-enum": "2.98.0",
25
25
  "node-opcua-guid": "2.88.0",
26
- "node-opcua-nodeid": "2.97.0",
27
- "node-opcua-status-code": "2.90.1",
28
- "node-opcua-utils": "2.90.1"
26
+ "node-opcua-nodeid": "2.98.0",
27
+ "node-opcua-status-code": "2.98.0",
28
+ "node-opcua-utils": "2.98.0"
29
29
  },
30
30
  "author": "Etienne Rossignon",
31
31
  "license": "MIT",
@@ -42,5 +42,5 @@
42
42
  "internet of things"
43
43
  ],
44
44
  "homepage": "http://node-opcua.github.io/",
45
- "gitHead": "19c96bda0810d2dec73dd1c2427546be40908646"
45
+ "gitHead": "07dcdd8e8c7f2b55544c6e23023093e35674829c"
46
46
  }
@@ -1,53 +0,0 @@
1
- import { BinaryStream, OutputBinaryStream } from "node-opcua-binary-stream";
2
- import { Func1, IStructuredTypeSchema, IBaseUAObject, DecodeDebugOptions } from "./types";
3
- export interface BaseUAObject extends IBaseUAObject {
4
- schema: IStructuredTypeSchema;
5
- }
6
- /**
7
- * @class BaseUAObject
8
- * @constructor
9
- */
10
- export declare class BaseUAObject {
11
- constructor();
12
- /**
13
- * Encode the object to the binary stream.
14
- * @class BaseUAObject
15
- * @method encode
16
- * @param stream {BinaryStream}
17
- */
18
- encode(stream: OutputBinaryStream): void;
19
- /**
20
- * Decode the object from the binary stream.
21
- * @class BaseUAObject
22
- * @method decode
23
- * @param stream {BinaryStream}
24
- */
25
- decode(stream: BinaryStream): void;
26
- /**
27
- * Calculate the required size to store this object in a binary stream.
28
- * @method binaryStoreSize
29
- * @return number
30
- */
31
- binaryStoreSize(): number;
32
- /**
33
- * @method toString
34
- * @return {String}
35
- */
36
- toString(...args: any[]): string;
37
- /**
38
- *
39
- * verify that all object attributes values are valid according to schema
40
- * @method isValid
41
- * @return boolean
42
- */
43
- isValid(): boolean;
44
- /**
45
- * @method decodeDebug
46
- *
47
- */
48
- decodeDebug(stream: BinaryStream, options: DecodeDebugOptions): void;
49
- explore(): string;
50
- applyOnAllFields<T>(func: Func1<T>, data: T): void;
51
- toJSON(): any;
52
- clone(): any;
53
- }
@@ -1,548 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.BaseUAObject = void 0;
5
- /* eslint-disable prefer-rest-params */
6
- /* eslint-disable complexity */
7
- /**
8
- * @module node-opcua-factory
9
- */
10
- // tslint:disable:no-shadowed-variable
11
- const chalk = require("chalk");
12
- const node_opcua_assert_1 = require("node-opcua-assert");
13
- const node_opcua_basic_types_1 = require("node-opcua-basic-types");
14
- const node_opcua_binary_stream_1 = require("node-opcua-binary-stream");
15
- const node_opcua_debug_1 = require("node-opcua-debug");
16
- const node_opcua_nodeid_1 = require("node-opcua-nodeid");
17
- const utils = require("node-opcua-utils");
18
- const enumerations_1 = require("./enumerations");
19
- const get_standard_data_type_factory_1 = require("./get_standard_data_type_factory");
20
- const types_1 = require("./types");
21
- const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
22
- function r(str, length = 30) {
23
- return (str + " ").substring(0, length);
24
- }
25
- function _findFieldSchema(typeDictionary, field, value) {
26
- const fieldType = field.fieldType;
27
- if (field.allowSubType && field.category === "complex") {
28
- const fieldTypeConstructor = value ? value.constructor : field.fieldTypeConstructor;
29
- const _newFieldSchema = fieldTypeConstructor.schema;
30
- return _newFieldSchema;
31
- }
32
- const fieldTypeConstructor = field.fieldTypeConstructor;
33
- if (fieldTypeConstructor) {
34
- return fieldTypeConstructor.prototype.schema;
35
- }
36
- const strucutreInfo = typeDictionary.getStructureInfoByTypeName(fieldType);
37
- return strucutreInfo.schema;
38
- }
39
- function _decode_member_(value, field, stream, options) {
40
- const tracer = options.tracer;
41
- const cursorBefore = stream.length;
42
- const fieldType = field.fieldType;
43
- switch (field.category) {
44
- case types_1.FieldCategory.basic:
45
- if (field.schema.decode) {
46
- value = field.schema.decode(stream);
47
- }
48
- tracer.trace("member", options.name, value, cursorBefore, stream.length, fieldType);
49
- break;
50
- case types_1.FieldCategory.enumeration:
51
- if (field.schema.decode) {
52
- value = field.schema.decode(stream);
53
- }
54
- tracer.trace("member", options.name, value, cursorBefore, stream.length, fieldType);
55
- break;
56
- case types_1.FieldCategory.complex: {
57
- (0, node_opcua_assert_1.assert)(field.category === types_1.FieldCategory.complex);
58
- if (!field.fieldTypeConstructor) {
59
- field.fieldTypeConstructor = (0, get_standard_data_type_factory_1.getStructureTypeConstructor)(field.fieldType);
60
- }
61
- if (typeof field.fieldTypeConstructor !== "function") {
62
- throw new Error("Cannot find constructor for " + field.name + "of type " + field.fieldType);
63
- }
64
- // assert(typeof field.fieldTypeConstructor === "function");
65
- const constructor = field.fieldTypeConstructor;
66
- value = new constructor();
67
- value.decodeDebug(stream, options);
68
- }
69
- }
70
- return value;
71
- }
72
- function _applyOnAllSchemaFields(self, schema, data, functor, args) {
73
- const baseSchema = schema.getBaseSchema();
74
- if (baseSchema) {
75
- _applyOnAllSchemaFields(self, baseSchema, data, functor, args);
76
- }
77
- for (const field of schema.fields) {
78
- functor(self, field, data, args);
79
- }
80
- }
81
- const _nbElements = typeof process === "object" ? (process.env.ARRAYLENGTH ? parseInt(process.env.ARRAYLENGTH, 10) : 10) : 10;
82
- const fullBuffer = typeof process === "object" ? !!((_a = process.env) === null || _a === void 0 ? void 0 : _a.FULLBUFFER) : false;
83
- function _arrayEllipsis(value, data) {
84
- if (!value) {
85
- return "null []";
86
- }
87
- else {
88
- if (value.length === 0) {
89
- return "[ /* empty*/ ]";
90
- }
91
- (0, node_opcua_assert_1.assert)(Array.isArray(value));
92
- const v = [];
93
- const m = Math.min(_nbElements, value.length);
94
- const ellipsis = value.length > _nbElements ? " ... " : "";
95
- const pad = data.padding + " ";
96
- let isMultiLine = true;
97
- for (let i = 0; i < m; i++) {
98
- let element = value[i];
99
- if (element instanceof Buffer) {
100
- element = (0, node_opcua_debug_1.hexDump)(element, 32, 16);
101
- }
102
- else if (utils.isNullOrUndefined(element)) {
103
- element = "null";
104
- }
105
- else {
106
- element = element.toString();
107
- const s = element.split("\n");
108
- if (s.length > 1) {
109
- element = "\n" + pad + s.join("\n" + pad);
110
- isMultiLine = true;
111
- }
112
- }
113
- if (element.length > 80) {
114
- isMultiLine = true;
115
- }
116
- v.push(element);
117
- }
118
- const length = "/* length =" + value.length + "*/";
119
- if (isMultiLine) {
120
- return "[ " + length + "\n" + pad + v.join(",\n" + pad + " ") + ellipsis + "\n" + data.padding + "]";
121
- }
122
- else {
123
- return "[ " + length + v.join(",") + ellipsis + "]";
124
- }
125
- }
126
- }
127
- // eslint-disable-next-line complexity
128
- // eslint-disable-next-line max-statements
129
- function _exploreObject(self, field, data, args) {
130
- if (!self) {
131
- return;
132
- }
133
- const fieldType = field.fieldType;
134
- const fieldName = field.name;
135
- const category = field.category;
136
- const padding = data.padding;
137
- let value = self[fieldName];
138
- let str;
139
- // decorate the field name with ?# if the field is optional
140
- let opt = " ";
141
- if (field.switchBit !== undefined) {
142
- opt = " ?" + field.switchBit + " ";
143
- }
144
- if (field.switchValue !== undefined) {
145
- opt = " !" + field.switchValue + " ";
146
- }
147
- const allowSubTypeSymbol = field.allowSubType ? "~" : " ";
148
- const arraySymbol = field.isArray ? "[]" : " ";
149
- const fieldNameF = chalk.yellow(r(padding + fieldName, 30));
150
- const fieldTypeF = chalk.cyan(`/* ${allowSubTypeSymbol}${r(fieldType + opt, 38)}${arraySymbol} */`);
151
- // detected when optional field is not specified in value
152
- if (field.switchBit !== undefined && value === undefined) {
153
- str = fieldNameF + " " + fieldTypeF + ": " + chalk.italic.grey("undefined") + " /* optional field not specified */";
154
- data.lines.push(str);
155
- return;
156
- }
157
- // detected when union field is not specified in value
158
- if (field.switchValue !== undefined && value === undefined) {
159
- str = fieldNameF + " " + fieldTypeF + ": " + chalk.italic.grey("undefined") + " /* union field not specified */";
160
- data.lines.push(str);
161
- return;
162
- }
163
- // compact version of very usual objects
164
- if (fieldType === "QualifiedName" && !field.isArray && value) {
165
- value = value.toString() || "<null>";
166
- str = fieldNameF + " " + fieldTypeF + ": " + chalk.green(value.toString());
167
- data.lines.push(str);
168
- return;
169
- }
170
- if (fieldType === "LocalizedText" && !field.isArray && value) {
171
- value = value.toString() || "<null>";
172
- str = fieldNameF + " " + fieldTypeF + ": " + chalk.green(value.toString());
173
- data.lines.push(str);
174
- return;
175
- }
176
- if (fieldType === "DataValue" && !field.isArray && value) {
177
- value = value.toString(data);
178
- str = fieldNameF + " " + fieldTypeF + ": " + chalk.green(value.toString(data));
179
- data.lines.push(str);
180
- return;
181
- }
182
- function _dump_enumeration_value(self, field, data, value, fieldType) {
183
- const s = field.schema;
184
- // istanbul ignore next
185
- if (!s.typedEnum) {
186
- // tslint:disable:no-console
187
- errorLog("xxxx cannot find typeEnum", s);
188
- }
189
- const convert = (value) => {
190
- // istanbul ignore next
191
- if (!s.typedEnum.get(value)) {
192
- return [value, s.typedEnum.get(value)];
193
- }
194
- else {
195
- return [value, s.typedEnum.get(value).key];
196
- }
197
- };
198
- const toS = ([n, s]) => `${n} /*(${s})*/`;
199
- if (field.isArray) {
200
- str =
201
- fieldNameF +
202
- " " +
203
- fieldTypeF +
204
- ": [" +
205
- value
206
- .map((c) => convert(c))
207
- .map(toS)
208
- .join(", ") +
209
- "]";
210
- data.lines.push(str);
211
- }
212
- else {
213
- const c = convert(value);
214
- str = `${fieldNameF} ${fieldTypeF}: ${toS(c)}`;
215
- data.lines.push(str);
216
- }
217
- }
218
- function _dump_simple_value(self, field, data, value, fieldType) {
219
- let str = "";
220
- if (value instanceof Buffer) {
221
- data.lines.push(fieldNameF + " " + fieldTypeF);
222
- if (fullBuffer || value.length <= 32) {
223
- const _hexDump = value.length <= 32 ? "Ox" + value.toString("hex") : "\n" + (0, node_opcua_debug_1.hexDump)(value);
224
- data.lines.push("Buffer: " + _hexDump);
225
- }
226
- else {
227
- const _hexDump1 = value.subarray(0, 16).toString("hex");
228
- const _hexDump2 = value.subarray(-16).toString("hex");
229
- data.lines.push("Buffer: ", _hexDump1 + "..." + _hexDump2);
230
- }
231
- }
232
- else {
233
- if (field.isArray) {
234
- str = fieldNameF + " " + fieldTypeF + ": " + _arrayEllipsis(value, data);
235
- }
236
- else {
237
- if (field.fieldType === "NodeId" && value instanceof node_opcua_nodeid_1.NodeId) {
238
- value = value.displayText();
239
- }
240
- else if (fieldType === "IntegerId" || fieldType === "UInt32") {
241
- if (field.name === "attributeId") {
242
- value = "AttributeIds." + node_opcua_basic_types_1.AttributeIds[value] + "/* " + value + " */";
243
- }
244
- else {
245
- const extra = value !== undefined ? "0x" + value.toString(16) : "undefined";
246
- value = "" + value + " " + extra;
247
- }
248
- }
249
- else if (fieldType === "DateTime" || fieldType === "UtcTime") {
250
- try {
251
- value = value && value.toISOString ? value.toISOString() : value;
252
- }
253
- catch (_a) {
254
- value = chalk.red((value === null || value === void 0 ? void 0 : value.toString()) + " *** ERROR ***");
255
- }
256
- }
257
- else if (typeof value === "object" && value !== null && value !== undefined) {
258
- // eslint-disable-next-line prefer-spread
259
- value = value.toString.apply(value, args);
260
- }
261
- str =
262
- fieldNameF +
263
- " " +
264
- fieldTypeF +
265
- ": " +
266
- (value === null || value === undefined ? chalk.blue("null") : value.toString());
267
- }
268
- data.lines.push(str);
269
- }
270
- }
271
- function _dump_complex_value(self, field, data, value, fieldType) {
272
- if (field.subType) {
273
- // this is a synonymous
274
- fieldType = field.subType;
275
- _dump_simple_value(self, field, data, value, fieldType);
276
- }
277
- else {
278
- const typeDictionary = self.schema.getDataTypeFactory();
279
- // istanbul ignore next
280
- if (!typeDictionary) {
281
- errorLog("Internal Error: No typeDictionary for ", self.schema);
282
- return;
283
- }
284
- if (field.isArray) {
285
- if (value === null) {
286
- data.lines.push(fieldNameF + " " + fieldTypeF + ": null []");
287
- }
288
- else if (value.length === 0) {
289
- data.lines.push(fieldNameF + " " + fieldTypeF + ": [ /* empty */ ]");
290
- }
291
- else {
292
- data.lines.push(fieldNameF + " " + fieldTypeF + ": [");
293
- const m = Math.min(_nbElements, value.length);
294
- for (let i = 0; i < m; i++) {
295
- const element = value[i];
296
- const _newFieldSchema = _findFieldSchema(typeDictionary, field, element);
297
- data.lines.push(padding + ` { ` + chalk.cyan(`/* ${i} - ${_newFieldSchema === null || _newFieldSchema === void 0 ? void 0 : _newFieldSchema.name}*/`));
298
- const data1 = {
299
- lines: [],
300
- padding: padding + " "
301
- };
302
- _applyOnAllSchemaFields(element, _newFieldSchema, data1, _exploreObject, args);
303
- data.lines = data.lines.concat(data1.lines);
304
- data.lines.push(padding + " }" + (i === value.length - 1 ? "" : ","));
305
- }
306
- if (m < value.length) {
307
- data.lines.push(padding + " ..... ( " + value.length + " elements )");
308
- }
309
- data.lines.push(padding + "]");
310
- }
311
- }
312
- else {
313
- const _newFieldSchema = _findFieldSchema(typeDictionary, field, value);
314
- data.lines.push(fieldNameF + " " + fieldTypeF + ": {");
315
- const data1 = { padding: padding + " ", lines: [] };
316
- _applyOnAllSchemaFields(value, _newFieldSchema, data1, _exploreObject, args);
317
- data.lines = data.lines.concat(data1.lines);
318
- data.lines.push(padding + "}");
319
- }
320
- }
321
- }
322
- switch (category) {
323
- case types_1.FieldCategory.enumeration:
324
- _dump_enumeration_value(self, field, data, value, fieldType);
325
- break;
326
- case types_1.FieldCategory.basic:
327
- _dump_simple_value(self, field, data, value, fieldType);
328
- break;
329
- case types_1.FieldCategory.complex:
330
- _dump_complex_value(self, field, data, value, fieldType);
331
- break;
332
- default:
333
- throw new Error("internal error: unknown kind_of_field " + category);
334
- }
335
- }
336
- function json_ify(t, value, fieldType) {
337
- if (value instanceof Array) {
338
- return value.map((e) => (e && e.toJSON ? e.toJSON() : e));
339
- }
340
- /*
341
- if (typeof fieldType.toJSON === "function") {
342
- return fieldType.toJSON(value);
343
- } else
344
- */
345
- if (t && t.toJSON) {
346
- return t.toJSON(value);
347
- }
348
- else if (value.toJSON) {
349
- return value.toJSON();
350
- }
351
- else {
352
- return value;
353
- }
354
- }
355
- function _JSONify(self, schema, pojo) {
356
- /* jshint validthis: true */
357
- for (const field of schema.fields) {
358
- const fieldValue = self[field.name];
359
- if (fieldValue === null || fieldValue === undefined) {
360
- continue;
361
- }
362
- if ((0, enumerations_1.hasBuiltInEnumeration)(field.fieldType)) {
363
- const enumeration = (0, enumerations_1.getBuiltInEnumeration)(field.fieldType);
364
- (0, node_opcua_assert_1.assert)(enumeration !== null);
365
- if (field.isArray) {
366
- pojo[field.name] = fieldValue.map((value) => enumeration.enumValues[value.toString()]);
367
- }
368
- else {
369
- pojo[field.name] = enumeration.enumValues[fieldValue.toString()];
370
- }
371
- continue;
372
- }
373
- const t = field.schema; // getBuiltInType(field.fieldType);
374
- if (field.isArray) {
375
- pojo[field.name] = fieldValue.map((value) => json_ify(t, value, field));
376
- }
377
- else {
378
- pojo[field.name] = json_ify(t, fieldValue, field);
379
- }
380
- }
381
- }
382
- /**
383
- * @class BaseUAObject
384
- * @constructor
385
- */
386
- class BaseUAObject {
387
- constructor() {
388
- /** */
389
- }
390
- /**
391
- * Encode the object to the binary stream.
392
- * @class BaseUAObject
393
- * @method encode
394
- * @param stream {BinaryStream}
395
- */
396
- encode(stream) {
397
- /** */
398
- }
399
- /**
400
- * Decode the object from the binary stream.
401
- * @class BaseUAObject
402
- * @method decode
403
- * @param stream {BinaryStream}
404
- */
405
- decode(stream) {
406
- /** */
407
- }
408
- /**
409
- * Calculate the required size to store this object in a binary stream.
410
- * @method binaryStoreSize
411
- * @return number
412
- */
413
- binaryStoreSize() {
414
- const stream = new node_opcua_binary_stream_1.BinaryStreamSizeCalculator();
415
- this.encode(stream);
416
- return stream.length;
417
- }
418
- /**
419
- * @method toString
420
- * @return {String}
421
- */
422
- toString(...args) {
423
- if (this.schema && Object.prototype.hasOwnProperty.call(this.schema, "toString")) {
424
- return this.schema.toString.apply(this, arguments);
425
- }
426
- else {
427
- if (!this.explore) {
428
- // xx console.log(util.inspect(this));
429
- return Object.prototype.toString.apply(this, arguments);
430
- }
431
- return this.explore();
432
- }
433
- }
434
- /**
435
- *
436
- * verify that all object attributes values are valid according to schema
437
- * @method isValid
438
- * @return boolean
439
- */
440
- isValid() {
441
- (0, node_opcua_assert_1.assert)(this.schema);
442
- if (this.schema.isValid) {
443
- return this.schema.isValid(this);
444
- }
445
- else {
446
- return true;
447
- }
448
- }
449
- /**
450
- * @method decodeDebug
451
- *
452
- */
453
- decodeDebug(stream, options) {
454
- const tracer = options.tracer;
455
- const schema = this.schema;
456
- tracer.trace("start", options.name + "(" + schema.name + ")", stream.length, stream.length);
457
- const self = this;
458
- for (const field of schema.fields) {
459
- const value = self[field.name];
460
- if (typeof field.switchValue === "number") {
461
- // skip
462
- if (self["switchField"] !== field.switchValue) {
463
- continue;
464
- }
465
- }
466
- if (field.isArray) {
467
- const cursorBefore = stream.length;
468
- let nb = stream.readUInt32();
469
- if (nb === 0xffffffff) {
470
- nb = 0;
471
- }
472
- options.name = field.name + [];
473
- tracer.trace("start_array", field.name, nb, cursorBefore, stream.length);
474
- for (let i = 0; i < nb; i++) {
475
- tracer.trace("start_element", field.name, i);
476
- options.name = "element #" + i;
477
- _decode_member_(value, field, stream, options);
478
- tracer.trace("end_element", field.name, i);
479
- }
480
- tracer.trace("end_array", field.name, stream.length - 4);
481
- }
482
- else {
483
- options.name = field.name;
484
- _decode_member_(value, field, stream, options);
485
- }
486
- }
487
- tracer.trace("end", schema.name, stream.length, stream.length);
488
- }
489
- explore() {
490
- const data = {
491
- lines: [],
492
- padding: " "
493
- };
494
- data.lines.push("{" + chalk.cyan(" /*" + (this.schema ? this.schema.name : "") + "*/"));
495
- if (this.schema) {
496
- this.applyOnAllFields(_exploreObject, data);
497
- }
498
- data.lines.push("};");
499
- return data.lines.join("\n");
500
- }
501
- applyOnAllFields(func, data) {
502
- _applyOnAllSchemaFields(this, this.schema, data, func, null);
503
- }
504
- toJSON() {
505
- (0, node_opcua_assert_1.assert)(this.schema);
506
- if (this.schema.toJSON) {
507
- return this.schema.toJSON.apply(this, arguments);
508
- }
509
- else {
510
- (0, node_opcua_assert_1.assert)(this.schema);
511
- const schema = this.schema;
512
- const pojo = {};
513
- _visitSchemaChain(this, schema, pojo, _JSONify, null);
514
- return pojo;
515
- }
516
- }
517
- clone( /*options,optionalFilter,extraInfo*/) {
518
- const self = this;
519
- const params = {};
520
- function construct_param(schema, options) {
521
- for (const field of schema.fields) {
522
- const f = self[field.name];
523
- if (f === null || f === undefined) {
524
- continue;
525
- }
526
- if (field.isArray) {
527
- options[field.name] = [...self[field.name]];
528
- }
529
- else {
530
- options[field.name] = self[field.name];
531
- }
532
- }
533
- }
534
- construct_param.call(this, self.schema, params);
535
- return new self.constructor(params);
536
- }
537
- }
538
- exports.BaseUAObject = BaseUAObject;
539
- function _visitSchemaChain(self, schema, pojo, func, extraData) {
540
- (0, node_opcua_assert_1.assert)(typeof func === "function");
541
- // apply also construct to baseType schema first
542
- const baseSchema = schema.getBaseSchema ? schema.getBaseSchema() : null;
543
- if (baseSchema) {
544
- _visitSchemaChain(self, baseSchema, pojo, func, extraData);
545
- }
546
- func.call(null, self, schema, pojo);
547
- }
548
- //# sourceMappingURL=base_ua_object.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base_ua_object.js","sourceRoot":"","sources":["../source/base_ua_object.ts"],"names":[],"mappings":"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"}