node-opcua-client-dynamic-extension-object 2.162.0 → 2.163.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/convert_data_type_definition_to_structuretype_schema.d.ts +4 -3
  2. package/dist/convert_data_type_definition_to_structuretype_schema.js +96 -66
  3. package/dist/convert_data_type_definition_to_structuretype_schema.js.map +1 -1
  4. package/dist/extra_data_type_manager.d.ts +10 -1
  5. package/dist/extra_data_type_manager.js +96 -2
  6. package/dist/extra_data_type_manager.js.map +1 -1
  7. package/dist/get_extension_object_constructor.js +4 -4
  8. package/dist/get_extension_object_constructor.js.map +1 -1
  9. package/dist/get_extra_data_type_manager.d.ts +2 -1
  10. package/dist/get_extra_data_type_manager.js +8 -2
  11. package/dist/get_extra_data_type_manager.js.map +1 -1
  12. package/dist/populate_data_type_manager.d.ts +2 -4
  13. package/dist/populate_data_type_manager.js +88 -81
  14. package/dist/populate_data_type_manager.js.map +1 -1
  15. package/dist/private/populate_data_type_manager_103.js +5 -4
  16. package/dist/private/populate_data_type_manager_103.js.map +1 -1
  17. package/dist/private/populate_data_type_manager_104.d.ts +1 -2
  18. package/dist/private/populate_data_type_manager_104.js +41 -18
  19. package/dist/private/populate_data_type_manager_104.js.map +1 -1
  20. package/dist/resolve_dynamic_extension_object.d.ts +2 -2
  21. package/dist/resolve_dynamic_extension_object.js +66 -91
  22. package/dist/resolve_dynamic_extension_object.js.map +1 -1
  23. package/package.json +12 -12
  24. package/source/convert_data_type_definition_to_structuretype_schema.ts +116 -79
  25. package/source/extra_data_type_manager.ts +113 -4
  26. package/source/get_extension_object_constructor.ts +5 -4
  27. package/source/get_extra_data_type_manager.ts +15 -7
  28. package/source/populate_data_type_manager.ts +99 -89
  29. package/source/private/populate_data_type_manager_103.ts +6 -4
  30. package/source/private/populate_data_type_manager_104.ts +67 -28
  31. package/source/resolve_dynamic_extension_object.ts +79 -110
@@ -1,14 +1,15 @@
1
- import { DataTypeFactory, FieldCategory, IStructuredTypeSchema, TypeDefinition } from "node-opcua-factory";
1
+ import { FieldCategory, IStructuredTypeSchema, TypeDefinition } from "node-opcua-factory";
2
2
  import { NodeId } from "node-opcua-nodeid";
3
3
  import { IBasicSessionAsync2 } from "node-opcua-pseudo-session";
4
4
  import { DataTypeDefinition } from "node-opcua-types";
5
5
  import { DataTypeAndEncodingId } from "node-opcua-schemas";
6
6
  import { DataType } from "node-opcua-variant";
7
+ import { ExtraDataTypeManager } from "./extra_data_type_manager";
7
8
  export interface CacheForFieldResolution {
8
9
  fieldTypeName: string;
9
10
  schema: TypeDefinition;
10
11
  category: FieldCategory;
11
- allowSubType?: boolean;
12
+ allowSubTypes?: boolean;
12
13
  dataType?: NodeId;
13
14
  }
14
15
  export type ResolveReject<T> = [
@@ -27,4 +28,4 @@ export interface IDataTypeDescriptionMini {
27
28
  encodings?: DataTypeAndEncodingId;
28
29
  isAbstract?: boolean;
29
30
  }
30
- export declare function convertDataTypeDefinitionToStructureTypeSchema(session: IBasicSessionAsync2, dataTypeNodeId: NodeId, name: string, definition: DataTypeDefinition, dataTypeDescription: IDataTypeDescriptionMini | null, dataTypeFactory: DataTypeFactory, isAbstract: boolean, cache: ICache): Promise<IStructuredTypeSchema>;
31
+ export declare function convertDataTypeDefinitionToStructureTypeSchema(session: IBasicSessionAsync2, dataTypeNodeId: NodeId, name: string, definition: DataTypeDefinition, dataTypeDescription: IDataTypeDescriptionMini | null, dataTypeManager: ExtraDataTypeManager, isAbstract: boolean, cache: ICache): Promise<IStructuredTypeSchema>;
@@ -9,6 +9,7 @@ const node_opcua_nodeid_2 = require("node-opcua-nodeid");
9
9
  const node_opcua_pseudo_session_1 = require("node-opcua-pseudo-session");
10
10
  const node_opcua_types_1 = require("node-opcua-types");
11
11
  const node_opcua_extension_object_1 = require("node-opcua-extension-object");
12
+ const node_opcua_schemas_1 = require("node-opcua-schemas");
12
13
  //
13
14
  const node_opcua_variant_1 = require("node-opcua-variant");
14
15
  const node_opcua_constants_1 = require("node-opcua-constants");
@@ -66,7 +67,7 @@ async function findSuperType(session, dataTypeNodeId, cache) {
66
67
  return result3.references[0].nodeId;
67
68
  });
