node-opcua-client-dynamic-extension-object 2.156.0 → 2.158.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/convert_data_type_definition_to_structuretype_schema.d.ts +3 -3
- package/dist/convert_data_type_definition_to_structuretype_schema.js +35 -25
- package/dist/convert_data_type_definition_to_structuretype_schema.js.map +1 -1
- package/dist/extra_data_type_manager.js +2 -2
- package/dist/extra_data_type_manager.js.map +1 -1
- package/dist/index.d.ts +22 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -1
- package/dist/private/populate_data_type_manager_104.js +1 -1
- package/dist/private/populate_data_type_manager_104.js.map +1 -1
- package/package.json +18 -18
- package/source/convert_data_type_definition_to_structuretype_schema.ts +49 -42
- package/source/index.ts +22 -0
- package/source/private/populate_data_type_manager_104.ts +1 -1
|
@@ -11,8 +11,8 @@ export interface CacheForFieldResolution {
|
|
|
11
11
|
allowSubType?: boolean;
|
|
12
12
|
dataType?: NodeId;
|
|
13
13
|
}
|
|
14
|
-
export type ResolveReject = [
|
|
15
|
-
resolve: (value:
|
|
14
|
+
export type ResolveReject<T> = [
|
|
15
|
+
resolve: (value: T) => void,
|
|
16
16
|
reject: (err: Error) => void
|
|
17
17
|
];
|
|
18
18
|
export interface ICache {
|
|
@@ -21,7 +21,7 @@ export interface ICache {
|
|
|
21
21
|
dataTypes?: Map<string, DataType>;
|
|
22
22
|
browseNameCache?: Map<string, string>;
|
|
23
23
|
hitCount?: number;
|
|
24
|
-
$$resolveStuff?: Map<string, ResolveReject[]>;
|
|
24
|
+
$$resolveStuff?: Map<string, ResolveReject<any>[]>;
|
|
25
25
|
}
|
|
26
26
|
export interface IDataTypeDescriptionMini {
|
|
27
27
|
encodings?: DataTypeAndEncodingId;
|
|
@@ -4,7 +4,6 @@ exports.convertDataTypeDefinitionToStructureTypeSchema = convertDataTypeDefiniti
|
|
|
4
4
|
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
5
5
|
const node_opcua_debug_1 = require("node-opcua-debug");
|
|
6
6
|
const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
7
|
-
//import { DataTypeIds } from "node-opcua-constant";
|
|
8
7
|
const node_opcua_factory_1 = require("node-opcua-factory");
|
|
9
8
|
const node_opcua_nodeid_2 = require("node-opcua-nodeid");
|
|
10
9
|
const node_opcua_pseudo_session_1 = require("node-opcua-pseudo-session");
|
|
@@ -12,11 +11,12 @@ const node_opcua_types_1 = require("node-opcua-types");
|
|
|
12
11
|
const node_opcua_extension_object_1 = require("node-opcua-extension-object");
|
|
13
12
|
//
|
|
14
13
|
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
14
|
+
const node_opcua_constants_1 = require("node-opcua-constants");
|
|
15
15
|
const find_encodings_1 = require("./private/find_encodings");
|
|
16
16
|
const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
|
|
17
|
+
const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
|
|
17
18
|
const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
|
|
18
19
|
const warningLog = (0, node_opcua_debug_1.make_warningLog)(__filename);
|
|
19
|
-
const doDebug = false;
|
|
20
20
|
async function memoize(cache, cacheName, nodeId, func) {
|
|
21
21
|
const key = nodeId.toString();
|
|
22
22
|
if (cache[cacheName]?.has(key)) {
|
|
@@ -39,7 +39,7 @@ function fromCache(cache, cacheName, nodeId) {
|
|
|
39
39
|
return null;
|
|
40
40
|
}
|
|
41
41
|
async function findSuperType(session, dataTypeNodeId, cache) {
|
|
42
|
-
if (dataTypeNodeId.namespace === 0 && dataTypeNodeId.value ===
|
|
42
|
+
if (dataTypeNodeId.namespace === 0 && dataTypeNodeId.value === node_opcua_constants_1.DataTypeIds.BaseDataType) {
|
|
43
43
|
// BaseDataType !
|
|
44
44
|
return (0, node_opcua_nodeid_2.coerceNodeId)(0);
|
|
45
45
|
}
|
|
@@ -78,10 +78,10 @@ async function findDataTypeCategory(session, dataTypeFactory, cache, dataTypeNod
|
|
|
78
78
|
if (n.identifierType === node_opcua_nodeid_1.NodeIdType.NUMERIC && n.namespace === 0 && n.value <= 29) {
|
|
79
79
|
// well known node ID !
|
|
80
80
|
switch (n.value) {
|
|
81
|
-
case
|
|
81
|
+
case node_opcua_constants_1.DataTypeIds.Structure:
|
|
82
82
|
category = node_opcua_factory_1.FieldCategory.complex;
|
|
83
83
|
break;
|
|
84
|
-
case
|
|
84
|
+
case node_opcua_constants_1.DataTypeIds.Enumeration:
|
|
85
85
|
category = node_opcua_factory_1.FieldCategory.enumeration;
|
|
86
86
|
break;
|
|
87
87
|
default:
|
|
@@ -95,7 +95,7 @@ async function findDataTypeCategory(session, dataTypeFactory, cache, dataTypeNod
|
|
|
95
95
|
}
|
|
96
96
|
async function findDataTypeBasicType(session, cache, dataTypeNodeId) {
|
|
97
97
|
const subTypeNodeId = await findSuperType(session, dataTypeNodeId, cache);
|
|
98
|
-
debugLog("subTypeNodeId of ", dataTypeNodeId.toString(), " is ", subTypeNodeId.toString());
|
|
98
|
+
doDebug && debugLog("subTypeNodeId of ", dataTypeNodeId.toString(), " is ", subTypeNodeId.toString());
|
|
99
99
|
const fieldResolution = fromCache(cache, "fieldResolution", subTypeNodeId);
|
|
100
100
|
if (fieldResolution) {
|
|
101
101
|
return fieldResolution.schema;
|
|
@@ -103,8 +103,8 @@ async function findDataTypeBasicType(session, cache, dataTypeNodeId) {
|
|
|
103
103
|
const n = subTypeNodeId;
|
|
104
104
|
if (n.identifierType === node_opcua_nodeid_1.NodeIdType.NUMERIC && n.namespace === 0 && n.value < 29) {
|
|
105
105
|
switch (n.value) {
|
|
106
|
-
case
|
|
107
|
-
case
|
|
106
|
+
case node_opcua_constants_1.DataTypeIds.Structure:
|
|
107
|
+
case node_opcua_constants_1.DataTypeIds.Enumeration:
|
|
108
108
|
throw new Error("Not expecting Structure or Enumeration");
|
|
109
109
|
default:
|
|
110
110
|
break;
|
|
@@ -133,7 +133,7 @@ async function readBrowseNameWithCache(session, nodeId, cache) {
|
|
|
133
133
|
}
|
|
134
134
|
async function resolve2(session, dataTypeNodeId, dataTypeFactory, fieldTypeName, cache) {
|
|
135
135
|
const category = await findDataTypeCategory(session, dataTypeFactory, cache, dataTypeNodeId);
|
|
136
|
-
debugLog(" type " + fieldTypeName + " has not been seen yet, let resolve it => (category = ", category, " )");
|
|
136
|
+
doDebug && debugLog(" type " + fieldTypeName + " has not been seen yet, let resolve it => (category = ", category, " )");
|
|
137
137
|
let schema = undefined;
|
|
138
138
|
switch (category) {
|
|
139
139
|
case node_opcua_factory_1.FieldCategory.basic:
|
|
@@ -155,20 +155,30 @@ async function resolve2(session, dataTypeNodeId, dataTypeFactory, fieldTypeName,
|
|
|
155
155
|
throw new Error(" Cannot find dataType Definition ! with nodeId =" + dataTypeNodeId.toString());
|
|
156
156
|
}
|
|
157
157
|
const definition = dataTypeDefinitionDataValue.value.value;
|
|
158
|
-
|
|
158
|
+
// OPC UA Spec 1.04 part 6 - 5.2.2.16
|
|
159
|
+
// Enumeration values are represented as a Int32 in the EnumValueType structure.
|
|
160
|
+
// but on 64 bit platform this value could be returned as a [ high, low] tuple.
|
|
161
|
+
// note that this is not correct as per the spec.
|
|
162
|
+
const convertIn64ToInteger = (a) => Array.isArray(a) ? a[1] : a;
|
|
159
163
|
const convert = (fields) => {
|
|
160
164
|
const retVal = {};
|
|
161
165
|
fields && fields.forEach((field) => (retVal[field.name || ""] = convertIn64ToInteger(field.value)));
|
|
162
166
|
return retVal;
|
|
163
167
|
};
|
|
164
168
|
if (category === node_opcua_factory_1.FieldCategory.enumeration) {
|
|
165
|
-
if (
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
169
|
+
if (dataTypeFactory.hasEnumeration(fieldTypeName)) {
|
|
170
|
+
// skipping already known enumeration
|
|
171
|
+
schema = dataTypeFactory.getEnumeration(fieldTypeName);
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
if (definition instanceof node_opcua_types_1.EnumDefinition) {
|
|
175
|
+
const e = new node_opcua_factory_1.EnumerationDefinitionSchema(dataTypeNodeId, {
|
|
176
|
+
enumValues: convert(definition.fields),
|
|
177
|
+
name: fieldTypeName
|
|
178
|
+
});
|
|
179
|
+
dataTypeFactory.registerEnumeration(e);
|
|
180
|
+
schema = e;
|
|
181
|
+
}
|
|
172
182
|
}
|
|
173
183
|
}
|
|
174
184
|
else {
|
|
@@ -200,7 +210,7 @@ const isExtensionObject = async (session, dataTypeNodeId, cache) => {
|
|
|
200
210
|
// eslint-disable-next-line max-statements
|
|
201
211
|
async function resolveFieldType(session, dataTypeNodeId, dataTypeFactory, cache) {
|
|
202
212
|
return await memoize(cache, "fieldResolution", dataTypeNodeId, async () => {
|
|
203
|
-
if (dataTypeNodeId.namespace === 0 && dataTypeNodeId.value ===
|
|
213
|
+
if (dataTypeNodeId.namespace === 0 && dataTypeNodeId.value === node_opcua_constants_1.DataTypeIds.Structure) {
|
|
204
214
|
// ERN return null;
|
|
205
215
|
const category = node_opcua_factory_1.FieldCategory.complex;
|
|
206
216
|
const fieldTypeName = "Structure";
|
|
@@ -230,7 +240,7 @@ async function resolveFieldType(session, dataTypeNodeId, dataTypeFactory, cache)
|
|
|
230
240
|
]);
|
|
231
241
|
if (isAbstract) {
|
|
232
242
|
const _isExtensionObject = await isExtensionObject(session, dataTypeNodeId, cache);
|
|
233
|
-
debugLog(" dataType " + dataTypeNodeId.toString() + " " + fieldTypeName + " is abstract => extObj ?= " + _isExtensionObject);
|
|
243
|
+
doDebug && debugLog(" dataType " + dataTypeNodeId.toString() + " " + fieldTypeName + " is abstract => extObj ?= " + _isExtensionObject);
|
|
234
244
|
if (_isExtensionObject) {
|
|
235
245
|
// we could have complex => Structure
|
|
236
246
|
const v3 = {
|
|
@@ -269,7 +279,7 @@ async function resolveFieldType(session, dataTypeNodeId, dataTypeFactory, cache)
|
|
|
269
279
|
schema = dataTypeFactory.getEnumeration(fieldTypeName);
|
|
270
280
|
}
|
|
271
281
|
else {
|
|
272
|
-
debugLog(" type " + fieldTypeName + " has not been seen yet, let resolve it");
|
|
282
|
+
doDebug && debugLog(" type " + fieldTypeName + " has not been seen yet, let resolve it");
|
|
273
283
|
const res = await resolve2(session, dataTypeNodeId, dataTypeFactory, fieldTypeName, cache);
|
|
274
284
|
schema = res.schema;
|
|
275
285
|
category = res.category;
|
|
@@ -310,7 +320,7 @@ async function findBasicDataTypeEx(session, dataTypeNodeId, cache) {
|
|
|
310
320
|
const key = dataTypeNodeId.toString();
|
|
311
321
|
if (sessionEx._$$cache2.has(key)) {
|
|
312
322
|
sessionEx._$$cacheHits = sessionEx._$$cacheHits == undefined ? 0 : sessionEx._$$cacheHits + 1;
|
|
313
|
-
//
|
|
323
|
+
// debugLog("cache hit 2", key);
|
|
314
324
|
return sessionEx._$$cache2.get(key);
|
|
315
325
|
}
|
|
316
326
|
const d = await (0, node_opcua_pseudo_session_1.findBasicDataType)(session, dataTypeNodeId);
|
|
@@ -321,7 +331,7 @@ async function findBasicDataTypeEx(session, dataTypeNodeId, cache) {
|
|
|
321
331
|
async function nonReentrant(cache, prefix, dataTypeNodeId, func) {
|
|
322
332
|
const key = prefix + dataTypeNodeId.toString();
|
|
323
333
|
if (cache.$$resolveStuff?.has(key)) {
|
|
324
|
-
doDebug &&
|
|
334
|
+
doDebug && debugLog(" re-entering !" + key);
|
|
325
335
|
return await new Promise((resolve, reject) => {
|
|
326
336
|
cache.$$resolveStuff?.get(key).push([resolve, reject]);
|
|
327
337
|
});
|
|
@@ -422,8 +432,8 @@ async function convertDataTypeDefinitionToStructureTypeSchema(session, dataTypeN
|
|
|
422
432
|
}
|
|
423
433
|
/// some server may provide definition.baseDataType to be i=22 (ExtensionObject)
|
|
424
434
|
/// instead of 12756 Union;
|
|
425
|
-
if (isUnion && (0, node_opcua_nodeid_1.sameNodeId)(definition.baseDataType, (0, node_opcua_nodeid_2.coerceNodeId)(
|
|
426
|
-
definition.baseDataType = (0, node_opcua_nodeid_2.resolveNodeId)(
|
|
435
|
+
if (isUnion && (0, node_opcua_nodeid_1.sameNodeId)(definition.baseDataType, (0, node_opcua_nodeid_2.coerceNodeId)(node_opcua_constants_1.DataTypeIds.Structure))) {
|
|
436
|
+
definition.baseDataType = (0, node_opcua_nodeid_2.resolveNodeId)(node_opcua_constants_1.DataTypeIds.Union); // aka DataTypeIds.Union
|
|
427
437
|
}
|
|
428
438
|
const a = await resolveFieldType(session, definition.baseDataType, dataTypeFactory, cache);
|
|
429
439
|
const baseType = a ? a.fieldTypeName : isUnion ? "Union" : "ExtensionObject";
|
|
@@ -436,7 +446,7 @@ async function convertDataTypeDefinitionToStructureTypeSchema(session, dataTypeN
|
|
|
436
446
|
});
|
|
437
447
|
const structuredTypeSchema = await _setupEncodings(session, dataTypeNodeId, dataTypeDescription, os);
|
|
438
448
|
postActions.forEach((action) => action(structuredTypeSchema));
|
|
439
|
-
doDebug &&
|
|
449
|
+
doDebug && debugLog("DONE ! convertDataTypeDefinitionToStructureTypeSchema = ", dataTypeNodeId.toString());
|
|
440
450
|
return structuredTypeSchema;
|
|
441
451
|
}
|
|
442
452
|
throw new Error("Not Implemented");
|
|
@@ -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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"}
|
|
@@ -8,9 +8,9 @@ const util_1 = require("util");
|
|
|
8
8
|
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
9
9
|
const node_opcua_factory_1 = require("node-opcua-factory");
|
|
10
10
|
class ExtraDataTypeManager {
|
|
11
|
+
namespaceArray = [];
|
|
12
|
+
dataTypeFactoryMapByNamespace = {};
|
|
11
13
|
constructor() {
|
|
12
|
-
this.namespaceArray = [];
|
|
13
|
-
this.dataTypeFactoryMapByNamespace = {};
|
|
14
14
|
/* */
|
|
15
15
|
}
|
|
16
16
|
setNamespaceArray(namespaceArray) {
|
|
@@ -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,2DAAkG;AAIlG,MAAa,oBAAoB;
|
|
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,2DAAkG;AAIlG,MAAa,oBAAoB;IACtB,cAAc,GAAa,EAAE,CAAC;IAC7B,6BAA6B,GAAuC,EAAE,CAAC;IAE/E;QACI,KAAK;IACT,CAAC;IAEM,iBAAiB,CAAC,cAAwB;QAC7C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAEM,kBAAkB,CAAC,cAAsB;QAC5C,OAAO,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,EAAE,cAAc,CAAC,CAAC;IACtG,CAAC;IAEM,uBAAuB,CAAC,cAAsB,EAAE,eAAgC;QACnF,0BAA0B;QAC1B,IAAA,0BAAM,EAAC,cAAc,KAAK,CAAC,EAAE,uDAAuD,CAAC,CAAC;QACtF,IAAI,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,6BAA6B,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACzE,CAAC;IAEM,8BAA8B,CAAC,cAAsB;QACxD,IAAA,0BAAM,EAAC,cAAc,KAAK,CAAC,EAAE,8DAA8D,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,6BAA6B,CAAC,cAAc,CAAC,CAAC;IAC9D,CAAC;IAEM,kBAAkB,CAAC,cAAsB;QAC5C,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAA,+CAA0B,GAAE,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,CAAC,6BAA6B,CAAC,cAAc,CAAC,CAAC;IAC9D,CAAC;IAEM,yCAAyC,CAAC,cAAsB;QACnE,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1E,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,cAAc,CAAC,SAAS,GAAG,sBAAsB,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9I,CAAC;QACD,gEAAgE;QAChE,MAAM,WAAW,GAAG,eAAe,CAAC,4BAA4B,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC;QAC7F,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAEM,+CAA+C,CAAC,oBAA4B;QAC/E,MAAM,eAAe,GAAG,IAAI,CAAC,8BAA8B,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC5F,MAAM,WAAW,GAAG,eAAe,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACzE,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACX,6FAA6F;gBACzF,oBAAoB,CAAC,QAAQ,EAAE,CACtC,CAAC;QACN,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAEM,QAAQ;QACX,MAAM,CAAC,GAAa,EAAE,CAAC;QACvB,SAAS,KAAK,CAAC,GAAG,IAAqB;YACnC,CAAC,CAAC,IAAI,CAAC,aAAM,CAAC,KAAK,CAAC,aAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,KAAK,CAAC,0BAA0B,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,SAAS;YACb,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;CACJ;AA9ED,oDA8EC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* The MIT License (MIT)
|
|
3
|
+
* Copyright (c) 2022-2025 Sterfive SAS - 833264583 RCS ORLEANS - France (https://www.sterfive.com)
|
|
4
|
+
* Copyright (c) 2014-2022 Etienne Rossignon
|
|
5
|
+
*
|
|
6
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
7
|
+
* this software and associated documentation files (the "Software"), to deal in
|
|
8
|
+
* the Software without restriction, including without limitation the rights to
|
|
9
|
+
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
10
|
+
* the Software, and to permit persons to whom the Software is furnished to do so,
|
|
11
|
+
* subject to the following conditions:
|
|
12
|
+
*
|
|
13
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
* copies or substantial portions of the Software.
|
|
15
|
+
*
|
|
16
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
18
|
+
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
19
|
+
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
20
|
+
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
21
|
+
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
22
|
+
*/
|
|
1
23
|
/**
|
|
2
24
|
* @module node-opcua-client-dynamic-extension-object
|
|
3
25
|
*/
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,28 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
/*!
|
|
18
|
+
* The MIT License (MIT)
|
|
19
|
+
* Copyright (c) 2022-2025 Sterfive SAS - 833264583 RCS ORLEANS - France (https://www.sterfive.com)
|
|
20
|
+
* Copyright (c) 2014-2022 Etienne Rossignon
|
|
21
|
+
*
|
|
22
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
23
|
+
* this software and associated documentation files (the "Software"), to deal in
|
|
24
|
+
* the Software without restriction, including without limitation the rights to
|
|
25
|
+
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
26
|
+
* the Software, and to permit persons to whom the Software is furnished to do so,
|
|
27
|
+
* subject to the following conditions:
|
|
28
|
+
*
|
|
29
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
30
|
+
* copies or substantial portions of the Software.
|
|
31
|
+
*
|
|
32
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
33
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
34
|
+
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
35
|
+
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
36
|
+
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
37
|
+
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
38
|
+
*/
|
|
17
39
|
/**
|
|
18
40
|
* @module node-opcua-client-dynamic-extension-object
|
|
19
41
|
*/
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,+DAA6C;AAC7C,4DAA0C;AAC1C,qEAAmD;AACnD,6DAA2C;AAC3C,qEAAmD;AACnD,gEAA8C;AAC9C,qEAAmD;AACnD,yFAAuE;AACvE,yFAAuE;AACvE,kFAAgE"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;;GAEG;AACH,+DAA6C;AAC7C,4DAA0C;AAC1C,qEAAmD;AACnD,6DAA2C;AAC3C,qEAAmD;AACnD,gEAA8C;AAC9C,qEAAmD;AACnD,yFAAuE;AACvE,yFAAuE;AACvE,kFAAgE"}
|
|
@@ -84,7 +84,7 @@ async function readDataTypeDefinitionAndBuildType(session, dataTypeNodeId, name,
|
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
catch (err) {
|
|
87
|
-
errorLog("Error", err);
|
|
87
|
+
errorLog("Error", err.message, " while processing dataTypeNodeId =", dataTypeNodeId.toString());
|
|
88
88
|
}
|
|
89
89
|
return dependentNamespaces;
|
|
90
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"populate_data_type_manager_104.js","sourceRoot":"","sources":["../../source/private/populate_data_type_manager_104.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"populate_data_type_manager_104.js","sourceRoot":"","sources":["../../source/private/populate_data_type_manager_104.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-opcua-client-dynamic-extension-object",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.158.0",
|
|
4
4
|
"description": "pure nodejs OPCUA SDK - module client-dynamic-extension-object",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -11,22 +11,22 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"chalk": "4.1.2",
|
|
14
|
-
"node-opcua-assert": "2.
|
|
15
|
-
"node-opcua-binary-stream": "2.
|
|
16
|
-
"node-opcua-constants": "2.
|
|
17
|
-
"node-opcua-data-model": "2.
|
|
18
|
-
"node-opcua-data-value": "2.
|
|
19
|
-
"node-opcua-debug": "2.
|
|
20
|
-
"node-opcua-extension-object": "2.
|
|
21
|
-
"node-opcua-factory": "2.
|
|
22
|
-
"node-opcua-nodeid": "2.
|
|
23
|
-
"node-opcua-pseudo-session": "2.
|
|
24
|
-
"node-opcua-schemas": "2.
|
|
25
|
-
"node-opcua-service-browse": "2.
|
|
26
|
-
"node-opcua-service-translate-browse-path": "2.
|
|
27
|
-
"node-opcua-status-code": "2.
|
|
28
|
-
"node-opcua-types": "2.
|
|
29
|
-
"node-opcua-variant": "2.
|
|
14
|
+
"node-opcua-assert": "2.157.0",
|
|
15
|
+
"node-opcua-binary-stream": "2.157.0",
|
|
16
|
+
"node-opcua-constants": "2.157.0",
|
|
17
|
+
"node-opcua-data-model": "2.158.0",
|
|
18
|
+
"node-opcua-data-value": "2.158.0",
|
|
19
|
+
"node-opcua-debug": "2.157.0",
|
|
20
|
+
"node-opcua-extension-object": "2.158.0",
|
|
21
|
+
"node-opcua-factory": "2.158.0",
|
|
22
|
+
"node-opcua-nodeid": "2.157.0",
|
|
23
|
+
"node-opcua-pseudo-session": "2.158.0",
|
|
24
|
+
"node-opcua-schemas": "2.158.0",
|
|
25
|
+
"node-opcua-service-browse": "2.158.0",
|
|
26
|
+
"node-opcua-service-translate-browse-path": "2.158.0",
|
|
27
|
+
"node-opcua-status-code": "2.157.0",
|
|
28
|
+
"node-opcua-types": "2.158.0",
|
|
29
|
+
"node-opcua-variant": "2.158.0"
|
|
30
30
|
},
|
|
31
31
|
"author": "Etienne Rossignon",
|
|
32
32
|
"license": "MIT",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"internet of things"
|
|
44
44
|
],
|
|
45
45
|
"homepage": "http://node-opcua.github.io/",
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "d92c1c46754548964c3a7821dfec2b52a8522232",
|
|
47
47
|
"files": [
|
|
48
48
|
"dist",
|
|
49
49
|
"source"
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { AttributeIds, BrowseDirection, makeResultMask, NodeClassMask } from "node-opcua-data-model";
|
|
2
2
|
import { DataValue } from "node-opcua-data-value";
|
|
3
|
-
import { make_debugLog, make_errorLog, make_warningLog } from "node-opcua-debug";
|
|
3
|
+
import { checkDebugFlag, make_debugLog, make_errorLog, make_warningLog } from "node-opcua-debug";
|
|
4
4
|
import { INodeId, NodeIdType, sameNodeId } from "node-opcua-nodeid";
|
|
5
|
-
//import { DataTypeIds } from "node-opcua-constant";
|
|
6
5
|
import {
|
|
7
6
|
BitField,
|
|
8
7
|
DataTypeFactory,
|
|
@@ -37,12 +36,13 @@ import { ExtensionObject } from "node-opcua-extension-object";
|
|
|
37
36
|
import { DataTypeAndEncodingId } from "node-opcua-schemas";
|
|
38
37
|
//
|
|
39
38
|
import { DataType } from "node-opcua-variant";
|
|
39
|
+
import { DataTypeIds } from "node-opcua-constants";
|
|
40
40
|
import { _findEncodings } from "./private/find_encodings";
|
|
41
41
|
|
|
42
42
|
const debugLog = make_debugLog(__filename);
|
|
43
|
+
const doDebug = checkDebugFlag(__filename);
|
|
43
44
|
const errorLog = make_errorLog(__filename);
|
|
44
45
|
const warningLog = make_warningLog(__filename);
|
|
45
|
-
const doDebug = false;
|
|
46
46
|
|
|
47
47
|
export interface CacheForFieldResolution {
|
|
48
48
|
fieldTypeName: string;
|
|
@@ -51,8 +51,8 @@ export interface CacheForFieldResolution {
|
|
|
51
51
|
allowSubType?: boolean;
|
|
52
52
|
dataType?: NodeId;
|
|
53
53
|
}
|
|
54
|
-
export type ResolveReject = [
|
|
55
|
-
resolve: (value:
|
|
54
|
+
export type ResolveReject<T> = [
|
|
55
|
+
resolve: (value: T) => void,
|
|
56
56
|
reject: (err: Error) => void
|
|
57
57
|
];
|
|
58
58
|
|
|
@@ -63,7 +63,7 @@ export interface ICache {
|
|
|
63
63
|
browseNameCache?: Map<string, string>;
|
|
64
64
|
hitCount?: number;
|
|
65
65
|
|
|
66
|
-
$$resolveStuff?: Map<string, ResolveReject[]>;
|
|
66
|
+
$$resolveStuff?: Map<string, ResolveReject<any>[]>;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
async function memoize<T>(cache: ICache, cacheName: keyof Omit<ICache, "hitCount">, nodeId: NodeId, func: () => Promise<T>): Promise<T> {
|
|
@@ -76,12 +76,11 @@ async function memoize<T>(cache: ICache, cacheName: keyof Omit<ICache, "hitCount
|
|
|
76
76
|
if (!cache[cacheName]) {
|
|
77
77
|
cache[cacheName] = new Map();
|
|
78
78
|
}
|
|
79
|
-
(cache[cacheName] as Map<string,T>).set(key, value);
|
|
79
|
+
(cache[cacheName] as Map<string, T>).set(key, value);
|
|
80
80
|
return value as T;
|
|
81
81
|
|
|
82
82
|
}
|
|
83
|
-
function fromCache<T>(cache: ICache, cacheName: keyof Omit<ICache, "hitCount">, nodeId: NodeId): T | null
|
|
84
|
-
{
|
|
83
|
+
function fromCache<T>(cache: ICache, cacheName: keyof Omit<ICache, "hitCount">, nodeId: NodeId): T | null {
|
|
85
84
|
const key = nodeId.toString();
|
|
86
85
|
if (cache[cacheName]?.has(key)) {
|
|
87
86
|
cache.hitCount = cache.hitCount === undefined ? 0 : cache.hitCount + 1;
|
|
@@ -92,7 +91,7 @@ function fromCache<T>(cache: ICache, cacheName: keyof Omit<ICache, "hitCount">,
|
|
|
92
91
|
|
|
93
92
|
async function findSuperType(session: IBasicSessionAsync2, dataTypeNodeId: NodeId, cache: ICache): Promise<NodeId> {
|
|
94
93
|
|
|
95
|
-
if (dataTypeNodeId.namespace === 0 && dataTypeNodeId.value ===
|
|
94
|
+
if (dataTypeNodeId.namespace === 0 && dataTypeNodeId.value === DataTypeIds.BaseDataType) {
|
|
96
95
|
// BaseDataType !
|
|
97
96
|
return coerceNodeId(0);
|
|
98
97
|
}
|
|
@@ -143,10 +142,10 @@ async function findDataTypeCategory(
|
|
|
143
142
|
if (n.identifierType === NodeIdType.NUMERIC && n.namespace === 0 && n.value <= 29) {
|
|
144
143
|
// well known node ID !
|
|
145
144
|
switch (n.value) {
|
|
146
|
-
case
|
|
145
|
+
case DataTypeIds.Structure:
|
|
147
146
|
category = FieldCategory.complex;
|
|
148
147
|
break;
|
|
149
|
-
case
|
|
148
|
+
case DataTypeIds.Enumeration:
|
|
150
149
|
category = FieldCategory.enumeration;
|
|
151
150
|
break;
|
|
152
151
|
default:
|
|
@@ -166,18 +165,18 @@ async function findDataTypeBasicType(
|
|
|
166
165
|
): Promise<TypeDefinition> {
|
|
167
166
|
const subTypeNodeId = await findSuperType(session, dataTypeNodeId, cache);
|
|
168
167
|
|
|
169
|
-
debugLog("subTypeNodeId of ", dataTypeNodeId.toString(), " is ", subTypeNodeId.toString());
|
|
168
|
+
doDebug && debugLog("subTypeNodeId of ", dataTypeNodeId.toString(), " is ", subTypeNodeId.toString());
|
|
170
169
|
|
|
171
|
-
const fieldResolution = fromCache<CacheForFieldResolution>(cache,"fieldResolution", subTypeNodeId);
|
|
172
|
-
if (fieldResolution) {
|
|
170
|
+
const fieldResolution = fromCache<CacheForFieldResolution>(cache, "fieldResolution", subTypeNodeId);
|
|
171
|
+
if (fieldResolution) {
|
|
173
172
|
return fieldResolution.schema;
|
|
174
173
|
}
|
|
175
174
|
|
|
176
175
|
const n = subTypeNodeId as INodeId;
|
|
177
176
|
if (n.identifierType === NodeIdType.NUMERIC && n.namespace === 0 && n.value < 29) {
|
|
178
177
|
switch (n.value) {
|
|
179
|
-
case
|
|
180
|
-
case
|
|
178
|
+
case DataTypeIds.Structure:
|
|
179
|
+
case DataTypeIds.Enumeration:
|
|
181
180
|
throw new Error("Not expecting Structure or Enumeration");
|
|
182
181
|
default:
|
|
183
182
|
break;
|
|
@@ -216,8 +215,8 @@ async function resolve2(
|
|
|
216
215
|
cache: ICache
|
|
217
216
|
): Promise<{ schema: TypeDefinition | undefined; category: FieldCategory }> {
|
|
218
217
|
|
|
219
|
-
const category = await findDataTypeCategory(session, dataTypeFactory,cache, dataTypeNodeId);
|
|
220
|
-
debugLog(" type " + fieldTypeName + " has not been seen yet, let resolve it => (category = ", category, " )");
|
|
218
|
+
const category = await findDataTypeCategory(session, dataTypeFactory, cache, dataTypeNodeId);
|
|
219
|
+
doDebug && debugLog(" type " + fieldTypeName + " has not been seen yet, let resolve it => (category = ", category, " )");
|
|
221
220
|
|
|
222
221
|
let schema: TypeDefinition | undefined = undefined;
|
|
223
222
|
switch (category) {
|
|
@@ -242,22 +241,30 @@ async function resolve2(
|
|
|
242
241
|
}
|
|
243
242
|
const definition = dataTypeDefinitionDataValue.value.value;
|
|
244
243
|
|
|
245
|
-
|
|
244
|
+
// OPC UA Spec 1.04 part 6 - 5.2.2.16
|
|
245
|
+
// Enumeration values are represented as a Int32 in the EnumValueType structure.
|
|
246
|
+
// but on 64 bit platform this value could be returned as a [ high, low] tuple.
|
|
247
|
+
// note that this is not correct as per the spec.
|
|
248
|
+
const convertIn64ToInteger = (a: number[] | number) => Array.isArray(a) ? a[1] : a;
|
|
246
249
|
|
|
247
250
|
const convert = (fields: EnumField[] | null) => {
|
|
248
251
|
const retVal: Record<string, number> = {};
|
|
249
|
-
fields && fields.forEach((field: EnumField) => (retVal[field.name || ""] = convertIn64ToInteger(field.value)));
|
|
252
|
+
fields && fields.forEach((field: EnumField) => (retVal[field.name || ""] = convertIn64ToInteger(field.value as number[])));
|
|
250
253
|
return retVal;
|
|
251
254
|
};
|
|
252
255
|
if (category === FieldCategory.enumeration) {
|
|
253
|
-
if (
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
256
|
+
if (dataTypeFactory.hasEnumeration(fieldTypeName)) {
|
|
257
|
+
// skipping already known enumeration
|
|
258
|
+
schema = dataTypeFactory.getEnumeration(fieldTypeName)!;
|
|
259
|
+
} else {
|
|
260
|
+
if (definition instanceof EnumDefinition) {
|
|
261
|
+
const e = new EnumerationDefinitionSchema(dataTypeNodeId, {
|
|
262
|
+
enumValues: convert(definition.fields),
|
|
263
|
+
name: fieldTypeName
|
|
264
|
+
});
|
|
265
|
+
dataTypeFactory.registerEnumeration(e);
|
|
266
|
+
schema = e;
|
|
267
|
+
}
|
|
261
268
|
}
|
|
262
269
|
} else {
|
|
263
270
|
const isAbstract = false;
|
|
@@ -308,7 +315,7 @@ async function resolveFieldType(
|
|
|
308
315
|
|
|
309
316
|
return await memoize(cache, "fieldResolution", dataTypeNodeId, async () => {
|
|
310
317
|
|
|
311
|
-
if (dataTypeNodeId.namespace === 0 && dataTypeNodeId.value ===
|
|
318
|
+
if (dataTypeNodeId.namespace === 0 && dataTypeNodeId.value === DataTypeIds.Structure) {
|
|
312
319
|
// ERN return null;
|
|
313
320
|
const category: FieldCategory = FieldCategory.complex;
|
|
314
321
|
const fieldTypeName = "Structure";
|
|
@@ -342,7 +349,7 @@ async function resolveFieldType(
|
|
|
342
349
|
|
|
343
350
|
if (isAbstract) {
|
|
344
351
|
const _isExtensionObject = await isExtensionObject(session, dataTypeNodeId, cache);
|
|
345
|
-
debugLog(
|
|
352
|
+
doDebug && debugLog(
|
|
346
353
|
" dataType " + dataTypeNodeId.toString() + " " + fieldTypeName + " is abstract => extObj ?= " + _isExtensionObject
|
|
347
354
|
);
|
|
348
355
|
if (_isExtensionObject) {
|
|
@@ -381,7 +388,7 @@ async function resolveFieldType(
|
|
|
381
388
|
category = FieldCategory.enumeration;
|
|
382
389
|
schema = dataTypeFactory.getEnumeration(fieldTypeName!)!;
|
|
383
390
|
} else {
|
|
384
|
-
debugLog(" type " + fieldTypeName + " has not been seen yet, let resolve it");
|
|
391
|
+
doDebug && debugLog(" type " + fieldTypeName + " has not been seen yet, let resolve it");
|
|
385
392
|
const res = await resolve2(session, dataTypeNodeId, dataTypeFactory, fieldTypeName, cache);
|
|
386
393
|
schema = res.schema;
|
|
387
394
|
category = res.category;
|
|
@@ -440,7 +447,7 @@ async function findBasicDataTypeEx(session: IBasicSessionBrowseAsyncSimple, data
|
|
|
440
447
|
const key = dataTypeNodeId.toString();
|
|
441
448
|
if (sessionEx._$$cache2.has(key)) {
|
|
442
449
|
sessionEx._$$cacheHits = sessionEx._$$cacheHits == undefined ? 0 : sessionEx._$$cacheHits + 1;
|
|
443
|
-
//
|
|
450
|
+
// debugLog("cache hit 2", key);
|
|
444
451
|
return sessionEx._$$cache2.get(key)!;
|
|
445
452
|
}
|
|
446
453
|
const d = await findBasicDataType(session, dataTypeNodeId);
|
|
@@ -450,12 +457,12 @@ async function findBasicDataTypeEx(session: IBasicSessionBrowseAsyncSimple, data
|
|
|
450
457
|
}
|
|
451
458
|
|
|
452
459
|
|
|
453
|
-
async function nonReentrant<T>(cache:ICache, prefix: string, dataTypeNodeId:NodeId, func: ()=>Promise<T>):Promise<T> {
|
|
454
|
-
|
|
455
|
-
const key = prefix +
|
|
456
|
-
|
|
460
|
+
async function nonReentrant<T>(cache: ICache, prefix: string, dataTypeNodeId: NodeId, func: () => Promise<T>): Promise<T> {
|
|
461
|
+
|
|
462
|
+
const key = prefix + dataTypeNodeId.toString();
|
|
463
|
+
|
|
457
464
|
if (cache.$$resolveStuff?.has(key)) {
|
|
458
|
-
doDebug
|
|
465
|
+
doDebug && debugLog(" re-entering !" + key);
|
|
459
466
|
return await new Promise<T>((resolve, reject) => {
|
|
460
467
|
cache.$$resolveStuff?.get(key)!.push([resolve, reject]);
|
|
461
468
|
});
|
|
@@ -498,7 +505,7 @@ export async function convertDataTypeDefinitionToStructureTypeSchema(
|
|
|
498
505
|
isAbstract: boolean,
|
|
499
506
|
cache: ICache
|
|
500
507
|
): Promise<IStructuredTypeSchema> {
|
|
501
|
-
|
|
508
|
+
|
|
502
509
|
return await nonReentrant(cache, "convertDataTypeDefinitionToStructureTypeSchema", dataTypeNodeId, async () => {
|
|
503
510
|
|
|
504
511
|
// warningLog(">> convertDataTypeDefinitionToStructureTypeSchema = ", dataTypeNodeId.toString());
|
|
@@ -591,8 +598,8 @@ export async function convertDataTypeDefinitionToStructureTypeSchema(
|
|
|
591
598
|
}
|
|
592
599
|
/// some server may provide definition.baseDataType to be i=22 (ExtensionObject)
|
|
593
600
|
/// instead of 12756 Union;
|
|
594
|
-
if (isUnion && sameNodeId(definition.baseDataType, coerceNodeId(
|
|
595
|
-
definition.baseDataType = resolveNodeId(
|
|
601
|
+
if (isUnion && sameNodeId(definition.baseDataType, coerceNodeId(DataTypeIds.Structure))) {
|
|
602
|
+
definition.baseDataType = resolveNodeId(DataTypeIds.Union); // aka DataTypeIds.Union
|
|
596
603
|
}
|
|
597
604
|
|
|
598
605
|
const a = await resolveFieldType(session, definition.baseDataType, dataTypeFactory, cache);
|
|
@@ -609,7 +616,7 @@ export async function convertDataTypeDefinitionToStructureTypeSchema(
|
|
|
609
616
|
|
|
610
617
|
postActions.forEach((action) => action(structuredTypeSchema));
|
|
611
618
|
|
|
612
|
-
doDebug &&
|
|
619
|
+
doDebug && debugLog("DONE ! convertDataTypeDefinitionToStructureTypeSchema = ", dataTypeNodeId.toString());
|
|
613
620
|
return structuredTypeSchema;
|
|
614
621
|
}
|
|
615
622
|
throw new Error("Not Implemented");
|
package/source/index.ts
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* The MIT License (MIT)
|
|
3
|
+
* Copyright (c) 2022-2025 Sterfive SAS - 833264583 RCS ORLEANS - France (https://www.sterfive.com)
|
|
4
|
+
* Copyright (c) 2014-2022 Etienne Rossignon
|
|
5
|
+
*
|
|
6
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
7
|
+
* this software and associated documentation files (the "Software"), to deal in
|
|
8
|
+
* the Software without restriction, including without limitation the rights to
|
|
9
|
+
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
10
|
+
* the Software, and to permit persons to whom the Software is furnished to do so,
|
|
11
|
+
* subject to the following conditions:
|
|
12
|
+
*
|
|
13
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
* copies or substantial portions of the Software.
|
|
15
|
+
*
|
|
16
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
18
|
+
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
19
|
+
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
20
|
+
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
21
|
+
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
22
|
+
*/
|
|
1
23
|
/**
|
|
2
24
|
* @module node-opcua-client-dynamic-extension-object
|
|
3
25
|
*/
|
|
@@ -108,7 +108,7 @@ export async function readDataTypeDefinitionAndBuildType(
|
|
|
108
108
|
const Constructor = createDynamicObjectConstructorAndRegister(schema, dataTypeFactory);
|
|
109
109
|
}
|
|
110
110
|
} catch (err) {
|
|
111
|
-
errorLog("Error", err);
|
|
111
|
+
errorLog("Error", (err as Error).message," while processing dataTypeNodeId =", dataTypeNodeId.toString());
|
|
112
112
|
}
|
|
113
113
|
return dependentNamespaces;
|
|
114
114
|
}
|