node-opcua-schemas 2.76.2 → 2.78.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,15 +1,15 @@
1
1
  import { BinaryStream, OutputBinaryStream } from "node-opcua-binary-stream";
2
2
  import { ExtensionObject } from "node-opcua-extension-object";
3
- import { DataTypeFactory, IStructuredTypeSchema, StructuredTypeSchema } from "node-opcua-factory";
3
+ import { ConstructorFuncWithSchema, DataTypeFactory, IStructuredTypeSchema } 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
7
  static schema: IStructuredTypeSchema;
8
8
  static possibleFields: string[];
9
- constructor(options: Record<string, unknown>, schema: IStructuredTypeSchema, factory: DataTypeFactory);
9
+ constructor(options: Record<string, unknown>, schema: IStructuredTypeSchema, dataTypeFactory: DataTypeFactory);
10
10
  encode(stream: OutputBinaryStream): void;
11
11
  decode(stream: BinaryStream): void;
12
- get schema(): StructuredTypeSchema;
12
+ get schema(): IStructuredTypeSchema;
13
13
  toJSON(): any;
14
14
  }
15
15
  interface AnyConstructable {
@@ -18,5 +18,5 @@ interface AnyConstructable {
18
18
  new (options?: any, schema?: IStructuredTypeSchema, factory?: DataTypeFactory): any;
19
19
  }
20
20
  export declare type AnyConstructorFunc = AnyConstructable;
21
- export declare function createDynamicObjectConstructor(schema: IStructuredTypeSchema, dataTypeFactory: DataTypeFactory): AnyConstructorFunc;
21
+ export declare function createDynamicObjectConstructor(schema: IStructuredTypeSchema, dataTypeFactory: DataTypeFactory): ConstructorFuncWithSchema;
22
22
  export {};
@@ -6,16 +6,18 @@ exports.createDynamicObjectConstructor = exports.DynamicExtensionObject = export
6
6
  */
7
7
  const node_opcua_assert_1 = require("node-opcua-assert");
8
8
  const node_opcua_debug_1 = require("node-opcua-debug");
9
+ const node_opcua_nodeid_1 = require("node-opcua-nodeid");
9
10
  const node_opcua_extension_object_1 = require("node-opcua-extension-object");
10
11
  const node_opcua_variant_1 = require("node-opcua-variant");
11
12
  const node_opcua_factory_1 = require("node-opcua-factory");
12
- const node_opcua_nodeid_1 = require("node-opcua-nodeid");
13
+ const node_opcua_nodeid_2 = require("node-opcua-nodeid");
13
14
  const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
14
15
  const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
15
16
  const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
16
17
  function getOrCreateConstructor(dataTypeName, dataTypeFactory, encodingDefaultBinary, encodingDefaultXml) {
17
- if (dataTypeFactory.hasStructuredType(dataTypeName)) {
18
- return dataTypeFactory.getStructureTypeConstructor(dataTypeName);
18
+ if (dataTypeFactory.hasStructureByTypeName(dataTypeName)) {
19
+ const structureInfo = dataTypeFactory.getStructureInfoByTypeName(dataTypeName);
20
+ return (structureInfo.constructor || node_opcua_extension_object_1.ExtensionObject);
19
21
  }
20
22
  const schema = dataTypeFactory.getStructuredTypeSchema(dataTypeName);
21
23
  // istanbul ignore next
@@ -24,11 +26,11 @@ function getOrCreateConstructor(dataTypeName, dataTypeFactory, encodingDefaultBi
24
26
  }
25
27
  const constructor = createDynamicObjectConstructor(schema, dataTypeFactory);
26
28
  if (!constructor) {
27
- return constructor;
29
+ return node_opcua_extension_object_1.ExtensionObject;
28
30
  }
29
31
  // istanbul ignore next
30
- if (!dataTypeFactory.hasStructuredType(dataTypeName)) {
31
- dataTypeFactory.registerClassDefinition(schema.id, dataTypeName, constructor);
32
+ if (!dataTypeFactory.hasStructureByTypeName(dataTypeName)) {
33
+ dataTypeFactory.registerClassDefinition(schema.dataTypeNodeId, dataTypeName, constructor);
32
34
  return constructor;
33
35
  // hrow new Error("constructor should now be registered - " + fieldType);
34
36
  }
@@ -77,7 +79,7 @@ function encodeArrayOrElement(field, obj, stream, encodeFunc) {
77
79
  encodeElement(field, obj[field.name], stream, encodeFunc);
78
80
  }
79
81
  }
80
- function decodeElement(factory, field, stream, decodeFunc) {
82
+ function decodeElement(dataTypeFactory, field, stream, decodeFunc) {
81
83
  if (decodeFunc) {
82
84
  return decodeFunc(stream);
83
85
  }
@@ -88,14 +90,17 @@ function decodeElement(factory, field, stream, decodeFunc) {
88
90
  }
89
91
  else {
90
92
  // construct an instance
91
- const constructor = factory.getStructureTypeConstructor(field.fieldType);
92
- const element = new constructor({});
93
+ const structureInfo = dataTypeFactory.getStructureInfoByTypeName(field.fieldType);
94
+ if (!structureInfo.constructor) {
95
+ throw new Error("Cannot instantiate an abstract dataStructure: " + field.fieldType);
96
+ }
97
+ const element = new structureInfo.constructor({});
93
98
  element.decode(stream);
94
99
  return element;
95
100
  }
96
101
  }
97
102
  }
98
- function decodeArrayOrElement(factory, field, obj, stream, decodeFunc) {
103
+ function decodeArrayOrElement(dataTypeFactory, field, obj, stream, decodeFunc) {
99
104
  if (field.isArray) {
100
105
  const array = [];
101
106
  const nbElements = stream.readUInt32();
@@ -104,30 +109,30 @@ function decodeArrayOrElement(factory, field, obj, stream, decodeFunc) {
104
109
  }
105
110
  else {
106
111
  for (let i = 0; i < nbElements; i++) {
107
- const element = decodeElement(factory, field, stream, decodeFunc);
112
+ const element = decodeElement(dataTypeFactory, field, stream, decodeFunc);
108
113
  array.push(element);
109
114
  }
110
115
  obj[field.name] = array;
111
116
  }
112
117
  }
113
118
  else {
114
- obj[field.name] = decodeElement(factory, field, stream, decodeFunc);
119
+ obj[field.name] = decodeElement(dataTypeFactory, field, stream, decodeFunc);
115
120
  }
116
121
  }
117
- function isSubtype(factory, dataTypeNodeId, schema) {
118
- var _a;
119
- if (dataTypeNodeId.toString() === schema.dataTypeNodeId.toString()) {
122
+ function isSubtype(dataTypeFactory, dataTypeNodeId, schema) {
123
+ if ((0, node_opcua_nodeid_1.sameNodeId)(dataTypeNodeId, schema.dataTypeNodeId)) {
120
124
  return true;
121
125
  }
122
- if (!schema._baseSchema || !((_a = schema._baseSchema) === null || _a === void 0 ? void 0 : _a.dataTypeNodeId))
126
+ const baseSchema = schema.getBaseSchema();
127
+ if (!baseSchema || !(baseSchema === null || baseSchema === void 0 ? void 0 : baseSchema.dataTypeNodeId))
123
128
  return false;
124
- const c = factory.getConstructorForDataType(schema._baseSchema.dataTypeNodeId);
125
- if (!c) {
129
+ const structureInfo = dataTypeFactory.getStructureInfoForDataType(baseSchema.dataTypeNodeId);
130
+ if (!structureInfo) {
126
131
  return false;
127
132
  }
128
- return isSubtype(factory, dataTypeNodeId, c.schema);
133
+ return isSubtype(dataTypeFactory, dataTypeNodeId, structureInfo.schema);
129
134
  }
130
- function _validateSubType(factory, field, value) {
135
+ function _validateSubType(dataTypeFactory, field, value) {
131
136
  (0, node_opcua_assert_1.assert)(field.allowSubType);
132
137
  if (!value) {
133
138
  value = { dataType: node_opcua_variant_1.DataType.Null, value: null };
@@ -142,8 +147,8 @@ function _validateSubType(factory, field, value) {
142
147
  errorLog(msg);
143
148
  throw new Error(msg);
144
149
  }
145
- const c = factory.getBuiltInTypeByDataType((0, node_opcua_nodeid_1.coerceNodeId)(`i=${value.dataType}`, 0));
146
- const d = factory.getBuiltInType(field.fieldType);
150
+ const c = dataTypeFactory.getBuiltInTypeByDataType((0, node_opcua_nodeid_2.coerceNodeId)(`i=${value.dataType}`, 0));
151
+ const d = dataTypeFactory.getBuiltInType(field.fieldType);
147
152
  if (c && c.isSubTypeOf(d)) {
148
153
  return;
149
154
  }
@@ -162,13 +167,13 @@ function _validateSubType(factory, field, value) {
162
167
  throw new Error(`${field.name}: array element must be an ExtensionObject`);
163
168
  }
164
169
  const e = value;
165
- if (!isSubtype(factory, field.dataType, e.schema)) {
170
+ if (!isSubtype(dataTypeFactory, field.dataType, e.schema)) {
166
171
  const msg = "initializeField: invalid subtype for field " +
167
172
  field.name +
168
173
  " expecting " +
169
174
  field.fieldType +
170
175
  " but got " +
171
- e.schema.id.toString() +
176
+ e.schema.dataTypeNodeId.toString() +
172
177
  " " +
173
178
  e.schema.name;
174
179
  errorLog(msg);
@@ -176,25 +181,25 @@ function _validateSubType(factory, field, value) {
176
181
  }
177
182
  }
178
183
  }
179
- function validateSubTypeA(factory, field, value) {
184
+ function validateSubTypeA(dataTypeFactory, field, value) {
180
185
  if (field.isArray) {
181
186
  const arr = value || [];
182
187
  for (const e of arr) {
183
188
  // now check that element is of the correct type
184
- _validateSubType(factory, field, e);
189
+ _validateSubType(dataTypeFactory, field, e);
185
190
  }
186
191
  }
187
192
  else {
188
- _validateSubType(factory, field, value);
193
+ _validateSubType(dataTypeFactory, field, value);
189
194
  }
190
195
  }
191
- function initializeField(field, thisAny, options, schema, factory) {
196
+ function initializeField(field, thisAny, options, schema, dataTypeFactory) {
192
197
  const name = field.name;
193
198
  const value = getFieldValue(field, options);
194
199
  switch (field.category) {
195
200
  case node_opcua_factory_1.FieldCategory.complex: {
196
201
  if (field.allowSubType) {
197
- validateSubTypeA(factory, field, value);
202
+ validateSubTypeA(dataTypeFactory, field, value);
198
203
  if (field.isArray) {
199
204
  const arr = value || [];
200
205
  thisAny[name] = arr.map((x) => x.clone());
@@ -209,7 +214,10 @@ function initializeField(field, thisAny, options, schema, factory) {
209
214
  }
210
215
  }
211
216
  else {
212
- const constructor = factory.getStructureTypeConstructor(field.fieldType);
217
+ const constructor = dataTypeFactory.getStructureInfoByTypeName(field.fieldType).constructor;
218
+ if (!constructor) {
219
+ throw new Error("Cannot instantiate an abstract dataType" + field.fieldType);
220
+ }
213
221
  if (field.isArray) {
214
222
  const arr = value || [];
215
223
  thisAny[name] = arr.map((x) => (constructor ? new constructor(x) : null));
@@ -225,13 +233,13 @@ function initializeField(field, thisAny, options, schema, factory) {
225
233
  case node_opcua_factory_1.FieldCategory.enumeration:
226
234
  case node_opcua_factory_1.FieldCategory.basic:
227
235
  if (field.allowSubType) {
228
- validateSubTypeA(factory, field, value);
236
+ validateSubTypeA(dataTypeFactory, field, value);
229
237
  }
230
238
  if (field.isArray) {
231
- thisAny[name] = (0, node_opcua_factory_1.initialize_field_array)(field, value, factory);
239
+ thisAny[name] = (0, node_opcua_factory_1.initialize_field_array)(field, value, dataTypeFactory);
232
240
  }
233
241
  else {
234
- thisAny[name] = (0, node_opcua_factory_1.initialize_field)(field, value, factory);
242
+ thisAny[name] = (0, node_opcua_factory_1.initialize_field)(field, value, dataTypeFactory);
235
243
  }
236
244
  break;
237
245
  }
@@ -239,10 +247,11 @@ function initializeField(field, thisAny, options, schema, factory) {
239
247
  function getFieldValue(field, options) {
240
248
  return options[field.name] !== undefined ? options[field.name] : options[field.originalName];
241
249
  }
242
- function initializeFields(thisAny, options, schema, factory, params) {
250
+ function initializeFields(thisAny, options, schema, dataTypeFactory, params) {
251
+ const baseSchema = schema.getBaseSchema();
243
252
  // initialize base class first
244
- if (schema._baseSchema && schema._baseSchema.fields.length) {
245
- initializeFields(thisAny, options, schema._baseSchema, factory, params);
253
+ if (baseSchema && baseSchema.fields.length) {
254
+ initializeFields(thisAny, options, baseSchema, dataTypeFactory, params);
246
255
  }
247
256
  // finding fields that are in options but not in schema!
248
257
  for (const field of schema.fields) {
@@ -253,19 +262,21 @@ function initializeFields(thisAny, options, schema, factory, params) {
253
262
  thisAny[name] = undefined;
254
263
  continue;
255
264
  }
256
- initializeField(field, thisAny, options, schema, factory);
265
+ initializeField(field, thisAny, options, schema, dataTypeFactory);
257
266
  }
258
267
  }
259
268
  function hasOptionalFieldsF(schema) {
260
269
  if (schema.bitFields && schema.bitFields.length > 0) {
261
270
  return true;
262
271
  }
263
- return schema._baseSchema ? hasOptionalFieldsF(schema._baseSchema) : false;
272
+ const baseSchema = schema.getBaseSchema();
273
+ return baseSchema ? hasOptionalFieldsF(baseSchema) : false;
264
274
  }
265
275
  function _internal_encodeFields(thisAny, schema, stream) {
276
+ const baseSchema = schema.getBaseSchema();
266
277
  // encodeFields base class first
267
- if (schema._baseSchema && schema._baseSchema.fields.length) {
268
- _internal_encodeFields(thisAny, schema._baseSchema, stream);
278
+ if (baseSchema && baseSchema.fields.length) {
279
+ _internal_encodeFields(thisAny, baseSchema, stream);
269
280
  }
270
281
  for (const field of schema.fields) {
271
282
  // ignore
@@ -287,7 +298,8 @@ function _internal_encodeFields(thisAny, schema, stream) {
287
298
  }
288
299
  }
289
300
  function makeBitField(thisAny, schema, bo) {
290
- const data = schema._baseSchema ? makeBitField(thisAny, schema._baseSchema, bo) : bo;
301
+ const baseSchema = schema.getBaseSchema();
302
+ const data = baseSchema ? makeBitField(thisAny, baseSchema, bo) : bo;
291
303
  let { bitField, allOptional } = data;
292
304
  const { offset } = data;
293
305
  let nbOptionalFields = 0;
@@ -316,10 +328,11 @@ function encodeFields(thisAny, schema, stream) {
316
328
  }
317
329
  _internal_encodeFields(thisAny, schema, stream);
318
330
  }
319
- function internal_decodeFields(thisAny, bitField, hasOptionalFields, schema, stream, factory) {
331
+ function internal_decodeFields(thisAny, bitField, hasOptionalFields, schema, stream, dataTypeFactory) {
332
+ const baseSchema = schema.getBaseSchema();
320
333
  // encodeFields base class first
321
- if (schema._baseSchema && schema._baseSchema.fields.length) {
322
- internal_decodeFields(thisAny, bitField, hasOptionalFields, schema._baseSchema, stream, factory);
334
+ if (baseSchema && baseSchema.fields.length) {
335
+ internal_decodeFields(thisAny, bitField, hasOptionalFields, baseSchema, stream, dataTypeFactory);
323
336
  }
324
337
  for (const field of schema.fields) {
325
338
  // ignore fields that have a switch bit when bit is not set
@@ -332,17 +345,17 @@ function internal_decodeFields(thisAny, bitField, hasOptionalFields, schema, str
332
345
  else {
333
346
  if (field.category === node_opcua_factory_1.FieldCategory.complex && thisAny[field.name] === undefined) {
334
347
  // need to create empty structure for deserialisation
335
- initializeField(field, thisAny, {}, schema, factory);
348
+ initializeField(field, thisAny, {}, schema, dataTypeFactory);
336
349
  }
337
350
  }
338
351
  }
339
352
  switch (field.category) {
340
353
  case node_opcua_factory_1.FieldCategory.complex:
341
- decodeArrayOrElement(factory, field, thisAny, stream);
354
+ decodeArrayOrElement(dataTypeFactory, field, thisAny, stream);
342
355
  break;
343
356
  case node_opcua_factory_1.FieldCategory.enumeration:
344
357
  case node_opcua_factory_1.FieldCategory.basic:
345
- decodeArrayOrElement(factory, field, thisAny, stream, field.schema.decode);
358
+ decodeArrayOrElement(dataTypeFactory, field, thisAny, stream, field.schema.decode);
346
359
  break;
347
360
  default:
348
361
  /* istanbul ignore next*/
@@ -350,14 +363,14 @@ function internal_decodeFields(thisAny, bitField, hasOptionalFields, schema, str
350
363
  }
351
364
  }
352
365
  }
353
- function decodeFields(thisAny, schema, stream, factory) {
366
+ function decodeFields(thisAny, schema, stream, dataTypeFactory) {
354
367
  // ============ Deal with switchBits
355
368
  const hasOptionalFields = hasOptionalFieldsF(schema);
356
369
  let bitField = 0;
357
370
  if (hasOptionalFields && stream.buffer.length - stream.length > 0) {
358
371
  bitField = stream.readUInt32();
359
372
  }
360
- internal_decodeFields(thisAny, bitField, hasOptionalFields, schema, stream, factory);
373
+ internal_decodeFields(thisAny, bitField, hasOptionalFields, schema, stream, dataTypeFactory);
361
374
  }
362
375
  function ___fieldToJson(field, value) {
363
376
  switch (field.category) {
@@ -382,8 +395,9 @@ function fieldToJSON(field, value) {
382
395
  }
383
396
  }
384
397
  function encodeToJson(thisAny, schema, pojo) {
385
- if (schema._baseSchema && schema._baseSchema.fields.length) {
386
- encodeToJson(thisAny, schema._baseSchema, pojo);
398
+ const baseSchema = schema.getBaseSchema();
399
+ if (baseSchema && baseSchema.fields.length) {
400
+ encodeToJson(thisAny, baseSchema, pojo);
387
401
  }
388
402
  for (const field of schema.fields) {
389
403
  const value = thisAny[field.name];
@@ -395,14 +409,14 @@ function encodeToJson(thisAny, schema, pojo) {
395
409
  }
396
410
  const _private = new WeakMap();
397
411
  class DynamicExtensionObject extends node_opcua_extension_object_1.ExtensionObject {
398
- constructor(options, schema, factory) {
412
+ constructor(options, schema, dataTypeFactory) {
399
413
  (0, node_opcua_assert_1.assert)(schema, "expecting a schema here ");
400
- (0, node_opcua_assert_1.assert)(factory, "expecting a DataTypeFactory");
414
+ (0, node_opcua_assert_1.assert)(dataTypeFactory, "expecting a DataTypeFactory");
401
415
  super(options);
402
416
  options = options || {};
403
- _private.set(this, { schema, factory });
417
+ _private.set(this, { schema, factory: dataTypeFactory });
404
418
  (0, node_opcua_factory_1.check_options_correctness_against_schema)(this, this.schema, options);
405
- initializeFields(this, options, this.schema, factory, { caseInsensitive: true });
419
+ initializeFields(this, options, this.schema, dataTypeFactory, { caseInsensitive: true });
406
420
  }
407
421
  encode(stream) {
408
422
  super.encode(stream);
@@ -428,10 +442,10 @@ DynamicExtensionObject.possibleFields = [];
428
442
  // tslint:disable-next-line:max-classes-per-file
429
443
  class UnionBaseClass extends node_opcua_factory_1.BaseUAObject {
430
444
  // eslint-disable-next-line max-statements
431
- constructor(options, schema, factory) {
445
+ constructor(options, schema, dataTypeFactory) {
432
446
  super();
433
447
  (0, node_opcua_assert_1.assert)(schema, "expecting a schema here ");
434
- (0, node_opcua_assert_1.assert)(factory, "expecting a typeDic");
448
+ (0, node_opcua_assert_1.assert)(dataTypeFactory, "expecting a typeDic");
435
449
  options = options || {};
436
450
  _private.set(this, { schema });
437
451
  (0, node_opcua_factory_1.check_options_correctness_against_schema)(this, this.schema, options);
@@ -476,13 +490,16 @@ class UnionBaseClass extends node_opcua_factory_1.BaseUAObject {
476
490
  this[switchFieldName] = field.switchValue;
477
491
  switch (field.category) {
478
492
  case node_opcua_factory_1.FieldCategory.complex: {
479
- const constuctor = factory.getStructureTypeConstructor(field.fieldType);
493
+ const Constructor = dataTypeFactory.getStructureInfoByTypeName(field.fieldType).constructor;
494
+ if (!Constructor) {
495
+ throw new Error("Cannot instantiate an abstract dataType" + field.fieldType);
496
+ }
480
497
  // getOrCreateConstructor(field.fieldType, factory) || BaseUAObject;
481
498
  if (field.isArray) {
482
- this[name] = (value || []).map((x) => (constuctor ? new constuctor(x) : null));
499
+ this[name] = (value || []).map((x) => (Constructor ? new Constructor(x) : null));
483
500
  }
484
501
  else {
485
- this[name] = constuctor ? new constuctor(value) : null;
502
+ this[name] = Constructor ? new Constructor(value) : null;
486
503
  }
487
504
  // xx processStructuredType(fieldSchema);
488
505
  break;
@@ -546,7 +563,7 @@ class UnionBaseClass extends node_opcua_factory_1.BaseUAObject {
546
563
  }
547
564
  }
548
565
  decode(stream) {
549
- const factory = this.schema.$$factory;
566
+ const factory = this.schema.getDataTypeFactory();
550
567
  const switchValue = stream.readUInt32();
551
568
  const switchFieldName = this.schema.fields[0].name;
552
569
  this[switchFieldName] = switchValue;
@@ -597,12 +614,12 @@ class UnionBaseClass extends node_opcua_factory_1.BaseUAObject {
597
614
  return pojo;
598
615
  }
599
616
  }
600
- function _createDynamicUnionConstructor(schema, factory) {
617
+ function _createDynamicUnionConstructor(schema, dataTypeFactory) {
601
618
  const possibleFields = schema.fields.map((x) => x.name);
602
619
  // tslint:disable-next-line:max-classes-per-file
603
620
  class UNION extends UnionBaseClass {
604
621
  constructor(options) {
605
- super(options, schema, factory);
622
+ super(options, schema, dataTypeFactory);
606
623
  (0, node_opcua_assert_1.assert)(this.schema === schema);
607
624
  }
608
625
  }
@@ -618,7 +635,7 @@ function createDynamicObjectConstructor(schema, dataTypeFactory) {
618
635
  if (schemaPriv.$Constructor) {
619
636
  return schemaPriv.$Constructor;
620
637
  }
621
- const dataTypeNodeId = schemaPriv.id;
638
+ const dataTypeNodeId = schemaPriv.dataTypeNodeId;
622
639
  if (schema.baseType === "Union") {
623
640
  const UNIONConstructor = _createDynamicUnionConstructor(schema, dataTypeFactory);
624
641
  schemaPriv.$Constructor = UNIONConstructor;
@@ -634,24 +651,25 @@ function createDynamicObjectConstructor(schema, dataTypeFactory) {
634
651
  schema.baseType !== "EnumValueType" &&
635
652
  schema.baseType !== "Structure") {
636
653
  try {
637
- const baseSchema = dataTypeFactory.getStructuredTypeSchema(schema.baseType);
638
- schema._baseSchema = baseSchema;
639
- if (((_a = baseSchema.encodingDefaultBinary) === null || _a === void 0 ? void 0 : _a.value) === 0) {
654
+ const baseSchema = schema.getBaseSchema(); // dataTypeFactory.getStructuredTypeSchema(schema.baseType);
655
+ if (!baseSchema || ((_a = baseSchema.encodingDefaultBinary) === null || _a === void 0 ? void 0 : _a.value) === 0) {
640
656
  // is abstract
641
657
  }
642
658
  else {
643
- BaseClass = getOrCreateConstructor(schema.baseType, dataTypeFactory);
644
- if (!BaseClass) {
645
- throw new Error("Cannot find base class : " + schema.baseType);
646
- }
647
- if (BaseClass.possibleFields) {
648
- possibleFields = BaseClass.possibleFields.concat(possibleFields);
659
+ if (!baseSchema.isAbstract) {
660
+ // to do : check this
661
+ BaseClass = getOrCreateConstructor(schema.baseType, dataTypeFactory);
662
+ if (!BaseClass) {
663
+ throw new Error("Cannot find base class : " + schema.baseType);
664
+ }
665
+ if (BaseClass.possibleFields) {
666
+ possibleFields = BaseClass.possibleFields.concat(possibleFields);
667
+ }
649
668
  }
650
- schema._baseSchema = BaseClass.schema;
651
669
  }
652
670
  }
653
671
  catch (err) {
654
- // xx console.log("createDynamicObjectConstructor err= ", err.message);
672
+ console.log("createDynamicObjectConstructor err= ", err.message);
655
673
  }
656
674
  }
657
675
  // tslint:disable-next-line:max-classes-per-file
@@ -677,8 +695,8 @@ function createDynamicObjectConstructor(schema, dataTypeFactory) {
677
695
  super.decode(stream);
678
696
  }
679
697
  }
680
- EXTENSION.encodingDefaultXml = new node_opcua_nodeid_1.ExpandedNodeId(node_opcua_nodeid_1.NodeIdType.NUMERIC, 0, 0);
681
- EXTENSION.encodingDefaultBinary = new node_opcua_nodeid_1.ExpandedNodeId(node_opcua_nodeid_1.NodeIdType.NUMERIC, 0, 0);
698
+ EXTENSION.encodingDefaultXml = new node_opcua_nodeid_2.ExpandedNodeId(node_opcua_nodeid_2.NodeIdType.NUMERIC, 0, 0);
699
+ EXTENSION.encodingDefaultBinary = new node_opcua_nodeid_2.ExpandedNodeId(node_opcua_nodeid_2.NodeIdType.NUMERIC, 0, 0);
682
700
  EXTENSION.possibleFields = possibleFields;
683
701
  // to do : may be remove DataType suffix here ?
684
702
  Object.defineProperty(EXTENSION, "name", { value: schema.name });
@@ -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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"}
@@ -11,24 +11,27 @@ export interface EnumeratedType {
11
11
  }
12
12
  export interface StructureTypeRaw {
13
13
  name: string;
14
- baseType?: string;
14
+ baseType: string;
15
15
  base?: StructureTypeRaw;
16
16
  fields: any[];
17
17
  }
18
18
  export interface ITypeDictionary {
19
19
  targetNamespace: string;
20
+ defaultByteOrder: string;
20
21
  imports: string[];
21
- structuredTypesRaw: StructureTypeRaw[];
22
- enumeratedTypesRaw: EnumeratedType[];
23
22
  }
24
- export declare class TypeDictionary implements ITypeDictionary {
23
+ export declare class InternalTypeDictionary implements ITypeDictionary {
25
24
  targetNamespace: string;
25
+ defaultByteOrder: string;
26
26
  imports: string[];
27
- structuredTypesRaw: StructureTypeRaw[];
28
- enumeratedTypesRaw: EnumeratedType[];
29
- private structuredTypesRawMap;
27
+ private structuredTypesRaw;
28
+ private enumeratedTypesRaw;
29
+ _namespaces: Record<string, string>;
30
30
  constructor();
31
- addRaw(structuredType: StructureTypeRaw): void;
31
+ addEnumeration(name: string, e: EnumeratedType): void;
32
+ getEnumerations(): EnumeratedType[];
33
+ getStructures(): StructureTypeRaw[];
34
+ addStructureRaw(structuredType: StructureTypeRaw): void;
32
35
  getStructuredTypesRawByName(name: string): StructureTypeRaw;
33
36
  }
34
37
  export interface DataTypeAndEncodingId {