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.
- package/dist/convert_data_type_definition_to_structuretype_schema.d.ts +4 -3
- package/dist/convert_data_type_definition_to_structuretype_schema.js +96 -66
- package/dist/convert_data_type_definition_to_structuretype_schema.js.map +1 -1
- package/dist/extra_data_type_manager.d.ts +10 -1
- package/dist/extra_data_type_manager.js +96 -2
- package/dist/extra_data_type_manager.js.map +1 -1
- package/dist/get_extension_object_constructor.js +4 -4
- package/dist/get_extension_object_constructor.js.map +1 -1
- package/dist/get_extra_data_type_manager.d.ts +2 -1
- package/dist/get_extra_data_type_manager.js +8 -2
- package/dist/get_extra_data_type_manager.js.map +1 -1
- package/dist/populate_data_type_manager.d.ts +2 -4
- package/dist/populate_data_type_manager.js +88 -81
- package/dist/populate_data_type_manager.js.map +1 -1
- package/dist/private/populate_data_type_manager_103.js +5 -4
- package/dist/private/populate_data_type_manager_103.js.map +1 -1
- package/dist/private/populate_data_type_manager_104.d.ts +1 -2
- package/dist/private/populate_data_type_manager_104.js +41 -18
- package/dist/private/populate_data_type_manager_104.js.map +1 -1
- package/dist/resolve_dynamic_extension_object.d.ts +2 -2
- package/dist/resolve_dynamic_extension_object.js +66 -91
- package/dist/resolve_dynamic_extension_object.js.map +1 -1
- package/package.json +12 -12
- package/source/convert_data_type_definition_to_structuretype_schema.ts +116 -79
- package/source/extra_data_type_manager.ts +113 -4
- package/source/get_extension_object_constructor.ts +5 -4
- package/source/get_extra_data_type_manager.ts +15 -7
- package/source/populate_data_type_manager.ts +99 -89
- package/source/private/populate_data_type_manager_103.ts +6 -4
- package/source/private/populate_data_type_manager_104.ts +67 -28
- package/source/resolve_dynamic_extension_object.ts +79 -110
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import {
|
|
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
|
-
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
135
|
-
const
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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:
|
|
261
|
-
|
|
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,
|
|
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 (
|
|
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,
|
|
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 =
|
|
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
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
field
|
|
427
|
-
|
|
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,
|
|
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
|
-
|
|
462
|
-
|
|
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
|
-
|
|
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
|
|
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":";;;AAAA;;GAEG;AACH,+BAA8B;AAE9B,yDAA2C;AAC3C,
|
|
1
|
+
{"version":3,"file":"extra_data_type_manager.js","sourceRoot":"","sources":["../source/extra_data_type_manager.ts"],"names":[],"mappings":"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"}
|