68
69
  }
69
- async function findDataTypeCategory(session, dataTypeFactory, cache, dataTypeNodeId) {
70
+ async function findDataTypeCategory(session, cache, dataTypeNodeId) {
70
71
  const subTypeNodeId = await findSuperType(session, dataTypeNodeId, cache);
71
72
  doDebug && debugLog("subTypeNodeId of ", dataTypeNodeId.toString(), " is ", subTypeNodeId.toString());
72
73
  const fieldResolution = fromCache(cache, "fieldResolution", subTypeNodeId);
@@ -91,7 +92,7 @@ async function findDataTypeCategory(session, dataTypeFactory, cache, dataTypeNod
91
92
  return category;
92
93
  }
93
94
  // must drill down ...
94
- return await findDataTypeCategory(session, dataTypeFactory, cache, subTypeNodeId);
95
+ return await findDataTypeCategory(session, cache, subTypeNodeId);
95
96
  }
96
97
  async function findDataTypeBasicType(session, cache, dataTypeNodeId) {
97
98
  const subTypeNodeId = await findSuperType(session, dataTypeNodeId, cache);
@@ -131,8 +132,9 @@ async function readBrowseNameWithCache(session, nodeId, cache) {
131
132
  return dataValue.value.value.name;
132
133
  });
133
134
  }
134
- async function resolve2(session, dataTypeNodeId, dataTypeFactory, fieldTypeName, cache) {
135
- const category = await findDataTypeCategory(session, dataTypeFactory, cache, dataTypeNodeId);
135
+ async function resolve2(session, dataTypeNodeId, dataTypeManager, fieldTypeName, cache) {
136
+ const dataTypeFactory = dataTypeManager.getDataTypeFactoryForNamespace(dataTypeNodeId.namespace);
137
+ const category = await findDataTypeCategory(session, cache, dataTypeNodeId);
136
138
  doDebug && debugLog(" type " + fieldTypeName + " has not been seen yet, let resolve it => (category = ", category, " )");
137
139
  let schema = undefined;
138
140
  switch (category) {
@@ -183,9 +185,12 @@ async function resolve2(session, dataTypeNodeId, dataTypeFactory, fieldTypeName,
183
185
  }
184
186
  else {
185
187
  const isAbstract = false;
186
- schema = await convertDataTypeDefinitionToStructureTypeSchema(session, dataTypeNodeId, fieldTypeName, definition, null, dataTypeFactory, isAbstract, cache);
188
+ schema = await convertDataTypeDefinitionToStructureTypeSchema(session, dataTypeNodeId, fieldTypeName, definition, null, dataTypeManager, isAbstract, cache);
189
+ const structuredTypeSchema = schema;
190
+ if (structuredTypeSchema.encodingDefaultBinary && !dataTypeFactory.hasConstructor(structuredTypeSchema.encodingDefaultBinary)) {
191
+ (0, node_opcua_schemas_1.createDynamicObjectConstructor)(structuredTypeSchema, dataTypeFactory);
192
+ }
187
193
  }
188
- // xx const schema1 = dataTypeFactory.getStructuredTypeSchema(fieldTypeName);
189
194
  }
190
195
  break;
191
196
  }
@@ -207,11 +212,10 @@ const isExtensionObject = async (session, dataTypeNodeId, cache) => {
207
212
  }
208
213
  return await isExtensionObject(session, baseDataType, cache);
209
214
  };
