node-opcua-address-space 2.69.1 → 2.70.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/source/helpers/argument_list.d.ts +4 -0
- package/dist/source/helpers/argument_list.js +50 -12
- package/dist/source/helpers/argument_list.js.map +1 -1
- package/dist/source/index.d.ts +3 -2
- package/dist/source/index.js +3 -2
- package/dist/source/index.js.map +1 -1
- package/dist/source/loader/load_nodeset2.js +123 -94
- package/dist/source/loader/load_nodeset2.js.map +1 -1
- package/dist/source/loader/make_xml_extension_object_parser.d.ts +5 -0
- package/dist/source/loader/make_xml_extension_object_parser.js +25 -1
- package/dist/source/loader/make_xml_extension_object_parser.js.map +1 -1
- package/dist/src/data_access/add_dataItem_stuff.js +2 -2
- package/dist/src/data_access/add_dataItem_stuff.js.map +1 -1
- package/dist/src/data_access/ua_multistate_value_discrete.js +1 -0
- package/dist/src/data_access/ua_multistate_value_discrete.js.map +1 -1
- package/dist/src/namespace_impl.d.ts +1 -15
- package/dist/src/namespace_impl.js +1 -28
- package/dist/src/namespace_impl.js.map +1 -1
- package/dist/src/ua_variable_impl.d.ts +3 -1
- package/dist/src/ua_variable_impl.js +77 -16
- package/dist/src/ua_variable_impl.js.map +1 -1
- package/dist/src/ua_variable_impl_ext_obj.d.ts +2 -2
- package/dist/src/ua_variable_impl_ext_obj.js +68 -23
- package/dist/src/ua_variable_impl_ext_obj.js.map +1 -1
- package/package.json +28 -28
- package/source/helpers/argument_list.ts +47 -13
- package/source/index.ts +6 -3
- package/source/loader/load_nodeset2.ts +222 -150
- package/source/loader/make_xml_extension_object_parser.ts +80 -33
- package/src/data_access/add_dataItem_stuff.ts +2 -2
- package/src/data_access/ua_multistate_value_discrete.ts +1 -0
- package/src/namespace_impl.ts +1 -29
- package/src/ua_variable_impl.ts +93 -18
- package/src/ua_variable_impl_ext_obj.ts +79 -30
- package/test_helpers/test_fixtures/dataType_with_qualifiedname.xml +71 -0
|
@@ -16,6 +16,10 @@ export declare function getMethodDeclaration_ArgumentList(addressSpace: IAddress
|
|
|
16
16
|
statusCode: StatusCode;
|
|
17
17
|
methodDeclaration?: UAMethod;
|
|
18
18
|
};
|
|
19
|
+
/**
|
|
20
|
+
* @private
|
|
21
|
+
*/
|
|
22
|
+
export declare function isArgumentValid(addressSpace: IAddressSpace, argDefinition: Argument, arg: Variant): boolean;
|
|
19
23
|
/**
|
|
20
24
|
* @method verifyArguments_ArgumentList
|
|
21
25
|
* @param addressSpace
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.build_retrieveInputArgumentsDefinition = exports.verifyArguments_ArgumentList = exports.getMethodDeclaration_ArgumentList = exports.binaryStoreSize_ArgumentList = exports.decode_ArgumentList = exports.encode_ArgumentList = void 0;
|
|
3
|
+
exports.build_retrieveInputArgumentsDefinition = exports.verifyArguments_ArgumentList = exports.isArgumentValid = exports.getMethodDeclaration_ArgumentList = exports.binaryStoreSize_ArgumentList = exports.decode_ArgumentList = exports.encode_ArgumentList = void 0;
|
|
4
|
+
/* eslint-disable complexity */
|
|
4
5
|
/**
|
|
5
6
|
* @module node-opcua-address-space
|
|
6
7
|
*/
|
|
@@ -108,6 +109,44 @@ function getMethodDeclaration_ArgumentList(addressSpace, objectId, methodId) {
|
|
|
108
109
|
return { statusCode: node_opcua_status_code_1.StatusCodes.Good, methodDeclaration };
|
|
109
110
|
}
|
|
110
111
|
exports.getMethodDeclaration_ArgumentList = getMethodDeclaration_ArgumentList;
|
|
112
|
+
function checkValueRank(argDefinition, arg) {
|
|
113
|
+
const isArray = arg.arrayType === node_opcua_variant_2.VariantArrayType.Array;
|
|
114
|
+
const isMatrix = arg.arrayType === node_opcua_variant_2.VariantArrayType.Matrix;
|
|
115
|
+
if (argDefinition.valueRank > 0) {
|
|
116
|
+
if (argDefinition.valueRank === 1) {
|
|
117
|
+
if (!isArray) {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
if (!isMatrix) {
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
else if (argDefinition.valueRank === -1) {
|
|
128
|
+
// SCALAR
|
|
129
|
+
if (isArray || isMatrix) {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
else if (argDefinition.valueRank === -2) {
|
|
134
|
+
// ANY
|
|
135
|
+
}
|
|
136
|
+
else if (argDefinition.valueRank === -3) {
|
|
137
|
+
// Scalar or OneDim
|
|
138
|
+
if (isMatrix) {
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
else if (argDefinition.valueRank === 0) {
|
|
143
|
+
// array or matrix
|
|
144
|
+
if (!isArray && !isMatrix) {
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
111
150
|
/**
|
|
112
151
|
* @private
|
|
113
152
|
*/
|
|
@@ -121,10 +160,13 @@ function isArgumentValid(addressSpace, argDefinition, arg) {
|
|
|
121
160
|
debugLog("dataType ", argDefinition.dataType.toString(), "doesn't exist");
|
|
122
161
|
return false;
|
|
123
162
|
}
|
|
124
|
-
if (argDefinition.valueRank
|
|
163
|
+
if (argDefinition.valueRank >= 0 && arg.dataType === node_opcua_variant_1.DataType.Null) {
|
|
125
164
|
// this is valid to receive an empty array ith DataType.Null;
|
|
126
165
|
return true;
|
|
127
166
|
}
|
|
167
|
+
if (!checkValueRank(argDefinition, arg)) {
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
128
170
|
// istanbul ignore next
|
|
129
171
|
if (!argDataType) {
|
|
130
172
|
debugLog(" cannot find dataType ", arg.dataType, (0, node_opcua_nodeid_1.resolveNodeId)(arg.dataType));
|
|
@@ -137,21 +179,16 @@ function isArgumentValid(addressSpace, argDefinition, arg) {
|
|
|
137
179
|
debugLog(" checking argDefDataType ", argDefDataType.toString());
|
|
138
180
|
debugLog(" checking argDataType ", argDataType.toString());
|
|
139
181
|
}
|
|
140
|
-
const isArray = arg.arrayType === node_opcua_variant_2.VariantArrayType.Array;
|
|
141
|
-
if (argDefinition.valueRank > 0) {
|
|
142
|
-
return isArray;
|
|
143
|
-
}
|
|
144
|
-
else if (argDefinition.valueRank === -1) {
|
|
145
|
-
// SCALAR
|
|
146
|
-
if (isArray) {
|
|
147
|
-
return false;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
182
|
if (argDataType.nodeId.value === argDefDataType.nodeId.value) {
|
|
151
183
|
return true;
|
|
152
184
|
}
|
|
153
185
|
// check that dataType is of the same type (derived )
|
|
154
186
|
if (argDefDataType.isSupertypeOf(argDataType)) {
|
|
187
|
+
// like argDefDataType IntegerId and argDataType Uint32
|
|
188
|
+
return true;
|
|
189
|
+
}
|
|
190
|
+
if (argDataType.isSupertypeOf(argDefDataType)) {
|
|
191
|
+
// like argDefDataType BaseDataType and argDataType any Type
|
|
155
192
|
return true;
|
|
156
193
|
}
|
|
157
194
|
// special case for Enumeration
|
|
@@ -163,6 +200,7 @@ function isArgumentValid(addressSpace, argDefinition, arg) {
|
|
|
163
200
|
}
|
|
164
201
|
return false;
|
|
165
202
|
}
|
|
203
|
+
exports.isArgumentValid = isArgumentValid;
|
|
166
204
|
/**
|
|
167
205
|
* @method verifyArguments_ArgumentList
|
|
168
206
|
* @param addressSpace
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"argument_list.js","sourceRoot":"","sources":["../../../source/helpers/argument_list.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"argument_list.js","sourceRoot":"","sources":["../../../source/helpers/argument_list.ts"],"names":[],"mappings":"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"}
|
package/dist/source/index.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export * from "./interfaces/data_access/ua_y_array_item_ex";
|
|
|
15
15
|
export { promoteToMultiStateDiscrete } from "../src/data_access/ua_multistate_discrete_impl";
|
|
16
16
|
export { promoteToMultiStateValueDiscrete } from "../src/data_access/ua_multistate_value_discrete";
|
|
17
17
|
export { promoteToTwoStateDiscrete } from "../src/data_access/ua_two_state_discrete";
|
|
18
|
-
export * from "
|
|
18
|
+
export * from "./ua_root_folder";
|
|
19
19
|
export * from "./session_context";
|
|
20
20
|
export * from "./pseudo_session";
|
|
21
21
|
export * from "./helpers/dump_tools";
|
|
@@ -28,8 +28,9 @@ export { adjustBrowseDirection } from "./helpers/adjust_browse_direction";
|
|
|
28
28
|
export { resolveOpaqueOnAddressSpace } from "./helpers/resolve_opaque_on_address_space";
|
|
29
29
|
export { ContinuationPointManager } from "./continuation_points/continuation_point_manager";
|
|
30
30
|
export { ensureDatatypeExtracted, ensureDatatypeExtractedWithCallback } from "./loader/ensure_datatype_extracted";
|
|
31
|
-
export * from "
|
|
31
|
+
export * from "./loader/generateAddressSpaceRaw";
|
|
32
32
|
export * from "./namespace";
|
|
33
|
+
export * from "./namespace_data_access";
|
|
33
34
|
export * from "../src/alarms_and_conditions";
|
|
34
35
|
export * from "../src/namespace_private";
|
|
35
36
|
export { NodeIdManager, ConstructNodeIdOptions } from "../src/nodeid_manager";
|
package/dist/source/index.js
CHANGED
|
@@ -35,7 +35,7 @@ var ua_multistate_value_discrete_1 = require("../src/data_access/ua_multistate_v
|
|
|
35
35
|
Object.defineProperty(exports, "promoteToMultiStateValueDiscrete", { enumerable: true, get: function () { return ua_multistate_value_discrete_1.promoteToMultiStateValueDiscrete; } });
|
|
36
36
|
var ua_two_state_discrete_1 = require("../src/data_access/ua_two_state_discrete");
|
|
37
37
|
Object.defineProperty(exports, "promoteToTwoStateDiscrete", { enumerable: true, get: function () { return ua_two_state_discrete_1.promoteToTwoStateDiscrete; } });
|
|
38
|
-
__exportStar(require("
|
|
38
|
+
__exportStar(require("./ua_root_folder"), exports);
|
|
39
39
|
__exportStar(require("./session_context"), exports);
|
|
40
40
|
__exportStar(require("./pseudo_session"), exports);
|
|
41
41
|
__exportStar(require("./helpers/dump_tools"), exports);
|
|
@@ -53,8 +53,9 @@ Object.defineProperty(exports, "ContinuationPointManager", { enumerable: true, g
|
|
|
53
53
|
var ensure_datatype_extracted_1 = require("./loader/ensure_datatype_extracted");
|
|
54
54
|
Object.defineProperty(exports, "ensureDatatypeExtracted", { enumerable: true, get: function () { return ensure_datatype_extracted_1.ensureDatatypeExtracted; } });
|
|
55
55
|
Object.defineProperty(exports, "ensureDatatypeExtractedWithCallback", { enumerable: true, get: function () { return ensure_datatype_extracted_1.ensureDatatypeExtractedWithCallback; } });
|
|
56
|
-
__exportStar(require("
|
|
56
|
+
__exportStar(require("./loader/generateAddressSpaceRaw"), exports);
|
|
57
57
|
__exportStar(require("./namespace"), exports);
|
|
58
|
+
__exportStar(require("./namespace_data_access"), exports);
|
|
58
59
|
__exportStar(require("../src/alarms_and_conditions"), exports);
|
|
59
60
|
__exportStar(require("../src/namespace_private"), exports);
|
|
60
61
|
var nodeid_manager_1 = require("../src/nodeid_manager");
|
package/dist/source/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,qDAAmC;AAEnC,mFAAiE;AACjE,sGAAoF;AACpF,0FAAwE;AACxE,2FAAyE;AACzE,8EAA4D;AAE5D,uFAAqE;AAErE,qFAAmE;AACnE,2FAAyE;AACzE,oFAAkE;AAClE,8EAA4D;AAE5D,8FAA6F;AAApF,0IAAA,2BAA2B,OAAA;AACpC,gGAAmG;AAA1F,gJAAA,gCAAgC,OAAA;AACzC,kFAAqF;AAA5E,kIAAA,yBAAyB,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,qDAAmC;AAEnC,mFAAiE;AACjE,sGAAoF;AACpF,0FAAwE;AACxE,2FAAyE;AACzE,8EAA4D;AAE5D,uFAAqE;AAErE,qFAAmE;AACnE,2FAAyE;AACzE,oFAAkE;AAClE,8EAA4D;AAE5D,8FAA6F;AAApF,0IAAA,2BAA2B,OAAA;AACpC,gGAAmG;AAA1F,gJAAA,gCAAgC,OAAA;AACzC,kFAAqF;AAA5E,kIAAA,yBAAyB,OAAA;AAGlC,mDAAiC;AACjC,oDAAkC;AAClC,mDAAiC;AAEjC,uDAAqC;AACrC,+DAA6C;AAC7C,+DAA6C;AAC7C,0DAAwC;AACxC,yDAAuC;AACvC,iEAA+C;AAC/C,6EAA0E;AAAjE,gIAAA,qBAAqB,OAAA;AAC9B,6FAAwF;AAA/E,8IAAA,2BAA2B,OAAA;AAEpC,+FAA4F;AAAnF,sIAAA,wBAAwB,OAAA;AACjC,gFAAkH;AAAzG,oIAAA,uBAAuB,OAAA;AAAE,gJAAA,mCAAmC,OAAA;AAErE,mEAAiD;AACjD,8CAA4B;AAC5B,0DAAwC;AAExC,+DAA6C;AAC7C,2DAAyC;AAGzC,wDAA8E;AAArE,+GAAA,aAAa,OAAA;AACtB,oDAAkC;AAClC,4DAA0C;AAE1C,gEAA8C;AAC9C,wDAAsC"}
|
|
@@ -116,10 +116,10 @@ function makeDefaultVariant(addressSpace, dataTypeNode, valueRank) {
|
|
|
116
116
|
function makeNodeSetParserEngine(addressSpace) {
|
|
117
117
|
const addressSpace1 = addressSpace;
|
|
118
118
|
addressSpace1.suspendBackReference = true;
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
119
|
+
const postTasks = [];
|
|
120
|
+
const postTasks0_DecodePojoString = [];
|
|
121
|
+
const postTasks1_InitializeVariable = [];
|
|
122
|
+
const postTasks2_AssignedExtensionObjectToDataValue = [];
|
|
123
123
|
let alias_map = {};
|
|
124
124
|
/**
|
|
125
125
|
* @param aliasName
|
|
@@ -446,16 +446,16 @@ function makeNodeSetParserEngine(addressSpace) {
|
|
|
446
446
|
return x;
|
|
447
447
|
});
|
|
448
448
|
this.obj.partialDefinition = definitionFields;
|
|
449
|
-
|
|
450
|
-
(0, node_opcua_assert_1.assert)(addressSpace1.findNode(this.obj.nodeId));
|
|
451
|
-
const definitionName = dataTypeNode.browseName.name;
|
|
449
|
+
let capturedDataTypeNode = _internal_createNode(this.obj);
|
|
452
450
|
const processBasicDataType = (addressSpace2) => __awaiter(this, void 0, void 0, function* () {
|
|
453
|
-
const
|
|
454
|
-
const
|
|
455
|
-
|
|
451
|
+
const definitionName = capturedDataTypeNode.browseName.name;
|
|
452
|
+
const isStructure = capturedDataTypeNode.isStructure();
|
|
453
|
+
const isEnumeration = capturedDataTypeNode.isEnumeration();
|
|
454
|
+
if (!isEnumeration && !isStructure && capturedDataTypeNode.nodeId.namespace !== 0) {
|
|
456
455
|
// add a custom basic type that is not a structure nor a enumeration
|
|
457
|
-
pendingSimpleTypeToRegister.push({ name: definitionName, dataTypeNodeId:
|
|
456
|
+
pendingSimpleTypeToRegister.push({ name: definitionName, dataTypeNodeId: capturedDataTypeNode.nodeId });
|
|
458
457
|
}
|
|
458
|
+
capturedDataTypeNode = undefined;
|
|
459
459
|
});
|
|
460
460
|
postTasks.push(processBasicDataType);
|
|
461
461
|
},
|
|
@@ -736,34 +736,23 @@ function makeNodeSetParserEngine(addressSpace) {
|
|
|
736
736
|
debugLog("xmlEncodingNodeId is empty for " + self.typeDefinitionId.toString());
|
|
737
737
|
break;
|
|
738
738
|
}
|
|
739
|
-
|
|
739
|
+
let captureXmlBody = this.bodyXML;
|
|
740
740
|
if (doDebug) {
|
|
741
|
-
debugLog("xxxx ", chalk.yellow(
|
|
741
|
+
debugLog("xxxx ", chalk.yellow(captureXmlBody));
|
|
742
742
|
}
|
|
743
|
-
/*
|
|
744
|
-
if (xmlEncodingNodeId.namespace === 0) {
|
|
745
|
-
const dataTypeFactory = getStandardDataTypeFactory();
|
|
746
|
-
const extensionObject: ExtensionObject | null = decodeXmlObject2(
|
|
747
|
-
addressSpace,
|
|
748
|
-
dataTypeFactory,
|
|
749
|
-
xmlEncodingNodeId,
|
|
750
|
-
xmlBody
|
|
751
|
-
);
|
|
752
|
-
self.extensionObject = extensionObject;
|
|
753
|
-
return;
|
|
754
|
-
}
|
|
755
|
-
*/
|
|
756
743
|
// this is a user defined Extension Object
|
|
757
744
|
debugLog("load nodeset2: typeDefinitionId in ExtensionObject Default XML = " + xmlEncodingNodeId.toString());
|
|
758
|
-
|
|
745
|
+
let captured = self.postTaskData;
|
|
746
|
+
self.extensionObjectPojo = null;
|
|
759
747
|
const task = (addressSpace2) => __awaiter(this, void 0, void 0, function* () {
|
|
760
|
-
const extensionObject = yield (0, decode_xml_extension_object_1.decodeXmlExtensionObject)(addressSpace2, xmlEncodingNodeId,
|
|
761
|
-
if (
|
|
762
|
-
|
|
748
|
+
const extensionObject = yield (0, decode_xml_extension_object_1.decodeXmlExtensionObject)(addressSpace2, xmlEncodingNodeId, captureXmlBody);
|
|
749
|
+
if (captured) {
|
|
750
|
+
captured.postponedExtensionObject = extensionObject;
|
|
763
751
|
}
|
|
752
|
+
captureXmlBody = undefined;
|
|
753
|
+
captured = undefined;
|
|
764
754
|
});
|
|
765
|
-
|
|
766
|
-
self.extensionObjectPojo = null;
|
|
755
|
+
postTasks0_DecodePojoString.push(task);
|
|
767
756
|
(0, node_opcua_assert_1.assert)(!self.extensionObject || self.extensionObject instanceof node_opcua_extension_object_1.ExtensionObject);
|
|
768
757
|
break;
|
|
769
758
|
}
|
|
@@ -774,9 +763,10 @@ function makeNodeSetParserEngine(addressSpace) {
|
|
|
774
763
|
const extensionObject_parser = {
|
|
775
764
|
ExtensionObject: {
|
|
776
765
|
init() {
|
|
777
|
-
this.typeDefinitionId =
|
|
766
|
+
this.typeDefinitionId = node_opcua_nodeid_1.NodeId.nullNodeId;
|
|
778
767
|
this.extensionObject = null;
|
|
779
768
|
this.extensionObjectPojo = null;
|
|
769
|
+
this.postTaskData = { postponedExtensionObject: null };
|
|
780
770
|
},
|
|
781
771
|
parser: _extensionObject_inner_parser,
|
|
782
772
|
finish() {
|
|
@@ -788,7 +778,7 @@ function makeNodeSetParserEngine(addressSpace) {
|
|
|
788
778
|
const _parser = {};
|
|
789
779
|
const r = {
|
|
790
780
|
init(name, attrs) {
|
|
791
|
-
this.value =
|
|
781
|
+
this.value = undefined;
|
|
792
782
|
},
|
|
793
783
|
finish() {
|
|
794
784
|
this.value = parseFunc.call(this, this.text);
|
|
@@ -930,27 +920,39 @@ function makeNodeSetParserEngine(addressSpace) {
|
|
|
930
920
|
},
|
|
931
921
|
ListOfExtensionObject: {
|
|
932
922
|
init() {
|
|
933
|
-
this.
|
|
923
|
+
this.listExtensionObject = [];
|
|
934
924
|
},
|
|
935
925
|
parser: extensionObject_parser,
|
|
936
926
|
finish() {
|
|
937
|
-
this
|
|
938
|
-
arrayType: node_opcua_variant_1.VariantArrayType.Array,
|
|
939
|
-
dataType: node_opcua_variant_1.DataType.ExtensionObject,
|
|
940
|
-
value: this.listData
|
|
941
|
-
};
|
|
927
|
+
installExtensionObjectListInitializationPostTask(this);
|
|
942
928
|
},
|
|
943
929
|
startElement(elementName) {
|
|
944
930
|
/* empty */
|
|
931
|
+
const extensionObjectParser = this.parser.ExtensionObject;
|
|
932
|
+
extensionObjectParser.postTaskData = { postponedExtensionObject: null };
|
|
945
933
|
},
|
|
946
934
|
endElement(elementName) {
|
|
947
|
-
this.
|
|
948
|
-
|
|
949
|
-
|
|
935
|
+
const extensionObjectParser = this.parser.ExtensionObject;
|
|
936
|
+
this.listExtensionObject.push(extensionObjectParser.extensionObject);
|
|
937
|
+
if (this.parser.ExtensionObject.extensionObject === null) {
|
|
938
|
+
// extension object creation will be postponed
|
|
939
|
+
const index = this.listExtensionObject.length - 1;
|
|
940
|
+
let capturedData = extensionObjectParser.postTaskData;
|
|
950
941
|
// istanbul ignore next
|
|
951
|
-
if (!
|
|
952
|
-
throw new Error("
|
|
942
|
+
if (!capturedData) {
|
|
943
|
+
throw new Error("Internal Error : postponedExtensionObject not resolved");
|
|
953
944
|
}
|
|
945
|
+
let listExtensionObject = this.listExtensionObject;
|
|
946
|
+
const task = (addressSpace2) => __awaiter(this, void 0, void 0, function* () {
|
|
947
|
+
// istanbul ignore next
|
|
948
|
+
if (!capturedData.postponedExtensionObject) {
|
|
949
|
+
throw new Error("Internal Error : postponedExtensionObject not resolved");
|
|
950
|
+
}
|
|
951
|
+
listExtensionObject[index] = capturedData.postponedExtensionObject;
|
|
952
|
+
capturedData = undefined;
|
|
953
|
+
listExtensionObject = undefined;
|
|
954
|
+
});
|
|
955
|
+
postTasks2_AssignedExtensionObjectToDataValue.push(task);
|
|
954
956
|
}
|
|
955
957
|
}
|
|
956
958
|
},
|
|
@@ -1016,9 +1018,9 @@ function makeNodeSetParserEngine(addressSpace) {
|
|
|
1016
1018
|
ListOfXmlElement: ListOf("XmlElement", (value) => value),
|
|
1017
1019
|
ExtensionObject: {
|
|
1018
1020
|
init() {
|
|
1019
|
-
this.typeDefinitionId =
|
|
1021
|
+
this.typeDefinitionId = node_opcua_nodeid_1.NodeId.nullNodeId;
|
|
1020
1022
|
this.extensionObject = null;
|
|
1021
|
-
this.postTaskData = {};
|
|
1023
|
+
this.postTaskData = { postponedExtensionObject: null };
|
|
1022
1024
|
},
|
|
1023
1025
|
parser: _extensionObject_inner_parser,
|
|
1024
1026
|
finish() {
|
|
@@ -1030,34 +1032,63 @@ function makeNodeSetParserEngine(addressSpace) {
|
|
|
1030
1032
|
dataType: node_opcua_variant_1.DataType.ExtensionObject,
|
|
1031
1033
|
value: this.extensionObject
|
|
1032
1034
|
};
|
|
1033
|
-
|
|
1035
|
+
if (!this.extensionObject) {
|
|
1036
|
+
installExtensionObjectInitializationPostTask(this);
|
|
1037
|
+
}
|
|
1034
1038
|
}
|
|
1035
1039
|
}
|
|
1036
1040
|
}
|
|
1037
1041
|
};
|
|
1042
|
+
function installExtensionObjectListInitializationPostTask(element) {
|
|
1043
|
+
let listExtensionObject = element.listExtensionObject;
|
|
1044
|
+
let nodeId = element.parent.parent.obj.nodeId;
|
|
1045
|
+
(0, node_opcua_assert_1.assert)(nodeId, "expecting a nodeid");
|
|
1046
|
+
const task = (addressSpace2) => __awaiter(this, void 0, void 0, function* () {
|
|
1047
|
+
const node = addressSpace2.findNode(nodeId);
|
|
1048
|
+
if (!node) {
|
|
1049
|
+
debugLog("Cannot find node with nodeId " + nodeId + ". may be the node was marked as deprecated");
|
|
1050
|
+
}
|
|
1051
|
+
else if (node.nodeClass === node_opcua_data_model_1.NodeClass.Variable) {
|
|
1052
|
+
const v = node;
|
|
1053
|
+
v.setValueFromSource({
|
|
1054
|
+
dataType: node_opcua_variant_1.DataType.ExtensionObject,
|
|
1055
|
+
value: listExtensionObject
|
|
1056
|
+
});
|
|
1057
|
+
}
|
|
1058
|
+
else if (node.nodeClass === node_opcua_data_model_1.NodeClass.VariableType) {
|
|
1059
|
+
const v = node;
|
|
1060
|
+
v /*fix me*/.value.value = listExtensionObject;
|
|
1061
|
+
}
|
|
1062
|
+
listExtensionObject.slice(0);
|
|
1063
|
+
listExtensionObject = undefined;
|
|
1064
|
+
nodeId = undefined;
|
|
1065
|
+
});
|
|
1066
|
+
postTasks2_AssignedExtensionObjectToDataValue.push(task);
|
|
1067
|
+
}
|
|
1038
1068
|
function installExtensionObjectInitializationPostTask(element) {
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
const
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
}
|
|
1069
|
+
// let's create the mechanism that postpone the creation of the
|
|
1070
|
+
// extension object
|
|
1071
|
+
let data = element.postTaskData;
|
|
1072
|
+
let variant = element.parent.parent.obj.value;
|
|
1073
|
+
let nodeId = element.parent.parent.obj.nodeId;
|
|
1074
|
+
const task = (addressSpace2) => __awaiter(this, void 0, void 0, function* () {
|
|
1075
|
+
variant.value = data.postponedExtensionObject;
|
|
1076
|
+
(0, node_opcua_assert_1.assert)(nodeId, "expecting a nodeid");
|
|
1077
|
+
const node = addressSpace2.findNode(nodeId);
|
|
1078
|
+
if (node.nodeClass === node_opcua_data_model_1.NodeClass.Variable) {
|
|
1079
|
+
const v = node;
|
|
1080
|
+
v.setValueFromSource(variant);
|
|
1081
|
+
}
|
|
1082
|
+
else if (node.nodeClass === node_opcua_data_model_1.NodeClass.VariableType) {
|
|
1083
|
+
const v = node;
|
|
1084
|
+
v /*fix me*/.value.value = variant.value;
|
|
1085
|
+
}
|
|
1086
|
+
data.postponedExtensionObject = null;
|
|
1087
|
+
data = undefined;
|
|
1088
|
+
variant = undefined;
|
|
1089
|
+
nodeId = undefined;
|
|
1090
|
+
});
|
|
1091
|
+
postTasks2_AssignedExtensionObjectToDataValue.push(task);
|
|
1061
1092
|
}
|
|
1062
1093
|
const state_UAVariable = {
|
|
1063
1094
|
init(name, attrs) {
|
|
@@ -1091,40 +1122,41 @@ function makeNodeSetParserEngine(addressSpace) {
|
|
|
1091
1122
|
}
|
|
1092
1123
|
*/
|
|
1093
1124
|
// eslint-disable-next-line prefer-const
|
|
1094
|
-
let
|
|
1125
|
+
let capturedVariable;
|
|
1095
1126
|
if (this.obj.value) {
|
|
1096
|
-
|
|
1127
|
+
let capturedValue = this.obj.value;
|
|
1097
1128
|
const task = (addressSpace2) => __awaiter(this, void 0, void 0, function* () {
|
|
1098
1129
|
if (false && doDebug) {
|
|
1099
|
-
debugLog("1 setting value to ",
|
|
1130
|
+
debugLog("1 setting value to ", capturedVariable.nodeId.toString(), new node_opcua_variant_1.Variant(capturedValue).toString());
|
|
1100
1131
|
}
|
|
1101
|
-
|
|
1132
|
+
capturedVariable.setValueFromSource(capturedValue);
|
|
1133
|
+
capturedValue = undefined;
|
|
1134
|
+
capturedVariable = undefined;
|
|
1102
1135
|
});
|
|
1103
|
-
|
|
1136
|
+
postTasks1_InitializeVariable.push(task);
|
|
1104
1137
|
}
|
|
1105
1138
|
else {
|
|
1106
|
-
const captureName = this.obj.browseName.toString();
|
|
1107
|
-
const captureNodeId = this.obj.nodeId;
|
|
1108
1139
|
const task = (addressSpace2) => __awaiter(this, void 0, void 0, function* () {
|
|
1109
|
-
const dataTypeNode =
|
|
1110
|
-
const valueRank =
|
|
1140
|
+
const dataTypeNode = capturedVariable.dataType;
|
|
1141
|
+
const valueRank = capturedVariable.valueRank;
|
|
1111
1142
|
const value = makeDefaultVariant(addressSpace, dataTypeNode, valueRank);
|
|
1112
1143
|
if (value) {
|
|
1113
1144
|
if (false && doDebug) {
|
|
1114
|
-
debugLog("2 setting value to ",
|
|
1145
|
+
debugLog("2 setting value to ", capturedVariable.nodeId.toString(), value);
|
|
1115
1146
|
}
|
|
1116
1147
|
if (value.dataType === node_opcua_variant_1.DataType.Null) {
|
|
1117
|
-
|
|
1148
|
+
capturedVariable.setValueFromSource(value, node_opcua_basic_types_1.StatusCodes.BadWaitingForInitialData);
|
|
1118
1149
|
}
|
|
1119
1150
|
else {
|
|
1120
|
-
|
|
1151
|
+
capturedVariable.setValueFromSource(value, node_opcua_basic_types_1.StatusCodes.Good);
|
|
1121
1152
|
}
|
|
1122
1153
|
}
|
|
1154
|
+
capturedVariable = undefined;
|
|
1123
1155
|
});
|
|
1124
|
-
|
|
1156
|
+
postTasks1_InitializeVariable.push(task);
|
|
1125
1157
|
}
|
|
1126
1158
|
this.obj.value = undefined;
|
|
1127
|
-
|
|
1159
|
+
capturedVariable = _internal_createNode(this.obj);
|
|
1128
1160
|
},
|
|
1129
1161
|
parser: {
|
|
1130
1162
|
DisplayName: {
|
|
@@ -1356,6 +1388,7 @@ function makeNodeSetParserEngine(addressSpace) {
|
|
|
1356
1388
|
yield task(addressSpace1);
|
|
1357
1389
|
}
|
|
1358
1390
|
}
|
|
1391
|
+
tasks.splice(0);
|
|
1359
1392
|
});
|
|
1360
1393
|
}
|
|
1361
1394
|
function finalSteps() {
|
|
@@ -1364,7 +1397,6 @@ function makeNodeSetParserEngine(addressSpace) {
|
|
|
1364
1397
|
// perform post task
|
|
1365
1398
|
doDebug && debugLog(chalk.bgGreenBright("Performing post loading tasks -------------------------------------------"));
|
|
1366
1399
|
yield performPostLoadingTasks(postTasks);
|
|
1367
|
-
postTasks = [];
|
|
1368
1400
|
doDebug && debugLog(chalk.bgGreenBright("Performing DataType extraction -------------------------------------------"));
|
|
1369
1401
|
(0, node_opcua_assert_1.assert)(!addressSpace1.suspendBackReference);
|
|
1370
1402
|
yield (0, ensure_datatype_extracted_1.ensureDatatypeExtracted)(addressSpace);
|
|
@@ -1378,16 +1410,13 @@ function makeNodeSetParserEngine(addressSpace) {
|
|
|
1378
1410
|
const dataTypeFactory = dataTypeManager.getDataTypeFactoryForNamespace(dataTypeNodeId.namespace);
|
|
1379
1411
|
}
|
|
1380
1412
|
pendingSimpleTypeToRegister.splice(0);
|
|
1381
|
-
doDebug && debugLog(chalk.bgGreenBright("Performing post loading
|
|
1382
|
-
yield performPostLoadingTasks(
|
|
1383
|
-
|
|
1413
|
+
doDebug && debugLog(chalk.bgGreenBright("Performing post loading task: Decoding Pojo String (parsing XML objects) -"));
|
|
1414
|
+
yield performPostLoadingTasks(postTasks0_DecodePojoString);
|
|
1415
|
+
doDebug && debugLog(chalk.bgGreenBright("Performing post loading task: Initializing Variables ---------------------"));
|
|
1416
|
+
yield performPostLoadingTasks(postTasks1_InitializeVariable);
|
|
1417
|
+
doDebug && debugLog(chalk.bgGreenBright("Performing post loading tasks: (assigning Extension Object to Variables) -"));
|
|
1418
|
+
yield performPostLoadingTasks(postTasks2_AssignedExtensionObjectToDataValue);
|
|
1384
1419
|
doDebug && debugLog(chalk.bgGreenBright("Performing post variable initialization ---------------------"));
|
|
1385
|
-
yield performPostLoadingTasks(postTaskInitializeVariable);
|
|
1386
|
-
postTaskInitializeVariable = [];
|
|
1387
|
-
doDebug &&
|
|
1388
|
-
debugLog(chalk.bgGreenBright("Performing post loading tasks 3 (assigning Extension Object to Variables) ---------------------"));
|
|
1389
|
-
yield performPostLoadingTasks(postTasks3);
|
|
1390
|
-
postTasks3 = [];
|
|
1391
1420
|
(0, namespace_post_step_1.promoteObjectsAndVariables)(addressSpace);
|
|
1392
1421
|
});
|
|
1393
1422
|
}
|