node-opcua-client-dynamic-extension-object 2.161.0 → 2.162.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.
|
@@ -11,10 +11,22 @@ const node_opcua_variant_1 = require("node-opcua-variant");
|
|
|
11
11
|
const node_opcua_service_translate_browse_path_1 = require("node-opcua-service-translate-browse-path");
|
|
12
12
|
const populate_data_type_manager_103_1 = require("./private/populate_data_type_manager_103");
|
|
13
13
|
const populate_data_type_manager_104_1 = require("./private/populate_data_type_manager_104");
|
|
14
|
+
const ComplexTypes2017 = "http://opcfoundation.org/UA-Profile/Server/ComplexTypes2017";
|
|
14
15
|
/**
|
|
15
16
|
* @private
|
|
16
17
|
*/
|
|
17
18
|
async function serverImplementsDataTypeDefinition(session) {
|
|
19
|
+
const dataValueServerCapabilities = await session.read({
|
|
20
|
+
nodeId: (0, node_opcua_nodeid_1.resolveNodeId)(node_opcua_constants_1.VariableIds.Server_ServerCapabilities_ServerProfileArray),
|
|
21
|
+
attributeId: node_opcua_data_model_1.AttributeIds.Value
|
|
22
|
+
});
|
|
23
|
+
const serverCapabilities = dataValueServerCapabilities.value.value ?? [];
|
|
24
|
+
//read the capabilities
|
|
25
|
+
// https://profiles.opcfoundation.org/profile/1725
|
|
26
|
+
// and find http://opcfoundation.org/UA-Profile/Server/ComplexTypes2017
|
|
27
|
+
if (serverCapabilities.indexOf(ComplexTypes2017) >= 0) {
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
18
30
|
// One way to figure out is to check if the server provides DataTypeDefinition node
|
|
19
31
|
// ( see OPCUA 1.04 part 6 -)
|
|
20
32
|
// This is the preferred route, as we go along, more and more servers will implement this.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"populate_data_type_manager.js","sourceRoot":"","sources":["../source/populate_data_type_manager.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"populate_data_type_manager.js","sourceRoot":"","sources":["../source/populate_data_type_manager.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.162.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",
|
|
@@ -12,21 +12,21 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"chalk": "4.1.2",
|
|
14
14
|
"node-opcua-assert": "2.157.0",
|
|
15
|
-
"node-opcua-binary-stream": "2.
|
|
15
|
+
"node-opcua-binary-stream": "2.162.0",
|
|
16
16
|
"node-opcua-constants": "2.157.0",
|
|
17
|
-
"node-opcua-data-model": "2.
|
|
18
|
-
"node-opcua-data-value": "2.
|
|
17
|
+
"node-opcua-data-model": "2.162.0",
|
|
18
|
+
"node-opcua-data-value": "2.162.0",
|
|
19
19
|
"node-opcua-debug": "2.157.0",
|
|
20
|
-
"node-opcua-extension-object": "2.
|
|
21
|
-
"node-opcua-factory": "2.
|
|
20
|
+
"node-opcua-extension-object": "2.162.0",
|
|
21
|
+
"node-opcua-factory": "2.162.0",
|
|
22
22
|
"node-opcua-nodeid": "2.157.0",
|
|
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.
|
|
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",
|
|
27
|
+
"node-opcua-status-code": "2.162.0",
|
|
28
|
+
"node-opcua-types": "2.162.0",
|
|
29
|
+
"node-opcua-variant": "2.162.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": "78989e867fc6c2009002f6db4b7cbf8fb95161ae",
|
|
47
47
|
"files": [
|
|
48
48
|
"dist",
|
|
49
49
|
"source"
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
IBasicSessionAsync2,
|
|
5
5
|
browseAll
|
|
6
6
|
} from "node-opcua-pseudo-session";
|
|
7
|
-
import { DataTypeIds, ObjectIds, VariableTypeIds } from "node-opcua-constants";
|
|
7
|
+
import { DataTypeIds, ObjectIds, VariableIds, VariableTypeIds } from "node-opcua-constants";
|
|
8
8
|
import { DataType } from "node-opcua-variant";
|
|
9
9
|
import { ReferenceDescription } from "node-opcua-types";
|
|
10
10
|
import { makeBrowsePath } from "node-opcua-service-translate-browse-path";
|
|
@@ -13,12 +13,29 @@ import { ExtraDataTypeManager } from "./extra_data_type_manager";
|
|
|
13
13
|
import { populateDataTypeManager103 } from "./private/populate_data_type_manager_103";
|
|
14
14
|
import { populateDataTypeManager104 } from "./private/populate_data_type_manager_104";
|
|
15
15
|
|
|
16
|
+
|
|
17
|
+
const ComplexTypes2017 = "http://opcfoundation.org/UA-Profile/Server/ComplexTypes2017";
|
|
16
18
|
/**
|
|
17
19
|
* @private
|
|
18
20
|
*/
|
|
19
21
|
export async function serverImplementsDataTypeDefinition(
|
|
20
22
|
session: IBasicSessionAsync2
|
|
21
23
|
): Promise<boolean> {
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
const dataValueServerCapabilities = await session.read({
|
|
27
|
+
nodeId: resolveNodeId(VariableIds.Server_ServerCapabilities_ServerProfileArray),
|
|
28
|
+
attributeId: AttributeIds.Value
|
|
29
|
+
});
|
|
30
|
+
const serverCapabilities = dataValueServerCapabilities.value.value as string[] ?? [];
|
|
31
|
+
|
|
32
|
+
//read the capabilities
|
|
33
|
+
// https://profiles.opcfoundation.org/profile/1725
|
|
34
|
+
// and find http://opcfoundation.org/UA-Profile/Server/ComplexTypes2017
|
|
35
|
+
if (serverCapabilities.indexOf(ComplexTypes2017) >= 0) {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
|
|
22
39
|
// One way to figure out is to check if the server provides DataTypeDefinition node
|
|
23
40
|
// ( see OPCUA 1.04 part 6 -)
|
|
24
41
|
// This is the preferred route, as we go along, more and more servers will implement this.
|
|
@@ -29,9 +46,8 @@ export async function serverImplementsDataTypeDefinition(
|
|
|
29
46
|
nodeId: resolveNodeId(ObjectIds.OPCBinarySchema_TypeSystem),
|
|
30
47
|
resultMask: ResultMask.TypeDefinition
|
|
31
48
|
});
|
|
32
|
-
|
|
49
|
+
|
|
33
50
|
let count103DataType = 0;
|
|
34
|
-
|
|
35
51
|
const innerF = async (ref: ReferenceDescription) => {
|
|
36
52
|
const td = ref.typeDefinition;
|
|
37
53
|
if (!(td.namespace === 0 && td.value === VariableTypeIds.DataTypeDictionaryType)) {
|