node-opcua-schemas 2.53.0 → 2.57.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.
- package/dist/source/dynamic_extension_object.js +39 -30
- package/dist/source/dynamic_extension_object.js.map +1 -1
- package/dist/source/parse_binary_xsd.js +16 -5
- package/dist/source/parse_binary_xsd.js.map +1 -1
- package/dist/source/tools.js +5 -2
- package/dist/source/tools.js.map +1 -1
- package/package.json +16 -14
- package/source/dynamic_extension_object.ts +56 -90
- package/source/index.ts +1 -1
- package/source/parse_binary_xsd.ts +55 -39
- package/source/tools.ts +20 -22
|
@@ -44,7 +44,7 @@ function encodeArrayOrElement(field, obj, stream, encodeFunc) {
|
|
|
44
44
|
if (field.isArray) {
|
|
45
45
|
const array = obj[field.name];
|
|
46
46
|
if (!array) {
|
|
47
|
-
stream.writeUInt32(
|
|
47
|
+
stream.writeUInt32(0xffffffff);
|
|
48
48
|
}
|
|
49
49
|
else {
|
|
50
50
|
stream.writeUInt32(array.length);
|
|
@@ -66,8 +66,7 @@ function encodeArrayOrElement(field, obj, stream, encodeFunc) {
|
|
|
66
66
|
if (!obj[field.name].encode) {
|
|
67
67
|
// tslint:disable:no-console
|
|
68
68
|
console.log(obj.schema.fields, field);
|
|
69
|
-
throw new Error("encodeArrayOrElement: object field "
|
|
70
|
-
+ field.name + " has no encode method and encodeFunc is missing");
|
|
69
|
+
throw new Error("encodeArrayOrElement: object field " + field.name + " has no encode method and encodeFunc is missing");
|
|
71
70
|
}
|
|
72
71
|
obj[field.name].encode(stream);
|
|
73
72
|
}
|
|
@@ -77,7 +76,7 @@ function decodeArrayOrElement(factory, field, obj, stream, decodeFunc) {
|
|
|
77
76
|
if (field.isArray) {
|
|
78
77
|
const array = [];
|
|
79
78
|
const nbElements = stream.readUInt32();
|
|
80
|
-
if (nbElements ===
|
|
79
|
+
if (nbElements === 0xffffffff) {
|
|
81
80
|
obj[field.name] = null;
|
|
82
81
|
}
|
|
83
82
|
else {
|
|
@@ -120,10 +119,10 @@ function initializeField(field, thisAny, options, schema, factory) {
|
|
|
120
119
|
if (!arr.map) {
|
|
121
120
|
console.log("Error", options);
|
|
122
121
|
}
|
|
123
|
-
|
|
122
|
+
thisAny[name] = arr.map((x) => (constructor ? new constructor(x) : null));
|
|
124
123
|
}
|
|
125
124
|
else {
|
|
126
|
-
|
|
125
|
+
thisAny[name] = constructor ? new constructor(options[name]) : null;
|
|
127
126
|
}
|
|
128
127
|
// xx processStructuredType(fieldSchema);
|
|
129
128
|
break;
|
|
@@ -131,10 +130,10 @@ function initializeField(field, thisAny, options, schema, factory) {
|
|
|
131
130
|
case node_opcua_factory_1.FieldCategory.enumeration:
|
|
132
131
|
case node_opcua_factory_1.FieldCategory.basic:
|
|
133
132
|
if (field.isArray) {
|
|
134
|
-
|
|
133
|
+
thisAny[name] = (0, node_opcua_factory_1.initialize_field_array)(field, options[name]);
|
|
135
134
|
}
|
|
136
135
|
else {
|
|
137
|
-
|
|
136
|
+
thisAny[name] = (0, node_opcua_factory_1.initialize_field)(field, options[name]);
|
|
138
137
|
}
|
|
139
138
|
break;
|
|
140
139
|
}
|
|
@@ -156,7 +155,7 @@ function initializeFields(thisAny, options, schema, factory) {
|
|
|
156
155
|
const name = field.name;
|
|
157
156
|
// dealing with optional fields
|
|
158
157
|
if (field.switchBit !== undefined && options[field.name] === undefined) {
|
|
159
|
-
|
|
158
|
+
thisAny[name] = undefined;
|
|
160
159
|
continue;
|
|
161
160
|
}
|
|
162
161
|
initializeField(field, thisAny, options, schema, factory);
|
|
@@ -166,7 +165,7 @@ function hasOptionalFieldsF(schema) {
|
|
|
166
165
|
if (schema.bitFields && schema.bitFields.length > 0) {
|
|
167
166
|
return true;
|
|
168
167
|
}
|
|
169
|
-
return
|
|
168
|
+
return schema._baseSchema ? hasOptionalFieldsF(schema._baseSchema) : false;
|
|
170
169
|
}
|
|
171
170
|
function _internal_encodeFields(thisAny, schema, stream) {
|
|
172
171
|
// encodeFields base class first
|
|
@@ -175,7 +174,7 @@ function _internal_encodeFields(thisAny, schema, stream) {
|
|
|
175
174
|
}
|
|
176
175
|
for (const field of schema.fields) {
|
|
177
176
|
// ignore
|
|
178
|
-
if (field.switchBit !== undefined &&
|
|
177
|
+
if (field.switchBit !== undefined && thisAny[field.name] === undefined) {
|
|
179
178
|
continue;
|
|
180
179
|
}
|
|
181
180
|
switch (field.category) {
|
|
@@ -193,8 +192,9 @@ function _internal_encodeFields(thisAny, schema, stream) {
|
|
|
193
192
|
}
|
|
194
193
|
}
|
|
195
194
|
function makeBitField(thisAny, schema, bo) {
|
|
196
|
-
|
|
197
|
-
let { bitField,
|
|
195
|
+
const data = schema._baseSchema ? makeBitField(thisAny, schema._baseSchema, bo) : bo;
|
|
196
|
+
let { bitField, allOptional } = data;
|
|
197
|
+
const { offset } = data;
|
|
198
198
|
let nbOptionalFields = 0;
|
|
199
199
|
for (const field of schema.fields) {
|
|
200
200
|
if (field.switchBit === undefined) {
|
|
@@ -202,11 +202,11 @@ function makeBitField(thisAny, schema, bo) {
|
|
|
202
202
|
continue;
|
|
203
203
|
}
|
|
204
204
|
nbOptionalFields += 1;
|
|
205
|
-
if (
|
|
205
|
+
if (thisAny[field.name] === undefined) {
|
|
206
206
|
continue;
|
|
207
207
|
}
|
|
208
208
|
// tslint:disable-next-line:no-bitwise
|
|
209
|
-
bitField |=
|
|
209
|
+
bitField |= 1 << (field.switchBit + offset);
|
|
210
210
|
}
|
|
211
211
|
return { bitField, offset: nbOptionalFields + offset, allOptional };
|
|
212
212
|
}
|
|
@@ -231,11 +231,11 @@ function internal_decodeFields(thisAny, bitField, hasOptionalFields, schema, str
|
|
|
231
231
|
if (hasOptionalFields && field.switchBit !== undefined) {
|
|
232
232
|
// tslint:disable-next-line:no-bitwise
|
|
233
233
|
if ((bitField & (1 << field.switchBit)) === 0) {
|
|
234
|
-
|
|
234
|
+
thisAny[field.name] = undefined;
|
|
235
235
|
continue;
|
|
236
236
|
}
|
|
237
237
|
else {
|
|
238
|
-
if (field.category === node_opcua_factory_1.FieldCategory.complex &&
|
|
238
|
+
if (field.category === node_opcua_factory_1.FieldCategory.complex && thisAny[field.name] === undefined) {
|
|
239
239
|
// need to create empty structure for deserialisation
|
|
240
240
|
initializeField(field, thisAny, {}, schema, factory);
|
|
241
241
|
}
|
|
@@ -259,7 +259,7 @@ function decodeFields(thisAny, schema, stream, factory) {
|
|
|
259
259
|
// ============ Deal with switchBits
|
|
260
260
|
const hasOptionalFields = hasOptionalFieldsF(schema);
|
|
261
261
|
let bitField = 0;
|
|
262
|
-
if (hasOptionalFields &&
|
|
262
|
+
if (hasOptionalFields && stream.buffer.length - stream.length > 0) {
|
|
263
263
|
bitField = stream.readUInt32();
|
|
264
264
|
}
|
|
265
265
|
internal_decodeFields(thisAny, bitField, hasOptionalFields, schema, stream, factory);
|
|
@@ -270,7 +270,7 @@ function ___fieldToJson(field, value) {
|
|
|
270
270
|
return value ? value === null || value === void 0 ? void 0 : value.toJSON() : null;
|
|
271
271
|
case node_opcua_factory_1.FieldCategory.enumeration:
|
|
272
272
|
case node_opcua_factory_1.FieldCategory.basic:
|
|
273
|
-
return value instanceof Date ? new Date(value.getTime()) : (
|
|
273
|
+
return value instanceof Date ? new Date(value.getTime()) : (value === null || value === void 0 ? void 0 : value.toJSON) ? value === null || value === void 0 ? void 0 : value.toJSON() : value;
|
|
274
274
|
default:
|
|
275
275
|
/* istanbul ignore next*/
|
|
276
276
|
throw new Error("Invalid category " + field.category + " " + node_opcua_factory_1.FieldCategory[field.category]);
|
|
@@ -336,6 +336,7 @@ DynamicExtensionObject.schema = node_opcua_extension_object_1.ExtensionObject.sc
|
|
|
336
336
|
DynamicExtensionObject.possibleFields = [];
|
|
337
337
|
// tslint:disable-next-line:max-classes-per-file
|
|
338
338
|
class UnionBaseClass extends node_opcua_factory_1.BaseUAObject {
|
|
339
|
+
// eslint-disable-next-line max-statements
|
|
339
340
|
constructor(options, schema, factory) {
|
|
340
341
|
super();
|
|
341
342
|
(0, node_opcua_assert_1.assert)(schema, "expecting a schema here ");
|
|
@@ -360,9 +361,12 @@ class UnionBaseClass extends node_opcua_factory_1.BaseUAObject {
|
|
|
360
361
|
if (uniqueFieldHasBeenFound && options[field.name] !== undefined) {
|
|
361
362
|
// let try to be helpful for the developper by providing some hint
|
|
362
363
|
debugLog(this.schema);
|
|
363
|
-
throw new Error("union must have only one choice in " +
|
|
364
|
-
|
|
365
|
-
"\n
|
|
364
|
+
throw new Error("union must have only one choice in " +
|
|
365
|
+
JSON.stringify(options) +
|
|
366
|
+
"\n found while investigating " +
|
|
367
|
+
field.name +
|
|
368
|
+
"\n switchFieldName = " +
|
|
369
|
+
switchFieldName);
|
|
366
370
|
}
|
|
367
371
|
if (options[switchFieldName] !== undefined) {
|
|
368
372
|
// then options[switchFieldName] must equal
|
|
@@ -383,7 +387,7 @@ class UnionBaseClass extends node_opcua_factory_1.BaseUAObject {
|
|
|
383
387
|
const constuctor = factory.getStructureTypeConstructor(field.fieldType);
|
|
384
388
|
// getOrCreateConstructor(field.fieldType, factory) || BaseUAObject;
|
|
385
389
|
if (field.isArray) {
|
|
386
|
-
this[name] = (options[name] || []).map((x) => constuctor ? new constuctor(x) : null);
|
|
390
|
+
this[name] = (options[name] || []).map((x) => (constuctor ? new constuctor(x) : null));
|
|
387
391
|
}
|
|
388
392
|
else {
|
|
389
393
|
this[name] = constuctor ? new constuctor(options[name]) : null;
|
|
@@ -407,7 +411,10 @@ class UnionBaseClass extends node_opcua_factory_1.BaseUAObject {
|
|
|
407
411
|
this[switchFieldName] = 0x00;
|
|
408
412
|
return;
|
|
409
413
|
}
|
|
410
|
-
const r = schema.fields
|
|
414
|
+
const r = schema.fields
|
|
415
|
+
.filter((f) => f.switchValue !== undefined)
|
|
416
|
+
.map((f) => f.name)
|
|
417
|
+
.join(" , ");
|
|
411
418
|
// it is possible also that the switchfield value do not correspond to a valid field
|
|
412
419
|
const foundFieldForSwitchValue = schema.fields.findIndex((f) => f.switchValue !== undefined && f.switchValue === options[switchFieldName]);
|
|
413
420
|
if (foundFieldForSwitchValue) {
|
|
@@ -528,11 +535,11 @@ function createDynamicObjectConstructor(schema, dataTypeFactory) {
|
|
|
528
535
|
}
|
|
529
536
|
let possibleFields = schema.fields.map((x) => x.name);
|
|
530
537
|
let BaseClass = DynamicExtensionObject;
|
|
531
|
-
if (schema.baseType !== "ExtensionObject"
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
538
|
+
if (schema.baseType !== "ExtensionObject" &&
|
|
539
|
+
schema.baseType !== "OptionSet" &&
|
|
540
|
+
schema.baseType !== "DataTypeDescription" &&
|
|
541
|
+
schema.baseType !== "DataTypeDefinition" &&
|
|
542
|
+
schema.baseType !== "EnumValueType") {
|
|
536
543
|
try {
|
|
537
544
|
const baseSchema = dataTypeFactory.getStructuredTypeSchema(schema.baseType);
|
|
538
545
|
schema._baseSchema = baseSchema;
|
|
@@ -559,6 +566,9 @@ function createDynamicObjectConstructor(schema, dataTypeFactory) {
|
|
|
559
566
|
constructor(options, schema2, factory2) {
|
|
560
567
|
super(options, schema2 ? schema2 : schema, factory2 ? factory2 : dataTypeFactory);
|
|
561
568
|
}
|
|
569
|
+
static get schema() {
|
|
570
|
+
return schema;
|
|
571
|
+
}
|
|
562
572
|
toString() {
|
|
563
573
|
return super.toString();
|
|
564
574
|
}
|
|
@@ -577,7 +587,6 @@ function createDynamicObjectConstructor(schema, dataTypeFactory) {
|
|
|
577
587
|
EXTENSION.encodingDefaultXml = new node_opcua_nodeid_1.ExpandedNodeId(node_opcua_nodeid_1.NodeIdType.NUMERIC, 0, 0);
|
|
578
588
|
EXTENSION.encodingDefaultBinary = new node_opcua_nodeid_1.ExpandedNodeId(node_opcua_nodeid_1.NodeIdType.NUMERIC, 0, 0);
|
|
579
589
|
EXTENSION.possibleFields = possibleFields;
|
|
580
|
-
EXTENSION.schema = schema;
|
|
581
590
|
// to do : may be remove DataType suffix here ?
|
|
582
591
|
Object.defineProperty(EXTENSION, "name", { value: schema.name });
|
|
583
592
|
schemaPriv.$Constructor = EXTENSION;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic_extension_object.js","sourceRoot":"","sources":["../../source/dynamic_extension_object.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dynamic_extension_object.js","sourceRoot":"","sources":["../../source/dynamic_extension_object.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,6 +73,7 @@ function resolveType(typeDictionary, typeName) {
|
|
|
73
73
|
found[typeName] = typeName;
|
|
74
74
|
}
|
|
75
75
|
if (namespace === "ua") {
|
|
76
|
+
/** */
|
|
76
77
|
}
|
|
77
78
|
}
|
|
78
79
|
class TypeDictionary {
|
|
@@ -82,6 +83,7 @@ class TypeDictionary {
|
|
|
82
83
|
this.structuredTypesRaw = [];
|
|
83
84
|
this.enumeratedTypesRaw = [];
|
|
84
85
|
this.structuredTypesRawMap = {};
|
|
86
|
+
/** */
|
|
85
87
|
}
|
|
86
88
|
addRaw(structuredType) {
|
|
87
89
|
this.structuredTypesRaw.push(structuredType);
|
|
@@ -146,7 +148,7 @@ const state0 = {
|
|
|
146
148
|
const key = this.attrs.Name;
|
|
147
149
|
const value = parseInt(this.attrs.Value, 10);
|
|
148
150
|
const _enum = this.parent.enumeratedType.enumeratedValues;
|
|
149
|
-
_enum[_enum[key] = value] = key;
|
|
151
|
+
_enum[(_enum[key] = value)] = key;
|
|
150
152
|
this.parent.typescriptDefinition += `\n ${key} = ${value},`;
|
|
151
153
|
}
|
|
152
154
|
}
|
|
@@ -187,7 +189,15 @@ const state0 = {
|
|
|
187
189
|
}
|
|
188
190
|
// istanbul ignore next
|
|
189
191
|
if (doDebug) {
|
|
190
|
-
debugLog(chalk.yellow(" field Name="), w(this.attrs.Name, 40), chalk.yellow(" typeName="), w(this.attrs.TypeName, 40), this.attrs.LengthField
|
|
192
|
+
debugLog(chalk.yellow(" field Name="), w(this.attrs.Name, 40), chalk.yellow(" typeName="), w(this.attrs.TypeName, 40), this.attrs.LengthField
|
|
193
|
+
? chalk.yellow(" lengthField= ") + w(this.attrs.LengthField, 40)
|
|
194
|
+
: "", this.attrs.SwitchField
|
|
195
|
+
? chalk.yellow(" SwitchField= ") + w(this.attrs.SwitchField, 40)
|
|
196
|
+
: "", this.attrs.SwitchValue !== undefined
|
|
197
|
+
? chalk.yellow(" SwitchValue= ") + w(this.attrs.SwitchValue, 40)
|
|
198
|
+
: ""
|
|
199
|
+
// chalk.yellow(" lengthField="), w(this.attrs.LengthField, 40)
|
|
200
|
+
);
|
|
191
201
|
}
|
|
192
202
|
resolveType(this.parent.typeDictionary, this.attrs.TypeName);
|
|
193
203
|
const field = {
|
|
@@ -227,8 +237,9 @@ const state0 = {
|
|
|
227
237
|
}
|
|
228
238
|
}
|
|
229
239
|
else {
|
|
230
|
-
field.switchBit = structuredType.bitFields
|
|
231
|
-
structuredType.bitFields.findIndex((x) => x.name === switchField)
|
|
240
|
+
field.switchBit = structuredType.bitFields
|
|
241
|
+
? structuredType.bitFields.findIndex((x) => x.name === switchField)
|
|
242
|
+
: -2;
|
|
232
243
|
// istanbul ignore next
|
|
233
244
|
if (doDebug) {
|
|
234
245
|
debugLog("field", field.name, " is optional => ", switchField, "bit #", field.switchBit);
|
|
@@ -254,7 +265,7 @@ function parseBinaryXSD(xmlString, idProvider, dataTypeFactory, callback) {
|
|
|
254
265
|
parser.parseString(xmlString, (err) => {
|
|
255
266
|
// resolve and prepare enumerations
|
|
256
267
|
for (const key in typeDictionary.enumeratedTypesRaw) {
|
|
257
|
-
if (!
|
|
268
|
+
if (!Object.prototype.hasOwnProperty.call(typeDictionary.enumeratedTypesRaw, key)) {
|
|
258
269
|
continue;
|
|
259
270
|
}
|
|
260
271
|
const enumeratedType = typeDictionary.enumeratedTypesRaw[key];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse_binary_xsd.js","sourceRoot":"","sources":["../../source/parse_binary_xsd.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse_binary_xsd.js","sourceRoot":"","sources":["../../source/parse_binary_xsd.ts"],"names":[],"mappings":"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"}
|
package/dist/source/tools.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getOrCreateStructuredTypeSchema = void 0;
|
|
4
|
+
/* eslint-disable max-depth */
|
|
5
|
+
/* eslint-disable max-statements */
|
|
4
6
|
const node_opcua_factory_1 = require("node-opcua-factory");
|
|
5
|
-
const dynamic_extension_object_1 = require("./dynamic_extension_object");
|
|
6
7
|
const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
8
|
+
const dynamic_extension_object_1 = require("./dynamic_extension_object");
|
|
7
9
|
function _removeNamespacePart(str) {
|
|
8
10
|
if (!str) {
|
|
9
11
|
return str;
|
|
@@ -25,6 +27,7 @@ function _adjustFieldTypeName(fieldTypeName) {
|
|
|
25
27
|
return fieldTypeName;
|
|
26
28
|
}
|
|
27
29
|
function getOrCreateStructuredTypeSchema(name, typeDictionary, dataTypeFactory, idProvider) {
|
|
30
|
+
// eslint-disable-next-line complexity
|
|
28
31
|
function _getOrCreateStructuredTypeSchema(_name) {
|
|
29
32
|
if (dataTypeFactory.hasStructuredType(_name)) {
|
|
30
33
|
return dataTypeFactory.getStructuredTypeSchema(_name);
|
|
@@ -137,7 +140,7 @@ function getOrCreateStructuredTypeSchema(name, typeDictionary, dataTypeFactory,
|
|
|
137
140
|
const ids = idProvider.getDataTypeAndEncodingId(schema.name);
|
|
138
141
|
if (!ids) {
|
|
139
142
|
// this may happen if the type is abstract or if the type referes to a internal ExtnsionObject
|
|
140
|
-
// that can only exists inside an other extension object.this Type of extension object cannot
|
|
143
|
+
// that can only exists inside an other extension object.this Type of extension object cannot
|
|
141
144
|
// instantiated as standalone object and do not have encoding nodeIds...
|
|
142
145
|
const Constructor = (0, dynamic_extension_object_1.createDynamicObjectConstructor)(schema, dataTypeFactory);
|
|
143
146
|
return schema;
|
package/dist/source/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../source/tools.ts"],"names":[],"mappings":";;;AAAA,2DAW4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../source/tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,30 +1,32 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-opcua-schemas",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.57.0",
|
|
4
4
|
"description": "pure nodejs OPCUA SDK - module -schemas",
|
|
5
5
|
"main": "dist/source/index.js",
|
|
6
6
|
"types": "dist/source/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "tsc -b",
|
|
9
|
+
"lint": "eslint source test",
|
|
10
|
+
"format": "prettier --write source test",
|
|
9
11
|
"clean": "node -e \"require('rimraf').sync('dist');\"",
|
|
10
12
|
"test": "echo no test"
|
|
11
13
|
},
|
|
12
14
|
"dependencies": {
|
|
13
|
-
"node-opcua-assert": "2.
|
|
14
|
-
"node-opcua-binary-stream": "2.
|
|
15
|
-
"node-opcua-data-model": "2.
|
|
16
|
-
"node-opcua-debug": "2.
|
|
17
|
-
"node-opcua-enum": "2.
|
|
18
|
-
"node-opcua-extension-object": "2.
|
|
19
|
-
"node-opcua-factory": "2.
|
|
20
|
-
"node-opcua-nodeid": "2.
|
|
21
|
-
"node-opcua-utils": "2.
|
|
22
|
-
"node-opcua-variant": "2.
|
|
23
|
-
"node-opcua-xml2json": "2.
|
|
15
|
+
"node-opcua-assert": "2.55.0",
|
|
16
|
+
"node-opcua-binary-stream": "2.55.0",
|
|
17
|
+
"node-opcua-data-model": "2.57.0",
|
|
18
|
+
"node-opcua-debug": "2.55.0",
|
|
19
|
+
"node-opcua-enum": "2.55.0",
|
|
20
|
+
"node-opcua-extension-object": "2.57.0",
|
|
21
|
+
"node-opcua-factory": "2.57.0",
|
|
22
|
+
"node-opcua-nodeid": "2.55.0",
|
|
23
|
+
"node-opcua-utils": "2.57.0",
|
|
24
|
+
"node-opcua-variant": "2.57.0",
|
|
25
|
+
"node-opcua-xml2json": "2.57.0",
|
|
24
26
|
"thenify": "^3.3.1"
|
|
25
27
|
},
|
|
26
28
|
"devDependencies": {
|
|
27
|
-
"node-opcua-packet-analyzer": "2.
|
|
29
|
+
"node-opcua-packet-analyzer": "2.57.0"
|
|
28
30
|
},
|
|
29
31
|
"author": "Etienne Rossignon",
|
|
30
32
|
"license": "MIT",
|
|
@@ -41,5 +43,5 @@
|
|
|
41
43
|
"internet of things"
|
|
42
44
|
],
|
|
43
45
|
"homepage": "http://node-opcua.github.io/",
|
|
44
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "cb6a995ab35ea6231ffca85fbd0b624fe37119d2"
|
|
45
47
|
}
|
|
@@ -28,7 +28,6 @@ export function getOrCreateConstructor(
|
|
|
28
28
|
encodingDefaultBinary?: ExpandedNodeId,
|
|
29
29
|
encodingDefaultXml?: ExpandedNodeId
|
|
30
30
|
): AnyConstructorFunc {
|
|
31
|
-
|
|
32
31
|
if (dataTypeFactory.hasStructuredType(dataTypeName)) {
|
|
33
32
|
return dataTypeFactory.getStructureTypeConstructor(dataTypeName);
|
|
34
33
|
}
|
|
@@ -70,7 +69,7 @@ function encodeArrayOrElement(
|
|
|
70
69
|
if (field.isArray) {
|
|
71
70
|
const array = obj[field.name];
|
|
72
71
|
if (!array) {
|
|
73
|
-
stream.writeUInt32(
|
|
72
|
+
stream.writeUInt32(0xffffffff);
|
|
74
73
|
} else {
|
|
75
74
|
stream.writeUInt32(array.length);
|
|
76
75
|
for (const e of array) {
|
|
@@ -88,8 +87,9 @@ function encodeArrayOrElement(
|
|
|
88
87
|
if (!obj[field.name].encode) {
|
|
89
88
|
// tslint:disable:no-console
|
|
90
89
|
console.log(obj.schema.fields, field);
|
|
91
|
-
throw new Error(
|
|
92
|
-
+ field.name + " has no encode method and encodeFunc is missing"
|
|
90
|
+
throw new Error(
|
|
91
|
+
"encodeArrayOrElement: object field " + field.name + " has no encode method and encodeFunc is missing"
|
|
92
|
+
);
|
|
93
93
|
}
|
|
94
94
|
obj[field.name].encode(stream);
|
|
95
95
|
}
|
|
@@ -106,14 +106,13 @@ function decodeArrayOrElement(
|
|
|
106
106
|
if (field.isArray) {
|
|
107
107
|
const array = [];
|
|
108
108
|
const nbElements = stream.readUInt32();
|
|
109
|
-
if (nbElements ===
|
|
109
|
+
if (nbElements === 0xffffffff) {
|
|
110
110
|
obj[field.name] = null;
|
|
111
111
|
} else {
|
|
112
112
|
for (let i = 0; i < nbElements; i++) {
|
|
113
113
|
if (decodeFunc) {
|
|
114
114
|
array.push(decodeFunc(stream));
|
|
115
115
|
} else {
|
|
116
|
-
|
|
117
116
|
// construct an instance
|
|
118
117
|
const constructor = factory.getStructureTypeConstructor(field.fieldType);
|
|
119
118
|
const element = new constructor({});
|
|
@@ -136,14 +135,7 @@ function decodeArrayOrElement(
|
|
|
136
135
|
}
|
|
137
136
|
}
|
|
138
137
|
|
|
139
|
-
function initializeField(
|
|
140
|
-
field: FieldType,
|
|
141
|
-
thisAny: any,
|
|
142
|
-
options: any,
|
|
143
|
-
schema: StructuredTypeSchema,
|
|
144
|
-
factory: DataTypeFactory
|
|
145
|
-
) {
|
|
146
|
-
|
|
138
|
+
function initializeField(field: FieldType, thisAny: any, options: any, schema: StructuredTypeSchema, factory: DataTypeFactory) {
|
|
147
139
|
const name = field.name;
|
|
148
140
|
|
|
149
141
|
switch (field.category) {
|
|
@@ -155,11 +147,9 @@ function initializeField(
|
|
|
155
147
|
if (!arr.map) {
|
|
156
148
|
console.log("Error", options);
|
|
157
149
|
}
|
|
158
|
-
|
|
159
|
-
constructor ? new constructor(x) : null
|
|
160
|
-
);
|
|
150
|
+
thisAny[name] = arr.map((x: any) => (constructor ? new constructor(x) : null));
|
|
161
151
|
} else {
|
|
162
|
-
|
|
152
|
+
thisAny[name] = constructor ? new constructor(options[name]) : null;
|
|
163
153
|
}
|
|
164
154
|
// xx processStructuredType(fieldSchema);
|
|
165
155
|
break;
|
|
@@ -167,9 +157,9 @@ function initializeField(
|
|
|
167
157
|
case FieldCategory.enumeration:
|
|
168
158
|
case FieldCategory.basic:
|
|
169
159
|
if (field.isArray) {
|
|
170
|
-
|
|
160
|
+
thisAny[name] = initialize_field_array(field, options[name]);
|
|
171
161
|
} else {
|
|
172
|
-
|
|
162
|
+
thisAny[name] = initialize_field(field, options[name]);
|
|
173
163
|
}
|
|
174
164
|
break;
|
|
175
165
|
}
|
|
@@ -182,19 +172,17 @@ function initializeField(
|
|
|
182
172
|
* @param factory
|
|
183
173
|
*/
|
|
184
174
|
function initializeFields(thisAny: any, options: any, schema: StructuredTypeSchema, factory: DataTypeFactory) {
|
|
185
|
-
|
|
186
175
|
// initialize base class first
|
|
187
176
|
if (schema._baseSchema && schema._baseSchema.fields.length) {
|
|
188
177
|
initializeFields(thisAny, options, schema._baseSchema!, factory);
|
|
189
178
|
}
|
|
190
179
|
// finding fields that are in options but not in schema!
|
|
191
180
|
for (const field of schema.fields) {
|
|
192
|
-
|
|
193
181
|
const name = field.name;
|
|
194
182
|
|
|
195
183
|
// dealing with optional fields
|
|
196
184
|
if (field.switchBit !== undefined && options[field.name] === undefined) {
|
|
197
|
-
|
|
185
|
+
thisAny[name] = undefined;
|
|
198
186
|
continue;
|
|
199
187
|
}
|
|
200
188
|
initializeField(field, thisAny, options, schema, factory);
|
|
@@ -205,7 +193,7 @@ function hasOptionalFieldsF(schema: StructuredTypeSchema): boolean {
|
|
|
205
193
|
if (schema.bitFields && schema.bitFields.length > 0) {
|
|
206
194
|
return true;
|
|
207
195
|
}
|
|
208
|
-
return
|
|
196
|
+
return schema._baseSchema ? hasOptionalFieldsF(schema._baseSchema) : false;
|
|
209
197
|
}
|
|
210
198
|
|
|
211
199
|
function _internal_encodeFields(thisAny: any, schema: StructuredTypeSchema, stream: OutputBinaryStream) {
|
|
@@ -214,9 +202,8 @@ function _internal_encodeFields(thisAny: any, schema: StructuredTypeSchema, stre
|
|
|
214
202
|
_internal_encodeFields(thisAny, schema._baseSchema!, stream);
|
|
215
203
|
}
|
|
216
204
|
for (const field of schema.fields) {
|
|
217
|
-
|
|
218
205
|
// ignore
|
|
219
|
-
if (field.switchBit !== undefined &&
|
|
206
|
+
if (field.switchBit !== undefined && thisAny[field.name] === undefined) {
|
|
220
207
|
continue;
|
|
221
208
|
}
|
|
222
209
|
|
|
@@ -240,9 +227,10 @@ interface BitfieldOffset {
|
|
|
240
227
|
allOptional: boolean;
|
|
241
228
|
}
|
|
242
229
|
function makeBitField(thisAny: any, schema: StructuredTypeSchema, bo: BitfieldOffset): BitfieldOffset {
|
|
230
|
+
const data = schema._baseSchema ? makeBitField(thisAny, schema._baseSchema, bo) : bo;
|
|
231
|
+
let { bitField, allOptional } = data;
|
|
232
|
+
const { offset } = data;
|
|
243
233
|
|
|
244
|
-
// tslint:disable-next-line: prefer-const
|
|
245
|
-
let { bitField, offset, allOptional } = schema._baseSchema ? makeBitField(thisAny, schema._baseSchema, bo) : bo;
|
|
246
234
|
let nbOptionalFields = 0;
|
|
247
235
|
for (const field of schema.fields) {
|
|
248
236
|
if (field.switchBit === undefined) {
|
|
@@ -250,17 +238,15 @@ function makeBitField(thisAny: any, schema: StructuredTypeSchema, bo: BitfieldOf
|
|
|
250
238
|
continue;
|
|
251
239
|
}
|
|
252
240
|
nbOptionalFields += 1;
|
|
253
|
-
if (
|
|
241
|
+
if (thisAny[field.name] === undefined) {
|
|
254
242
|
continue;
|
|
255
243
|
}
|
|
256
244
|
// tslint:disable-next-line:no-bitwise
|
|
257
|
-
bitField |=
|
|
258
|
-
|
|
245
|
+
bitField |= 1 << (field.switchBit + offset);
|
|
259
246
|
}
|
|
260
247
|
return { bitField, offset: nbOptionalFields + offset, allOptional };
|
|
261
248
|
}
|
|
262
249
|
function encodeFields(thisAny: any, schema: StructuredTypeSchema, stream: OutputBinaryStream) {
|
|
263
|
-
|
|
264
250
|
const hasOptionalFields = hasOptionalFieldsF(schema);
|
|
265
251
|
// ============ Deal with switchBits
|
|
266
252
|
if (hasOptionalFields) {
|
|
@@ -286,15 +272,14 @@ function internal_decodeFields(
|
|
|
286
272
|
internal_decodeFields(thisAny, bitField, hasOptionalFields, schema._baseSchema, stream, factory);
|
|
287
273
|
}
|
|
288
274
|
for (const field of schema.fields) {
|
|
289
|
-
|
|
290
275
|
// ignore fields that have a switch bit when bit is not set
|
|
291
276
|
if (hasOptionalFields && field.switchBit !== undefined) {
|
|
292
277
|
// tslint:disable-next-line:no-bitwise
|
|
293
278
|
if ((bitField & (1 << field.switchBit)) === 0) {
|
|
294
|
-
|
|
279
|
+
thisAny[field.name] = undefined;
|
|
295
280
|
continue;
|
|
296
281
|
} else {
|
|
297
|
-
if (field.category === FieldCategory.complex &&
|
|
282
|
+
if (field.category === FieldCategory.complex && thisAny[field.name] === undefined) {
|
|
298
283
|
// need to create empty structure for deserialisation
|
|
299
284
|
initializeField(field, thisAny, {}, schema, factory);
|
|
300
285
|
}
|
|
@@ -314,20 +299,13 @@ function internal_decodeFields(
|
|
|
314
299
|
throw new Error("Invalid category " + field.category + " " + FieldCategory[field.category]);
|
|
315
300
|
}
|
|
316
301
|
}
|
|
317
|
-
|
|
318
302
|
}
|
|
319
303
|
|
|
320
|
-
function decodeFields(
|
|
321
|
-
thisAny: any,
|
|
322
|
-
schema: StructuredTypeSchema,
|
|
323
|
-
stream: BinaryStream,
|
|
324
|
-
factory: DataTypeFactory
|
|
325
|
-
) {
|
|
326
|
-
|
|
304
|
+
function decodeFields(thisAny: any, schema: StructuredTypeSchema, stream: BinaryStream, factory: DataTypeFactory) {
|
|
327
305
|
// ============ Deal with switchBits
|
|
328
306
|
const hasOptionalFields = hasOptionalFieldsF(schema);
|
|
329
307
|
let bitField = 0;
|
|
330
|
-
if (hasOptionalFields &&
|
|
308
|
+
if (hasOptionalFields && stream.buffer.length - stream.length > 0) {
|
|
331
309
|
bitField = stream.readUInt32();
|
|
332
310
|
}
|
|
333
311
|
|
|
@@ -340,7 +318,7 @@ function ___fieldToJson(field: FieldType, value: any): any {
|
|
|
340
318
|
return value ? value?.toJSON() : null;
|
|
341
319
|
case FieldCategory.enumeration:
|
|
342
320
|
case FieldCategory.basic:
|
|
343
|
-
return value instanceof Date ? new Date(value.getTime()) :
|
|
321
|
+
return value instanceof Date ? new Date(value.getTime()) : value?.toJSON ? value?.toJSON() : value;
|
|
344
322
|
default:
|
|
345
323
|
/* istanbul ignore next*/
|
|
346
324
|
throw new Error("Invalid category " + field.category + " " + FieldCategory[field.category]);
|
|
@@ -355,11 +333,7 @@ function fieldToJSON(field: FieldType, value: any): any {
|
|
|
355
333
|
return ___fieldToJson(field, value);
|
|
356
334
|
}
|
|
357
335
|
}
|
|
358
|
-
function encodeToJson(
|
|
359
|
-
thisAny: any,
|
|
360
|
-
schema: StructuredTypeSchema,
|
|
361
|
-
pojo: any) {
|
|
362
|
-
|
|
336
|
+
function encodeToJson(thisAny: any, schema: StructuredTypeSchema, pojo: any) {
|
|
363
337
|
if (schema._baseSchema && schema._baseSchema.fields.length) {
|
|
364
338
|
encodeToJson(thisAny, schema._baseSchema!, pojo);
|
|
365
339
|
}
|
|
@@ -379,7 +353,6 @@ interface T {
|
|
|
379
353
|
const _private = new WeakMap<T>();
|
|
380
354
|
|
|
381
355
|
export class DynamicExtensionObject extends ExtensionObject {
|
|
382
|
-
|
|
383
356
|
public static schema: StructuredTypeSchema = ExtensionObject.schema;
|
|
384
357
|
public static possibleFields: string[] = [];
|
|
385
358
|
|
|
@@ -421,21 +394,20 @@ export class DynamicExtensionObject extends ExtensionObject {
|
|
|
421
394
|
encodeToJson(this, this.schema, pojo);
|
|
422
395
|
return pojo;
|
|
423
396
|
}
|
|
424
|
-
|
|
425
397
|
}
|
|
426
398
|
|
|
427
399
|
// tslint:disable:callable-types
|
|
428
400
|
interface AnyConstructable {
|
|
429
401
|
schema: StructuredTypeSchema;
|
|
430
402
|
possibleFields: string[];
|
|
431
|
-
new(options?: any, schema?: StructuredTypeSchema, factory?: DataTypeFactory): any;
|
|
403
|
+
new (options?: any, schema?: StructuredTypeSchema, factory?: DataTypeFactory): any;
|
|
432
404
|
}
|
|
433
405
|
|
|
434
406
|
export type AnyConstructorFunc = AnyConstructable;
|
|
435
407
|
|
|
436
408
|
// tslint:disable-next-line:max-classes-per-file
|
|
437
409
|
class UnionBaseClass extends BaseUAObject {
|
|
438
|
-
|
|
410
|
+
// eslint-disable-next-line max-statements
|
|
439
411
|
constructor(options: any, schema: StructuredTypeSchema, factory: DataTypeFactory) {
|
|
440
412
|
super();
|
|
441
413
|
|
|
@@ -451,7 +423,6 @@ class UnionBaseClass extends BaseUAObject {
|
|
|
451
423
|
let switchFieldName = "";
|
|
452
424
|
// finding fields that are in options but not in schema!
|
|
453
425
|
for (const field of this.schema.fields) {
|
|
454
|
-
|
|
455
426
|
const name = field.name;
|
|
456
427
|
if (field.switchValue === undefined) {
|
|
457
428
|
// this is the switch value field
|
|
@@ -467,9 +438,14 @@ class UnionBaseClass extends BaseUAObject {
|
|
|
467
438
|
if (uniqueFieldHasBeenFound && options[field.name] !== undefined) {
|
|
468
439
|
// let try to be helpful for the developper by providing some hint
|
|
469
440
|
debugLog(this.schema);
|
|
470
|
-
throw new Error(
|
|
471
|
-
"
|
|
472
|
-
|
|
441
|
+
throw new Error(
|
|
442
|
+
"union must have only one choice in " +
|
|
443
|
+
JSON.stringify(options) +
|
|
444
|
+
"\n found while investigating " +
|
|
445
|
+
field.name +
|
|
446
|
+
"\n switchFieldName = " +
|
|
447
|
+
switchFieldName
|
|
448
|
+
);
|
|
473
449
|
}
|
|
474
450
|
|
|
475
451
|
if (options[switchFieldName] !== undefined) {
|
|
@@ -491,9 +467,7 @@ class UnionBaseClass extends BaseUAObject {
|
|
|
491
467
|
const constuctor = factory.getStructureTypeConstructor(field.fieldType);
|
|
492
468
|
// getOrCreateConstructor(field.fieldType, factory) || BaseUAObject;
|
|
493
469
|
if (field.isArray) {
|
|
494
|
-
(this as any)[name] = (options[name] || []).map((x: any) =>
|
|
495
|
-
constuctor ? new constuctor(x) : null
|
|
496
|
-
);
|
|
470
|
+
(this as any)[name] = (options[name] || []).map((x: any) => (constuctor ? new constuctor(x) : null));
|
|
497
471
|
} else {
|
|
498
472
|
(this as any)[name] = constuctor ? new constuctor(options[name]) : null;
|
|
499
473
|
}
|
|
@@ -508,7 +482,6 @@ class UnionBaseClass extends BaseUAObject {
|
|
|
508
482
|
(this as any)[name] = initialize_field(field, options[name]);
|
|
509
483
|
}
|
|
510
484
|
break;
|
|
511
|
-
|
|
512
485
|
}
|
|
513
486
|
}
|
|
514
487
|
if (!uniqueFieldHasBeenFound) {
|
|
@@ -516,22 +489,27 @@ class UnionBaseClass extends BaseUAObject {
|
|
|
516
489
|
(this as any)[switchFieldName] = 0x00;
|
|
517
490
|
return;
|
|
518
491
|
}
|
|
519
|
-
const r = schema.fields
|
|
492
|
+
const r = schema.fields
|
|
493
|
+
.filter((f) => f.switchValue !== undefined)
|
|
494
|
+
.map((f) => f.name)
|
|
495
|
+
.join(" , ");
|
|
520
496
|
// it is possible also that the switchfield value do not correspond to a valid field
|
|
521
|
-
const foundFieldForSwitchValue = schema.fields.findIndex(
|
|
522
|
-
f.switchValue !== undefined && f.switchValue === options[switchFieldName]
|
|
497
|
+
const foundFieldForSwitchValue = schema.fields.findIndex(
|
|
498
|
+
(f) => f.switchValue !== undefined && f.switchValue === options[switchFieldName]
|
|
499
|
+
);
|
|
523
500
|
if (foundFieldForSwitchValue) {
|
|
524
501
|
// throw new Error(this.schema.name + ": cannot find field with value "
|
|
525
502
|
// + options[switchFieldName]);
|
|
526
503
|
} else {
|
|
527
504
|
console.log(this.schema);
|
|
528
|
-
throw new Error(
|
|
505
|
+
throw new Error(
|
|
506
|
+
this.schema.name + ": At least one of [ " + r + " ] must be specified in " + JSON.stringify(options)
|
|
507
|
+
);
|
|
529
508
|
}
|
|
530
509
|
}
|
|
531
510
|
}
|
|
532
511
|
|
|
533
512
|
public encode(stream: OutputBinaryStream): void {
|
|
534
|
-
|
|
535
513
|
const switchFieldName = this.schema.fields[0].name;
|
|
536
514
|
const switchValue = (this as any)[switchFieldName];
|
|
537
515
|
if (typeof switchValue !== "number") {
|
|
@@ -568,7 +546,6 @@ class UnionBaseClass extends BaseUAObject {
|
|
|
568
546
|
(this as any)[switchFieldName] = switchValue;
|
|
569
547
|
|
|
570
548
|
for (const field of this.schema.fields) {
|
|
571
|
-
|
|
572
549
|
if (field.switchValue === undefined || field.switchValue !== switchValue) {
|
|
573
550
|
continue;
|
|
574
551
|
}
|
|
@@ -598,7 +575,6 @@ class UnionBaseClass extends BaseUAObject {
|
|
|
598
575
|
}
|
|
599
576
|
|
|
600
577
|
public toJSON(): any {
|
|
601
|
-
|
|
602
578
|
const pojo: any = {};
|
|
603
579
|
const switchFieldName = this.schema.fields[0].name;
|
|
604
580
|
const switchValue = (this as any)[switchFieldName];
|
|
@@ -621,14 +597,9 @@ class UnionBaseClass extends BaseUAObject {
|
|
|
621
597
|
}
|
|
622
598
|
return pojo;
|
|
623
599
|
}
|
|
624
|
-
|
|
625
600
|
}
|
|
626
601
|
|
|
627
|
-
function _createDynamicUnionConstructor(
|
|
628
|
-
schema: StructuredTypeSchema,
|
|
629
|
-
factory: DataTypeFactory
|
|
630
|
-
): AnyConstructorFunc {
|
|
631
|
-
|
|
602
|
+
function _createDynamicUnionConstructor(schema: StructuredTypeSchema, factory: DataTypeFactory): AnyConstructorFunc {
|
|
632
603
|
const possibleFields = schema.fields.map((x: FieldType) => x.name);
|
|
633
604
|
|
|
634
605
|
// tslint:disable-next-line:max-classes-per-file
|
|
@@ -640,21 +611,15 @@ function _createDynamicUnionConstructor(
|
|
|
640
611
|
super(options, schema, factory);
|
|
641
612
|
assert(this.schema === schema);
|
|
642
613
|
}
|
|
643
|
-
|
|
644
614
|
}
|
|
645
615
|
|
|
646
616
|
// to do : may be remove DataType suffix here ?
|
|
647
617
|
Object.defineProperty(UNION, "name", { value: schema.name });
|
|
648
618
|
|
|
649
619
|
return UNION;
|
|
650
|
-
|
|
651
620
|
}
|
|
652
621
|
|
|
653
|
-
export function createDynamicObjectConstructor(
|
|
654
|
-
schema: StructuredTypeSchema,
|
|
655
|
-
dataTypeFactory: DataTypeFactory
|
|
656
|
-
): AnyConstructorFunc {
|
|
657
|
-
|
|
622
|
+
export function createDynamicObjectConstructor(schema: StructuredTypeSchema, dataTypeFactory: DataTypeFactory): AnyConstructorFunc {
|
|
658
623
|
const schemaPriv = schema as any;
|
|
659
624
|
|
|
660
625
|
if (schemaPriv.$Constructor) {
|
|
@@ -673,13 +638,13 @@ export function createDynamicObjectConstructor(
|
|
|
673
638
|
|
|
674
639
|
let BaseClass: AnyConstructorFunc = DynamicExtensionObject as AnyConstructorFunc;
|
|
675
640
|
|
|
676
|
-
if (
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
641
|
+
if (
|
|
642
|
+
schema.baseType !== "ExtensionObject" &&
|
|
643
|
+
schema.baseType !== "OptionSet" &&
|
|
644
|
+
schema.baseType !== "DataTypeDescription" &&
|
|
645
|
+
schema.baseType !== "DataTypeDefinition" &&
|
|
646
|
+
schema.baseType !== "EnumValueType"
|
|
681
647
|
) {
|
|
682
|
-
|
|
683
648
|
try {
|
|
684
649
|
const baseSchema = dataTypeFactory.getStructuredTypeSchema(schema.baseType);
|
|
685
650
|
schema._baseSchema = baseSchema;
|
|
@@ -695,7 +660,6 @@ export function createDynamicObjectConstructor(
|
|
|
695
660
|
}
|
|
696
661
|
schema._baseSchema = BaseClass.schema;
|
|
697
662
|
}
|
|
698
|
-
|
|
699
663
|
} catch (err) {
|
|
700
664
|
// xx console.log("createDynamicObjectConstructor err= ", err.message);
|
|
701
665
|
}
|
|
@@ -706,7 +670,9 @@ export function createDynamicObjectConstructor(
|
|
|
706
670
|
public static encodingDefaultXml = new ExpandedNodeId(NodeIdType.NUMERIC, 0, 0);
|
|
707
671
|
public static encodingDefaultBinary = new ExpandedNodeId(NodeIdType.NUMERIC, 0, 0);
|
|
708
672
|
public static possibleFields = possibleFields;
|
|
709
|
-
public static schema
|
|
673
|
+
public static get schema(): StructuredTypeSchema {
|
|
674
|
+
return schema;
|
|
675
|
+
}
|
|
710
676
|
|
|
711
677
|
constructor(options?: any, schema2?: StructuredTypeSchema, factory2?: DataTypeFactory) {
|
|
712
678
|
super(options, schema2 ? schema2 : schema, factory2 ? factory2 : dataTypeFactory);
|
package/source/index.ts
CHANGED
|
@@ -7,10 +7,7 @@
|
|
|
7
7
|
import * as chalk from "chalk";
|
|
8
8
|
|
|
9
9
|
import assert from "node-opcua-assert";
|
|
10
|
-
import {
|
|
11
|
-
checkDebugFlag,
|
|
12
|
-
make_debugLog
|
|
13
|
-
} from "node-opcua-debug";
|
|
10
|
+
import { checkDebugFlag, make_debugLog } from "node-opcua-debug";
|
|
14
11
|
import {
|
|
15
12
|
EnumerationDefinitionSchema,
|
|
16
13
|
FieldInterfaceOptions,
|
|
@@ -21,11 +18,8 @@ import {
|
|
|
21
18
|
import { DataTypeFactory } from "node-opcua-factory";
|
|
22
19
|
import { NodeId } from "node-opcua-nodeid";
|
|
23
20
|
import { Xml2Json } from "node-opcua-xml2json";
|
|
24
|
-
import { Z_UNKNOWN } from "zlib";
|
|
25
21
|
|
|
26
|
-
import {
|
|
27
|
-
getOrCreateStructuredTypeSchema,
|
|
28
|
-
} from "./tools";
|
|
22
|
+
import { getOrCreateStructuredTypeSchema } from "./tools";
|
|
29
23
|
|
|
30
24
|
const doDebug = checkDebugFlag(__filename);
|
|
31
25
|
const debugLog = make_debugLog(__filename);
|
|
@@ -76,7 +70,6 @@ const predefinedType: any = {
|
|
|
76
70
|
const found: any = {};
|
|
77
71
|
|
|
78
72
|
function resolveType(typeDictionary: string, typeName: string) {
|
|
79
|
-
|
|
80
73
|
const namespace = typeName.split(":")[0];
|
|
81
74
|
if (predefinedType[typeName]) {
|
|
82
75
|
return;
|
|
@@ -85,6 +78,7 @@ function resolveType(typeDictionary: string, typeName: string) {
|
|
|
85
78
|
found[typeName] = typeName;
|
|
86
79
|
}
|
|
87
80
|
if (namespace === "ua") {
|
|
81
|
+
/** */
|
|
88
82
|
}
|
|
89
83
|
}
|
|
90
84
|
|
|
@@ -110,14 +104,15 @@ export interface ITypeDictionary {
|
|
|
110
104
|
}
|
|
111
105
|
|
|
112
106
|
export class TypeDictionary implements ITypeDictionary {
|
|
113
|
-
public targetNamespace
|
|
107
|
+
public targetNamespace = "";
|
|
114
108
|
public imports: string[] = [];
|
|
115
109
|
public structuredTypesRaw: StructureTypeRaw[] = [];
|
|
116
110
|
public enumeratedTypesRaw: EnumeratedType[] = [];
|
|
117
111
|
private structuredTypesRawMap: any = {};
|
|
118
112
|
constructor() {
|
|
113
|
+
/** */
|
|
119
114
|
}
|
|
120
|
-
public addRaw(structuredType: StructureTypeRaw) {
|
|
115
|
+
public addRaw(structuredType: StructureTypeRaw): void {
|
|
121
116
|
this.structuredTypesRaw.push(structuredType);
|
|
122
117
|
this.structuredTypesRawMap[structuredType.name] = structuredType;
|
|
123
118
|
}
|
|
@@ -134,11 +129,9 @@ const state0: any = {
|
|
|
134
129
|
parser: {
|
|
135
130
|
TypeDictionary: {
|
|
136
131
|
init: function (this: any, name: string, attributes: any) {
|
|
137
|
-
|
|
138
132
|
this.typeDictionary = this.engine.typeDictionary as DataTypeFactory;
|
|
139
133
|
this.typeDictionary.defaultByteOrder = attributes.DefaultByteOrder;
|
|
140
134
|
this.typeDictionary.targetNamespace = attributes.TargetNamespace;
|
|
141
|
-
|
|
142
135
|
},
|
|
143
136
|
parser: {
|
|
144
137
|
Import: {
|
|
@@ -149,20 +142,22 @@ const state0: any = {
|
|
|
149
142
|
// _register_namespace_uri(this.text);
|
|
150
143
|
// istanbul ignore next
|
|
151
144
|
if (doDebug) {
|
|
152
|
-
debugLog("Import NameSpace = ", this.attrs.Namespace,
|
|
153
|
-
" Location", this.attrs.Location);
|
|
145
|
+
debugLog("Import NameSpace = ", this.attrs.Namespace, " Location", this.attrs.Location);
|
|
154
146
|
}
|
|
155
147
|
}
|
|
156
148
|
},
|
|
157
149
|
|
|
158
150
|
EnumeratedType: {
|
|
159
151
|
init: function (this: any) {
|
|
160
|
-
|
|
161
152
|
this.typescriptDefinition = "";
|
|
162
153
|
// istanbul ignore next
|
|
163
154
|
if (doDebug) {
|
|
164
|
-
debugLog(
|
|
165
|
-
|
|
155
|
+
debugLog(
|
|
156
|
+
chalk.cyan("EnumeratedType Name="),
|
|
157
|
+
w(this.attrs.Name, 40),
|
|
158
|
+
"LengthInBits=",
|
|
159
|
+
this.attrs.LengthInBits
|
|
160
|
+
);
|
|
166
161
|
}
|
|
167
162
|
|
|
168
163
|
this.enumeratedType = {
|
|
@@ -183,13 +178,12 @@ const state0: any = {
|
|
|
183
178
|
finish: function (this: any) {
|
|
184
179
|
// istanbul ignore next
|
|
185
180
|
if (doDebug) {
|
|
186
|
-
debugLog(" EnumeratedValue Name=",
|
|
187
|
-
w(this.attrs.Name, 40), " Value=", this.attrs.Value);
|
|
181
|
+
debugLog(" EnumeratedValue Name=", w(this.attrs.Name, 40), " Value=", this.attrs.Value);
|
|
188
182
|
}
|
|
189
183
|
const key = this.attrs.Name;
|
|
190
184
|
const value = parseInt(this.attrs.Value, 10);
|
|
191
185
|
const _enum = this.parent.enumeratedType.enumeratedValues;
|
|
192
|
-
_enum[_enum[key] = value] = key;
|
|
186
|
+
_enum[(_enum[key] = value)] = key;
|
|
193
187
|
this.parent.typescriptDefinition += `\n ${key} = ${value},`;
|
|
194
188
|
}
|
|
195
189
|
}
|
|
@@ -207,8 +201,12 @@ const state0: any = {
|
|
|
207
201
|
init: function (this: any) {
|
|
208
202
|
// istanbul ignore next
|
|
209
203
|
if (doDebug) {
|
|
210
|
-
debugLog(
|
|
211
|
-
chalk.
|
|
204
|
+
debugLog(
|
|
205
|
+
chalk.cyan("StructureType Name="),
|
|
206
|
+
chalk.green(this.attrs.Name),
|
|
207
|
+
" BaseType=",
|
|
208
|
+
this.attrs.BaseType
|
|
209
|
+
);
|
|
212
210
|
}
|
|
213
211
|
|
|
214
212
|
const baseType = this.attrs.BaseType;
|
|
@@ -228,7 +226,6 @@ const state0: any = {
|
|
|
228
226
|
parser: {
|
|
229
227
|
Field: {
|
|
230
228
|
finish: function (this: any) {
|
|
231
|
-
|
|
232
229
|
if (this.attrs.SourceType) {
|
|
233
230
|
// ignore this field, This is a repetition of the base type field with same name
|
|
234
231
|
return;
|
|
@@ -236,11 +233,19 @@ const state0: any = {
|
|
|
236
233
|
// istanbul ignore next
|
|
237
234
|
if (doDebug) {
|
|
238
235
|
debugLog(
|
|
239
|
-
chalk.yellow(" field Name="),
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
this.attrs.
|
|
236
|
+
chalk.yellow(" field Name="),
|
|
237
|
+
w(this.attrs.Name, 40),
|
|
238
|
+
chalk.yellow(" typeName="),
|
|
239
|
+
w(this.attrs.TypeName, 40),
|
|
240
|
+
this.attrs.LengthField
|
|
241
|
+
? chalk.yellow(" lengthField= ") + w(this.attrs.LengthField, 40)
|
|
242
|
+
: "",
|
|
243
|
+
this.attrs.SwitchField
|
|
244
|
+
? chalk.yellow(" SwitchField= ") + w(this.attrs.SwitchField, 40)
|
|
245
|
+
: "",
|
|
246
|
+
this.attrs.SwitchValue !== undefined
|
|
247
|
+
? chalk.yellow(" SwitchValue= ") + w(this.attrs.SwitchValue, 40)
|
|
248
|
+
: ""
|
|
244
249
|
// chalk.yellow(" lengthField="), w(this.attrs.LengthField, 40)
|
|
245
250
|
);
|
|
246
251
|
}
|
|
@@ -268,7 +273,6 @@ const state0: any = {
|
|
|
268
273
|
structuredType.fields.push(field);
|
|
269
274
|
}
|
|
270
275
|
if (this.attrs.SwitchField) {
|
|
271
|
-
|
|
272
276
|
// field is optional and can be omitted
|
|
273
277
|
const switchField = this.attrs.SwitchField;
|
|
274
278
|
|
|
@@ -277,7 +281,14 @@ const state0: any = {
|
|
|
277
281
|
field.switchValue = parseInt(this.attrs.SwitchValue, 10);
|
|
278
282
|
// istanbul ignore next
|
|
279
283
|
if (doDebug) {
|
|
280
|
-
debugLog(
|
|
284
|
+
debugLog(
|
|
285
|
+
"field",
|
|
286
|
+
field.name,
|
|
287
|
+
" is part of a union => ",
|
|
288
|
+
switchField,
|
|
289
|
+
" value #",
|
|
290
|
+
field.switchValue
|
|
291
|
+
);
|
|
281
292
|
}
|
|
282
293
|
// sometimes (like in Milo, baseType attribute is not specified)
|
|
283
294
|
if (!this.parent.attrs.baseType) {
|
|
@@ -285,11 +296,19 @@ const state0: any = {
|
|
|
285
296
|
this.parent.structuredType.baseType = "Union";
|
|
286
297
|
}
|
|
287
298
|
} else {
|
|
288
|
-
field.switchBit = structuredType.bitFields
|
|
289
|
-
structuredType.bitFields!.findIndex((x) => x.name === switchField)
|
|
299
|
+
field.switchBit = structuredType.bitFields
|
|
300
|
+
? structuredType.bitFields!.findIndex((x) => x.name === switchField)
|
|
301
|
+
: -2;
|
|
290
302
|
// istanbul ignore next
|
|
291
303
|
if (doDebug) {
|
|
292
|
-
debugLog(
|
|
304
|
+
debugLog(
|
|
305
|
+
"field",
|
|
306
|
+
field.name,
|
|
307
|
+
" is optional => ",
|
|
308
|
+
switchField,
|
|
309
|
+
"bit #",
|
|
310
|
+
field.switchBit
|
|
311
|
+
);
|
|
293
312
|
}
|
|
294
313
|
}
|
|
295
314
|
}
|
|
@@ -322,17 +341,15 @@ export function parseBinaryXSD(
|
|
|
322
341
|
idProvider: MapDataTypeAndEncodingIdProvider,
|
|
323
342
|
dataTypeFactory: DataTypeFactory,
|
|
324
343
|
callback: (err?: Error | null) => void
|
|
325
|
-
) {
|
|
326
|
-
|
|
344
|
+
): void {
|
|
327
345
|
const parser = new Xml2Json(state0);
|
|
328
346
|
const typeDictionary = new TypeDictionary();
|
|
329
347
|
(parser as any).typeDictionary = typeDictionary;
|
|
330
348
|
|
|
331
349
|
parser.parseString(xmlString, (err?: Error | null) => {
|
|
332
|
-
|
|
333
350
|
// resolve and prepare enumerations
|
|
334
351
|
for (const key in typeDictionary.enumeratedTypesRaw) {
|
|
335
|
-
if (!
|
|
352
|
+
if (!Object.prototype.hasOwnProperty.call(typeDictionary.enumeratedTypesRaw, key)) {
|
|
336
353
|
continue;
|
|
337
354
|
}
|
|
338
355
|
const enumeratedType = typeDictionary.enumeratedTypesRaw[key];
|
|
@@ -403,7 +420,6 @@ export async function parseBinaryXSDAsync(
|
|
|
403
420
|
idProvider: MapDataTypeAndEncodingIdProvider,
|
|
404
421
|
dataTypeFactory: DataTypeFactory
|
|
405
422
|
): Promise<void> {
|
|
406
|
-
|
|
407
423
|
debugLog("parseBinaryXSDAsync");
|
|
408
424
|
return new Promise((resolve, reject) => {
|
|
409
425
|
parseBinaryXSD(xmlString, idProvider, dataTypeFactory, (err?: Error | null) => {
|
package/source/tools.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/* eslint-disable max-depth */
|
|
2
|
+
/* eslint-disable max-statements */
|
|
1
3
|
import {
|
|
2
4
|
buildStructuredType,
|
|
3
5
|
ConstructorFuncWithSchema,
|
|
@@ -8,17 +10,13 @@ import {
|
|
|
8
10
|
hasBuiltInType,
|
|
9
11
|
hasStructuredType,
|
|
10
12
|
StructuredTypeOptions,
|
|
11
|
-
StructuredTypeSchema
|
|
13
|
+
StructuredTypeSchema
|
|
12
14
|
} from "node-opcua-factory";
|
|
13
|
-
import {
|
|
14
|
-
createDynamicObjectConstructor
|
|
15
|
-
} from "./dynamic_extension_object";
|
|
16
|
-
import {
|
|
17
|
-
MapDataTypeAndEncodingIdProvider,
|
|
18
|
-
TypeDictionary,
|
|
19
|
-
} from "./parse_binary_xsd";
|
|
20
15
|
import { ExpandedNodeId } from "node-opcua-nodeid";
|
|
21
16
|
|
|
17
|
+
import { createDynamicObjectConstructor } from "./dynamic_extension_object";
|
|
18
|
+
import { MapDataTypeAndEncodingIdProvider, TypeDictionary } from "./parse_binary_xsd";
|
|
19
|
+
|
|
22
20
|
function _removeNamespacePart(str?: string): string | undefined {
|
|
23
21
|
if (!str) {
|
|
24
22
|
return str;
|
|
@@ -49,11 +47,8 @@ export function getOrCreateStructuredTypeSchema(
|
|
|
49
47
|
dataTypeFactory: DataTypeFactory,
|
|
50
48
|
idProvider: MapDataTypeAndEncodingIdProvider
|
|
51
49
|
): StructuredTypeSchema {
|
|
52
|
-
|
|
53
|
-
function _getOrCreateStructuredTypeSchema(
|
|
54
|
-
_name: string,
|
|
55
|
-
): StructuredTypeSchema {
|
|
56
|
-
|
|
50
|
+
// eslint-disable-next-line complexity
|
|
51
|
+
function _getOrCreateStructuredTypeSchema(_name: string): StructuredTypeSchema {
|
|
57
52
|
if (dataTypeFactory.hasStructuredType(_name)) {
|
|
58
53
|
return dataTypeFactory.getStructuredTypeSchema(_name);
|
|
59
54
|
}
|
|
@@ -74,13 +69,19 @@ export function getOrCreateStructuredTypeSchema(
|
|
|
74
69
|
// but they belongs to the base class and shall be remove/
|
|
75
70
|
// For instance DataTypeSchemaHeader => UABinaryFileDataType
|
|
76
71
|
if (baseSchema && baseSchema.fields && baseSchema.name !== "ExtensionObject") {
|
|
77
|
-
structuredType.fields = structuredType.fields.filter((field)=> {
|
|
72
|
+
structuredType.fields = structuredType.fields.filter((field) => {
|
|
78
73
|
const name = field.name;
|
|
79
|
-
const index = baseSchema.fields.findIndex((f)=> f.name === name);
|
|
80
|
-
if(index>=0) {
|
|
74
|
+
const index = baseSchema.fields.findIndex((f) => f.name === name);
|
|
75
|
+
if (index >= 0) {
|
|
81
76
|
// tslint:disable-next-line: no-console
|
|
82
|
-
console.log(
|
|
83
|
-
|
|
77
|
+
console.log(
|
|
78
|
+
"Warning : find duplicated field from base structure : field name ",
|
|
79
|
+
name,
|
|
80
|
+
"baseSchema = ",
|
|
81
|
+
baseSchema.name,
|
|
82
|
+
"schema =",
|
|
83
|
+
structuredType.name
|
|
84
|
+
);
|
|
84
85
|
}
|
|
85
86
|
return index < 0;
|
|
86
87
|
});
|
|
@@ -88,13 +89,11 @@ export function getOrCreateStructuredTypeSchema(
|
|
|
88
89
|
for (const field of structuredType.fields) {
|
|
89
90
|
const fieldType = field.fieldType;
|
|
90
91
|
if (!field.schema) {
|
|
91
|
-
|
|
92
92
|
const prefix = _getNamespacePart(fieldType);
|
|
93
93
|
const fieldTypeName = _adjustFieldTypeName(_removeNamespacePart(fieldType)!);
|
|
94
94
|
|
|
95
95
|
switch (prefix) {
|
|
96
96
|
case "tns":
|
|
97
|
-
|
|
98
97
|
field.fieldType = fieldTypeName;
|
|
99
98
|
if (dataTypeFactory.hasEnumeration(fieldTypeName)) {
|
|
100
99
|
const enumeratedType = dataTypeFactory.getEnumeration(fieldTypeName);
|
|
@@ -120,7 +119,6 @@ export function getOrCreateStructuredTypeSchema(
|
|
|
120
119
|
} else if (dataTypeFactory.hasStructuredType(fieldTypeName)) {
|
|
121
120
|
field.category = FieldCategory.complex;
|
|
122
121
|
field.schema = dataTypeFactory.getStructuredTypeSchema(fieldTypeName);
|
|
123
|
-
|
|
124
122
|
} else {
|
|
125
123
|
field.category = FieldCategory.basic;
|
|
126
124
|
// try in this
|
|
@@ -168,7 +166,7 @@ export function getOrCreateStructuredTypeSchema(
|
|
|
168
166
|
const ids = idProvider.getDataTypeAndEncodingId(schema.name);
|
|
169
167
|
if (!ids) {
|
|
170
168
|
// this may happen if the type is abstract or if the type referes to a internal ExtnsionObject
|
|
171
|
-
// that can only exists inside an other extension object.this Type of extension object cannot
|
|
169
|
+
// that can only exists inside an other extension object.this Type of extension object cannot
|
|
172
170
|
// instantiated as standalone object and do not have encoding nodeIds...
|
|
173
171
|
const Constructor = createDynamicObjectConstructor(schema, dataTypeFactory) as ConstructorFuncWithSchema;
|
|
174
172
|
return schema;
|