node-opcua-client-dynamic-extension-object 2.183.0 → 2.184.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 +1 -0
- package/dist/convert_data_type_definition_to_structuretype_schema.d.ts.map +1 -0
- package/dist/convert_data_type_definition_to_structuretype_schema.js +82 -85
- package/dist/convert_data_type_definition_to_structuretype_schema.js.map +1 -1
- package/dist/convert_structuretype_schema_to_structure_definition.d.ts +1 -0
- package/dist/convert_structuretype_schema_to_structure_definition.d.ts.map +1 -0
- package/dist/convert_structuretype_schema_to_structure_definition.js +13 -16
- package/dist/convert_structuretype_schema_to_structure_definition.js.map +1 -1
- package/dist/extra_data_type_manager.d.ts +16 -0
- package/dist/extra_data_type_manager.d.ts.map +1 -0
- package/dist/extra_data_type_manager.js +56 -21
- package/dist/extra_data_type_manager.js.map +1 -1
- package/dist/get_extension_object_constructor.d.ts +1 -0
- package/dist/get_extension_object_constructor.d.ts.map +1 -0
- package/dist/get_extension_object_constructor.js +7 -10
- package/dist/get_extension_object_constructor.js.map +1 -1
- package/dist/get_extra_data_type_manager.d.ts +1 -0
- package/dist/get_extra_data_type_manager.d.ts.map +1 -0
- package/dist/get_extra_data_type_manager.js +21 -27
- package/dist/get_extra_data_type_manager.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -25
- package/dist/index.js.map +1 -1
- package/dist/populate_data_type_manager.d.ts +1 -0
- package/dist/populate_data_type_manager.d.ts.map +1 -0
- package/dist/populate_data_type_manager.js +44 -49
- package/dist/populate_data_type_manager.js.map +1 -1
- package/dist/private/find_encodings.d.ts +1 -0
- package/dist/private/find_encodings.d.ts.map +1 -0
- package/dist/private/find_encodings.js +12 -15
- package/dist/private/find_encodings.js.map +1 -1
- package/dist/private/populate_data_type_manager_103.d.ts +1 -0
- package/dist/private/populate_data_type_manager_103.d.ts.map +1 -0
- package/dist/private/populate_data_type_manager_103.js +88 -94
- package/dist/private/populate_data_type_manager_103.js.map +1 -1
- package/dist/private/populate_data_type_manager_104.d.ts +1 -0
- package/dist/private/populate_data_type_manager_104.d.ts.map +1 -0
- package/dist/private/populate_data_type_manager_104.js +35 -39
- package/dist/private/populate_data_type_manager_104.js.map +1 -1
- package/dist/promote_opaque_structure.d.ts +1 -0
- package/dist/promote_opaque_structure.d.ts.map +1 -0
- package/dist/promote_opaque_structure.js +12 -16
- package/dist/promote_opaque_structure.js.map +1 -1
- package/dist/promote_opaque_structure_in_notification_data.d.ts +1 -0
- package/dist/promote_opaque_structure_in_notification_data.d.ts.map +1 -0
- package/dist/promote_opaque_structure_in_notification_data.js +9 -12
- package/dist/promote_opaque_structure_in_notification_data.js.map +1 -1
- package/dist/resolve_dynamic_extension_object.d.ts +1 -0
- package/dist/resolve_dynamic_extension_object.d.ts.map +1 -0
- package/dist/resolve_dynamic_extension_object.js +16 -20
- package/dist/resolve_dynamic_extension_object.js.map +1 -1
- package/package.json +19 -18
- package/source/extra_data_type_manager.ts +49 -4
- package/source/get_extra_data_type_manager.ts +3 -3
- package/source/private/populate_data_type_manager_103.ts +1 -1
- package/source/private/populate_data_type_manager_104.ts +1 -1
|
@@ -26,3 +26,4 @@ export interface IDataTypeDescriptionMini {
|
|
|
26
26
|
isAbstract?: boolean;
|
|
27
27
|
}
|
|
28
28
|
export declare function convertDataTypeDefinitionToStructureTypeSchema(session: IBasicSessionAsync2, dataTypeNodeId: NodeId, name: string, definition: DataTypeDefinition, dataTypeDescription: IDataTypeDescriptionMini | null, dataTypeManager: ExtraDataTypeManager, isAbstract: boolean, cache: ICache): Promise<IStructuredTypeSchema>;
|
|
29
|
+
//# sourceMappingURL=convert_data_type_definition_to_structuretype_schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert_data_type_definition_to_structuretype_schema.d.ts","sourceRoot":"","sources":["../source/convert_data_type_definition_to_structuretype_schema.ts"],"names":[],"mappings":"AAKA,OAAO,EAIH,aAAa,EAGb,KAAK,qBAAqB,EAE1B,KAAK,cAAc,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAIH,KAAK,MAAM,EAId,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAKH,KAAK,mBAAmB,EAG3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAkC,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChG,OAAO,EACH,KAAK,kBAAkB,EAM1B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAOzE,MAAM,WAAW,uBAAuB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,aAAa,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC;AAE3F,MAAM,WAAW,MAAM;IACnB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IACvD,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;CAC1D;AAuXD,MAAM,WAAW,wBAAwB;IACrC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAiED,wBAAsB,8CAA8C,CAChE,OAAO,EAAE,mBAAmB,EAC5B,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,kBAAkB,EAC9B,mBAAmB,EAAE,wBAAwB,GAAG,IAAI,EACpD,eAAe,EAAE,oBAAoB,EACrC,UAAU,EAAE,OAAO,EACnB,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC,CA0MhC"}
|
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const node_opcua_pseudo_session_1 = require("node-opcua-pseudo-session");
|
|
11
|
-
const node_opcua_schemas_1 = require("node-opcua-schemas");
|
|
12
|
-
const node_opcua_types_1 = require("node-opcua-types");
|
|
1
|
+
import { DataTypeIds } from "node-opcua-constants";
|
|
2
|
+
import { AttributeIds, BrowseDirection, makeResultMask, NodeClassMask } from "node-opcua-data-model";
|
|
3
|
+
import { checkDebugFlag, make_debugLog, make_errorLog } from "node-opcua-debug";
|
|
4
|
+
import { ExtensionObject } from "node-opcua-extension-object";
|
|
5
|
+
import { EnumerationDefinitionSchema, extractAllPossibleFields, FieldCategory, getBuiltInType, StructuredTypeSchema } from "node-opcua-factory";
|
|
6
|
+
import { coerceNodeId, makeExpandedNodeId, NodeIdType, resolveNodeId, sameNodeId } from "node-opcua-nodeid";
|
|
7
|
+
import { browseAll, findBasicDataType } from "node-opcua-pseudo-session";
|
|
8
|
+
import { createDynamicObjectConstructor } from "node-opcua-schemas";
|
|
9
|
+
import { EnumDefinition, StructureDefinition, StructureType } from "node-opcua-types";
|
|
13
10
|
//
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const debugLog =
|
|
17
|
-
const doDebug =
|
|
18
|
-
const errorLog =
|
|
11
|
+
import { DataType } from "node-opcua-variant";
|
|
12
|
+
import { _findEncodings } from "./private/find_encodings.js";
|
|
13
|
+
const debugLog = make_debugLog("convert_data_type_definition_to_structuretype_schema");
|
|
14
|
+
const doDebug = checkDebugFlag("convert_data_type_definition_to_structuretype_schema");
|
|
15
|
+
const errorLog = make_errorLog("convert_data_type_definition_to_structuretype_schema");
|
|
19
16
|
async function memoize(cache, cacheName, nodeId, func) {
|
|
20
17
|
const key = nodeId.toString();
|
|
21
18
|
const m = cache[cacheName];
|
|
@@ -40,20 +37,20 @@ function fromCache(cache, cacheName, nodeId) {
|
|
|
40
37
|
return null;
|
|
41
38
|
}
|
|
42
39
|
async function findSuperType(session, dataTypeNodeId, cache) {
|
|
43
|
-
if (dataTypeNodeId.namespace === 0 && dataTypeNodeId.value ===
|
|
40
|
+
if (dataTypeNodeId.namespace === 0 && dataTypeNodeId.value === DataTypeIds.BaseDataType) {
|
|
44
41
|
// BaseDataType !
|
|
45
|
-
return
|
|
42
|
+
return coerceNodeId(0);
|
|
46
43
|
}
|
|
47
44
|
return await memoize(cache, "superType", dataTypeNodeId, async () => {
|
|
48
45
|
const nodeToBrowse3 = {
|
|
49
|
-
browseDirection:
|
|
46
|
+
browseDirection: BrowseDirection.Inverse,
|
|
50
47
|
includeSubtypes: false,
|
|
51
|
-
nodeClassMask:
|
|
48
|
+
nodeClassMask: NodeClassMask.DataType,
|
|
52
49
|
nodeId: dataTypeNodeId,
|
|
53
|
-
referenceTypeId:
|
|
54
|
-
resultMask:
|
|
50
|
+
referenceTypeId: resolveNodeId("HasSubtype"),
|
|
51
|
+
resultMask: makeResultMask("NodeId | ReferenceType | BrowseName | NodeClass")
|
|
55
52
|
};
|
|
56
|
-
const result3 = await
|
|
53
|
+
const result3 = await browseAll(session, nodeToBrowse3);
|
|
57
54
|
/* c8 ignore next */
|
|
58
55
|
if (result3.statusCode.isNotGood()) {
|
|
59
56
|
throw new Error(`Cannot find superType for ${dataTypeNodeId.toString()}`);
|
|
@@ -76,17 +73,17 @@ async function findDataTypeCategory(session, cache, dataTypeNodeId) {
|
|
|
76
73
|
}
|
|
77
74
|
let category;
|
|
78
75
|
const n = subTypeNodeId;
|
|
79
|
-
if (n.identifierType ===
|
|
76
|
+
if (n.identifierType === NodeIdType.NUMERIC && n.namespace === 0 && n.value <= 29) {
|
|
80
77
|
// well known node ID !
|
|
81
78
|
switch (n.value) {
|
|
82
|
-
case
|
|
83
|
-
category =
|
|
79
|
+
case DataTypeIds.Structure:
|
|
80
|
+
category = FieldCategory.complex;
|
|
84
81
|
break;
|
|
85
|
-
case
|
|
86
|
-
category =
|
|
82
|
+
case DataTypeIds.Enumeration:
|
|
83
|
+
category = FieldCategory.enumeration;
|
|
87
84
|
break;
|
|
88
85
|
default:
|
|
89
|
-
category =
|
|
86
|
+
category = FieldCategory.basic;
|
|
90
87
|
break;
|
|
91
88
|
}
|
|
92
89
|
return category;
|
|
@@ -102,23 +99,23 @@ async function findDataTypeBasicType(session, cache, dataTypeNodeId) {
|
|
|
102
99
|
return fieldResolution.schema;
|
|
103
100
|
}
|
|
104
101
|
const n = subTypeNodeId;
|
|
105
|
-
if (n.identifierType ===
|
|
102
|
+
if (n.identifierType === NodeIdType.NUMERIC && n.namespace === 0 && n.value < 29) {
|
|
106
103
|
switch (n.value) {
|
|
107
|
-
case
|
|
108
|
-
case
|
|
104
|
+
case DataTypeIds.Structure:
|
|
105
|
+
case DataTypeIds.Enumeration:
|
|
109
106
|
throw new Error("Not expecting Structure or Enumeration");
|
|
110
107
|
default:
|
|
111
108
|
break;
|
|
112
109
|
}
|
|
113
110
|
const nameDataValue = await session.read({
|
|
114
|
-
attributeId:
|
|
111
|
+
attributeId: AttributeIds.BrowseName,
|
|
115
112
|
nodeId: subTypeNodeId
|
|
116
113
|
});
|
|
117
114
|
const name = nameDataValue.value.value.name;
|
|
118
115
|
if (!name) {
|
|
119
116
|
throw new Error(`Unexpected: BrowseName has no name for nodeId ${subTypeNodeId.toString()}`);
|
|
120
117
|
}
|
|
121
|
-
return
|
|
118
|
+
return getBuiltInType(name);
|
|
122
119
|
}
|
|
123
120
|
// must drill down ...
|
|
124
121
|
const td = await findDataTypeBasicType(session, cache, subTypeNodeId);
|
|
@@ -126,7 +123,7 @@ async function findDataTypeBasicType(session, cache, dataTypeNodeId) {
|
|
|
126
123
|
}
|
|
127
124
|
async function readBrowseNameWithCache(session, nodeId, cache) {
|
|
128
125
|
return await memoize(cache, "browseNameCache", nodeId, async () => {
|
|
129
|
-
const dataValue = await session.read({ nodeId, attributeId:
|
|
126
|
+
const dataValue = await session.read({ nodeId, attributeId: AttributeIds.BrowseName });
|
|
130
127
|
if (dataValue.statusCode.isNotGood()) {
|
|
131
128
|
const message = `cannot extract BrowseName of nodeId = ${nodeId.toString()} statusCode = ${dataValue.statusCode.toString()}`;
|
|
132
129
|
// c8 ignore next
|
|
@@ -142,7 +139,7 @@ async function resolve2(session, dataTypeNodeId, dataTypeManager, fieldTypeName,
|
|
|
142
139
|
doDebug && debugLog(` type ${fieldTypeName} has not been seen yet, let resolve it => (category = `, category, " )");
|
|
143
140
|
let schema;
|
|
144
141
|
switch (category) {
|
|
145
|
-
case
|
|
142
|
+
case FieldCategory.basic:
|
|
146
143
|
schema = await findDataTypeBasicType(session, cache, dataTypeNodeId);
|
|
147
144
|
/* c8 ignore next */
|
|
148
145
|
if (!schema) {
|
|
@@ -152,7 +149,7 @@ async function resolve2(session, dataTypeNodeId, dataTypeManager, fieldTypeName,
|
|
|
152
149
|
default:
|
|
153
150
|
{
|
|
154
151
|
const dataTypeDefinitionDataValue = await session.read({
|
|
155
|
-
attributeId:
|
|
152
|
+
attributeId: AttributeIds.DataTypeDefinition,
|
|
156
153
|
nodeId: dataTypeNodeId
|
|
157
154
|
});
|
|
158
155
|
/* c8 ignore next */
|
|
@@ -172,7 +169,7 @@ async function resolve2(session, dataTypeNodeId, dataTypeManager, fieldTypeName,
|
|
|
172
169
|
});
|
|
173
170
|
return retVal;
|
|
174
171
|
};
|
|
175
|
-
if (category ===
|
|
172
|
+
if (category === FieldCategory.enumeration) {
|
|
176
173
|
if (dataTypeFactory.hasEnumeration(fieldTypeName)) {
|
|
177
174
|
// skipping already known enumeration
|
|
178
175
|
const existingEnumeration = dataTypeFactory.getEnumeration(fieldTypeName);
|
|
@@ -182,8 +179,8 @@ async function resolve2(session, dataTypeNodeId, dataTypeManager, fieldTypeName,
|
|
|
182
179
|
schema = existingEnumeration;
|
|
183
180
|
}
|
|
184
181
|
else {
|
|
185
|
-
if (definition instanceof
|
|
186
|
-
const e = new
|
|
182
|
+
if (definition instanceof EnumDefinition) {
|
|
183
|
+
const e = new EnumerationDefinitionSchema(dataTypeNodeId, {
|
|
187
184
|
enumValues: convert(definition.fields),
|
|
188
185
|
name: fieldTypeName
|
|
189
186
|
});
|
|
@@ -198,7 +195,7 @@ async function resolve2(session, dataTypeNodeId, dataTypeManager, fieldTypeName,
|
|
|
198
195
|
const structuredTypeSchema = schema;
|
|
199
196
|
if (structuredTypeSchema.encodingDefaultBinary &&
|
|
200
197
|
!dataTypeFactory.hasConstructor(structuredTypeSchema.encodingDefaultBinary)) {
|
|
201
|
-
|
|
198
|
+
createDynamicObjectConstructor(structuredTypeSchema, dataTypeFactory);
|
|
202
199
|
}
|
|
203
200
|
}
|
|
204
201
|
}
|
|
@@ -207,16 +204,16 @@ async function resolve2(session, dataTypeNodeId, dataTypeManager, fieldTypeName,
|
|
|
207
204
|
return { schema, category };
|
|
208
205
|
}
|
|
209
206
|
const isExtensionObject = async (session, dataTypeNodeId, cache) => {
|
|
210
|
-
if (dataTypeNodeId.namespace === 0 && dataTypeNodeId.value ===
|
|
207
|
+
if (dataTypeNodeId.namespace === 0 && dataTypeNodeId.value === DataType.ExtensionObject) {
|
|
211
208
|
return true;
|
|
212
209
|
}
|
|
213
210
|
const baseDataType = await findSuperType(session, dataTypeNodeId, cache);
|
|
214
211
|
const bn = baseDataType;
|
|
215
|
-
if (bn.identifierType ===
|
|
216
|
-
if (bn.namespace === 0 && bn.value ===
|
|
212
|
+
if (bn.identifierType === NodeIdType.NUMERIC) {
|
|
213
|
+
if (bn.namespace === 0 && bn.value === DataType.ExtensionObject) {
|
|
217
214
|
return true;
|
|
218
215
|
}
|
|
219
|
-
if (bn.namespace === 0 && bn.value <
|
|
216
|
+
if (bn.namespace === 0 && bn.value < DataType.ExtensionObject) {
|
|
220
217
|
return false;
|
|
221
218
|
}
|
|
222
219
|
}
|
|
@@ -225,28 +222,28 @@ const isExtensionObject = async (session, dataTypeNodeId, cache) => {
|
|
|
225
222
|
async function resolveFieldType(session, dataTypeNodeId, dataTypeManager, cache) {
|
|
226
223
|
return await memoize(cache, "fieldResolution", dataTypeNodeId, async () => {
|
|
227
224
|
const dataTypeFactory = dataTypeManager.getDataTypeFactoryForNamespace(dataTypeNodeId.namespace);
|
|
228
|
-
if (dataTypeNodeId.namespace === 0 && dataTypeNodeId.value ===
|
|
229
|
-
const category =
|
|
225
|
+
if (dataTypeNodeId.namespace === 0 && dataTypeNodeId.value === DataTypeIds.Structure) {
|
|
226
|
+
const category = FieldCategory.complex;
|
|
230
227
|
const fieldTypeName = "Structure";
|
|
231
|
-
const schema =
|
|
228
|
+
const schema = ExtensionObject.schema;
|
|
232
229
|
return {
|
|
233
230
|
category,
|
|
234
231
|
fieldTypeName,
|
|
235
232
|
schema,
|
|
236
233
|
allowSubTypes: true,
|
|
237
|
-
dataType:
|
|
234
|
+
dataType: coerceNodeId(DataType.ExtensionObject)
|
|
238
235
|
};
|
|
239
236
|
}
|
|
240
237
|
if (dataTypeNodeId.value === 0) {
|
|
241
238
|
const v3 = {
|
|
242
|
-
category:
|
|
239
|
+
category: FieldCategory.basic,
|
|
243
240
|
fieldTypeName: "Variant",
|
|
244
241
|
schema: dataTypeManager.getBuiltInType("Variant")
|
|
245
242
|
};
|
|
246
243
|
return v3;
|
|
247
244
|
}
|
|
248
245
|
const readIsAbstract = async (dataTypeNodeId) => {
|
|
249
|
-
return (await session.read({ nodeId: dataTypeNodeId, attributeId:
|
|
246
|
+
return (await session.read({ nodeId: dataTypeNodeId, attributeId: AttributeIds.IsAbstract })).value.value;
|
|
250
247
|
};
|
|
251
248
|
const [isAbstract, fieldTypeName, _unusedSuperType] = await Promise.all([
|
|
252
249
|
readIsAbstract(dataTypeNodeId),
|
|
@@ -260,9 +257,9 @@ async function resolveFieldType(session, dataTypeNodeId, dataTypeManager, cache)
|
|
|
260
257
|
if (_isExtensionObject) {
|
|
261
258
|
// we could have complex => Structure
|
|
262
259
|
const v3 = {
|
|
263
|
-
category:
|
|
260
|
+
category: FieldCategory.complex,
|
|
264
261
|
fieldTypeName: fieldTypeName,
|
|
265
|
-
schema:
|
|
262
|
+
schema: ExtensionObject.schema,
|
|
266
263
|
allowSubTypes: true,
|
|
267
264
|
dataType: dataTypeNodeId
|
|
268
265
|
};
|
|
@@ -273,9 +270,9 @@ async function resolveFieldType(session, dataTypeNodeId, dataTypeManager, cache)
|
|
|
273
270
|
// Note: Only BaseDataType (i=24) should be normalized to "Variant"
|
|
274
271
|
// Other abstract basic types (e.g. Number, Integer) must keep their name
|
|
275
272
|
// for proper subtype validation
|
|
276
|
-
const isBaseDataType = dataTypeNodeId.namespace === 0 && dataTypeNodeId.value ===
|
|
273
|
+
const isBaseDataType = dataTypeNodeId.namespace === 0 && dataTypeNodeId.value === DataTypeIds.BaseDataType;
|
|
277
274
|
const v3 = {
|
|
278
|
-
category:
|
|
275
|
+
category: FieldCategory.basic,
|
|
279
276
|
fieldTypeName: isBaseDataType ? "Variant" : fieldTypeName,
|
|
280
277
|
schema: dataTypeManager.getBuiltInType("Variant"),
|
|
281
278
|
allowSubTypes: true,
|
|
@@ -285,17 +282,17 @@ async function resolveFieldType(session, dataTypeNodeId, dataTypeManager, cache)
|
|
|
285
282
|
}
|
|
286
283
|
}
|
|
287
284
|
let schema;
|
|
288
|
-
let category =
|
|
285
|
+
let category = FieldCategory.enumeration;
|
|
289
286
|
if (dataTypeFactory.hasStructureByTypeName(fieldTypeName)) {
|
|
290
287
|
schema = dataTypeFactory.getStructuredTypeSchema(fieldTypeName);
|
|
291
|
-
category =
|
|
288
|
+
category = FieldCategory.complex;
|
|
292
289
|
}
|
|
293
290
|
else if (dataTypeFactory.hasBuiltInType(fieldTypeName)) {
|
|
294
|
-
category =
|
|
291
|
+
category = FieldCategory.basic;
|
|
295
292
|
schema = dataTypeFactory.getBuiltInType(fieldTypeName);
|
|
296
293
|
}
|
|
297
294
|
else if (dataTypeFactory.hasEnumeration(fieldTypeName)) {
|
|
298
|
-
category =
|
|
295
|
+
category = FieldCategory.enumeration;
|
|
299
296
|
schema = dataTypeFactory.getEnumeration(fieldTypeName) || undefined;
|
|
300
297
|
}
|
|
301
298
|
else {
|
|
@@ -319,10 +316,10 @@ async function resolveFieldType(session, dataTypeNodeId, dataTypeManager, cache)
|
|
|
319
316
|
async function _setupEncodings(session, dataTypeNodeId, dataTypeDescription, schema, isAbstract) {
|
|
320
317
|
schema.dataTypeNodeId = dataTypeNodeId;
|
|
321
318
|
if (!isAbstract) {
|
|
322
|
-
const encodings = dataTypeDescription?.encodings || (await
|
|
323
|
-
schema.encodingDefaultBinary =
|
|
324
|
-
schema.encodingDefaultXml =
|
|
325
|
-
schema.encodingDefaultJson =
|
|
319
|
+
const encodings = dataTypeDescription?.encodings || (await _findEncodings(session, dataTypeNodeId));
|
|
320
|
+
schema.encodingDefaultBinary = makeExpandedNodeId(encodings.binaryEncodingNodeId);
|
|
321
|
+
schema.encodingDefaultXml = makeExpandedNodeId(encodings.xmlEncodingNodeId);
|
|
322
|
+
schema.encodingDefaultJson = makeExpandedNodeId(encodings.jsonEncodingNodeId);
|
|
326
323
|
}
|
|
327
324
|
else {
|
|
328
325
|
schema.isAbstract = true;
|
|
@@ -343,7 +340,7 @@ async function findBasicDataTypeEx(session, dataTypeNodeId, cache) {
|
|
|
343
340
|
// debugLog("cache hit 2", key);
|
|
344
341
|
return cached;
|
|
345
342
|
}
|
|
346
|
-
const d = await
|
|
343
|
+
const d = await findBasicDataType(session, dataTypeNodeId);
|
|
347
344
|
cache2.set(key, d);
|
|
348
345
|
return d;
|
|
349
346
|
});
|
|
@@ -379,31 +376,31 @@ async function nonReentrant(cache, prefix, dataTypeNodeId, func) {
|
|
|
379
376
|
})();
|
|
380
377
|
});
|
|
381
378
|
}
|
|
382
|
-
async function convertDataTypeDefinitionToStructureTypeSchema(session, dataTypeNodeId, name, definition, dataTypeDescription, dataTypeManager, isAbstract, cache) {
|
|
379
|
+
export async function convertDataTypeDefinitionToStructureTypeSchema(session, dataTypeNodeId, name, definition, dataTypeDescription, dataTypeManager, isAbstract, cache) {
|
|
383
380
|
return await nonReentrant(cache, "convertDataTypeDefinitionToStructureTypeSchema", dataTypeNodeId, async () => {
|
|
384
|
-
if (definition instanceof
|
|
381
|
+
if (definition instanceof StructureDefinition) {
|
|
385
382
|
const dataTypeFactory = dataTypeManager.getDataTypeFactoryForNamespace(dataTypeNodeId.namespace);
|
|
386
383
|
let fieldCountToIgnore = 0;
|
|
387
384
|
const structureInfo = dataTypeManager.getStructureInfoForDataType(definition.baseDataType);
|
|
388
385
|
const baseSchema = structureInfo?.schema;
|
|
389
386
|
if (baseSchema) {
|
|
390
|
-
const possibleFields =
|
|
387
|
+
const possibleFields = extractAllPossibleFields(baseSchema);
|
|
391
388
|
fieldCountToIgnore += possibleFields.length;
|
|
392
389
|
}
|
|
393
390
|
const fields = [];
|
|
394
|
-
const isUnion = definition.structureType ===
|
|
391
|
+
const isUnion = definition.structureType === StructureType.Union;
|
|
395
392
|
switch (definition.structureType) {
|
|
396
|
-
case
|
|
393
|
+
case StructureType.Union:
|
|
397
394
|
fields.push({
|
|
398
395
|
fieldType: "UInt32",
|
|
399
396
|
name: "SwitchField"
|
|
400
397
|
});
|
|
401
398
|
break;
|
|
402
|
-
case
|
|
403
|
-
case
|
|
399
|
+
case StructureType.Structure:
|
|
400
|
+
case StructureType.StructureWithOptionalFields:
|
|
404
401
|
// new in 1.05
|
|
405
|
-
case
|
|
406
|
-
case
|
|
402
|
+
case StructureType.StructureWithSubtypedValues:
|
|
403
|
+
case StructureType.UnionWithSubtypedValues:
|
|
407
404
|
break;
|
|
408
405
|
}
|
|
409
406
|
let switchValue = 1;
|
|
@@ -415,7 +412,7 @@ async function convertDataTypeDefinitionToStructureTypeSchema(session, dataTypeN
|
|
|
415
412
|
// pre-fetch all dataTypes in parallel
|
|
416
413
|
const dataTypesToResolve = [];
|
|
417
414
|
const seen = new Set();
|
|
418
|
-
if (!
|
|
415
|
+
if (!sameNodeId(definition.baseDataType, dataTypeNodeId)) {
|
|
419
416
|
dataTypesToResolve.push(definition.baseDataType);
|
|
420
417
|
seen.add(definition.baseDataType.toString());
|
|
421
418
|
}
|
|
@@ -425,23 +422,23 @@ async function convertDataTypeDefinitionToStructureTypeSchema(session, dataTypeN
|
|
|
425
422
|
if (seen.has(key))
|
|
426
423
|
continue;
|
|
427
424
|
seen.add(key);
|
|
428
|
-
if (
|
|
425
|
+
if (sameNodeId(fieldD.dataType, dataTypeNodeId))
|
|
429
426
|
continue;
|
|
430
427
|
dataTypesToResolve.push(fieldD.dataType);
|
|
431
428
|
}
|
|
432
429
|
await Promise.all([
|
|
433
430
|
...dataTypesToResolve.map((dataType) => resolveFieldType(session, dataType, dataTypeManager, cache)),
|
|
434
431
|
...dataTypesToResolve.map((dataType) => findBasicDataTypeEx(session, dataType, cache)),
|
|
435
|
-
!isAbstract ?
|
|
432
|
+
!isAbstract ? _findEncodings(session, dataTypeNodeId) : Promise.resolve(null)
|
|
436
433
|
]);
|
|
437
434
|
const results = await Promise.all(definition.fields.slice(fieldCountToIgnore).map(async (fieldD) => {
|
|
438
|
-
const isSelf =
|
|
435
|
+
const isSelf = sameNodeId(fieldD.dataType, dataTypeNodeId);
|
|
439
436
|
// Pre-fetch async data for each field in parallel
|
|
440
437
|
const rt = isSelf ? null : await resolveFieldType(session, fieldD.dataType, dataTypeManager, cache);
|
|
441
438
|
const basicDataType = rt
|
|
442
439
|
? await findBasicDataTypeEx(session, rt.dataType || fieldD.dataType, cache)
|
|
443
440
|
: isSelf
|
|
444
|
-
?
|
|
441
|
+
? DataType.ExtensionObject
|
|
445
442
|
: undefined;
|
|
446
443
|
const fieldTypeNameForSelfRef = isSelf
|
|
447
444
|
? await readBrowseNameWithCache(session, dataTypeNodeId, cache)
|
|
@@ -464,7 +461,7 @@ async function convertDataTypeDefinitionToStructureTypeSchema(session, dataTypeN
|
|
|
464
461
|
throw new Error(`Internal error: expecting fieldTypeNameForSelfRef to be defined for self-referencing field ${fieldD.name}`);
|
|
465
462
|
}
|
|
466
463
|
field.fieldType = fieldTypeNameForSelfRef;
|
|
467
|
-
field.category =
|
|
464
|
+
field.category = FieldCategory.complex;
|
|
468
465
|
fields.push(field);
|
|
469
466
|
const capturedField = field;
|
|
470
467
|
postActions.push((schema) => {
|
|
@@ -488,12 +485,12 @@ async function convertDataTypeDefinitionToStructureTypeSchema(session, dataTypeN
|
|
|
488
485
|
}
|
|
489
486
|
/// some server may provide definition.baseDataType to be i=22 (ExtensionObject)
|
|
490
487
|
/// instead of 12756 Union;
|
|
491
|
-
if (isUnion &&
|
|
492
|
-
definition.baseDataType =
|
|
488
|
+
if (isUnion && sameNodeId(definition.baseDataType, coerceNodeId(DataTypeIds.Structure))) {
|
|
489
|
+
definition.baseDataType = resolveNodeId(DataTypeIds.Union); // aka DataTypeIds.Union
|
|
493
490
|
}
|
|
494
491
|
const a = await resolveFieldType(session, definition.baseDataType, dataTypeManager, cache);
|
|
495
492
|
const baseType = a ? a.fieldTypeName : isUnion ? "Union" : "ExtensionObject";
|
|
496
|
-
const os = new
|
|
493
|
+
const os = new StructuredTypeSchema({
|
|
497
494
|
baseType,
|
|
498
495
|
bitFields,
|
|
499
496
|
fields,
|
|
@@ -518,8 +515,8 @@ async function convertDataTypeDefinitionToStructureTypeSchema(session, dataTypeN
|
|
|
518
515
|
name: fieldD.name,
|
|
519
516
|
schema: undefined
|
|
520
517
|
};
|
|
521
|
-
const definitionAllowSubTypes = definition.structureType ===
|
|
522
|
-
definition.structureType ===
|
|
518
|
+
const definitionAllowSubTypes = definition.structureType === StructureType.StructureWithSubtypedValues ||
|
|
519
|
+
definition.structureType === StructureType.UnionWithSubtypedValues;
|
|
523
520
|
if (fieldD.isOptional) {
|
|
524
521
|
// Optional has a special handling
|
|
525
522
|
if (!definitionAllowSubTypes) {
|
|
@@ -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,3 +1,4 @@
|
|
|
1
1
|
import { type IStructuredTypeSchema } from "node-opcua-factory";
|
|
2
2
|
import { StructureDefinition } from "node-opcua-types";
|
|
3
3
|
export declare function convertStructureTypeSchemaToStructureDefinition(st: IStructuredTypeSchema): StructureDefinition;
|
|
4
|
+
//# sourceMappingURL=convert_structuretype_schema_to_structure_definition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert_structuretype_schema_to_structure_definition.d.ts","sourceRoot":"","sources":["../source/convert_structuretype_schema_to_structure_definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE/F,OAAO,EAAE,mBAAmB,EAA8E,MAAM,kBAAkB,CAAC;AAgBnI,wBAAgB,+CAA+C,CAAC,EAAE,EAAE,qBAAqB,GAAG,mBAAmB,CAgC9G"}
|
|
@@ -1,31 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const node_opcua_factory_1 = require("node-opcua-factory");
|
|
5
|
-
const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
6
|
-
const node_opcua_types_1 = require("node-opcua-types");
|
|
1
|
+
import { FieldCategory } from "node-opcua-factory";
|
|
2
|
+
import { NodeId, resolveNodeId } from "node-opcua-nodeid";
|
|
3
|
+
import { StructureDefinition, StructureType } from "node-opcua-types";
|
|
7
4
|
function _getDataType(field) {
|
|
8
5
|
switch (field.category) {
|
|
9
|
-
case
|
|
10
|
-
return
|
|
11
|
-
case
|
|
12
|
-
return
|
|
6
|
+
case FieldCategory.complex:
|
|
7
|
+
return resolveNodeId(field.schema.dataTypeNodeId);
|
|
8
|
+
case FieldCategory.basic:
|
|
9
|
+
return resolveNodeId(field.fieldType);
|
|
13
10
|
default:
|
|
14
11
|
// FieldCategory.enumeration: enumeration fields don't carry a resolvable
|
|
15
12
|
// dataType NodeId here; fall back to the null NodeId, matching the
|
|
16
13
|
// pre-existing (test-verified) behaviour.
|
|
17
|
-
return field.dataType ?
|
|
14
|
+
return field.dataType ? resolveNodeId(field.dataType) : new NodeId();
|
|
18
15
|
}
|
|
19
16
|
}
|
|
20
|
-
function convertStructureTypeSchemaToStructureDefinition(st) {
|
|
21
|
-
let structureType =
|
|
17
|
+
export function convertStructureTypeSchemaToStructureDefinition(st) {
|
|
18
|
+
let structureType = StructureType.Invalid;
|
|
22
19
|
let isUnion = false;
|
|
23
20
|
if (st.baseType === "Union") {
|
|
24
|
-
structureType =
|
|
21
|
+
structureType = StructureType.Union;
|
|
25
22
|
isUnion = true;
|
|
26
23
|
}
|
|
27
24
|
else {
|
|
28
|
-
structureType =
|
|
25
|
+
structureType = StructureType.Structure;
|
|
29
26
|
}
|
|
30
27
|
// convert partial field (not including base class)
|
|
31
28
|
const structureDefinition = {
|
|
@@ -49,6 +46,6 @@ function convertStructureTypeSchemaToStructureDefinition(st) {
|
|
|
49
46
|
name: f.originalName
|
|
50
47
|
});
|
|
51
48
|
}
|
|
52
|
-
return new
|
|
49
|
+
return new StructureDefinition(structureDefinition);
|
|
53
50
|
}
|
|
54
51
|
//# sourceMappingURL=convert_structuretype_schema_to_structure_definition.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert_structuretype_schema_to_structure_definition.js","sourceRoot":"","sources":["../source/convert_structuretype_schema_to_structure_definition.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"convert_structuretype_schema_to_structure_definition.js","sourceRoot":"","sources":["../source/convert_structuretype_schema_to_structure_definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA8C,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAA+D,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEnI,SAAS,YAAY,CAAC,KAAgB;IAClC,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrB,KAAK,aAAa,CAAC,OAAO;YACtB,OAAO,aAAa,CAAE,KAAK,CAAC,MAA2C,CAAC,cAAc,CAAC,CAAC;QAC5F,KAAK,aAAa,CAAC,KAAK;YACpB,OAAO,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1C;YACI,yEAAyE;YACzE,mEAAmE;YACnE,0CAA0C;YAC1C,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC;IAC7E,CAAC;AACL,CAAC;AAED,MAAM,UAAU,+CAA+C,CAAC,EAAyB;IACrF,IAAI,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC;IAC1C,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,EAAE,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1B,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC;QACpC,OAAO,GAAG,IAAI,CAAC;IACnB,CAAC;SAAM,CAAC;QACJ,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC;IAC5C,CAAC;IACD,mDAAmD;IACnD,MAAM,mBAAmB,GAA+B;QACpD,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE,cAAc;QAChD,iBAAiB,EAAE,EAAE,CAAC,qBAAqB;QAC3C,aAAa;KAChB,CAAC;IACF,MAAM,MAAM,GAA4B,mBAAmB,CAAC,MAAM,IAAI,EAAE,CAAC;IACzE,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,OAAO,IAAI,CAAC,CAAC,YAAY,KAAK,aAAa,EAAE,CAAC;YAC9C,SAAS;QACb,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACR,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;YAC3C,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,QAAQ;YACR,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS;YAC7D,WAAW,EAAE,CAAC,CAAC,aAAa,IAAI,SAAS;YACzC,IAAI,EAAE,CAAC,CAAC,YAAY;SACvB,CAAC,CAAC;IACP,CAAC;IACD,OAAO,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -11,6 +11,21 @@ export declare class ExtraDataTypeManager {
|
|
|
11
11
|
setNamespaceArray(namespaceArray: string[]): void;
|
|
12
12
|
hasDataTypeFactory(namespaceIndex: number): boolean;
|
|
13
13
|
registerDataTypeFactory(namespaceIndex: number, dataTypeFactory: DataTypeFactory): void;
|
|
14
|
+
/**
|
|
15
|
+
* Forget the factory of a namespace, and with it every structure, enumeration and
|
|
16
|
+
* ExtensionObject constructor that namespace registered.
|
|
17
|
+
*
|
|
18
|
+
* A namespace that is emptied and loaded again (see `IAddressSpace.deleteNamespace`) must
|
|
19
|
+
* come back to a manager that has no memory of the previous load: `registerDataTypeFactory`
|
|
20
|
+
* refuses a second factory for the same index, and the schemas of the old load carry the
|
|
21
|
+
* NodeIds of nodes that no longer exist.
|
|
22
|
+
*
|
|
23
|
+
* Namespace 0 has no factory of its own - it is served by the standard one - and is refused.
|
|
24
|
+
*
|
|
25
|
+
* A factory that other namespaces list among their base factories keeps being referenced by
|
|
26
|
+
* them; those namespaces have to be re-extracted as well if they used its types.
|
|
27
|
+
*/
|
|
28
|
+
unregisterDataTypeFactory(namespaceIndex: number): void;
|
|
14
29
|
getDataTypeFactoryForNamespace(namespaceIndex: number): DataTypeFactory;
|
|
15
30
|
getDataTypeFactory(namespaceIndex: number): DataTypeFactory;
|
|
16
31
|
getBuiltInType(fieldTypeName: string): import("node-opcua-factory").CommonInterface;
|
|
@@ -22,3 +37,4 @@ export declare class ExtraDataTypeManager {
|
|
|
22
37
|
getExtensionObjectConstructorFromBinaryEncodingAsync(binaryEncodingNodeId: NodeId): Promise<ConstructorFunc>;
|
|
23
38
|
toString(): string;
|
|
24
39
|
}
|
|
40
|
+
//# sourceMappingURL=extra_data_type_manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extra_data_type_manager.d.ts","sourceRoot":"","sources":["../source/extra_data_type_manager.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAA8B,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAChI,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAM7D,qBAAa,oBAAoB;IACtB,cAAc,EAAE,MAAM,EAAE,CAAM;IACrC,OAAO,CAAC,6BAA6B,CAA0C;IAC/E,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,mBAAmB,CAAkD;IAEtE,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAEpD;IAEM,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,CAEvD;IAEM,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAKzD;IAEM,uBAAuB,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,GAAG,IAAI,CAO7F;IAED;;;;;;;;;;;;;OAaG;IACI,yBAAyB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CA4B7D;IAEM,8BAA8B,CAAC,cAAc,EAAE,MAAM,GAAG,eAAe,CAK7E;IAEM,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,eAAe,CAKjE;IAEM,cAAc,CAAC,aAAa,EAAE,MAAM,gDAO1C;IAEM,2BAA2B,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAQ/E;IAEY,gCAAgC,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAiC5F;IAEM,yCAAyC,CAAC,cAAc,EAAE,MAAM,GAAG,kBAAkB,CAc3F;IAEY,8CAA8C,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAO/G;IAEM,+CAA+C,CAAC,oBAAoB,EAAE,MAAM,GAAG,eAAe,CAUpG;IAEY,oDAAoD,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAiCxH;IAEM,QAAQ,IAAI,MAAM,CAexB;CACJ"}
|