node-opcua-schemas 2.72.2 → 2.73.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,22 +1,22 @@
1
1
  import { BinaryStream, OutputBinaryStream } from "node-opcua-binary-stream";
2
2
  import { ExtensionObject } from "node-opcua-extension-object";
3
- import { DataTypeFactory, StructuredTypeSchema } from "node-opcua-factory";
3
+ import { DataTypeFactory, IStructuredTypeSchema, StructuredTypeSchema } from "node-opcua-factory";
4
4
  import { ExpandedNodeId } from "node-opcua-nodeid";
5
5
  export declare function getOrCreateConstructor(dataTypeName: string, dataTypeFactory: DataTypeFactory, encodingDefaultBinary?: ExpandedNodeId, encodingDefaultXml?: ExpandedNodeId): AnyConstructorFunc;
6
6
  export declare class DynamicExtensionObject extends ExtensionObject {
7
- static schema: StructuredTypeSchema;
7
+ static schema: IStructuredTypeSchema;
8
8
  static possibleFields: string[];
9
- constructor(options: any, schema: StructuredTypeSchema, factory: DataTypeFactory);
9
+ constructor(options: any, schema: IStructuredTypeSchema, factory: DataTypeFactory);
10
10
  encode(stream: OutputBinaryStream): void;
11
11
  decode(stream: BinaryStream): void;
12
12
  get schema(): StructuredTypeSchema;
13
13
  toJSON(): any;
14
14
  }
15
15
  interface AnyConstructable {
16
- schema: StructuredTypeSchema;
16
+ schema: IStructuredTypeSchema;
17
17
  possibleFields: string[];
18
- new (options?: any, schema?: StructuredTypeSchema, factory?: DataTypeFactory): any;
18
+ new (options?: any, schema?: IStructuredTypeSchema, factory?: DataTypeFactory): any;
19
19
  }
20
20
  export declare type AnyConstructorFunc = AnyConstructable;
21
- export declare function createDynamicObjectConstructor(schema: StructuredTypeSchema, dataTypeFactory: DataTypeFactory): AnyConstructorFunc;
21
+ export declare function createDynamicObjectConstructor(schema: IStructuredTypeSchema, dataTypeFactory: DataTypeFactory): AnyConstructorFunc;
22
22
  export {};
@@ -7,9 +7,11 @@ exports.createDynamicObjectConstructor = exports.DynamicExtensionObject = export
7
7
  const node_opcua_assert_1 = require("node-opcua-assert");
8
8
  const node_opcua_debug_1 = require("node-opcua-debug");
9
9
  const node_opcua_extension_object_1 = require("node-opcua-extension-object");
10
+ const node_opcua_variant_1 = require("node-opcua-variant");
10
11
  const node_opcua_factory_1 = require("node-opcua-factory");
11
12
  const node_opcua_nodeid_1 = require("node-opcua-nodeid");
12
13
  const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
14
+ const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
13
15
  const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