210
- // eslint-disable-next-line max-statements
211
- async function resolveFieldType(session, dataTypeNodeId, dataTypeFactory, cache) {
215
+ async function resolveFieldType(session, dataTypeNodeId, dataTypeManager, cache) {
212
216
  return await memoize(cache, "fieldResolution", dataTypeNodeId, async () => {
217
+ const dataTypeFactory = dataTypeManager.getDataTypeFactoryForNamespace(dataTypeNodeId.namespace);
213
218
  if (dataTypeNodeId.namespace === 0 && dataTypeNodeId.value === node_opcua_constants_1.DataTypeIds.Structure) {
214
- // ERN return null;
215
219
  const category = node_opcua_factory_1.FieldCategory.complex;
216
220
  const fieldTypeName = "Structure";
217
221
  const schema = node_opcua_extension_object_1.ExtensionObject.schema;
@@ -219,7 +223,7 @@ async function resolveFieldType(session, dataTypeNodeId, dataTypeFactory, cache)
219
223
  category,
220
224
  fieldTypeName,
221
225
  schema,
222
- allowSubType: true,
226
+ allowSubTypes: true,
223
227
  dataType: (0, node_opcua_nodeid_2.coerceNodeId)(node_opcua_variant_1.DataType.ExtensionObject)
224
228
  };
225
229
  }
@@ -227,16 +231,17 @@ async function resolveFieldType(session, dataTypeNodeId, dataTypeFactory, cache)
227
231
  const v3 = {
228
232
  category: node_opcua_factory_1.FieldCategory.basic,
229
233
  fieldTypeName: "Variant",
230
- schema: dataTypeFactory.getBuiltInType("Variant")
234
+ schema: dataTypeManager.getBuiltInType("Variant")
231
235
  };
232
236
  return v3;
233
237
  }
234
238
  const readIsAbstract = async (dataTypeNodeId) => {
235
239
  return (await session.read({ nodeId: dataTypeNodeId, attributeId: node_opcua_data_model_1.AttributeIds.IsAbstract })).value.value;
236
240
  };
237
- const [isAbstract, fieldTypeName] = await Promise.all([
241
+ const [isAbstract, fieldTypeName, _unusedSuperType] = await Promise.all([
238
242
  readIsAbstract(dataTypeNodeId),
239
- readBrowseNameWithCache(session, dataTypeNodeId, cache)
243
+ readBrowseNameWithCache(session, dataTypeNodeId, cache),
244
+ findSuperType(session, dataTypeNodeId, cache)
240
245
  ]);
241
246
  if (isAbstract) {
242
247
  const _isExtensionObject = await isExtensionObject(session, dataTypeNodeId, cache);
@@ -247,7 +252,7 @@ async function resolveFieldType(session, dataTypeNodeId, dataTypeFactory, cache)
247
252
  category: node_opcua_factory_1.FieldCategory.complex,
248
253
  fieldTypeName: fieldTypeName,
249
254
  schema: node_opcua_extension_object_1.ExtensionObject.schema,
250
- allowSubType: true,
255
+ allowSubTypes: true,
251
256
  dataType: dataTypeNodeId
252
257
  };
253
258
  return v3;
@@ -257,8 +262,8 @@ async function resolveFieldType(session, dataTypeNodeId, dataTypeFactory, cache)
257
262
  const v3 = {
258
263
  category: node_opcua_factory_1.FieldCategory.basic,
259
264
  fieldTypeName: fieldTypeName,
260
- schema: dataTypeFactory.getBuiltInType("Variant"),
261
- allowSubType: true,
265
+ schema: dataTypeManager.getBuiltInType("Variant"),
266
+ allowSubTypes: true,
262
267
  dataType: dataTypeNodeId
263
268
  };
264
269
  return v3;
@@ -280,7 +285,7 @@ async function resolveFieldType(session, dataTypeNodeId, dataTypeFactory, cache)
280
285
  }
281
286
  else {
282
287
  doDebug && debugLog(" type " + fieldTypeName + " has not been seen yet, let resolve it");
283
- const res = await resolve2(session, dataTypeNodeId, dataTypeFactory, fieldTypeName, cache);
288
+ const res = await resolve2(session, dataTypeNodeId, dataTypeManager, fieldTypeName, cache);
284
289
  schema = res.schema;
285
290
  category = res.category;
286
291
  }
@@ -296,11 +301,9 @@ async function resolveFieldType(session, dataTypeNodeId, dataTypeFactory, cache)
296
301
  return v2;
297
302
  });
298
303
  }
