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":"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"}
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.161.0",
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.157.0",
15
+ "node-opcua-binary-stream": "2.162.0",
16
16
  "node-opcua-constants": "2.157.0",
17
- "node-opcua-data-model": "2.158.0",
18
- "node-opcua-data-value": "2.161.0",
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.158.0",
21
- "node-opcua-factory": "2.158.0",
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.161.0",
24
- "node-opcua-schemas": "2.161.0",
25
- "node-opcua-service-browse": "2.161.0",
26
- "node-opcua-service-translate-browse-path": "2.161.0",
27
- "node-opcua-status-code": "2.157.0",
28
- "node-opcua-types": "2.161.0",
29
- "node-opcua-variant": "2.161.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",
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": "38402828c447c860efb5f3141306ccc148bb99bc",
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)) {