14
16
  function getOrCreateConstructor(dataTypeName, dataTypeFactory, encodingDefaultBinary, encodingDefaultXml) {
15
17
  if (dataTypeFactory.hasStructuredType(dataTypeName)) {
@@ -40,6 +42,24 @@ function getOrCreateConstructor(dataTypeName, dataTypeFactory, encodingDefaultBi
40
42
  return constructor;
41
43
  }
42
44
  exports.getOrCreateConstructor = getOrCreateConstructor;
45
+ function encodeElement(field, element, stream, encodeFunc) {
46
+ if (encodeFunc) {
47
+ encodeFunc(element, stream);
48
+ }
49
+ else {
50
+ // istanbul ignore next
51
+ if (!element.encode) {
52
+ throw new Error("encodeArrayOrElement: object field " + field.name + " has no encode method and encodeFunc is missing");
53
+ }
54
+ if (field.allowSubType) {
55
+ (0, node_opcua_extension_object_1.encodeExtensionObject)(element, stream);
56
+ // new Variant({ dataType: DataType.ExtensionObject, value: element }).encode(stream);
57
+ }
58
+ else {
59
+ element.encode(stream);
60
+ }
61
+ }
62
+ }
43
63
  function encodeArrayOrElement(field, obj, stream, encodeFunc) {
44
64
  if (field.isArray) {
45
65
  const array = obj[field.name];
@@ -49,26 +69,29 @@ function encodeArrayOrElement(field, obj, stream, encodeFunc) {
49
69
  else {
50
70
  stream.writeUInt32(array.length);
51
71
  for (const e of array) {
52
- if (encodeFunc) {
53
- encodeFunc(e, stream);
54
- }
55
- else {
56
- e.encode(stream);
57
- }
72
+ encodeElement(field, e, stream, encodeFunc);
58
73
  }
59
74
  }
60
75
  }
61
76
  else {
62
- if (encodeFunc) {
63
- encodeFunc(obj[field.name], stream);
77
+ encodeElement(field, obj[field.name], stream, encodeFunc);
78
+ }
79
+ }
80
+ function decodeElement(factory, field, stream, decodeFunc) {
81
+ if (decodeFunc) {
82
+ return decodeFunc(stream);
83
+ }
84
+ else {
85
+ if (field.allowSubType) {
86
+ const element = (0, node_opcua_extension_object_1.decodeExtensionObject)(stream);
87
+ return element;
64
88
  }
65
89
  else {
66
- if (!obj[field.name].encode) {
67
- // tslint:disable:no-console
68
- console.log(obj.schema.fields, field);
69
- throw new Error("encodeArrayOrElement: object field " + field.name + " has no encode method and encodeFunc is missing");
70
- }
71
- obj[field.name].encode(stream);
90
+ // construct an instance
91
+ const constructor = factory.getStructureTypeConstructor(field.fieldType);
92
+ const element = new constructor({});
93
+ element.decode(stream);
94
+ return element;
72
95
  }
73
96
  }
74
97
  }
@@ -81,59 +104,133 @@ function decodeArrayOrElement(factory, field, obj, stream, decodeFunc) {
81
104
  }
82
105
  else {
83
106
  for (let i = 0; i < nbElements; i++) {
84
- if (decodeFunc) {
85
- array.push(decodeFunc(stream));
86
- }
87
- else {
88
- // construct an instance
89
- const constructor = factory.getStructureTypeConstructor(field.fieldType);
90
- const element = new constructor({});
91
- element.decode(stream);
92
- array.push(element);
93
- }
107
+ const element = decodeElement(factory, field, stream, decodeFunc);
108
+ array.push(element);
94
109
  }
95
110
  obj[field.name] = array;
96
111
  }
97
112
  }
98
113
  else {
99
- if (decodeFunc) {
100
- obj[field.name] = decodeFunc(stream);
114
+ obj[field.name] = decodeElement(factory, field, stream, decodeFunc);
115
+ }
116
+ }
117
+ function isSubtype(factory, dataTypeNodeId, schema) {
118
+ var _a;
119
+ if (dataTypeNodeId.toString() === schema.dataTypeNodeId.toString()) {
120
+ return true;
121
+ }
122
+ if (!schema._baseSchema || !((_a = schema._baseSchema) === null || _a === void 0 ? void 0 : _a.dataTypeNodeId))
123
+ return false;
124
+ const c = factory.getConstructorForDataType(schema._baseSchema.dataTypeNodeId);
125
+ if (!c) {
126
+ return false;
127
+ }
128
+ return isSubtype(factory, dataTypeNodeId, c.schema);
129
+ }
130
+ function _validateSubType(factory, field, value) {
131
+ (0, node_opcua_assert_1.assert)(field.allowSubType);
132
+ if (!value) {
133
+ value = { dataType: node_opcua_variant_1.DataType.Null, value: null };
134
+ // const msg = "initializeField: field { dataType,value} is required here";
135
+ // errorLog(msg);
136
+ // throw new Error(msg);
137
+ return;
138
+ }
139
+ if (field.category === "basic") {
140
+ if (!Object.prototype.hasOwnProperty.call(value, "dataType")) {
141
+ const msg = "initializeField: field that allow subtype must be a Variant like and have a dataType property";
142
+ errorLog(msg);
143
+ throw new Error(msg);
144
+ }
145
+ const c = factory.getBuiltInTypeByDataType((0, node_opcua_nodeid_1.coerceNodeId)(`i=${value.dataType}`, 0));
146
+ const d = factory.getBuiltInType(field.fieldType);
147
+ if (c && c.isSubTypeOf(d)) {
148
+ return;
149
+ }
150
+ const msg = "initializeField: invalid subtype for field " +
151
+ field.name +
152
+ " expecting " +
153
+ field.fieldType +
154
+ " but got " +
155
+ node_opcua_variant_1.DataType[value.dataType];
156
+ errorLog(msg);
157
+ throw new Error(msg);
158
+ }
159
+ else {
160
+ if (value !== null && !(value instanceof node_opcua_extension_object_1.ExtensionObject)) {
161
+ errorLog("initializeField: array element is not an ExtensionObject");
162
+ throw new Error(`${field.name}: array element must be an ExtensionObject`);
163
+ }
164
+ const e = value;
165
+ if (!isSubtype(factory, field.dataType, e.schema)) {
166
+ const msg = "initializeField: invalid subtype for field " +
167
+ field.name +
168
+ " expecting " +
169
+ field.fieldType +
170
+ " but got " +
171
+ e.schema.id.toString() +
172
+ " " +
173
+ e.schema.name;
174
+ errorLog(msg);
175
+ throw new Error(msg);
101
176
  }
102
- else {
103
- if (!obj[field.name]) {
104
- const constructor = factory.getStructureTypeConstructor(field.fieldType);
105
- obj[field.name] = new constructor({});
106
- }
107
- obj[field.name].decode(stream);
177
+ }
178
+ }
179
+ function validateSubTypeA(factory, field, value) {
180
+ if (field.isArray) {
181
+ const arr = value || [];
182
+ for (const e of arr) {
183
+ // now check that element is of the correct type
184
+ _validateSubType(factory, field, e);
108
185
  }
109
186
  }
187
+ else {
188
+ _validateSubType(factory, field, value);
189
+ }
110
190
  }
111
191
  function initializeField(field, thisAny, options, schema, factory) {
112
192
  const name = field.name;
113
193
  switch (field.category) {
114
194
  case node_opcua_factory_1.FieldCategory.complex: {
115
- const constructor = factory.getStructureTypeConstructor(field.fieldType);
116
- // getOrCreateConstructor(field.fieldType, factory) || BaseUAObject;
117
- if (field.isArray) {
118
- const arr = options[name] || [];
119
- if (!arr.map) {
120
- console.log("Error", options);
195
+ if (field.allowSubType) {
196
+ validateSubTypeA(factory, field, options[name]);
197
+ if (field.isArray) {
198
+ const arr = options[name] || [];
199
+ thisAny[name] = arr.map((x) => x.clone());
200
+ }
201
+ else {
202
+ const e = options[name];
203
+ if (e !== null && !(e instanceof node_opcua_extension_object_1.ExtensionObject)) {
204
+ errorLog("initializeField: array element is not an ExtensionObject");
205
+ }
206
+ // now check that element is of the correct type
207
+ thisAny[name] = e.clone();
121
208
  }
122
- thisAny[name] = arr.map((x) => (constructor ? new constructor(x) : null));
123
209
  }
124
210
  else {
125
- thisAny[name] = constructor ? new constructor(options[name]) : null;
211
+ const constructor = factory.getStructureTypeConstructor(field.fieldType);
212
+ if (field.isArray) {
213
+ const arr = options[name] || [];
214
+ thisAny[name] = arr.map((x) => (constructor ? new constructor(x) : null));
215
+ }
216
+ else {
217
+ thisAny[name] = constructor ? new constructor(options[name]) : null;
218
+ }
126
219
  }
220
+ // getOrCreateConstructor(field.fieldType, factory) || BaseUAObject;
127
221
  // xx processStructuredType(fieldSchema);
128
222
  break;
129
223
  }
130
224
  case node_opcua_factory_1.FieldCategory.enumeration:
131
225
  case node_opcua_factory_1.FieldCategory.basic:
226
+ if (field.allowSubType) {
227
+ validateSubTypeA(factory, field, options[name]);
228
+ }
132
229
  if (field.isArray) {
133
- thisAny[name] = (0, node_opcua_factory_1.initialize_field_array)(field, options[name]);
230
+ thisAny[name] = (0, node_opcua_factory_1.initialize_field_array)(field, options[name], factory);
134
231
  }
135
232
  else {
136
- thisAny[name] = (0, node_opcua_factory_1.initialize_field)(field, options[name]);
233
+ thisAny[name] = (0, node_opcua_factory_1.initialize_field)(field, options[name], factory);
137
234
  }
138
235
  break;
139
236
  }
@@ -302,7 +399,7 @@ const _private = new WeakMap();
302
399
  class DynamicExtensionObject extends node_opcua_extension_object_1.ExtensionObject {
303
400
  constructor(options, schema, factory) {
304
401
  (0, node_opcua_assert_1.assert)(schema, "expecting a schema here ");
305
- (0, node_opcua_assert_1.assert)(factory, "expecting a typeDic");
402
+ (0, node_opcua_assert_1.assert)(factory, "expecting a DataTypeFactory");
306
403
  super(options);
307
404
  options = options || {};
308
405
  _private.set(this, { schema, factory });
@@ -561,7 +658,7 @@ function createDynamicObjectConstructor(schema, dataTypeFactory) {
561
658
  // tslint:disable-next-line:max-classes-per-file
562
659
  class EXTENSION extends BaseClass {
563
660
  constructor(options, schema2, factory2) {
564
- super(options, schema2 ? schema2 : schema, factory2 ? factory2 : dataTypeFactory);
661
+ super(options, schema2 ? schema2 : EXTENSION.schema, factory2 ? factory2 : dataTypeFactory);
565
662
  }
566
663
  static get schema() {
567
664
  return schema;
@@ -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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"}
@@ -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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"}
@@ -6,6 +6,12 @@ function toTypeScript(dataTypeFactory) {
6
6
  const structuredTypes = dataTypeFactory._structureTypeConstructorByNameMap;
7
7
  const declaration = new Map();
8
8
  function adjustType(t) {
9
+ if (t === "String") {
10
+ t = "UAString";
11
+ }
12
+ else if (t === "Boolean") {
13
+ t = "UABoolean";
14
+ }
9
15
  if (!enumeratedTypes.has(t) && !structuredTypes.has(t)) {
10
16
  declaration.set(t, t);
11
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"toTypeScript.js","sourceRoot":"","sources":["../../source/toTypeScript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toTypeScript.js","sourceRoot":"","sources":["../../source/toTypeScript.ts"],"names":[],"mappings":";;;AAEA,SAAgB,YAAY,CAAC,eAAgC;IACzD,MAAM,eAAe,GAA8C,eAAuB,CAAC,aAAa,CAAC;IACzG,MAAM,eAAe,GAA4C,eAAuB,CAAC,kCAAkC,CAAC;IAE5H,MAAM,WAAW,GAAwB,IAAI,GAAG,EAAE,CAAC;IAEnD,SAAS,UAAU,CAAC,CAAS;QACzB,IAAI,CAAC,KAAK,QAAQ,EAAE;YAChB,CAAC,GAAG,UAAU,CAAC;SAClB;aAAM,IAAI,CAAC,KAAK,SAAS,EAAE;YACxB,CAAC,GAAG,WAAW,CAAC;SACnB;QAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACpD,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACzB;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IACD,MAAM,CAAC,GAAa,EAAE,CAAC;IACvB,cAAc;IACd,KAAK,MAAM,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE;QACtC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;QAClC,+CAA+C;QAC/C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAiB,CAAC,EAAE;YACjD,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9B,IAAI,EAAE,IAAI,CAAC,EAAE;gBACT,SAAS;aACZ;YACD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SACpC;QACD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACf;IACD,MAAM,WAAW,GAAgB,IAAI,GAAG,EAAE,CAAC;IAC3C,SAAS,QAAQ,CAAC,CAAwB;;QACtC,kBAAkB;QAClB,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QAErB,MAAM,EAAE,GAAG,MAAA,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC;QAE1C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE;YACzC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAChB;QACD,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAE3C,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO,EAAE;YACxB,MAAM,CAAC,GAAa,EAAE,CAAC;YAEvB,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,uBAAuB;YACvB,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE;gBAC1B,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE;oBACjC,iCAAiC;oBACjC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC7B,MAAM;iBACT;aACJ;YACD,qBAAqB;YACrB,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE;gBAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBACxB,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE;oBACjC,SAAS;iBACZ;gBACD,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,WAAW,IAAI,GAAG,GAAG,CAAC,CAAC;gBAC1D,CAAC,CAAC,IAAI,CAAC,OAAO,eAAe,KAAK,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;gBACxD,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC/C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACZ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;aAC3C;YACD,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,MAAM,EAAE,GAAG,CAAC,CAAC;SACrC;aAAM;YACH,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvB,CAAC,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;aAC7D;YAED,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;gBACtB,IAAI,CAAC,CAAC,aAAa,EAAE;oBACjB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;iBACvC;gBACD,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,CAAC,CAAC,OAAO,EAAE;oBACX,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,KAAK,KAAK,SAAS,KAAK,CAAC,CAAC;iBACpD;qBAAM;oBACH,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,KAAK,KAAK,SAAS,GAAG,CAAC,CAAC;iBAClD;aACJ;YACD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACf;IACL,CAAC;IACD,UAAU;IACV,KAAK,MAAM,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE;QACtC,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAChC,SAAS;SACZ;QACD,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;KACtB;IACD,MAAM,UAAU,GAAG,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC,CAAC,OAAO,CAAC,iBAAiB,UAAU,wBAAwB,CAAC,CAAC;IAC/D,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAxGD,oCAwGC"}
@@ -1,3 +1,3 @@
1
- import { DataTypeFactory, StructuredTypeSchema } from "node-opcua-factory";
1
+ import { DataTypeFactory, IStructuredTypeSchema } from "node-opcua-factory";
2
2
  import { MapDataTypeAndEncodingIdProvider, TypeDictionary } from "./parse_binary_xsd";
3
- export declare function getOrCreateStructuredTypeSchema(name: string, typeDictionary: TypeDictionary, dataTypeFactory: DataTypeFactory, idProvider: MapDataTypeAndEncodingIdProvider): StructuredTypeSchema;
3
+ export declare function getOrCreateStructuredTypeSchema(name: string, typeDictionary: TypeDictionary, dataTypeFactory: DataTypeFactory, idProvider: MapDataTypeAndEncodingIdProvider): IStructuredTypeSchema;
@@ -3,9 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getOrCreateStructuredTypeSchema = void 0;
4
4
  /* eslint-disable max-depth */
5
5
  /* eslint-disable max-statements */
6
+ const node_opcua_debug_1 = require("node-opcua-debug");
6
7
  const node_opcua_factory_1 = require("node-opcua-factory");
7
8
  const node_opcua_nodeid_1 = require("node-opcua-nodeid");
8
9
  const dynamic_extension_object_1 = require("./dynamic_extension_object");
10
+ const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
9
11
  function _removeNamespacePart(str) {
10
12
  if (!str) {
11
13
  return str;
@@ -18,11 +20,11 @@ function _getNamespacePart(str) {
18
20
  }
19
21
  function _adjustFieldTypeName(fieldTypeName) {
20
22
  // special cases
21
- if (fieldTypeName === "String" || fieldTypeName === "CharArray") {
22
- fieldTypeName = "UAString";
23
+ if (fieldTypeName === "UAString" || fieldTypeName === "CharArray") {
24
+ fieldTypeName = "String";
23
25
  }
24
- if (fieldTypeName === "Boolean") {
25
- fieldTypeName = "UABoolean";
26
+ if (fieldTypeName === "UABoolean") {
27
+ fieldTypeName = "Boolean";
26
28
  }
27
29
  return fieldTypeName;
28
30
  }
@@ -32,6 +34,12 @@ function getOrCreateStructuredTypeSchema(name, typeDictionary, dataTypeFactory,
32
34
  if (dataTypeFactory.hasStructuredType(_name)) {
33
35
  return dataTypeFactory.getStructuredTypeSchema(_name);
34
36
  }
37
+ if (dataTypeFactory.hasEnumeration(_name)) {
38
+ return dataTypeFactory.getEnumeration(_name);
39
+ }
40
+ if (dataTypeFactory.hasBuiltInType(_name)) {
41
+ return dataTypeFactory.getBuiltInType(_name);
42
+ }
35
43
  // construct it !
36
44
  const structuredType = typeDictionary.getStructuredTypesRawByName(_name);
37
45
  if (!structuredType) {
@@ -48,9 +56,9 @@ function getOrCreateStructuredTypeSchema(name, typeDictionary, dataTypeFactory,
48
56
  structuredType.fields = structuredType.fields.filter((field) => {
49
57
  const name = field.name;
50
58
  const index = baseSchema.fields.findIndex((f) => f.name === name);
59
+ // istanbul ignore next
51
60
  if (index >= 0) {
52
- // tslint:disable-next-line: no-console
53
- console.log("Warning : find duplicated field from base structure : field name ", name, "baseSchema = ", baseSchema.name, "schema =", structuredType.name);
61
+ errorLog("Warning : find duplicated field from base structure : field name ", name, "baseSchema = ", baseSchema.name, "schema =", structuredType.name);
54
62
  }
55
63
  return index < 0;
56
64
  });
@@ -74,9 +82,9 @@ function getOrCreateStructuredTypeSchema(name, typeDictionary, dataTypeFactory,
74
82
  const schema1 = dataTypeFactory.getStructuredTypeSchema(fieldTypeName);
75
83
  field.schema = schema1;
76
84
  // _getOrCreateStructuredTypeSchema(fieldTypeName);
85
+ // istanbul ignore next
77
86
  if (!field.schema) {
78
- // tslint:disable-next-line:no-console
79
- console.log("cannot find schema for ", fieldTypeName);
87
+ errorLog("cannot find schema for ", fieldTypeName);
80
88
  }
81
89
  }
82
90
  break;
@@ -84,7 +92,7 @@ function getOrCreateStructuredTypeSchema(name, typeDictionary, dataTypeFactory,
84
92
  field.fieldType = fieldTypeName;
85
93
  if ((0, node_opcua_factory_1.hasBuiltInType)(fieldTypeName)) {
86
94
  field.category = node_opcua_factory_1.FieldCategory.basic;
87
- field.schema = (0, node_opcua_factory_1.getBuildInType)(fieldTypeName);
95
+ field.schema = (0, node_opcua_factory_1.getBuiltInType)(fieldTypeName);
88
96
  }
89
97
  else if (dataTypeFactory.hasStructuredType(fieldTypeName)) {
90
98
  field.category = node_opcua_factory_1.FieldCategory.complex;
@@ -94,9 +102,9 @@ function getOrCreateStructuredTypeSchema(name, typeDictionary, dataTypeFactory,
94
102
  field.category = node_opcua_factory_1.FieldCategory.basic;
95
103
  // try in this
96
104
  field.schema = _getOrCreateStructuredTypeSchema(fieldTypeName);
105
+ // istanbul ignore next
97
106
  if (!field.schema) {
98
- // tslint:disable-next-line:no-console
99
- console.log("What should I do ??", fieldTypeName, " ", (0, node_opcua_factory_1.hasStructuredType)(fieldTypeName));
107
+ errorLog("What should I do ??", fieldTypeName, " ", (0, node_opcua_factory_1.hasStructuredType)(fieldTypeName));
100
108
  }
101
109
  else {
102
110
  if ((0, node_opcua_factory_1.hasBuiltInType)(fieldTypeName)) {
@@ -111,7 +119,6 @@ function getOrCreateStructuredTypeSchema(name, typeDictionary, dataTypeFactory,
111
119
  case "opc":
112
120
  if ((fieldTypeName === "UAString" || fieldTypeName === "String") && field.name === "IndexRange") {
113
121
  field.fieldType = "NumericRange";
114
- // xx console.log(" NumericRange detected here !");
115
122
  }
116
123
  else {
117
124
  field.fieldType = fieldTypeName;
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../source/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../source/tools.ts"],"names":[],"mappings":";;;AAAA,8BAA8B;AAC9B,mCAAmC;AACnC,uDAAiD;AACjD,2DAU4B;AAC5B,yDAAmD;AAEnD,yEAA4E;AAG5E,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAE3C,SAAS,oBAAoB,CAAC,GAAY;IACtC,IAAI,CAAC,GAAG,EAAE;QACN,OAAO,GAAG,CAAC;KACd;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC3C,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW;IAClC,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,oBAAoB,CAAC,aAAqB;IAC/C,gBAAgB;IAChB,IAAI,aAAa,KAAK,UAAU,IAAI,aAAa,KAAK,WAAW,EAAE;QAC/D,aAAa,GAAG,QAAQ,CAAC;KAC5B;IACD,IAAI,aAAa,KAAK,WAAW,EAAE;QAC/B,aAAa,GAAG,SAAS,CAAC;KAC7B;IAED,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,SAAgB,+BAA+B,CAC3C,IAAY,EACZ,cAA8B,EAC9B,eAAgC,EAChC,UAA4C;IAE5C,sCAAsC;IACtC,SAAS,gCAAgC,CAAC,KAAa;QACnD,IAAI,eAAe,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;YAC1C,OAAO,eAAe,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;SACzD;QACD,IAAI,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YACvC,OAAO,eAAe,CAAC,cAAc,CAAC,KAAK,CAAqC,CAAC;SACpF;QACD,IAAI,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YACvC,OAAO,eAAe,CAAC,cAAc,CAAC,KAAK,CAAqC,CAAC;SACpF;QACD,iBAAiB;QACjB,MAAM,cAAc,GAAG,cAAc,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QACzE,IAAI,CAAC,cAAc,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,KAAK,CAAC,CAAC;SAC1D;QAED,cAAc,CAAC,QAAQ,GAAG,oBAAoB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACxE,cAAc,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAEhG,MAAM,UAAU,GAAG,cAAc,CAAC,2BAA2B,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEvF,0BAA0B;QAC1B,gFAAgF;QAChF,gEAAgE;QAChE,kEAAkE;QAClE,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,IAAI,KAAK,iBAAiB,EAAE;YAC1E,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBACxB,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;gBAElE,uBAAuB;gBACvB,IAAI,KAAK,IAAI,CAAC,EAAE;oBACZ,QAAQ,CACJ,mEAAmE,EACnE,IAAI,EACJ,eAAe,EACf,UAAU,CAAC,IAAI,EACf,UAAU,EACV,cAAc,CAAC,IAAI,CACtB,CAAC;iBACL;gBACD,OAAO,KAAK,GAAG,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;SACN;QACD,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,MAAM,EAAE;YACvC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBACf,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAC5C,MAAM,aAAa,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,SAAS,CAAE,CAAC,CAAC;gBAE7E,QAAQ,MAAM,EAAE;oBACZ,KAAK,KAAK;wBACN,KAAK,CAAC,SAAS,GAAG,aAAa,CAAC;wBAChC,IAAI,eAAe,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;4BAC/C,MAAM,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;4BACrE,KAAK,CAAC,QAAQ,GAAG,kCAAa,CAAC,WAAW,CAAC;4BAC3C,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC;yBACjC;6BAAM;4BACH,gCAAgC;4BAChC,KAAK,CAAC,QAAQ,GAAG,kCAAa,CAAC,OAAO,CAAC;4BACvC,MAAM,OAAO,GAAG,eAAe,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;4BACvE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;4BACvB,mDAAmD;4BAEnD,uBAAuB;4BACvB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gCACf,QAAQ,CAAC,yBAAyB,EAAE,aAAa,CAAC,CAAC;6BACtD;yBACJ;wBACD,MAAM;oBACV,KAAK,IAAI;wBACL,KAAK,CAAC,SAAS,GAAG,aAAa,CAAC;wBAChC,IAAI,IAAA,mCAAc,EAAC,aAAa,CAAC,EAAE;4BAC/B,KAAK,CAAC,QAAQ,GAAG,kCAAa,CAAC,KAAK,CAAC;4BACrC,KAAK,CAAC,MAAM,GAAG,IAAA,mCAAc,EAAC,aAAa,CAAC,CAAC;yBAChD;6BAAM,IAAI,eAAe,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE;4BACzD,KAAK,CAAC,QAAQ,GAAG,kCAAa,CAAC,OAAO,CAAC;4BACvC,KAAK,CAAC,MAAM,GAAG,eAAe,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;yBACzE;6BAAM;4BACH,KAAK,CAAC,QAAQ,GAAG,kCAAa,CAAC,KAAK,CAAC;4BACrC,cAAc;4BACd,KAAK,CAAC,MAAM,GAAG,gCAAgC,CAAC,aAAa,CAAC,CAAC;4BAC/D,uBAAuB;4BACvB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gCACf,QAAQ,CAAC,qBAAqB,EAAE,aAAa,EAAE,GAAG,EAAE,IAAA,sCAAiB,EAAC,aAAa,CAAC,CAAC,CAAC;6BACzF;iCAAM;gCACH,IAAI,IAAA,mCAAc,EAAC,aAAa,CAAC,EAAE;oCAC/B,KAAK,CAAC,QAAQ,GAAG,kCAAa,CAAC,KAAK,CAAC;iCACxC;qCAAM;oCACH,KAAK,CAAC,QAAQ,GAAG,kCAAa,CAAC,OAAO,CAAC;iCAC1C;6BACJ;yBACJ;wBACD,MAAM;oBACV,KAAK,KAAK;wBACN,IAAI,CAAC,aAAa,KAAK,UAAU,IAAI,aAAa,KAAK,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;4BAC7F,KAAK,CAAC,SAAS,GAAG,cAAc,CAAC;yBACpC;6BAAM;4BACH,KAAK,CAAC,SAAS,GAAG,aAAa,CAAC;yBACnC;wBACD,IAAI,CAAC,IAAA,mCAAc,EAAC,aAAa,CAAC,EAAE;4BAChC,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,aAAa,CAAC,CAAC;yBAC1D;wBACD,KAAK,CAAC,QAAQ,GAAG,kCAAa,CAAC,KAAK,CAAC;wBACrC,MAAM;oBACV;wBACI,IAAI,eAAe,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;4BAC/C,KAAK,CAAC,QAAQ,GAAG,kCAAa,CAAC,WAAW,CAAC;4BAC3C,MAAM,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;4BACrE,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC;yBACjC;6BAAM,IAAI,eAAe,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE;4BACzD,KAAK,CAAC,QAAQ,GAAG,kCAAa,CAAC,OAAO,CAAC;4BACvC,MAAM,OAAO,GAAG,eAAe,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;4BACvE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;yBAC1B;wBACD,MAAM;iBACb;aACJ;SACJ;QAED,MAAM,MAAM,GAAG,IAAA,wCAAmB,EAAC,cAAuC,CAAC,CAAC;QAC5E,MAAM,GAAG,GAAG,UAAU,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,EAAE;YACN,8FAA8F;YAC9F,6FAA6F;YAC7F,wEAAwE;YACxE,MAAM,WAAW,GAAG,IAAA,yDAA8B,EAAC,MAAM,EAAE,eAAe,CAAyC,CAAC;YACpH,OAAO,MAAM,CAAC;SACjB;QACD,MAAM,CAAC,EAAE,GAAG,GAAG,CAAC,cAAc,CAAC;QAC/B,MAAM,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;QAC3C,IAAI,MAAM,CAAC,EAAE,CAAC,SAAS,KAAK,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,EAAE;YACpD,OAAO,MAAM,CAAC;SACjB;QACD,MAAM,CAAC,kBAAkB,GAAG,kCAAc,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC7E,MAAM,CAAC,mBAAmB,GAAG,kCAAc,CAAC,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC/E,MAAM,CAAC,qBAAqB,GAAG,kCAAc,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAEnF,MAAM,WAAW,GAAG,IAAA,yDAA8B,EAAC,MAAM,EAAE,eAAe,CAAyC,CAAC;QACpH,WAAW,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;QACjE,WAAW,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;QAE3D,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,OAAO,gCAAgC,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC;AAxJD,0EAwJC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-opcua-schemas",
3
- "version": "2.72.2",
3
+ "version": "2.73.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",
@@ -13,20 +13,20 @@
13
13
  },
14
14
  "dependencies": {
15
15
  "node-opcua-assert": "2.66.0",
16
- "node-opcua-binary-stream": "2.71.0",
17
- "node-opcua-data-model": "2.72.1",
16
+ "node-opcua-binary-stream": "2.73.0",
17
+ "node-opcua-data-model": "2.73.0",
18
18
  "node-opcua-debug": "2.71.0",
19
19
  "node-opcua-enum": "2.71.0",
20
- "node-opcua-extension-object": "2.72.1",
21
- "node-opcua-factory": "2.72.1",
20
+ "node-opcua-extension-object": "2.73.0",
21
+ "node-opcua-factory": "2.73.0",
22
22
  "node-opcua-nodeid": "2.71.0",
23
23
  "node-opcua-utils": "2.71.0",
24
- "node-opcua-variant": "2.72.2",
25
- "node-opcua-xml2json": "2.71.0",
24
+ "node-opcua-variant": "2.73.0",
25
+ "node-opcua-xml2json": "2.73.0",
26
26
  "thenify": "^3.3.1"
27
27
  },
28
28
  "devDependencies": {
29
- "node-opcua-packet-analyzer": "2.72.1"
29
+ "node-opcua-packet-analyzer": "2.73.0"
30
30
  },
31
31
  "author": "Etienne Rossignon",
32
32
  "license": "MIT",
@@ -43,5 +43,5 @@
43
43
  "internet of things"
44
44
  ],
45
45
  "homepage": "http://node-opcua.github.io/",
46
- "gitHead": "07dcdd8e8c7f2b55544c6e23023093e35674829c"
46
+ "gitHead": "b23a87c1ef777c0d8b680f45ee77e2a319feb092"
47
47
  }
@@ -3,8 +3,10 @@
3
3
  */
4
4
  import { assert } from "node-opcua-assert";
5
5
  import { BinaryStream, OutputBinaryStream } from "node-opcua-binary-stream";
6
- import { checkDebugFlag, make_debugLog } from "node-opcua-debug";
7
- import { ExtensionObject } from "node-opcua-extension-object";
6
+ import { checkDebugFlag, make_debugLog, make_errorLog } from "node-opcua-debug";
7
+ import { decodeExtensionObject, encodeExtensionObject, ExtensionObject } from "node-opcua-extension-object";
8
+ import { DataType } from "node-opcua-variant";
9
+
8
10
  import {
9
11
  BaseUAObject,
10
12
  check_options_correctness_against_schema,
@@ -14,12 +16,15 @@ import {
14
16
  FieldType,
15
17
  initialize_field,
16
18
  initialize_field_array,
19
+ IStructuredTypeSchema,
20
+ StructuredTypeField,
17
21
  StructuredTypeSchema
18
22
  } from "node-opcua-factory";
19
23
 
20
- import { ExpandedNodeId, NodeId, NodeIdType } from "node-opcua-nodeid";
24
+ import { coerceNodeId, ExpandedNodeId, NodeId, NodeIdType } from "node-opcua-nodeid";
21
25
 
22
26
  const debugLog = make_debugLog(__filename);
27
+ const errorLog = make_errorLog(__filename);
23
28
  const doDebug = checkDebugFlag(__filename);
24
29
 
25
30
  export function getOrCreateConstructor(
@@ -29,7 +34,7 @@ export function getOrCreateConstructor(
29
34
  encodingDefaultXml?: ExpandedNodeId
30
35
  ): AnyConstructorFunc {
31
36
  if (dataTypeFactory.hasStructuredType(dataTypeName)) {
32
- return dataTypeFactory.getStructureTypeConstructor(dataTypeName);
37
+ return dataTypeFactory.getStructureTypeConstructor(dataTypeName) as unknown as AnyConstructorFunc;
33
38
  }
34
39
  const schema = dataTypeFactory.getStructuredTypeSchema(dataTypeName);
35
40
 
@@ -60,6 +65,28 @@ export function getOrCreateConstructor(
60
65
  return constructor;
61
66
  }
62
67
 
68
+ function encodeElement(
69
+ field: FieldType,
70
+ element: any,
71
+ stream: OutputBinaryStream,
72
+ encodeFunc?: (a: any, stream: OutputBinaryStream) => void
73
+ ) {
74
+ if (encodeFunc) {
75
+ encodeFunc(element, stream);
76
+ } else {
77
+ // istanbul ignore next
78
+ if (!element.encode) {
79
+ throw new Error("encodeArrayOrElement: object field " + field.name + " has no encode method and encodeFunc is missing");
80
+ }
81
+ if (field.allowSubType) {
82
+ encodeExtensionObject(element, stream);
83
+ // new Variant({ dataType: DataType.ExtensionObject, value: element }).encode(stream);
84
+ } else {
85
+ (element as any).encode(stream);
86
+ }
87
+ }
88
+ }
89
+
63
90
  function encodeArrayOrElement(
64
91
  field: FieldType,
65
92
  obj: any,
@@ -73,29 +100,35 @@ function encodeArrayOrElement(
73
100
  } else {
74
101
  stream.writeUInt32(array.length);
75
102
  for (const e of array) {
76
- if (encodeFunc) {
77
- encodeFunc(e, stream);
78
- } else {
79
- (e as any).encode(stream);
80
- }
103
+ encodeElement(field, e, stream, encodeFunc);
81
104
  }
82
105
  }
83
106
  } else {
84
- if (encodeFunc) {
85
- encodeFunc(obj[field.name], stream);
107
+ encodeElement(field, obj[field.name], stream, encodeFunc);
108
+ }
109
+ }
110
+
111
+ function decodeElement(
112
+ factory: DataTypeFactory,
113
+ field: FieldType,
114
+ stream: BinaryStream,
115
+ decodeFunc?: (stream: BinaryStream) => any
116
+ ): any {
117
+ if (decodeFunc) {
118
+ return decodeFunc(stream);
119
+ } else {
120
+ if (field.allowSubType) {
121
+ const element = decodeExtensionObject(stream);
122
+ return element;
86
123
  } else {
87
- if (!obj[field.name].encode) {
88
- // tslint:disable:no-console
89
- console.log(obj.schema.fields, field);
90
- throw new Error(
91
- "encodeArrayOrElement: object field " + field.name + " has no encode method and encodeFunc is missing"
92
- );
93
- }
94
- obj[field.name].encode(stream);
124
+ // construct an instance
125
+ const constructor = factory.getStructureTypeConstructor(field.fieldType);
126
+ const element = new constructor({});
127
+ element.decode(stream);
128
+ return element;
95
129
  }
96
130
  }
97
131
  }
98
-
99
132
  function decodeArrayOrElement(
100
133
  factory: DataTypeFactory,
101
134
  field: FieldType,
@@ -110,56 +143,137 @@ function decodeArrayOrElement(
110
143
  obj[field.name] = null;
111
144
  } else {
112
145
  for (let i = 0; i < nbElements; i++) {
113
- if (decodeFunc) {
114
- array.push(decodeFunc(stream));
115
- } else {
116
- // construct an instance
117
- const constructor = factory.getStructureTypeConstructor(field.fieldType);
118
- const element = new constructor({});
119
- element.decode(stream);
120
- array.push(element);
121
- }
146
+ const element = decodeElement(factory, field, stream, decodeFunc);
147
+ array.push(element);
122
148
  }
123
149
  obj[field.name] = array;
124
150
  }
125
151
  } else {
126
- if (decodeFunc) {
127
- obj[field.name] = decodeFunc(stream);
128
- } else {
129
- if (!obj[field.name]) {
130
- const constructor = factory.getStructureTypeConstructor(field.fieldType);
131
- obj[field.name] = new constructor({});
132
- }
133
- obj[field.name].decode(stream);
152
+ obj[field.name] = decodeElement(factory, field, stream, decodeFunc);
153
+ }
154
+ }
155
+
156
+ function isSubtype(factory: DataTypeFactory, dataTypeNodeId: NodeId, schema: IStructuredTypeSchema): boolean {
157
+ if (dataTypeNodeId.toString() === schema.dataTypeNodeId.toString()) {
158
+ return true;
159
+ }
160
+ if (!schema._baseSchema || !schema._baseSchema?.dataTypeNodeId) return false;
161
+ const c = factory.getConstructorForDataType(schema._baseSchema.dataTypeNodeId);
162
+ if (!c) {
163
+ return false;
164
+ }
165
+ return isSubtype(factory, dataTypeNodeId, c.schema);
166
+ }
167
+
168
+ function _validateSubType(factory: DataTypeFactory, field: StructuredTypeField, value: any): void {
169
+ assert(field.allowSubType);
170
+ if (!value) {
171
+ value = { dataType: DataType.Null, value: null };
172
+ // const msg = "initializeField: field { dataType,value} is required here";
173
+ // errorLog(msg);
174
+ // throw new Error(msg);
175
+ return;
176
+ }
177
+ if (field.category === "basic") {
178
+ if (!Object.prototype.hasOwnProperty.call(value, "dataType")) {
179
+ const msg = "initializeField: field that allow subtype must be a Variant like and have a dataType property";
180
+ errorLog(msg);
181
+ throw new Error(msg);
182
+ }
183
+ const c = factory.getBuiltInTypeByDataType(coerceNodeId(`i=${value.dataType}`, 0));
184
+ const d = factory.getBuiltInType(field.fieldType);
185
+ if (c && c.isSubTypeOf(d)) {
186
+ return;
187
+ }
188
+
189
+ const msg =
190
+ "initializeField: invalid subtype for field " +
191
+ field.name +
192
+ " expecting " +
193
+ field.fieldType +
194
+ " but got " +
195
+ DataType[value.dataType];
196
+ errorLog(msg);
197
+ throw new Error(msg);
198
+ } else {
199
+ if (value !== null && !(value instanceof ExtensionObject)) {
200
+ errorLog("initializeField: array element is not an ExtensionObject");
201
+ throw new Error(`${field.name}: array element must be an ExtensionObject`);
202
+ }
203
+ const e = value as ExtensionObject;
204
+ if (!isSubtype(factory, field.dataType!, e.schema)) {
205
+ const msg =
206
+ "initializeField: invalid subtype for field " +
207
+ field.name +
208
+ " expecting " +
209
+ field.fieldType +
210
+ " but got " +
211
+ e.schema.id.toString() +
212
+ " " +
213
+ e.schema.name;
214
+ errorLog(msg);
215
+ throw new Error(msg);
216
+ }
217
+ }
218
+ }
219
+ function validateSubTypeA(factory: DataTypeFactory, field: FieldType, value: any) {
220
+ if (field.isArray) {
221
+ const arr = (value as unknown[]) || [];
222
+ for (const e of arr) {
223
+ // now check that element is of the correct type
224
+ _validateSubType(factory, field, e);
134
225
  }
226
+ } else {
227
+ _validateSubType(factory, field, value);
135
228
  }
136
229
  }
137
230
 
138
- function initializeField(field: FieldType, thisAny: any, options: any, schema: StructuredTypeSchema, factory: DataTypeFactory) {
231
+ function initializeField(
232
+ field: FieldType,
233
+ thisAny: any,
234
+ options: Record<string, unknown>,
235
+ schema: IStructuredTypeSchema,
236
+ factory: DataTypeFactory
237
+ ) {
139
238
  const name = field.name;
140
239
 
141
240
  switch (field.category) {
142
241
  case FieldCategory.complex: {
143
- const constructor = factory.getStructureTypeConstructor(field.fieldType);
144
- // getOrCreateConstructor(field.fieldType, factory) || BaseUAObject;
145
- if (field.isArray) {
146
- const arr = options[name] || [];
147
- if (!arr.map) {
148
- console.log("Error", options);
242
+ if (field.allowSubType) {
243
+ validateSubTypeA(factory, field, options[name]);
244
+ if (field.isArray) {
245
+ const arr = (options[name] as unknown[]) || [];
246
+ thisAny[name] = arr.map((x: any) => x.clone());
247
+ } else {
248
+ const e = options[name] as ExtensionObject;
249
+ if (e !== null && !(e instanceof ExtensionObject)) {
250
+ errorLog("initializeField: array element is not an ExtensionObject");
251
+ }
252
+ // now check that element is of the correct type
253
+ thisAny[name] = e.clone();
149
254
  }
150
- thisAny[name] = arr.map((x: any) => (constructor ? new constructor(x) : null));
151
255
  } else {
152
- thisAny[name] = constructor ? new constructor(options[name]) : null;
256
+ const constructor = factory.getStructureTypeConstructor(field.fieldType);
257
+ if (field.isArray) {
258
+ const arr = (options[name] as unknown[]) || [];
259
+ thisAny[name] = arr.map((x: any) => (constructor ? new constructor(x) : null));
260
+ } else {
261
+ thisAny[name] = constructor ? new constructor(options[name]) : null;
262
+ }
153
263
  }
264
+ // getOrCreateConstructor(field.fieldType, factory) || BaseUAObject;
154
265
  // xx processStructuredType(fieldSchema);
155
266
  break;
156
267
  }
157
268
  case FieldCategory.enumeration:
158
269
  case FieldCategory.basic:
270
+ if (field.allowSubType) {
271
+ validateSubTypeA(factory, field, options[name]);
272
+ }
159
273
  if (field.isArray) {
160
- thisAny[name] = initialize_field_array(field, options[name]);
274
+ thisAny[name] = initialize_field_array(field, options[name], factory);
161
275
  } else {
162
- thisAny[name] = initialize_field(field, options[name]);
276
+ thisAny[name] = initialize_field(field, options[name], factory);
163
277
  }
164
278
  break;
165
279
  }
@@ -171,7 +285,7 @@ function initializeField(field: FieldType, thisAny: any, options: any, schema: S
171
285
  * @param schema
172
286
  * @param factory
173
287
  */
174
- function initializeFields(thisAny: any, options: any, schema: StructuredTypeSchema, factory: DataTypeFactory) {
288
+ function initializeFields(thisAny: any, options: Record<string, unknown>, schema: IStructuredTypeSchema, factory: DataTypeFactory) {
175
289
  // initialize base class first
176
290
  if (schema._baseSchema && schema._baseSchema.fields.length) {
177
291
  initializeFields(thisAny, options, schema._baseSchema!, factory);
@@ -189,14 +303,14 @@ function initializeFields(thisAny: any, options: any, schema: StructuredTypeSche
189
303
  }
190
304
  }
191
305
 
192
- function hasOptionalFieldsF(schema: StructuredTypeSchema): boolean {
306
+ function hasOptionalFieldsF(schema: IStructuredTypeSchema): boolean {
193
307
  if (schema.bitFields && schema.bitFields.length > 0) {
194
308
  return true;
195
309
  }
196
310
  return schema._baseSchema ? hasOptionalFieldsF(schema._baseSchema) : false;
197
311
  }
198
312
 
199
- function _internal_encodeFields(thisAny: any, schema: StructuredTypeSchema, stream: OutputBinaryStream) {
313
+ function _internal_encodeFields(thisAny: any, schema: IStructuredTypeSchema, stream: OutputBinaryStream) {
200
314
  // encodeFields base class first
201
315
  if (schema._baseSchema && schema._baseSchema.fields.length) {
202
316
  _internal_encodeFields(thisAny, schema._baseSchema!, stream);
@@ -226,7 +340,7 @@ interface BitfieldOffset {
226
340
  offset: number;
227
341
  allOptional: boolean;
228
342
  }
229
- function makeBitField(thisAny: any, schema: StructuredTypeSchema, bo: BitfieldOffset): BitfieldOffset {
343
+ function makeBitField(thisAny: any, schema: IStructuredTypeSchema, bo: BitfieldOffset): BitfieldOffset {
230
344
  const data = schema._baseSchema ? makeBitField(thisAny, schema._baseSchema, bo) : bo;
231
345
  let { bitField, allOptional } = data;
232
346
  const { offset } = data;
@@ -246,7 +360,7 @@ function makeBitField(thisAny: any, schema: StructuredTypeSchema, bo: BitfieldOf
246
360
  }
247
361
  return { bitField, offset: nbOptionalFields + offset, allOptional };
248
362
  }
249
- function encodeFields(thisAny: any, schema: StructuredTypeSchema, stream: OutputBinaryStream) {
363
+ function encodeFields(thisAny: any, schema: IStructuredTypeSchema, stream: OutputBinaryStream) {
250
364
  const hasOptionalFields = hasOptionalFieldsF(schema);
251
365
  // ============ Deal with switchBits
252
366
  if (hasOptionalFields) {
@@ -263,7 +377,7 @@ function internal_decodeFields(
263
377
  thisAny: any,
264
378
  bitField: number,
265
379
  hasOptionalFields: boolean,
266
- schema: StructuredTypeSchema,
380
+ schema: IStructuredTypeSchema,
267
381
  stream: BinaryStream,
268
382
  factory: DataTypeFactory
269
383
  ) {
@@ -301,7 +415,7 @@ function internal_decodeFields(
301
415
  }
302
416
  }
303
417
 
304
- function decodeFields(thisAny: any, schema: StructuredTypeSchema, stream: BinaryStream, factory: DataTypeFactory) {
418
+ function decodeFields(thisAny: any, schema: IStructuredTypeSchema, stream: BinaryStream, factory: DataTypeFactory) {
305
419
  // ============ Deal with switchBits
306
420
  const hasOptionalFields = hasOptionalFieldsF(schema);
307
421
  let bitField = 0;
@@ -333,7 +447,7 @@ function fieldToJSON(field: FieldType, value: any): any {
333
447
  return ___fieldToJson(field, value);
334
448
  }
335
449
  }
336
- function encodeToJson(thisAny: any, schema: StructuredTypeSchema, pojo: any) {
450
+ function encodeToJson(thisAny: any, schema: IStructuredTypeSchema, pojo: any) {
337
451
  if (schema._baseSchema && schema._baseSchema.fields.length) {
338
452
  encodeToJson(thisAny, schema._baseSchema!, pojo);
339
453
  }
@@ -353,12 +467,12 @@ interface T {
353
467
  const _private = new WeakMap<T>();
354
468
 
355
469
  export class DynamicExtensionObject extends ExtensionObject {
356
- public static schema: StructuredTypeSchema = ExtensionObject.schema;
470
+ public static schema: IStructuredTypeSchema = ExtensionObject.schema;
357
471
  public static possibleFields: string[] = [];
358
472
 
359
- constructor(options: any, schema: StructuredTypeSchema, factory: DataTypeFactory) {
473
+ constructor(options: any, schema: IStructuredTypeSchema, factory: DataTypeFactory) {
360
474
  assert(schema, "expecting a schema here ");
361
- assert(factory, "expecting a typeDic");
475
+ assert(factory, "expecting a DataTypeFactory");
362
476
 
363
477
  super(options);
364
478
  options = options || {};
@@ -394,9 +508,9 @@ export class DynamicExtensionObject extends ExtensionObject {
394
508
 
395
509
  // tslint:disable:callable-types
396
510
  interface AnyConstructable {
397
- schema: StructuredTypeSchema;
511
+ schema: IStructuredTypeSchema;
398
512
  possibleFields: string[];
399
- new(options?: any, schema?: StructuredTypeSchema, factory?: DataTypeFactory): any;
513
+ new (options?: any, schema?: IStructuredTypeSchema, factory?: DataTypeFactory): any;
400
514
  }
401
515
 
402
516
  export type AnyConstructorFunc = AnyConstructable;
@@ -404,7 +518,7 @@ export type AnyConstructorFunc = AnyConstructable;
404
518
  // tslint:disable-next-line:max-classes-per-file
405
519
  class UnionBaseClass extends BaseUAObject {
406
520
  // eslint-disable-next-line max-statements
407
- constructor(options: any, schema: StructuredTypeSchema, factory: DataTypeFactory) {
521
+ constructor(options: any, schema: IStructuredTypeSchema, factory: DataTypeFactory) {
408
522
  super();
409
523
 
410
524
  assert(schema, "expecting a schema here ");
@@ -436,11 +550,11 @@ class UnionBaseClass extends BaseUAObject {
436
550
  debugLog(this.schema);
437
551
  throw new Error(
438
552
  "union must have only one choice in " +
439
- JSON.stringify(options) +
440
- "\n found while investigating " +
441
- field.name +
442
- "\n switchFieldName = " +
443
- switchFieldName
553
+ JSON.stringify(options) +
554
+ "\n found while investigating " +
555
+ field.name +
556
+ "\n switchFieldName = " +
557
+ switchFieldName
444
558
  );
445
559
  }
446
560
 
@@ -595,7 +709,7 @@ class UnionBaseClass extends BaseUAObject {
595
709
  }
596
710
  }
597
711
 
598
- function _createDynamicUnionConstructor(schema: StructuredTypeSchema, factory: DataTypeFactory): AnyConstructorFunc {
712
+ function _createDynamicUnionConstructor(schema: IStructuredTypeSchema, factory: DataTypeFactory): AnyConstructorFunc {
599
713
  const possibleFields = schema.fields.map((x: FieldType) => x.name);
600
714
 
601
715
  // tslint:disable-next-line:max-classes-per-file
@@ -615,7 +729,7 @@ function _createDynamicUnionConstructor(schema: StructuredTypeSchema, factory: D
615
729
  return UNION;
616
730
  }
617
731
 
618
- export function createDynamicObjectConstructor(schema: StructuredTypeSchema, dataTypeFactory: DataTypeFactory): AnyConstructorFunc {
732
+ export function createDynamicObjectConstructor(schema: IStructuredTypeSchema, dataTypeFactory: DataTypeFactory): AnyConstructorFunc {
619
733
  const schemaPriv = schema as any;
620
734
 
621
735
  if (schemaPriv.$Constructor) {
@@ -667,12 +781,12 @@ export function createDynamicObjectConstructor(schema: StructuredTypeSchema, dat
667
781
  public static encodingDefaultXml = new ExpandedNodeId(NodeIdType.NUMERIC, 0, 0);
668
782
  public static encodingDefaultBinary = new ExpandedNodeId(NodeIdType.NUMERIC, 0, 0);
669
783
  public static possibleFields = possibleFields;
670
- public static get schema(): StructuredTypeSchema {
784
+ public static get schema(): IStructuredTypeSchema {
671
785
  return schema;
672
786
  }
673
787
 
674
- constructor(options?: any, schema2?: StructuredTypeSchema, factory2?: DataTypeFactory) {
675
- super(options, schema2 ? schema2 : schema, factory2 ? factory2 : dataTypeFactory);
788
+ constructor(options?: any, schema2?: IStructuredTypeSchema, factory2?: DataTypeFactory) {
789
+ super(options, schema2 ? schema2 : EXTENSION.schema, factory2 ? factory2 : dataTypeFactory);
676
790
  }
677
791
 
678
792
  public toString(): string {
@@ -8,13 +8,7 @@ import * as chalk from "chalk";
8
8
 
9
9
  import assert from "node-opcua-assert";
10
10
  import { checkDebugFlag, make_debugLog } from "node-opcua-debug";
11
- import {
12
- EnumerationDefinitionSchema,
13
- FieldInterfaceOptions,
14
- StructuredTypeField,
15
- StructuredTypeOptions,
16
- StructuredTypeSchema
17
- } from "node-opcua-factory";
11
+ import { EnumerationDefinitionSchema, FieldInterfaceOptions, StructuredTypeOptions } from "node-opcua-factory";
18
12
  import { DataTypeFactory } from "node-opcua-factory";
19
13
  import { NodeId } from "node-opcua-nodeid";
20
14
  import { Xml2Json } from "node-opcua-xml2json";
@@ -1,4 +1,4 @@
1
- import { ConstructorFuncWithSchema, DataTypeFactory, EnumerationDefinitionSchema, StructuredTypeSchema } from "node-opcua-factory";
1
+ import { ConstructorFuncWithSchema, DataTypeFactory, EnumerationDefinitionSchema, IStructuredTypeSchema, StructuredTypeSchema } from "node-opcua-factory";
2
2
 
3
3
  export function toTypeScript(dataTypeFactory: DataTypeFactory): string {
4
4
  const enumeratedTypes: Map<string, EnumerationDefinitionSchema> = (dataTypeFactory as any)._enumerations;
@@ -7,6 +7,12 @@ export function toTypeScript(dataTypeFactory: DataTypeFactory): string {
7
7
  const declaration: Map<string, string> = new Map();
8
8
 
9
9
  function adjustType(t: string): string {
10
+ if (t === "String") {
11
+ t = "UAString";
12
+ } else if (t === "Boolean") {
13
+ t = "UABoolean";
14
+ }
15
+
10
16
  if (!enumeratedTypes.has(t) && !structuredTypes.has(t)) {
11
17
  declaration.set(t, t);
12
18
  }
@@ -27,7 +33,7 @@ export function toTypeScript(dataTypeFactory: DataTypeFactory): string {
27
33
  l.push(`}`);
28
34
  }
29
35
  const alreadyDone: Set<string> = new Set();
30
- function dumpType(o: StructuredTypeSchema) {
36
+ function dumpType(o: IStructuredTypeSchema) {
31
37
  // base type first
32
38
  const b = o.baseType;
33
39
 
package/source/tools.ts CHANGED
@@ -1,22 +1,24 @@
1
1
  /* eslint-disable max-depth */
2
2
  /* eslint-disable max-statements */
3
+ import { make_errorLog } from "node-opcua-debug";
3
4
  import {
4
5
  buildStructuredType,
5
6
  ConstructorFuncWithSchema,
6
7
  DataTypeFactory,
7
8
  FieldCategory,
8
- getBuildInType,
9
- getStructuredTypeSchema,
9
+ getBuiltInType,
10
10
  hasBuiltInType,
11
11
  hasStructuredType,
12
- StructuredTypeOptions,
13
- StructuredTypeSchema
12
+ IStructuredTypeSchema,
13
+ StructuredTypeOptions
14
14
  } from "node-opcua-factory";
15
15
  import { ExpandedNodeId } from "node-opcua-nodeid";
16
16
 
17
17
  import { createDynamicObjectConstructor } from "./dynamic_extension_object";
18
18
  import { MapDataTypeAndEncodingIdProvider, TypeDictionary } from "./parse_binary_xsd";
19
19
 
20
+ const errorLog = make_errorLog(__filename);
21
+
20
22
  function _removeNamespacePart(str?: string): string | undefined {
21
23
  if (!str) {
22
24
  return str;
@@ -31,11 +33,11 @@ function _getNamespacePart(str: string): string {
31
33
 
32
34
  function _adjustFieldTypeName(fieldTypeName: string): string {
33
35
  // special cases
34
- if (fieldTypeName === "String" || fieldTypeName === "CharArray") {
35
- fieldTypeName = "UAString";
36
+ if (fieldTypeName === "UAString" || fieldTypeName === "CharArray") {
37
+ fieldTypeName = "String";
36
38
  }
37
- if (fieldTypeName === "Boolean") {
38
- fieldTypeName = "UABoolean";
39
+ if (fieldTypeName === "UABoolean") {
40
+ fieldTypeName = "Boolean";
39
41
  }
40
42
 
41
43
  return fieldTypeName;
@@ -46,13 +48,18 @@ export function getOrCreateStructuredTypeSchema(
46
48
  typeDictionary: TypeDictionary,
47
49
  dataTypeFactory: DataTypeFactory,
48
50
  idProvider: MapDataTypeAndEncodingIdProvider
49
- ): StructuredTypeSchema {
51
+ ): IStructuredTypeSchema {
50
52
  // eslint-disable-next-line complexity
51
- function _getOrCreateStructuredTypeSchema(_name: string): StructuredTypeSchema {
53
+ function _getOrCreateStructuredTypeSchema(_name: string): IStructuredTypeSchema {
52
54
  if (dataTypeFactory.hasStructuredType(_name)) {
53
55
  return dataTypeFactory.getStructuredTypeSchema(_name);
54
56
  }
55
-
57
+ if (dataTypeFactory.hasEnumeration(_name)) {
58
+ return dataTypeFactory.getEnumeration(_name) as unknown as IStructuredTypeSchema;
59
+ }
60
+ if (dataTypeFactory.hasBuiltInType(_name)) {
61
+ return dataTypeFactory.getBuiltInType(_name) as unknown as IStructuredTypeSchema;
62
+ }
56
63
  // construct it !
57
64
  const structuredType = typeDictionary.getStructuredTypesRawByName(_name);
58
65
  if (!structuredType) {
@@ -72,9 +79,10 @@ export function getOrCreateStructuredTypeSchema(
72
79
  structuredType.fields = structuredType.fields.filter((field) => {
73
80
  const name = field.name;
74
81
  const index = baseSchema.fields.findIndex((f) => f.name === name);
82
+
83
+ // istanbul ignore next
75
84
  if (index >= 0) {
76
- // tslint:disable-next-line: no-console
77
- console.log(
85
+ errorLog(
78
86
  "Warning : find duplicated field from base structure : field name ",
79
87
  name,
80
88
  "baseSchema = ",
@@ -105,9 +113,10 @@ export function getOrCreateStructuredTypeSchema(
105
113
  const schema1 = dataTypeFactory.getStructuredTypeSchema(fieldTypeName);
106
114
  field.schema = schema1;
107
115
  // _getOrCreateStructuredTypeSchema(fieldTypeName);
116
+
117
+ // istanbul ignore next
108
118
  if (!field.schema) {
109
- // tslint:disable-next-line:no-console
110
- console.log("cannot find schema for ", fieldTypeName);
119
+ errorLog("cannot find schema for ", fieldTypeName);
111
120
  }
112
121
  }
113
122
  break;
@@ -115,7 +124,7 @@ export function getOrCreateStructuredTypeSchema(
115
124
  field.fieldType = fieldTypeName;
116
125
  if (hasBuiltInType(fieldTypeName)) {
117
126
  field.category = FieldCategory.basic;
118
- field.schema = getBuildInType(fieldTypeName);
127
+ field.schema = getBuiltInType(fieldTypeName);
119
128
  } else if (dataTypeFactory.hasStructuredType(fieldTypeName)) {
120
129
  field.category = FieldCategory.complex;
121
130
  field.schema = dataTypeFactory.getStructuredTypeSchema(fieldTypeName);
@@ -123,9 +132,9 @@ export function getOrCreateStructuredTypeSchema(
123
132
  field.category = FieldCategory.basic;
124
133
  // try in this
125
134
  field.schema = _getOrCreateStructuredTypeSchema(fieldTypeName);
135
+ // istanbul ignore next
126
136
  if (!field.schema) {
127
- // tslint:disable-next-line:no-console
128
- console.log("What should I do ??", fieldTypeName, " ", hasStructuredType(fieldTypeName));
137
+ errorLog("What should I do ??", fieldTypeName, " ", hasStructuredType(fieldTypeName));
129
138
  } else {
130
139
  if (hasBuiltInType(fieldTypeName)) {
131
140
  field.category = FieldCategory.basic;
@@ -138,7 +147,6 @@ export function getOrCreateStructuredTypeSchema(
138
147
  case "opc":
139
148
  if ((fieldTypeName === "UAString" || fieldTypeName === "String") && field.name === "IndexRange") {
140
149
  field.fieldType = "NumericRange";
141
- // xx console.log(" NumericRange detected here !");
142
150
  } else {
143
151
  field.fieldType = fieldTypeName;
144
152
  }
@@ -168,7 +176,7 @@ export function getOrCreateStructuredTypeSchema(
168
176
  // this may happen if the type is abstract or if the type referes to a internal ExtnsionObject
169
177
  // that can only exists inside an other extension object.this Type of extension object cannot
170
178
  // instantiated as standalone object and do not have encoding nodeIds...
171
- const Constructor = createDynamicObjectConstructor(schema, dataTypeFactory) as ConstructorFuncWithSchema;
179
+ const Constructor = createDynamicObjectConstructor(schema, dataTypeFactory) as unknown as ConstructorFuncWithSchema;
172
180
  return schema;
173
181
  }
174
182
  schema.id = ids.dataTypeNodeId;
@@ -180,7 +188,7 @@ export function getOrCreateStructuredTypeSchema(
180
188
  schema.encodingDefaultJson = ExpandedNodeId.fromNodeId(ids.jsonEncodingNodeId);
181
189
  schema.encodingDefaultBinary = ExpandedNodeId.fromNodeId(ids.binaryEncodingNodeId);
182
190
 
183
- const Constructor = createDynamicObjectConstructor(schema, dataTypeFactory) as ConstructorFuncWithSchema;
191
+ const Constructor = createDynamicObjectConstructor(schema, dataTypeFactory) as unknown as ConstructorFuncWithSchema;
184
192
  Constructor.encodingDefaultBinary = schema.encodingDefaultBinary;
185
193
  Constructor.encodingDefaultXml = schema.encodingDefaultXml;
186
194