299
- async function _setupEncodings(session, dataTypeNodeId, dataTypeDescription, schema) {
300
- // read abstract flag
301
- const isAbstractDV = await session.read({ nodeId: dataTypeNodeId, attributeId: node_opcua_data_model_1.AttributeIds.IsAbstract });
304
+ async function _setupEncodings(session, dataTypeNodeId, dataTypeDescription, schema, isAbstract) {
302
305
  schema.dataTypeNodeId = dataTypeNodeId;
303
- if (isAbstractDV.statusCode.isGood() && isAbstractDV.value.value === false) {
306
+ if (!isAbstract) {
304
307
  const encodings = (dataTypeDescription && dataTypeDescription.encodings) || (await (0, find_encodings_1._findEncodings)(session, dataTypeNodeId));
305
308
  schema.encodingDefaultBinary = (0, node_opcua_nodeid_2.makeExpandedNodeId)(encodings.binaryEncodingNodeId);
306
309
  schema.encodingDefaultXml = (0, node_opcua_nodeid_2.makeExpandedNodeId)(encodings.xmlEncodingNodeId);
@@ -360,21 +363,17 @@ async function nonReentrant(cache, prefix, dataTypeNodeId, func) {
360
363
  });
361
364
  }
362
365
  // eslint-disable-next-line max-statements, max-params
363
- async function convertDataTypeDefinitionToStructureTypeSchema(session, dataTypeNodeId, name, definition, dataTypeDescription, dataTypeFactory, isAbstract, cache) {
366
+ async function convertDataTypeDefinitionToStructureTypeSchema(session, dataTypeNodeId, name, definition, dataTypeDescription, dataTypeManager, isAbstract, cache) {
364
367
  return await nonReentrant(cache, "convertDataTypeDefinitionToStructureTypeSchema", dataTypeNodeId, async () => {
365
- // warningLog(">> convertDataTypeDefinitionToStructureTypeSchema = ", dataTypeNodeId.toString());
366
368
  if (definition instanceof node_opcua_types_1.StructureDefinition) {
369
+ const dataTypeFactory = dataTypeManager.getDataTypeFactoryForNamespace(dataTypeNodeId.namespace);
367
370
  let fieldCountToIgnore = 0;
368
- const structureInfo = dataTypeFactory.getStructureInfoForDataType(definition.baseDataType);
371
+ const structureInfo = dataTypeManager.getStructureInfoForDataType(definition.baseDataType);
369
372
  const baseSchema = structureInfo?.schema;
370
373
  if (baseSchema) {
371
374
  const possibleFields = (0, node_opcua_factory_1.extractAllPossibleFields)(baseSchema);
372
375
  fieldCountToIgnore += possibleFields.length;
373
376
  }
374
- // while (base && !(base.dataTypeNodeId.value === DataType.ExtensionObject && base.dataTypeNodeId.namespace === 0)) {
375
- // fieldCountToIgnore += base..length;
376
- // base = base.getBaseSchema();
377
- // }
378
377
  const fields = [];
379
378
  const isUnion = definition.structureType === node_opcua_types_1.StructureType.Union;
380
379
  switch (definition.structureType) {
@@ -386,6 +385,9 @@ async function convertDataTypeDefinitionToStructureTypeSchema(session, dataTypeN
386
385
  break;
387
386
  case node_opcua_types_1.StructureType.Structure:
388
387
  case node_opcua_types_1.StructureType.StructureWithOptionalFields:
388
+ // new in 1.05
389
+ case node_opcua_types_1.StructureType.StructureWithSubtypedValues:
390
+ case node_opcua_types_1.StructureType.UnionWithSubtypedValues:
389
391
  break;
390
392
  }
391
393
  let switchValue = 1;
@@ -393,41 +395,62 @@ async function convertDataTypeDefinitionToStructureTypeSchema(session, dataTypeN
393
395
  const bitFields = isUnion ? undefined : [];
394
396
  const postActions = [];
395
397
  if (definition.fields) {
398
+ // pre-fetch all dataTypes in parallel
399
+ const dataTypesToResolve = [];
400
+ const seen = new Set();
401
+ if (!(0, node_opcua_nodeid_1.sameNodeId)(definition.baseDataType, dataTypeNodeId)) {
402
+ dataTypesToResolve.push(definition.baseDataType);
403
+ seen.add(definition.baseDataType.toString());
404
+ }
396
405
  for (let i = fieldCountToIgnore; i < definition.fields.length; i++) {
397
406
  const fieldD = definition.fields[i];
398
- // we need to skip fields that have already been handled in base class
399
- // promises.push((
400
- await (async () => {
401
- let field;
402
- ({ field, switchBit, switchValue } = createField(fieldD, switchBit, bitFields, isUnion, switchValue));
403
- if (fieldD.dataType.value === dataTypeNodeId.value && fieldD.dataType.namespace === dataTypeNodeId.namespace) {
404
- // this is a structure with a field of the same type
405
- // push an empty placeholder that we will fill later
406
- const fieldTypeName = await readBrowseNameWithCache(session, dataTypeNodeId, cache);
407
- (field.fieldType = fieldTypeName), (field.category = node_opcua_factory_1.FieldCategory.complex);
408
- fields.push(field);
409
- const capturedField = field;
410
- postActions.push((schema) => {
411
- capturedField.schema = schema;
412
- });
413
- return;
414
- ;
415
- }
416
- const rt = (await resolveFieldType(session, fieldD.dataType, dataTypeFactory, cache));
417
- if (!rt) {
418
- errorLog("convertDataTypeDefinitionToStructureTypeSchema cannot handle field", fieldD.name, "in", name, "because " + fieldD.dataType.toString() + " cannot be resolved");
419
- return;
420
- }
421
- const { schema, category, fieldTypeName, dataType, allowSubType } = rt;
422
- field.fieldType = fieldTypeName;
423
- field.category = category;
424
- field.schema = schema;
425
- field.dataType = dataType || fieldD.dataType;
426
- field.allowSubType = allowSubType || false;
427
- field.basicDataType = await findBasicDataTypeEx(session, field.dataType, cache);
407
+ const key = fieldD.dataType.toString();
408
+ if (seen.has(key))
409
+ continue;
410
+ seen.add(key);
411
+ if ((0, node_opcua_nodeid_1.sameNodeId)(fieldD.dataType, dataTypeNodeId))
412
+ continue;
413
+ dataTypesToResolve.push(fieldD.dataType);
414
+ }
415
+ await Promise.all([
416
+ ...dataTypesToResolve.map((dataType) => resolveFieldType(session, dataType, dataTypeManager, cache)),
417
+ ...dataTypesToResolve.map((dataType) => findBasicDataTypeEx(session, dataType, cache)),
418
+ !isAbstract ? (0, find_encodings_1._findEncodings)(session, dataTypeNodeId) : Promise.resolve(null)
419
+ ]);
420
+ const results = await Promise.all(definition.fields.slice(fieldCountToIgnore).map(async (fieldD) => {
421
+ const isSelf = (0, node_opcua_nodeid_1.sameNodeId)(fieldD.dataType, dataTypeNodeId);
422
+ // Pre-fetch async data for each field in parallel
423
+ const rt = isSelf ? null : await resolveFieldType(session, fieldD.dataType, dataTypeManager, cache);
424
+ const basicDataType = rt ? await findBasicDataTypeEx(session, rt.dataType || fieldD.dataType, cache) : (isSelf ? node_opcua_variant_1.DataType.ExtensionObject : undefined);
425
+ const fieldTypeNameForSelfRef = (isSelf)
426
+ ? await readBrowseNameWithCache(session, dataTypeNodeId, cache)
427
+ : undefined;
428
+ return { fieldD, rt, basicDataType, fieldTypeNameForSelfRef };
429
+ }));
430
+ for (const { fieldD, rt, basicDataType, fieldTypeNameForSelfRef } of results) {
431
+ let field;
432
+ let currentAllowSubTypes;
433
+ ({ field, switchBit, switchValue, allowSubTypes: currentAllowSubTypes } = createField(definition, fieldD, switchBit, bitFields, isUnion, switchValue));
434
+ if (fieldD.dataType.value === dataTypeNodeId.value && fieldD.dataType.namespace === dataTypeNodeId.namespace) {
435
+ // this is a structure with a field of the same type
436
+ // push an empty placeholder that we will fill later
437
+ (field.fieldType = fieldTypeNameForSelfRef), (field.category = node_opcua_factory_1.FieldCategory.complex);
428
438
  fields.push(field);
429
- })();
430
- // ));
439
+ const capturedField = field;
440
+ postActions.push((schema) => {
441
+ capturedField.schema = schema;
442
+ });
443
+ continue;
444
+ }
445
+ const resolvedField = rt;
446
+ const { schema, category, fieldTypeName, dataType } = resolvedField;
447
+ field.fieldType = fieldTypeName;
448
+ field.category = category;
449
+ field.schema = schema;
450
+ field.dataType = dataType || fieldD.dataType;
451
+ field.allowSubTypes = currentAllowSubTypes;
452
+ field.basicDataType = basicDataType;
453
+ fields.push(field);
431
454
  }
432
455
  }
433
456
  /// some server may provide definition.baseDataType to be i=22 (ExtensionObject)
@@ -435,7 +458,7 @@ async function convertDataTypeDefinitionToStructureTypeSchema(session, dataTypeN
435
458
  if (isUnion && (0, node_opcua_nodeid_1.sameNodeId)(definition.baseDataType, (0, node_opcua_nodeid_2.coerceNodeId)(node_opcua_constants_1.DataTypeIds.Structure))) {
436
459
  definition.baseDataType = (0, node_opcua_nodeid_2.resolveNodeId)(node_opcua_constants_1.DataTypeIds.Union); // aka DataTypeIds.Union
437
460
  }
438
- const a = await resolveFieldType(session, definition.baseDataType, dataTypeFactory, cache);
461
+ const a = await resolveFieldType(session, definition.baseDataType, dataTypeManager, cache);
439
462
  const baseType = a ? a.fieldTypeName : isUnion ? "Union" : "ExtensionObject";
440
463
  const os = new node_opcua_factory_1.StructuredTypeSchema({
441
464
  baseType,
@@ -444,27 +467,34 @@ async function convertDataTypeDefinitionToStructureTypeSchema(session, dataTypeN
444
467
  name,
445
468
  dataTypeFactory
446
469
  });
447
- const structuredTypeSchema = await _setupEncodings(session, dataTypeNodeId, dataTypeDescription, os);
470
+ const structuredTypeSchema = await _setupEncodings(session, dataTypeNodeId, dataTypeDescription, os, isAbstract);
448
471
  postActions.forEach((action) => action(structuredTypeSchema));
449
472
  doDebug && debugLog("DONE ! convertDataTypeDefinitionToStructureTypeSchema = ", dataTypeNodeId.toString());
450
473
  return structuredTypeSchema;
451
474
  }
452
475
  throw new Error("Not Implemented");
453
476
  });
454
- function createField(fieldD, switchBit, bitFields, isUnion, switchValue) {
477
+ function createField(definition, fieldD, switchBit, bitFields, isUnion, switchValue) {
455
478
  const field = {
456
479
  fieldType: "",
457
480
  name: fieldD.name,
458
481
  schema: undefined
459
482
  };
483
+ const definitionAllowSubTypes = definition.structureType === node_opcua_types_1.StructureType.StructureWithSubtypedValues
484
+ || definition.structureType === node_opcua_types_1.StructureType.UnionWithSubtypedValues;
460
485
  if (fieldD.isOptional) {
461
- field.switchBit = switchBit++;
462
- bitFields?.push({ name: fieldD.name + "Specified", length: 1 });
486
+ // Optional has a special handling
487
+ if (!definitionAllowSubTypes) {
488
+ // we are in a true optional field structure
489
+ field.switchBit = switchBit++;
490
+ bitFields?.push({ name: fieldD.name + "Specified", length: 1 });
491
+ }
463
492
  }
464
493
  if (isUnion) {
465
494
  field.switchValue = switchValue;
466
495
  switchValue += 1;
467
496
  }
497
+ const allowSubTypes = definitionAllowSubTypes && fieldD.isOptional;
468
498
  // (fieldD.valueRank === -1 || fieldD.valueRank === 1 || fieldD.valueRank === 0);
469
499
  if (fieldD.valueRank >= 1) {
470
500
  field.valueRank = fieldD.valueRank;
@@ -473,7 +503,7 @@ async function convertDataTypeDefinitionToStructureTypeSchema(session, dataTypeN
473
503
  else {
474
504
  field.isArray = false;
475
505
  }
476
- return { field, switchBit, switchValue };
506
+ return { field, switchBit, switchValue, allowSubTypes };
477
507
  }
478
508
  }
479
509
  //# sourceMappingURL=convert_data_type_definition_to_structuretype_schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"convert_data_type_definition_to_structuretype_schema.js","sourceRoot":"","sources":["../source/convert_data_type_definition_to_structuretype_schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convert_data_type_definition_to_structuretype_schema.js","sourceRoot":"","sources":["../source/convert_data_type_definition_to_structuretype_schema.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,25 @@
1
- import { ConstructorFunc, DataTypeFactory } from "node-opcua-factory";
1
+ import { ConstructorFunc, DataTypeFactory, StructureInfo } from "node-opcua-factory";
2
2
  import { NodeId } from "node-opcua-nodeid";
3
+ import { IBasicSessionAsync2 } from "node-opcua-pseudo-session";
3
4
  import { AnyConstructorFunc } from "node-opcua-schemas";
4
5
  export declare class ExtraDataTypeManager {
5
6
  namespaceArray: string[];
6
7
  private dataTypeFactoryMapByNamespace;
8
+ private _session;
9
+ private _pendingExtractions;
7
10
  constructor();
11
+ setSession(session: IBasicSessionAsync2): void;
8
12
  setNamespaceArray(namespaceArray: string[]): void;
9
13
  hasDataTypeFactory(namespaceIndex: number): boolean;
10
14
  registerDataTypeFactory(namespaceIndex: number, dataTypeFactory: DataTypeFactory): void;
11
15
  getDataTypeFactoryForNamespace(namespaceIndex: number): DataTypeFactory;
12
16
  getDataTypeFactory(namespaceIndex: number): DataTypeFactory;
17
+ getBuiltInType(fieldTypeName: string): import("node-opcua-factory").CommonInterface;
18
+ getStructureInfoForDataType(dataTypeNodeId: NodeId): StructureInfo | null;
19
+ getStructureInfoForDataTypeAsync(dataTypeNodeId: NodeId): Promise<StructureInfo>;
13
20
  getExtensionObjectConstructorFromDataType(dataTypeNodeId: NodeId): AnyConstructorFunc;
21
+ getExtensionObjectConstructorFromDataTypeAsync(dataTypeNodeId: NodeId): Promise<AnyConstructorFunc>;
14
22
  getExtensionObjectConstructorFromBinaryEncoding(binaryEncodingNodeId: NodeId): ConstructorFunc;
23
+ getExtensionObjectConstructorFromBinaryEncodingAsync(binaryEncodingNodeId: NodeId): Promise<ConstructorFunc>;
15
24
  toString(): string;
16
25
  }
@@ -6,13 +6,19 @@ exports.ExtraDataTypeManager = void 0;
6
6
  */
7
7
  const util_1 = require("util");
8
8
  const node_opcua_assert_1 = require("node-opcua-assert");
9
+ const node_opcua_data_model_1 = require("node-opcua-data-model");
9
10
  const node_opcua_factory_1 = require("node-opcua-factory");
10
11
  class ExtraDataTypeManager {
11
12
  namespaceArray = [];
12
13
  dataTypeFactoryMapByNamespace = {};
14
+ _session = null;
15
+ _pendingExtractions = new Map();
13
16
  constructor() {
14
17
  /* */
15
18
  }
19
+ setSession(session) {
20
+ this._session = session;
21
+ }
16
22
  setNamespaceArray(namespaceArray) {
17
23
  this.namespaceArray = namespaceArray;
18
24
  }
@@ -28,7 +34,9 @@ class ExtraDataTypeManager {
28
34
  this.dataTypeFactoryMapByNamespace[namespaceIndex] = dataTypeFactory;
29
35
  }
30
36
  getDataTypeFactoryForNamespace(namespaceIndex) {
31
- (0, node_opcua_assert_1.assert)(namespaceIndex !== 0, "getTypeDictionaryForNamespace cannot be used for namespace 0");
37
+ if (namespaceIndex === 0) {
38
+ return (0, node_opcua_factory_1.getStandardDataTypeFactory)();
39
+ }
32
40
  return this.dataTypeFactoryMapByNamespace[namespaceIndex];
33
41
  }
34
42
  getDataTypeFactory(namespaceIndex) {
@@ -37,18 +45,75 @@ class ExtraDataTypeManager {
37
45
  }
38
46
  return this.dataTypeFactoryMapByNamespace[namespaceIndex];
39
47
  }
48
+ getBuiltInType(fieldTypeName) {
49
+ // fallback to standard factory
50
+ const standardDataTypeFactory = (0, node_opcua_factory_1.getStandardDataTypeFactory)();
51
+ if (standardDataTypeFactory.hasBuiltInType(fieldTypeName)) {
52
+ return standardDataTypeFactory.getBuiltInType(fieldTypeName);
53
+ }
54
+ throw new Error("Cannot find built-in type " + fieldTypeName);
55
+ }
56
+ getStructureInfoForDataType(dataTypeNodeId) {
57
+ const dataTypeFactory = this.getDataTypeFactory(dataTypeNodeId.namespace);
58
+ if (!dataTypeFactory) {
59
+ throw new Error("cannot find dataFactory for namespace=" + dataTypeNodeId.namespace + " when requested for " + dataTypeNodeId.toString());
60
+ }
61
+ return dataTypeFactory.getStructureInfoForDataType(dataTypeNodeId);
62
+ }
63
+ async getStructureInfoForDataTypeAsync(dataTypeNodeId) {
64
+ const structureInfo = this.getStructureInfoForDataType(dataTypeNodeId);
65
+ if (structureInfo) {
66
+ return structureInfo;
67
+ }
68
+ if (!this._session) {
69
+ throw new Error("Session is required for lazy loading. Call setSession first.");
70
+ }
71
+ const key = dataTypeNodeId.toString();
72
+ if (this._pendingExtractions.has(key)) {
73
+ return await this._pendingExtractions.get(key);
74
+ }
75
+ const promise = (async () => {
76
+ // We'll need to make sure it's accessible and correctly used.
77
+ // For now, let's assume we can import it or move it.
78
+ // Actually, populate_data_type_manager_104.ts exports readDataTypeDefinitionAndBuildType
79
+ const { readDataTypeDefinitionAndBuildType } = require("./private/populate_data_type_manager_104");
80
+ const cache = {}; // local cache for this extraction
81
+ await readDataTypeDefinitionAndBuildType(this._session, dataTypeNodeId, undefined, this, cache);
82
+ const info = this.getStructureInfoForDataType(dataTypeNodeId);
83
+ if (!info) {
84
+ throw new Error("Failed to extract data type structure for " + dataTypeNodeId.toString());
85
+ }
86
+ return info;
87
+ })();
88
+ this._pendingExtractions.set(key, promise);
89
+ try {
90
+ return await promise;
91
+ }
92
+ finally {
93
+ this._pendingExtractions.delete(key);
94
+ }
95
+ }
40
96
  getExtensionObjectConstructorFromDataType(dataTypeNodeId) {
41
97
  const dataTypeFactory = this.getDataTypeFactory(dataTypeNodeId.namespace);
42
98
  if (!dataTypeFactory) {
43
99
  throw new Error("cannot find dataFactory for namespace=" + dataTypeNodeId.namespace + " when requested for " + dataTypeNodeId.toString());
44
100
  }
45
101
  // find schema corresponding to dataTypeNodeId in typeDictionary
46
- const Constructor = dataTypeFactory.findStructureInfoForDataType(dataTypeNodeId).constructor;
102
+ const structureInfo = dataTypeFactory.findStructureInfoForDataType(dataTypeNodeId);
103
+ const Constructor = structureInfo.constructor;
47
104
  if (!Constructor) {
48
105
  throw new Error("Cannot find Extension Object Constructor for Abstract dataType");
49
106
  }
50
107
  return Constructor;
51
108
  }
109
+ async getExtensionObjectConstructorFromDataTypeAsync(dataTypeNodeId) {
110
+ const structureInfo = await this.getStructureInfoForDataTypeAsync(dataTypeNodeId);
111
+ const Constructor = structureInfo.constructor;
112
+ if (!Constructor) {
113
+ throw new Error("Cannot find Extension Object Constructor for Abstract dataType " + dataTypeNodeId.toString());
114
+ }
115
+ return Constructor;
116
+ }
52
117
  getExtensionObjectConstructorFromBinaryEncoding(binaryEncodingNodeId) {
53
118
  const dataTypeFactory = this.getDataTypeFactoryForNamespace(binaryEncodingNodeId.namespace);
54
119
  const Constructor = dataTypeFactory.getConstructor(binaryEncodingNodeId);
@@ -58,6 +123,35 @@ class ExtraDataTypeManager {
58
123
  }
59
124
  return Constructor;
60
125
  }
126
+ async getExtensionObjectConstructorFromBinaryEncodingAsync(binaryEncodingNodeId) {
127
+ const dataTypeFactory = this.getDataTypeFactoryForNamespace(binaryEncodingNodeId.namespace);
128
+ let Constructor = dataTypeFactory.getConstructor(binaryEncodingNodeId);
129
+ if (Constructor) {
130
+ return Constructor;
131
+ }
132
+ if (!this._session) {
133
+ throw new Error("Session is required for lazy loading. Call setSession first.");
134
+ }
135
+ // Need to find the DataType for this binary encoding
136
+ const browseResult = await this._session.browse({
137
+ nodeId: binaryEncodingNodeId,
138
+ referenceTypeId: "HasEncoding",
139
+ browseDirection: node_opcua_data_model_1.BrowseDirection.Inverse,
140
+ includeSubtypes: false,
141
+ nodeClassMask: node_opcua_data_model_1.NodeClassMask.DataType,
142
+ resultMask: node_opcua_data_model_1.ResultMask.BrowseName
143
+ });
144
+ if (browseResult.statusCode.isNotGood() || !browseResult.references || browseResult.references.length !== 1) {
145
+ throw new Error("Cannot find DataType for binary encoding " + binaryEncodingNodeId.toString());
146
+ }
147
+ const dataTypeNodeId = browseResult.references[0].nodeId;
148
+ await this.getStructureInfoForDataTypeAsync(dataTypeNodeId);
149
+ Constructor = dataTypeFactory.getConstructor(binaryEncodingNodeId);
150
+ if (!Constructor) {
151
+ throw new Error("Cannot find constructor for binary encoding " + binaryEncodingNodeId.toString() + " after extraction");
152
+ }
153
+ return Constructor;
154
+ }
61
155
  toString() {
62
156
  const l = [];
63
157
  function write(...args) {
@@ -1 +1 @@
1
- {"version":3,"file":"extra_data_type_manager.js","sourceRoot":"","sources":["../source/extra_data_type_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extra_data_type_manager.js","sourceRoot":"","sources":["../source/extra_data_type_manager.ts"],"names":[],"mappings":"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"}