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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/convert_data_type_definition_to_structuretype_schema.d.ts +4 -3
  2. package/dist/convert_data_type_definition_to_structuretype_schema.js +96 -66
  3. package/dist/convert_data_type_definition_to_structuretype_schema.js.map +1 -1
  4. package/dist/extra_data_type_manager.d.ts +10 -1
  5. package/dist/extra_data_type_manager.js +96 -2
  6. package/dist/extra_data_type_manager.js.map +1 -1
  7. package/dist/get_extension_object_constructor.js +4 -4
  8. package/dist/get_extension_object_constructor.js.map +1 -1
  9. package/dist/get_extra_data_type_manager.d.ts +2 -1
  10. package/dist/get_extra_data_type_manager.js +8 -2
  11. package/dist/get_extra_data_type_manager.js.map +1 -1
  12. package/dist/populate_data_type_manager.d.ts +2 -4
  13. package/dist/populate_data_type_manager.js +88 -81
  14. package/dist/populate_data_type_manager.js.map +1 -1
  15. package/dist/private/populate_data_type_manager_103.js +5 -4
  16. package/dist/private/populate_data_type_manager_103.js.map +1 -1
  17. package/dist/private/populate_data_type_manager_104.d.ts +1 -2
  18. package/dist/private/populate_data_type_manager_104.js +41 -18
  19. package/dist/private/populate_data_type_manager_104.js.map +1 -1
  20. package/dist/resolve_dynamic_extension_object.d.ts +2 -2
  21. package/dist/resolve_dynamic_extension_object.js +66 -91
  22. package/dist/resolve_dynamic_extension_object.js.map +1 -1
  23. package/package.json +12 -12
  24. package/source/convert_data_type_definition_to_structuretype_schema.ts +116 -79
  25. package/source/extra_data_type_manager.ts +113 -4
  26. package/source/get_extension_object_constructor.ts +5 -4
  27. package/source/get_extra_data_type_manager.ts +15 -7
  28. package/source/populate_data_type_manager.ts +99 -89
  29. package/source/private/populate_data_type_manager_103.ts +6 -4
  30. package/source/private/populate_data_type_manager_104.ts +67 -28
  31. package/source/resolve_dynamic_extension_object.ts +79 -110
@@ -10,15 +10,16 @@ const node_opcua_pseudo_session_1 = require("node-opcua-pseudo-session");
10
10
  const node_opcua_schemas_1 = require("node-opcua-schemas");
11
11
  const node_opcua_types_1 = require("node-opcua-types");
12
12
  const convert_data_type_definition_to_structuretype_schema_1 = require("../convert_data_type_definition_to_structuretype_schema");
13
+ const get_extra_data_type_manager_1 = require("../get_extra_data_type_manager");
13
14
  const node_opcua_status_code_1 = require("node-opcua-status-code");
14
- const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
15
- const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
16
- const warningLog = (0, node_opcua_debug_1.make_warningLog)(__filename);
17
- const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
18
- async function readDataTypeDefinitionAndBuildType(session, dataTypeNodeId, name, dataTypeFactory, cache) {
15
+ const errorLog = (0, node_opcua_debug_1.make_errorLog)("populateDataTypeManager");
16
+ const debugLog = (0, node_opcua_debug_1.make_debugLog)("populateDataTypeManager");
17
+ const warningLog = (0, node_opcua_debug_1.make_warningLog)("populateDataTypeManager");
18
+ const doDebug = (0, node_opcua_debug_1.checkDebugFlag)("populateDataTypeManager");
19
+ async function readDataTypeDefinitionAndBuildType(session, dataTypeNodeId, name, dataTypeManager, cache) {
19
20
  const dependentNamespaces = new Set();
20
21
  try {
21
- if (dataTypeFactory.getStructureInfoForDataType(dataTypeNodeId)) {
22
+ if (dataTypeManager.getStructureInfoForDataType(dataTypeNodeId)) {
22
23
  return dependentNamespaces;
23
24
  }
24
25
  const [isAbstractDataValue, dataTypeDefinitionDataValue, browseNameDataValue] = await session.read([
@@ -40,6 +41,7 @@ async function readDataTypeDefinitionAndBuildType(session, dataTypeNodeId, name,
40
41
  debugLog("Cannot find dataTypeNodeId = ", dataTypeNodeId.toString());
41
42
  return dependentNamespaces;
42
43
  }
44
+ const resolvedName = name || browseNameDataValue.value?.value?.name || "Unknown";
43
45
  /* istanbul ignore next */
44
46
  if (isAbstractDataValue.statusCode.isNotGood()) {
45
47
  errorLog("browseName", browseNameDataValue.value.toString());
@@ -74,10 +76,11 @@ async function readDataTypeDefinitionAndBuildType(session, dataTypeNodeId, name,
74
76
  dependentNamespaces.add(dataTypeNamespace);
75
77
  }
76
78
  }
77
- const schema = await (0, convert_data_type_definition_to_structuretype_schema_1.convertDataTypeDefinitionToStructureTypeSchema)(session, dataTypeNodeId, name, dataTypeDefinition, null, dataTypeFactory, isAbstract, cache);
79
+ const schema = await (0, convert_data_type_definition_to_structuretype_schema_1.convertDataTypeDefinitionToStructureTypeSchema)(session, dataTypeNodeId, resolvedName, dataTypeDefinition, null, dataTypeManager, isAbstract, cache);
80
+ const dataTypeFactory = dataTypeManager.getDataTypeFactoryForNamespace(dataTypeNodeId.namespace);
78
81
  if (isAbstract) {
79
82
  // cannot construct an abstract structure
80
- dataTypeFactory.registerAbstractStructure(dataTypeNodeId, name, schema);
83
+ dataTypeFactory.registerAbstractStructure(dataTypeNodeId, resolvedName, schema);
81
84
  }
82
85
  else {
83
86
  const Constructor = (0, node_opcua_schemas_1.createDynamicObjectConstructor)(schema, dataTypeFactory);
@@ -96,8 +99,10 @@ async function populateDataTypeManager104(session, dataTypeManager) {
96
99
  try {
97
100
  if (dataTypeNodeId.namespace === 0) {
98
101
  // already known I guess
102
+ doDebug && debugLog("populateDataTypeManager104: skiping dataType = namespace 0", dataTypeNodeId.toString());
99
103
  return;
100
104
  }
105
+ // register factory if not already registered
101
106
  let dataTypeFactory = dataTypeManager.getDataTypeFactory(dataTypeNodeId.namespace);
102
107
  if (!dataTypeFactory) {
103
108
  dataTypeFactory = new node_opcua_factory_1.DataTypeFactory([]);
@@ -107,11 +112,12 @@ async function populateDataTypeManager104(session, dataTypeManager) {
107
112
  // if not found already
108
113
  if (dataTypeFactory.getStructureInfoForDataType(dataTypeNodeId)) {
109
114
  // already known !
115
+ doDebug && debugLog("populateDataTypeManager104: skiping dataType = already known", dataTypeNodeId.toString());
110
116
  return;
111
117
  }
112
118
  // extract it formally
113
- doDebug && debugLog(" DataType => ", r.browseName.toString(), dataTypeNodeId.toString());
114
- const dependentNamespaces = await readDataTypeDefinitionAndBuildType(session, dataTypeNodeId, r.browseName.name, dataTypeFactory, cache);
119
+ doDebug && debugLog("populateDataTypeManager104: processing dataType = ", r.browseName.toString(), dataTypeNodeId.toString());
120
+ const dependentNamespaces = await readDataTypeDefinitionAndBuildType(session, dataTypeNodeId, r.browseName.name, dataTypeManager, cache);
115
121
  // add dependent namespaces to dataFactoriesDependencies
116
122
  let dataFactoryDependencies = dataFactoriesDependencies.get(dataTypeNodeId.namespace);
117
123
  if (!dataFactoryDependencies) {
@@ -149,21 +155,38 @@ async function populateDataTypeManager104(session, dataTypeManager) {
149
155
  }
150
156
  }
151
157
  async function applyOnReferenceRecursively(session, nodeId, browseDescriptionTemplate, action) {
152
- const oneLevel = async (nodeId) => {
158
+ const hasBoosted = (0, get_extra_data_type_manager_1.hasBoostedSession)(session);
159
+ const useHeavyParallelization = hasBoosted;
160
+ debugLog("applyOnReferenceRecursively = useHeavyParallelization", useHeavyParallelization);
161
+ const oneLevel = async (nodeId, level) => {
162
+ doDebug && debugLog("applyOnReferenceRecursively = level", level, "nodeId", nodeId.toString());
153
163
  const nodeToBrowse = {
154
164
  ...browseDescriptionTemplate,
155
165
  nodeId
156
166
  };
157
167
  const browseResult = await (0, node_opcua_pseudo_session_1.browseAll)(session, nodeToBrowse);
158
- const promises = [];
159
- for (const ref of browseResult.references || []) {
160
- promises.push((async () => {
168
+ if (useHeavyParallelization) {
169
+ // @sterfive/optimized-client (PRO module) we can
170
+ // parallelize and minimize the number of calls to the server to
171
+ // drastically improve performance
172
+ const promises = [];
173
+ for (const ref of browseResult.references || []) {
174
+ promises.push((async () => {
175
+ await action(ref);
176
+ await oneLevel(ref.nodeId, level + 1);
177
+ })());
178
+ }
179
+ await Promise.all(promises);
180
+ }
181
+ else {
182
+ // important: we dont parallelize the action on browse reference
183
+ // to avoid overloading browseContinuationToken on client side
184
+ for (const ref of browseResult.references || []) {
161
185
  await action(ref);
162
- await oneLevel(ref.nodeId);
163
- })());
186
+ await oneLevel(ref.nodeId, level + 1);
187
+ }
164
188
  }
165
- await Promise.all(promises);
166
189
  };
167
- await oneLevel(nodeId);
190
+ await oneLevel(nodeId, 0);
168
191
  }
169
192
  //# sourceMappingURL=populate_data_type_manager_104.js.map
@@ -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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"}
@@ -2,5 +2,5 @@ import { ExtensionObject } from "node-opcua-extension-object";
2
2
  import { Variant } from "node-opcua-variant";
3
3
  import { IBasicSessionAsync2 } from "node-opcua-pseudo-session";
4
4
  import { ExtraDataTypeManager } from "./extra_data_type_manager";
5
- export declare function resolveOpaqueStructureInExtensionObject(session: IBasicSessionAsync2, dataTypeManager: ExtraDataTypeManager, object: ExtensionObject): Promise<void>;
6
- export declare function resolveDynamicExtensionObject(session: IBasicSessionAsync2, variant: Variant, dataTypeManager: ExtraDataTypeManager): Promise<void>;
5
+ export declare function resolveOpaqueStructureInExtensionObject(session: IBasicSessionAsync2, dataTypeManager: ExtraDataTypeManager, object: ExtensionObject, visited?: Set<any>): Promise<void>;
6
+ export declare function resolveDynamicExtensionObject(session: IBasicSessionAsync2, variant: Variant, dataTypeManager: ExtraDataTypeManager, visited?: Set<any>): Promise<void>;
@@ -6,63 +6,35 @@ const node_opcua_binary_stream_1 = require("node-opcua-binary-stream");
6
6
  const node_opcua_extension_object_1 = require("node-opcua-extension-object");
7
7
  const node_opcua_variant_1 = require("node-opcua-variant");
8
8
  const node_opcua_debug_1 = require("node-opcua-debug");
9
- const node_opcua_data_model_1 = require("node-opcua-data-model");
10
- const populate_data_type_manager_104_1 = require("./private/populate_data_type_manager_104");
11
9
  const warningLog = (0, node_opcua_debug_1.make_warningLog)(__filename);
12
- async function getOrExtractConstructor(session, binaryEncodingNodeId, dataTypeManager) {
13
- const dataTypeFactory = dataTypeManager.getDataTypeFactoryForNamespace(binaryEncodingNodeId.namespace);
14
- const Constructor = dataTypeFactory.getConstructor(binaryEncodingNodeId);
15
- if (Constructor) {
16
- return Constructor;
17
- }
18
- if (binaryEncodingNodeId.namespace === 0) {
19
- throw new Error("Internal Error");
20
- }
21
- // need to extract it
22
- const browseResult = await session.browse({
23
- nodeId: binaryEncodingNodeId,
24
- referenceTypeId: "HasEncoding",
25
- browseDirection: node_opcua_data_model_1.BrowseDirection.Inverse,
26
- includeSubtypes: false,
27
- nodeClassMask: node_opcua_data_model_1.NodeClassMask.DataType,
28
- resultMask: node_opcua_data_model_1.ResultMask.BrowseName
29
- });
30
- if (browseResult.statusCode.isNotGood() || browseResult.references.length !== 1) {
31
- throw new Error("browse failed");
32
- }
33
- const r = browseResult.references[0];
34
- const dataTypeNodeId = r.nodeId;
35
- if (dataTypeFactory.getStructureInfoForDataType(dataTypeNodeId)) {
36
- throw new Error("Internal Error: we are not expecting this dataType to be processed already " + dataTypeNodeId.toString());
37
- }
38
- await (0, populate_data_type_manager_104_1.readDataTypeDefinitionAndBuildType)(session, dataTypeNodeId, r.browseName.name, dataTypeFactory, {});
39
- const structureInfo = dataTypeFactory.getStructureInfoForDataType(dataTypeNodeId);
40
- if (!structureInfo.constructor) {
41
- throw new Error("Cannot find constructor for abstract DataType");
10
+ async function resolveOpaqueStructureInExtensionObject(session, dataTypeManager, object, visited) {
11
+ visited = visited || new Set();
12
+ if (visited.has(object)) {
13
+ return;
42
14
  }
43
- return structureInfo.constructor;
44
- }
45
- async function resolveOpaqueStructureInExtensionObject(session, dataTypeManager, object) {
46
- const schema = object.schema;
15
+ visited.add(object);
47
16
  async function fixOpaqueStructureOnElement(element, field, data, args) {
48
- if (element instanceof node_opcua_variant_1.Variant) {
49
- await resolveDynamicExtensionObject(session, element, dataTypeManager);
17
+ if (!element) {
50
18
  return element;
51
19
  }
52
- if (!(element instanceof node_opcua_extension_object_1.OpaqueStructure)) {
20
+ if (element instanceof node_opcua_variant_1.Variant || element.constructor?.name === "Variant") {
21
+ await resolveDynamicExtensionObject(session, element, dataTypeManager, data.visited);
53
22
  return element;
54
23
  }
55
- const variant = new node_opcua_variant_1.Variant({ dataType: node_opcua_variant_1.DataType.ExtensionObject, value: element });
56
- await resolveDynamicExtensionObject(session, variant, dataTypeManager);
57
- return variant.value;
24
+ if (element instanceof node_opcua_extension_object_1.ExtensionObject || element?.constructor?.schema?.name === "ExtensionObject") {
25
+ if (element instanceof node_opcua_extension_object_1.OpaqueStructure) {
26
+ const variant = new node_opcua_variant_1.Variant({ dataType: node_opcua_variant_1.DataType.ExtensionObject, value: element });
27
+ await resolveDynamicExtensionObject(session, variant, dataTypeManager, data.visited);
28
+ return variant.value;
29
+ }
30
+ else {
31
+ await resolveOpaqueStructureInExtensionObject(session, dataTypeManager, element, data.visited);
32
+ return element;
33
+ }
34
+ }
35
+ return element;
58
36
  }
59
37
  function fixOpaqueStructure(object, field, data, args) {
60
- if (field.category === "complex" && !field.allowSubType) {
61
- return;
62
- }
63
- if (field.category === "basic" && field.fieldType !== "Variant") {
64
- return;
65
- }
66
38
  const a = object[field.name];
67
39
  if (!a) {
68
40
  return;
@@ -70,68 +42,71 @@ async function resolveOpaqueStructureInExtensionObject(session, dataTypeManager,
70
42
  if (field.isArray) {
71
43
  for (let i = 0; i < a.length; i++) {
72
44
  const x = a[i];
73
- promises.push((async () => {
45
+ data.promises.push((async () => {
74
46
  a[i] = await fixOpaqueStructureOnElement(x, field, data, args);
75
47
  })());
76
48
  }
77
49
  }
78
50
  else {
79
- promises.push((async () => {
51
+ data.promises.push((async () => {
80
52
  object[field.name] = await fixOpaqueStructureOnElement(a, field, data, args);
81
53
  })());
82
54
  }
83
55
  }
84
56
  const promises = [];
85
- object.applyOnAllFields(fixOpaqueStructure, { dataTypeManager, promises });
57
+ object.applyOnAllFields(fixOpaqueStructure, { dataTypeManager, promises, visited });
86
58
  await Promise.all(promises);
87
59
  }
88
- async function resolveDynamicExtensionObjectV(session, opaque, dataTypeManager) {
89
- try {
90
- const Constructor = await getOrExtractConstructor(session, opaque.nodeId, dataTypeManager);
91
- const object = new Constructor();
92
- const stream = new node_opcua_binary_stream_1.BinaryStream(opaque.buffer);
93
- try {
94
- object.decode(stream);
95
- await resolveOpaqueStructureInExtensionObject(session, dataTypeManager, object);
96
- return object;
60
+ async function resolveDynamicExtensionObject(session, variant, dataTypeManager, visited) {
61
+ visited = visited || new Set();
62
+ const handleValue = async (value) => {
63
+ if (!value) {
64
+ return value;
97
65
  }
98
- catch (err) {
99
- warningLog("Constructor = ", Constructor.name);
100
- warningLog("opaqueStructure = ", opaque?.nodeId?.toString());
101
- warningLog("opaqueStructure = ", (0, node_opcua_debug_1.hexDump)(opaque.buffer, 132, 100));
102
- warningLog((0, node_opcua_debug_1.hexDump)(opaque.buffer));
103
- warningLog("resolveDynamicExtensionObjectV err = ", err);
104
- // try again for debugging
105
- object.decode(stream);
106
- return opaque;
66
+ if (value instanceof node_opcua_extension_object_1.OpaqueStructure) {
67
+ try {
68
+ const Constructor = await dataTypeManager.getExtensionObjectConstructorFromBinaryEncodingAsync(value.nodeId);
69
+ const object = new Constructor();
70
+ const stream = new node_opcua_binary_stream_1.BinaryStream(value.buffer);
71
+ try {
72
+ object.decode(stream);
73
+ await resolveOpaqueStructureInExtensionObject(session, dataTypeManager, object, visited);
74
+ return object;
75
+ }
76
+ catch (err) {
77
+ warningLog("resolveDynamicExtensionObjectV: error decoding or resolving inner structures");
78
+ warningLog("Constructor = ", Constructor.name);
79
+ warningLog("opaqueStructure = ", value?.nodeId?.toString());
80
+ warningLog("resolveDynamicExtensionObjectV err = ", err.message, err.stack);
81
+ return value;
82
+ }
83
+ }
84
+ catch (err) {
85
+ warningLog("resolveDynamicExtensionObjectV: error getting constructor");
86
+ warningLog("opaqueStructure = ", value.nodeId.toString());
87
+ warningLog("err", err.message, err.stack);
88
+ return value;
89
+ }
107
90
  }
108
- }
109
- catch (err) {
110
- warningLog("err", err);
111
- warningLog("opaqueStructure = ", opaque.nodeId.toString());
112
- warningLog("opaqueStructure = ", "0x" + (0, node_opcua_debug_1.hexDump)(opaque.buffer, 132, 100));
113
- warningLog((0, node_opcua_debug_1.hexDump)(opaque.buffer));
114
- warningLog(dataTypeManager.toString());
115
- throw err;
116
- }
117
- }
118
- async function resolveDynamicExtensionObject(session, variant, dataTypeManager) {
119
- if (variant.dataType !== node_opcua_variant_1.DataType.ExtensionObject) {
120
- return;
121
- }
91
+ if (value instanceof node_opcua_extension_object_1.ExtensionObject) {
92
+ await resolveOpaqueStructureInExtensionObject(session, dataTypeManager, value, visited);
93
+ return value;
94
+ }
95
+ if (value instanceof node_opcua_variant_1.Variant) {
96
+ await resolveDynamicExtensionObject(session, value, dataTypeManager, visited);
97
+ return value;
98
+ }
99
+ return value;
100
+ };
122
101
  if (variant.arrayType !== node_opcua_variant_1.VariantArrayType.Scalar) {
123
- if (variant.value instanceof Array) {
102
+ if (Array.isArray(variant.value)) {
124
103
  for (let i = 0; i < variant.value.length; i++) {
125
- if (variant.value[i] instanceof node_opcua_extension_object_1.OpaqueStructure) {
126
- variant.value[i] = await resolveDynamicExtensionObjectV(session, variant.value[i], dataTypeManager);
127
- }
104
+ variant.value[i] = await handleValue(variant.value[i]);
128
105
  }
129
106
  }
130
- return;
131
107
  }
132
- if (!(variant.value instanceof node_opcua_extension_object_1.OpaqueStructure)) {
133
- return;
108
+ else {
109
+ variant.value = await handleValue(variant.value);
134
110
  }
135
- variant.value = await resolveDynamicExtensionObjectV(session, variant.value, dataTypeManager);
136
111
  }
137
112
  //# sourceMappingURL=resolve_dynamic_extension_object.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve_dynamic_extension_object.js","sourceRoot":"","sources":["../source/resolve_dynamic_extension_object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve_dynamic_extension_object.js","sourceRoot":"","sources":["../source/resolve_dynamic_extension_object.ts"],"names":[],"mappings":";;AAWA,0FAwEC;AAED,sEAuDC;AA5ID,uEAAwD;AACxD,6EAA+E;AAC/E,2DAAyE;AACzE,uDAAmD;AAMnD,MAAM,UAAU,GAAG,IAAA,kCAAe,EAAC,UAAU,CAAC,CAAC;AAExC,KAAK,UAAU,uCAAuC,CACzD,OAA4B,EAC5B,eAAqC,EACrC,MAAuB,EACvB,OAAkB;IAGlB,OAAO,GAAG,OAAO,IAAI,IAAI,GAAG,EAAE,CAAC;IAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,OAAO;IACX,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAOpB,KAAK,UAAU,2BAA2B,CACtC,OAAY,EACZ,KAA0B,EAC1B,IAAO,EACP,IAAU;QAIV,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,YAAY,4BAAO,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YACxE,MAAM,6BAA6B,CAAC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACrF,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,IAAI,OAAO,YAAY,6CAAe,IAAI,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACjG,IAAI,OAAO,YAAY,6CAAe,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,IAAI,4BAAO,CAAC,EAAE,QAAQ,EAAE,6BAAQ,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBACpF,MAAM,6BAA6B,CAAC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrF,OAAO,OAAO,CAAC,KAAgB,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACJ,MAAM,uCAAuC,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC/F,OAAO,OAAO,CAAC;YACnB,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,SAAS,kBAAkB,CAAC,MAAW,EAAE,KAA0B,EAAE,IAAO,EAAE,IAAU;QAEpF,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,EAAE,CAAC;YACL,OAAO;QACX,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACf,IAAI,CAAC,QAAQ,CAAC,IAAI,CACd,CAAC,KAAK,IAAI,EAAE;oBACR,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,2BAA2B,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACnE,CAAC,CAAC,EAAE,CACP,CAAC;YACN,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,IAAI,CACd,CAAC,KAAK,IAAI,EAAE;gBACR,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,2BAA2B,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACjF,CAAC,CAAC,EAAE,CACP,CAAC;QACN,CAAC;IACL,CAAC;IACD,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,MAAM,CAAC,gBAAgB,CAAI,kBAAkB,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACvF,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC;AAEM,KAAK,UAAU,6BAA6B,CAC/C,OAA4B,EAC5B,OAAgB,EAChB,eAAqC,EACrC,OAAkB;IAElB,OAAO,GAAG,OAAO,IAAI,IAAI,GAAG,EAAE,CAAC;IAE/B,MAAM,WAAW,GAAG,KAAK,EAAE,KAAU,EAAgB,EAAE;QACnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,KAAK,YAAY,6CAAe,EAAE,CAAC;YACnC,IAAI,CAAC;gBACD,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,oDAAoD,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC7G,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,IAAI,uCAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,CAAC;oBACD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACtB,MAAM,uCAAuC,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,OAAQ,CAAC,CAAC;oBAC1F,OAAO,MAAM,CAAC;gBAClB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,UAAU,CAAC,8EAA8E,CAAC,CAAC;oBAC3F,UAAU,CAAC,gBAAgB,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;oBAC/C,UAAU,CAAC,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAC5D,UAAU,CAAC,uCAAuC,EAAG,GAAa,CAAC,OAAO,EAAG,GAAa,CAAC,KAAK,CAAC,CAAC;oBAClG,OAAO,KAAK,CAAC;gBACjB,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,UAAU,CAAC,2DAA2D,CAAC,CAAC;gBACxE,UAAU,CAAC,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC1D,UAAU,CAAC,KAAK,EAAG,GAAa,CAAC,OAAO,EAAG,GAAa,CAAC,KAAK,CAAC,CAAC;gBAChE,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QACD,IAAI,KAAK,YAAY,6CAAe,EAAE,CAAC;YACnC,MAAM,uCAAuC,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,OAAQ,CAAC,CAAC;YACzF,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,KAAK,YAAY,4BAAO,EAAE,CAAC;YAC3B,MAAM,6BAA6B,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,OAAQ,CAAC,CAAC;YAC/E,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAA;IAED,IAAI,OAAO,CAAC,SAAS,KAAK,qCAAgB,CAAC,MAAM,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,CAAC;QACL,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,KAAK,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-opcua-client-dynamic-extension-object",
3
- "version": "2.162.0",
3
+ "version": "2.163.1",
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",
@@ -14,19 +14,19 @@
14
14
  "node-opcua-assert": "2.157.0",
15
15
  "node-opcua-binary-stream": "2.162.0",
16
16
  "node-opcua-constants": "2.157.0",
17
- "node-opcua-data-model": "2.162.0",
18
- "node-opcua-data-value": "2.162.0",
17
+ "node-opcua-data-model": "2.163.0",
18
+ "node-opcua-data-value": "2.163.0",
19
19
  "node-opcua-debug": "2.157.0",
20
- "node-opcua-extension-object": "2.162.0",
21
- "node-opcua-factory": "2.162.0",
20
+ "node-opcua-extension-object": "2.163.0",
21
+ "node-opcua-factory": "2.163.0",
22
22
  "node-opcua-nodeid": "2.157.0",
23
- "node-opcua-pseudo-session": "2.162.0",
24
- "node-opcua-schemas": "2.162.0",
25
- "node-opcua-service-browse": "2.162.0",
26
- "node-opcua-service-translate-browse-path": "2.162.0",
23
+ "node-opcua-pseudo-session": "2.163.1",
24
+ "node-opcua-schemas": "2.163.1",
25
+ "node-opcua-service-browse": "2.163.1",
26
+ "node-opcua-service-translate-browse-path": "2.163.1",
27
27
  "node-opcua-status-code": "2.162.0",
28
- "node-opcua-types": "2.162.0",
29
- "node-opcua-variant": "2.162.0"
28
+ "node-opcua-types": "2.163.1",
29
+ "node-opcua-variant": "2.163.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": "78989e867fc6c2009002f6db4b7cbf8fb95161ae",
46
+ "gitHead": "ab3bd98e69a7d365a40094d35122c4e879d04460",
47
47
  "files": [
48
48
  "dist",
49
49
  "source"