node-opcua-convert-nodeset-to-javascript 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/_dataType.d.ts +1 -0
- package/dist/_dataType.d.ts.map +1 -0
- package/dist/_dataType.js +36 -39
- package/dist/_dataType.js.map +1 -1
- package/dist/convert_namespace_to_typescript.d.ts +1 -0
- package/dist/convert_namespace_to_typescript.d.ts.map +1 -0
- package/dist/convert_namespace_to_typescript.js +72 -67
- package/dist/convert_namespace_to_typescript.js.map +1 -1
- package/dist/convert_to_typescript.d.ts +1 -0
- package/dist/convert_to_typescript.d.ts.map +1 -0
- package/dist/convert_to_typescript.js +124 -138
- package/dist/convert_to_typescript.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -19
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +31 -35
- package/dist/main.js.map +1 -1
- package/dist/options.d.ts +1 -0
- package/dist/options.d.ts.map +1 -0
- package/dist/options.js +1 -2
- package/dist/package_root.d.ts +1 -0
- package/dist/package_root.d.ts.map +1 -0
- package/dist/package_root.js +4 -10
- package/dist/package_root.js.map +1 -1
- package/dist/private/cache.d.ts +1 -0
- package/dist/private/cache.d.ts.map +1 -0
- package/dist/private/cache.js +35 -48
- package/dist/private/cache.js.map +1 -1
- package/dist/private/fs_retry.d.ts +1 -0
- package/dist/private/fs_retry.d.ts.map +1 -0
- package/dist/private/fs_retry.js +4 -11
- package/dist/private/fs_retry.js.map +1 -1
- package/dist/private/get_corresponding_data_type.d.ts +1 -0
- package/dist/private/get_corresponding_data_type.d.ts.map +1 -0
- package/dist/private/get_corresponding_data_type.js +38 -42
- package/dist/private/get_corresponding_data_type.js.map +1 -1
- package/dist/private/to_filename.d.ts +1 -0
- package/dist/private/to_filename.d.ts.map +1 -0
- package/dist/private/to_filename.js +3 -6
- package/dist/private/to_filename.js.map +1 -1
- package/dist/private/utils.d.ts +1 -0
- package/dist/private/utils.d.ts.map +1 -0
- package/dist/private/utils.js +69 -90
- package/dist/private/utils.js.map +1 -1
- package/dist/private-stuff.d.ts +1 -0
- package/dist/private-stuff.d.ts.map +1 -0
- package/dist/private-stuff.js +4 -20
- package/dist/private-stuff.js.map +1 -1
- package/dist/remove_unused.d.ts +1 -0
- package/dist/remove_unused.d.ts.map +1 -0
- package/dist/remove_unused.js +22 -28
- package/dist/remove_unused.js.map +1 -1
- package/dist/update_parent_tsconfig.d.ts +1 -0
- package/dist/update_parent_tsconfig.d.ts.map +1 -0
- package/dist/update_parent_tsconfig.js +10 -16
- package/dist/update_parent_tsconfig.js.map +1 -1
- package/dist/utils2.d.ts +1 -0
- package/dist/utils2.d.ts.map +1 -0
- package/dist/utils2.js +10 -22
- package/dist/utils2.js.map +1 -1
- package/dist/walk_through.d.ts +1 -0
- package/dist/walk_through.d.ts.map +1 -0
- package/dist/walk_through.js +19 -26
- package/dist/walk_through.js.map +1 -1
- package/package.json +19 -19
- package/source/convert_namespace_to_typescript.ts +15 -2
- package/source/main.ts +1 -0
- package/source/package_root.ts +1 -1
package/dist/private/fs_retry.js
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.retryOnTransientWrite = retryOnTransientWrite;
|
|
7
|
-
exports.writeFileSyncRetry = writeFileSyncRetry;
|
|
8
|
-
const node_fs_1 = __importDefault(require("node:fs"));
|
|
1
|
+
import fs from "node:fs";
|
|
9
2
|
// On Windows, transient locks from antivirus, OneDrive, or the TS language server
|
|
10
3
|
// (when files are open in an IDE) surface as ERROR_SHARING_VIOLATION
|
|
11
4
|
// (errno -4094 / code UNKNOWN/EBUSY/EPERM) on an otherwise valid write.
|
|
@@ -20,7 +13,7 @@ function isTransientWriteError(err) {
|
|
|
20
13
|
}
|
|
21
14
|
// Synchronous on purpose: the callers are sync (fs.writeFileSync, ts-morph's
|
|
22
15
|
// saveSync), so the backoff has to spin rather than await. Waits are ms-scale.
|
|
23
|
-
function retryOnTransientWrite(write, attempts = 6) {
|
|
16
|
+
export function retryOnTransientWrite(write, attempts = 6) {
|
|
24
17
|
for (let i = 0;; i++) {
|
|
25
18
|
try {
|
|
26
19
|
return write();
|
|
@@ -35,7 +28,7 @@ function retryOnTransientWrite(write, attempts = 6) {
|
|
|
35
28
|
}
|
|
36
29
|
}
|
|
37
30
|
}
|
|
38
|
-
function writeFileSyncRetry(filePath, content, attempts = 6) {
|
|
39
|
-
retryOnTransientWrite(() =>
|
|
31
|
+
export function writeFileSyncRetry(filePath, content, attempts = 6) {
|
|
32
|
+
retryOnTransientWrite(() => fs.writeFileSync(filePath, content), attempts);
|
|
40
33
|
}
|
|
41
34
|
//# sourceMappingURL=fs_retry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs_retry.js","sourceRoot":"","sources":["../../source/private/fs_retry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fs_retry.js","sourceRoot":"","sources":["../../source/private/fs_retry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,kFAAkF;AAClF,qEAAqE;AACrE,wEAAwE;AACxE,EAAE;AACF,mFAAmF;AACnF,iFAAiF;AACjF,gFAAgF;AAChF,6EAA6E;AAC7E,SAAS,qBAAqB,CAAC,GAAY;IACvC,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;IACjD,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,CAAC;AACtE,CAAC;AAED,6EAA6E;AAC7E,+EAA+E;AAC/E,MAAM,UAAU,qBAAqB,CAAI,KAAc,EAAE,QAAQ,GAAG,CAAC;IACjE,KAAK,IAAI,CAAC,GAAG,CAAC,GAAI,CAAC,EAAE,EAAE,CAAC;QACpB,IAAI,CAAC;YACD,OAAO,KAAK,EAAE,CAAC;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,GAAG,CAAC;gBAAE,MAAM,GAAG,CAAC;YACjE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;gBACxB,UAAU;YACd,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,OAAe,EAAE,QAAQ,GAAG,CAAC;IAC9E,qBAAqB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC/E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get_corresponding_data_type.d.ts","sourceRoot":"","sources":["../../source/private/get_corresponding_data_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAC9G,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,KAAK,MAAM,EAAkD,MAAM,YAAY,CAAC;AAGzF,wBAAsB,+BAA+B,CACjD,OAAO,EAAE,4BAA4B,GAAG,8BAA8B,EACtE,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,KAAK,EACZ,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,GACpC,OAAO,CAAC;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,eAAe,CAAA;CAAE,CAAC,CAuBxH;AAED,wBAAsB,8BAA8B,CAChD,OAAO,EAAE,4BAA4B,GAAG,8BAA8B,EACtE,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,KAAK,EACZ,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,GACpC,OAAO,CAAC;IACP,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,eAAe,CAAC;IACzC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC,CAoFD"}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
6
|
-
const cache_js_1 = require("./cache.js");
|
|
7
|
-
const utils_js_1 = require("./utils.js");
|
|
8
|
-
async function getCorrespondingJavascriptType2(session, nodeId, dataTypeNodeId, cache, importCollect) {
|
|
1
|
+
import { DataType } from "node-opcua-variant";
|
|
2
|
+
import { referenceEnumeration, referenceExtensionObject } from "./cache.js";
|
|
3
|
+
import { _convertNodeIdToDataTypeAsync, getValueRank } from "./utils.js";
|
|
4
|
+
export async function getCorrespondingJavascriptType2(session, nodeId, dataTypeNodeId, cache, importCollect) {
|
|
9
5
|
const { dataType, jtype, dataTypeCombination, type } = await getCorrespondingJavascriptType(session, dataTypeNodeId, cache, importCollect);
|
|
10
|
-
const valueRank = await
|
|
6
|
+
const valueRank = await getValueRank(session, nodeId);
|
|
11
7
|
let jtype2 = "";
|
|
12
8
|
if (valueRank >= 0) {
|
|
13
9
|
jtype2 = `${jtype}[]`;
|
|
@@ -28,18 +24,18 @@ async function getCorrespondingJavascriptType2(session, nodeId, dataTypeNodeId,
|
|
|
28
24
|
}
|
|
29
25
|
return { dataType: dataType, jtype: jtype2, dataTypeCombination, type };
|
|
30
26
|
}
|
|
31
|
-
async function getCorrespondingJavascriptType(session, dataTypeNodeId, cache, importCollect) {
|
|
32
|
-
const info = await
|
|
27
|
+
export async function getCorrespondingJavascriptType(session, dataTypeNodeId, cache, importCollect) {
|
|
28
|
+
const info = await _convertNodeIdToDataTypeAsync(session, dataTypeNodeId);
|
|
33
29
|
const { type } = info;
|
|
34
30
|
if (type === "enum" && info.enumerationType) {
|
|
35
31
|
// we have a enmeration name here
|
|
36
|
-
const jtypeImport = await
|
|
32
|
+
const jtypeImport = await referenceEnumeration(session, dataTypeNodeId);
|
|
37
33
|
const jtype = jtypeImport.name;
|
|
38
34
|
importCollect?.(jtypeImport);
|
|
39
35
|
return { dataType: info.dataType, jtype, type };
|
|
40
36
|
}
|
|
41
|
-
if (type === "basic" && info.dataType ===
|
|
42
|
-
const jtypeImport = await
|
|
37
|
+
if (type === "basic" && info.dataType === DataType.ExtensionObject) {
|
|
38
|
+
const jtypeImport = await referenceExtensionObject(session, dataTypeNodeId);
|
|
43
39
|
const jtype = jtypeImport.name;
|
|
44
40
|
importCollect?.(jtypeImport);
|
|
45
41
|
return { dataType: info.dataType, jtype, type };
|
|
@@ -52,63 +48,63 @@ async function getCorrespondingJavascriptType(session, dataTypeNodeId, cache, im
|
|
|
52
48
|
};
|
|
53
49
|
if (type === "genericNumber") {
|
|
54
50
|
const { dataTypeCombination } = info;
|
|
55
|
-
return { dataType:
|
|
51
|
+
return { dataType: DataType.Variant, jtype: "number", type, dataTypeCombination };
|
|
56
52
|
}
|
|
57
53
|
else {
|
|
58
54
|
const { dataType } = info;
|
|
59
55
|
switch (dataType) {
|
|
60
|
-
case
|
|
61
|
-
return { dataType:
|
|
62
|
-
case
|
|
56
|
+
case DataType.Null:
|
|
57
|
+
return { dataType: DataType.Variant, jtype: referenceBasicType("VariantOptions"), type };
|
|
58
|
+
case DataType.Boolean:
|
|
63
59
|
return { dataType, jtype: "boolean", type };
|
|
64
|
-
case
|
|
60
|
+
case DataType.Byte:
|
|
65
61
|
return { dataType, jtype: referenceBasicType("Byte"), type };
|
|
66
|
-
case
|
|
62
|
+
case DataType.ByteString:
|
|
67
63
|
return { dataType, jtype: "Buffer", type };
|
|
68
|
-
case
|
|
64
|
+
case DataType.DataValue:
|
|
69
65
|
return { dataType, jtype: referenceBasicType("DataValue"), type };
|
|
70
|
-
case
|
|
66
|
+
case DataType.DateTime:
|
|
71
67
|
return { dataType, jtype: "Date", type };
|
|
72
|
-
case
|
|
68
|
+
case DataType.DiagnosticInfo:
|
|
73
69
|
return { dataType, jtype: referenceBasicType("DiagnosticInfo"), type };
|
|
74
|
-
case
|
|
70
|
+
case DataType.Double:
|
|
75
71
|
return { dataType, jtype: "number", type };
|
|
76
|
-
case
|
|
72
|
+
case DataType.Float:
|
|
77
73
|
return { dataType, jtype: "number", type };
|
|
78
|
-
case
|
|
74
|
+
case DataType.Guid:
|
|
79
75
|
return { dataType, jtype: referenceBasicType("Guid"), type };
|
|
80
|
-
case
|
|
76
|
+
case DataType.Int16:
|
|
81
77
|
return { dataType, jtype: referenceBasicType("Int16"), type };
|
|
82
|
-
case
|
|
78
|
+
case DataType.Int32:
|
|
83
79
|
return { dataType, jtype: referenceBasicType("Int32"), type };
|
|
84
|
-
case
|
|
80
|
+
case DataType.UInt16:
|
|
85
81
|
return { dataType, jtype: referenceBasicType("UInt16"), type };
|
|
86
|
-
case
|
|
82
|
+
case DataType.UInt32:
|
|
87
83
|
return { dataType, jtype: referenceBasicType("UInt32"), type };
|
|
88
|
-
case
|
|
84
|
+
case DataType.UInt64:
|
|
89
85
|
return { dataType, jtype: referenceBasicType("UInt64"), type };
|
|
90
|
-
case
|
|
86
|
+
case DataType.Int64:
|
|
91
87
|
return { dataType, jtype: referenceBasicType("Int64"), type };
|
|
92
|
-
case
|
|
88
|
+
case DataType.LocalizedText:
|
|
93
89
|
return { dataType, jtype: referenceBasicType("LocalizedText"), type };
|
|
94
|
-
case
|
|
90
|
+
case DataType.NodeId:
|
|
95
91
|
return { dataType, jtype: referenceBasicType("NodeId"), type };
|
|
96
|
-
case
|
|
92
|
+
case DataType.ExpandedNodeId:
|
|
97
93
|
return { dataType, jtype: referenceBasicType("ExpandedNodeId"), type };
|
|
98
|
-
case
|
|
94
|
+
case DataType.QualifiedName:
|
|
99
95
|
return { dataType, jtype: referenceBasicType("QualifiedName"), type };
|
|
100
|
-
case
|
|
96
|
+
case DataType.SByte:
|
|
101
97
|
return { dataType, jtype: referenceBasicType("SByte"), type };
|
|
102
|
-
case
|
|
98
|
+
case DataType.StatusCode:
|
|
103
99
|
return { dataType, jtype: referenceBasicType("StatusCode"), type };
|
|
104
|
-
case
|
|
100
|
+
case DataType.String:
|
|
105
101
|
return { dataType, jtype: referenceBasicType("UAString"), type };
|
|
106
|
-
case
|
|
102
|
+
case DataType.Variant:
|
|
107
103
|
return { dataType, jtype: referenceBasicType("Variant"), type };
|
|
108
|
-
case
|
|
104
|
+
case DataType.XmlElement:
|
|
109
105
|
return { dataType, jtype: referenceBasicType("String"), type };
|
|
110
106
|
default:
|
|
111
|
-
throw new Error(`Unsupported ${dataType} ${
|
|
107
|
+
throw new Error(`Unsupported ${dataType} ${DataType[dataType]}`);
|
|
112
108
|
}
|
|
113
109
|
}
|
|
114
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_corresponding_data_type.js","sourceRoot":"","sources":["../../source/private/get_corresponding_data_type.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get_corresponding_data_type.js","sourceRoot":"","sources":["../../source/private/get_corresponding_data_type.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to_filename.d.ts","sourceRoot":"","sources":["../../source/private/to_filename.ts"],"names":[],"mappings":"AAEA,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG9C"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.toFilename = toFilename;
|
|
4
|
-
const case_anything_1 = require("case-anything");
|
|
5
|
-
function toFilename(str) {
|
|
1
|
+
import { snakeCase } from "case-anything";
|
|
2
|
+
export function toFilename(str) {
|
|
6
3
|
str = str.replace(/^DT/, "dt_").replace(/^UA/, "ua_").replace(/^Enum/, "enum_");
|
|
7
|
-
return
|
|
4
|
+
return snakeCase(str);
|
|
8
5
|
}
|
|
9
6
|
//# sourceMappingURL=to_filename.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to_filename.js","sourceRoot":"","sources":["../../source/private/to_filename.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"to_filename.js","sourceRoot":"","sources":["../../source/private/to_filename.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,UAAU,UAAU,CAAC,GAAW;IAClC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChF,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC"}
|
package/dist/private/utils.d.ts
CHANGED
|
@@ -39,3 +39,4 @@ export declare function _convertNodeIdToDataTypeAsync(session: IBasicSessionRead
|
|
|
39
39
|
export declare function getChildrenOrFolderElements(session: IBasicSessionBrowseAsyncSimple, nodeId: NodeId): Promise<ReferenceDescription[]>;
|
|
40
40
|
export declare function getValueRank(session: IBasicSessionReadAsyncSimple, nodeId: NodeId): Promise<number>;
|
|
41
41
|
export {};
|
|
42
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../source/private/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/private/utils.js
CHANGED
|
@@ -1,85 +1,64 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
exports.getModellingRule = getModellingRule;
|
|
12
|
-
exports.isExtensionObject = isExtensionObject;
|
|
13
|
-
exports.isEnumeration = isEnumeration;
|
|
14
|
-
exports.extractBasicDataType = extractBasicDataType;
|
|
15
|
-
exports.getSubtypeNodeIdIfAny = getSubtypeNodeIdIfAny;
|
|
16
|
-
exports.getSubtypeNodeId = getSubtypeNodeId;
|
|
17
|
-
exports.getTypeDefOrBaseType = getTypeDefOrBaseType;
|
|
18
|
-
exports.getTypeDefinition = getTypeDefinition;
|
|
19
|
-
exports._convertNodeIdToDataTypeAsync = _convertNodeIdToDataTypeAsync;
|
|
20
|
-
exports.getChildrenOrFolderElements = getChildrenOrFolderElements;
|
|
21
|
-
exports.getValueRank = getValueRank;
|
|
22
|
-
const node_opcua_constants_1 = require("node-opcua-constants");
|
|
23
|
-
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
24
|
-
const node_opcua_debug_1 = require("node-opcua-debug");
|
|
25
|
-
const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
26
|
-
const node_opcua_types_1 = require("node-opcua-types");
|
|
27
|
-
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
28
|
-
const debugLog = (0, node_opcua_debug_1.make_debugLog)("utils");
|
|
29
|
-
const doDebug = (0, node_opcua_debug_1.checkDebugFlag)("utils");
|
|
30
|
-
async function getDefinition(session, nodeId) {
|
|
31
|
-
const dataValue = await session.read({ nodeId, attributeId: node_opcua_data_model_1.AttributeIds.DataTypeDefinition });
|
|
1
|
+
import { DataTypeIds } from "node-opcua-constants";
|
|
2
|
+
import { AttributeIds, BrowseDirection, NodeClass, NodeClassMask, QualifiedName } from "node-opcua-data-model";
|
|
3
|
+
import { checkDebugFlag, make_debugLog } from "node-opcua-debug";
|
|
4
|
+
import { NodeIdType, resolveNodeId } from "node-opcua-nodeid";
|
|
5
|
+
import { ReferenceDescription } from "node-opcua-types";
|
|
6
|
+
import { DataType } from "node-opcua-variant";
|
|
7
|
+
const debugLog = make_debugLog("utils");
|
|
8
|
+
const doDebug = checkDebugFlag("utils");
|
|
9
|
+
export async function getDefinition(session, nodeId) {
|
|
10
|
+
const dataValue = await session.read({ nodeId, attributeId: AttributeIds.DataTypeDefinition });
|
|
32
11
|
return dataValue.value.value || null;
|
|
33
12
|
}
|
|
34
|
-
async function getBrowseName(session, nodeId) {
|
|
35
|
-
const dataValue = await session.read({ nodeId, attributeId:
|
|
13
|
+
export async function getBrowseName(session, nodeId) {
|
|
14
|
+
const dataValue = await session.read({ nodeId, attributeId: AttributeIds.BrowseName });
|
|
36
15
|
return dataValue.value.value;
|
|
37
16
|
}
|
|
38
|
-
async function getDataTypeNodeId(session, nodeId) {
|
|
39
|
-
const dataValue = await session.read({ nodeId, attributeId:
|
|
17
|
+
export async function getDataTypeNodeId(session, nodeId) {
|
|
18
|
+
const dataValue = await session.read({ nodeId, attributeId: AttributeIds.DataType });
|
|
40
19
|
return dataValue.value.value || null;
|
|
41
20
|
}
|
|
42
|
-
async function getIsAbstract(session, nodeId) {
|
|
43
|
-
const dataValue = await session.read({ nodeId, attributeId:
|
|
21
|
+
export async function getIsAbstract(session, nodeId) {
|
|
22
|
+
const dataValue = await session.read({ nodeId, attributeId: AttributeIds.IsAbstract });
|
|
44
23
|
return dataValue.value.value;
|
|
45
24
|
}
|
|
46
|
-
async function getDescription(session, nodeId) {
|
|
47
|
-
const dataValue = await session.read({ nodeId, attributeId:
|
|
25
|
+
export async function getDescription(session, nodeId) {
|
|
26
|
+
const dataValue = await session.read({ nodeId, attributeId: AttributeIds.Description });
|
|
48
27
|
return dataValue.value.value;
|
|
49
28
|
}
|
|
50
|
-
async function getNodeClass(session, nodeId) {
|
|
51
|
-
const dataValue = await session.read({ nodeId, attributeId:
|
|
29
|
+
export async function getNodeClass(session, nodeId) {
|
|
30
|
+
const dataValue = await session.read({ nodeId, attributeId: AttributeIds.NodeClass });
|
|
52
31
|
return dataValue.value.value;
|
|
53
32
|
}
|
|
54
|
-
async function getChildren(session, nodeId) {
|
|
33
|
+
export async function getChildren(session, nodeId) {
|
|
55
34
|
const browseResult = await session.browse({
|
|
56
|
-
browseDirection:
|
|
35
|
+
browseDirection: BrowseDirection.Forward,
|
|
57
36
|
includeSubtypes: true,
|
|
58
|
-
nodeClassMask:
|
|
37
|
+
nodeClassMask: NodeClassMask.Method | NodeClassMask.Object | NodeClass.Variable,
|
|
59
38
|
nodeId,
|
|
60
|
-
referenceTypeId:
|
|
39
|
+
referenceTypeId: resolveNodeId("HasChild"),
|
|
61
40
|
resultMask: 0xffff
|
|
62
41
|
});
|
|
63
42
|
return browseResult.references || [];
|
|
64
43
|
}
|
|
65
|
-
async function getFolderElements(session, nodeId) {
|
|
44
|
+
export async function getFolderElements(session, nodeId) {
|
|
66
45
|
const browseResult = await session.browse({
|
|
67
|
-
browseDirection:
|
|
46
|
+
browseDirection: BrowseDirection.Forward,
|
|
68
47
|
includeSubtypes: true,
|
|
69
|
-
nodeClassMask:
|
|
48
|
+
nodeClassMask: NodeClassMask.Method | NodeClassMask.Object | NodeClass.Variable,
|
|
70
49
|
nodeId,
|
|
71
|
-
referenceTypeId:
|
|
50
|
+
referenceTypeId: resolveNodeId("Organizes"),
|
|
72
51
|
resultMask: 0xffff
|
|
73
52
|
});
|
|
74
53
|
return browseResult.references || [];
|
|
75
54
|
}
|
|
76
|
-
async function getModellingRule(session, nodeId) {
|
|
55
|
+
export async function getModellingRule(session, nodeId) {
|
|
77
56
|
const browseResult = await session.browse({
|
|
78
|
-
browseDirection:
|
|
57
|
+
browseDirection: BrowseDirection.Forward,
|
|
79
58
|
includeSubtypes: true,
|
|
80
|
-
nodeClassMask:
|
|
59
|
+
nodeClassMask: NodeClassMask.Method | NodeClassMask.Object | NodeClass.Variable,
|
|
81
60
|
nodeId,
|
|
82
|
-
referenceTypeId:
|
|
61
|
+
referenceTypeId: resolveNodeId("HasModellingRule"),
|
|
83
62
|
resultMask: 0xffff
|
|
84
63
|
});
|
|
85
64
|
if (!browseResult.references || browseResult.references.length === 0) {
|
|
@@ -91,12 +70,12 @@ async function getModellingRule(session, nodeId) {
|
|
|
91
70
|
}
|
|
92
71
|
return modellingRuleName;
|
|
93
72
|
}
|
|
94
|
-
async function isExtensionObject(session, nodeId) {
|
|
73
|
+
export async function isExtensionObject(session, nodeId) {
|
|
95
74
|
const n = nodeId;
|
|
96
|
-
if (n.namespace === 0 && n.identifierType ===
|
|
75
|
+
if (n.namespace === 0 && n.identifierType === NodeIdType.NUMERIC && n.value === DataTypeIds.Structure) {
|
|
97
76
|
return true;
|
|
98
77
|
}
|
|
99
|
-
if (n.namespace === 0 && n.identifierType ===
|
|
78
|
+
if (n.namespace === 0 && n.identifierType === NodeIdType.NUMERIC && n.value <= DataTypeIds.DiagnosticInfo) {
|
|
100
79
|
return false;
|
|
101
80
|
}
|
|
102
81
|
const r = await getSubtypeNodeIdIfAny(session, nodeId);
|
|
@@ -105,12 +84,12 @@ async function isExtensionObject(session, nodeId) {
|
|
|
105
84
|
}
|
|
106
85
|
return await isExtensionObject(session, r.nodeId);
|
|
107
86
|
}
|
|
108
|
-
async function isEnumeration(session, nodeId) {
|
|
87
|
+
export async function isEnumeration(session, nodeId) {
|
|
109
88
|
const n = nodeId;
|
|
110
|
-
if (n.namespace === 0 && n.identifierType ===
|
|
89
|
+
if (n.namespace === 0 && n.identifierType === NodeIdType.NUMERIC && n.value === DataTypeIds.Enumeration) {
|
|
111
90
|
return true;
|
|
112
91
|
}
|
|
113
|
-
if (n.namespace === 0 && n.identifierType ===
|
|
92
|
+
if (n.namespace === 0 && n.identifierType === NodeIdType.NUMERIC && n.value <= DataTypeIds.DiagnosticInfo) {
|
|
114
93
|
return false;
|
|
115
94
|
}
|
|
116
95
|
const r = await getSubtypeNodeIdIfAny(session, nodeId);
|
|
@@ -119,9 +98,9 @@ async function isEnumeration(session, nodeId) {
|
|
|
119
98
|
}
|
|
120
99
|
return await isEnumeration(session, r.nodeId);
|
|
121
100
|
}
|
|
122
|
-
async function extractBasicDataType(session, dataTypeNodeId) {
|
|
101
|
+
export async function extractBasicDataType(session, dataTypeNodeId) {
|
|
123
102
|
const n = dataTypeNodeId;
|
|
124
|
-
if (n.namespace === 0 && n.identifierType ===
|
|
103
|
+
if (n.namespace === 0 && n.identifierType === NodeIdType.NUMERIC && n.value <= DataTypeIds.DiagnosticInfo) {
|
|
125
104
|
return dataTypeNodeId.value;
|
|
126
105
|
}
|
|
127
106
|
const r = await getSubtypeNodeIdIfAny(session, dataTypeNodeId);
|
|
@@ -130,16 +109,16 @@ async function extractBasicDataType(session, dataTypeNodeId) {
|
|
|
130
109
|
}
|
|
131
110
|
return await extractBasicDataType(session, r.nodeId);
|
|
132
111
|
}
|
|
133
|
-
async function getSubtypeNodeIdIfAny(session, nodeId) {
|
|
112
|
+
export async function getSubtypeNodeIdIfAny(session, nodeId) {
|
|
134
113
|
if (nodeId.isEmpty()) {
|
|
135
114
|
return null;
|
|
136
115
|
}
|
|
137
116
|
const browseResult = await session.browse({
|
|
138
|
-
browseDirection:
|
|
117
|
+
browseDirection: BrowseDirection.Inverse,
|
|
139
118
|
includeSubtypes: true,
|
|
140
119
|
nodeClassMask: 0, // NodeClassMask.ObjectType| NodeClass.VariableType,
|
|
141
120
|
nodeId,
|
|
142
|
-
referenceTypeId:
|
|
121
|
+
referenceTypeId: resolveNodeId("HasSubtype"),
|
|
143
122
|
resultMask: 0xffff
|
|
144
123
|
});
|
|
145
124
|
if (!browseResult.references || browseResult.references.length === 0) {
|
|
@@ -147,44 +126,44 @@ async function getSubtypeNodeIdIfAny(session, nodeId) {
|
|
|
147
126
|
}
|
|
148
127
|
return browseResult.references[0];
|
|
149
128
|
}
|
|
150
|
-
async function getSubtypeNodeId(session, nodeId) {
|
|
129
|
+
export async function getSubtypeNodeId(session, nodeId) {
|
|
151
130
|
const r = await getSubtypeNodeIdIfAny(session, nodeId);
|
|
152
131
|
if (!r) {
|
|
153
132
|
throw new Error("No Subtype");
|
|
154
133
|
}
|
|
155
134
|
return r;
|
|
156
135
|
}
|
|
157
|
-
async function getTypeDefOrBaseType(session, nodeId) {
|
|
136
|
+
export async function getTypeDefOrBaseType(session, nodeId) {
|
|
158
137
|
let browseResult = await session.browse({
|
|
159
|
-
browseDirection:
|
|
138
|
+
browseDirection: BrowseDirection.Forward,
|
|
160
139
|
includeSubtypes: true,
|
|
161
140
|
nodeClassMask: 0,
|
|
162
141
|
nodeId,
|
|
163
|
-
referenceTypeId:
|
|
142
|
+
referenceTypeId: resolveNodeId("HasTypeDefinition"),
|
|
164
143
|
resultMask: 0xffff
|
|
165
144
|
});
|
|
166
145
|
if (!browseResult.references || browseResult.references.length === 0) {
|
|
167
146
|
browseResult = await session.browse({
|
|
168
|
-
browseDirection:
|
|
147
|
+
browseDirection: BrowseDirection.Inverse,
|
|
169
148
|
includeSubtypes: true,
|
|
170
149
|
nodeClassMask: 0,
|
|
171
150
|
nodeId,
|
|
172
|
-
referenceTypeId:
|
|
151
|
+
referenceTypeId: resolveNodeId("HasSubtype"),
|
|
173
152
|
resultMask: 0xffff
|
|
174
153
|
});
|
|
175
154
|
}
|
|
176
155
|
if (!browseResult.references || browseResult.references.length === 0) {
|
|
177
|
-
return new
|
|
156
|
+
return new ReferenceDescription({});
|
|
178
157
|
}
|
|
179
158
|
return browseResult.references[0];
|
|
180
159
|
}
|
|
181
|
-
async function getTypeDefinition(session, nodeId) {
|
|
160
|
+
export async function getTypeDefinition(session, nodeId) {
|
|
182
161
|
const browseResult = await session.browse({
|
|
183
|
-
browseDirection:
|
|
162
|
+
browseDirection: BrowseDirection.Forward,
|
|
184
163
|
includeSubtypes: true,
|
|
185
164
|
nodeClassMask: 0,
|
|
186
165
|
nodeId,
|
|
187
|
-
referenceTypeId:
|
|
166
|
+
referenceTypeId: resolveNodeId("HasTypeDefinition"),
|
|
188
167
|
resultMask: 0xffff
|
|
189
168
|
});
|
|
190
169
|
if (!browseResult.references || browseResult.references.length === 0) {
|
|
@@ -196,22 +175,22 @@ async function getTypeDefinition(session, nodeId) {
|
|
|
196
175
|
}
|
|
197
176
|
async function readBrowseName(session, nodeId) {
|
|
198
177
|
const nodeToRead = {
|
|
199
|
-
attributeId:
|
|
178
|
+
attributeId: AttributeIds.BrowseName,
|
|
200
179
|
nodeId
|
|
201
180
|
};
|
|
202
181
|
const dataValue = await session.read(nodeToRead);
|
|
203
182
|
// c8 ignore next
|
|
204
183
|
if (dataValue.statusCode.isNotGood()) {
|
|
205
|
-
return new
|
|
184
|
+
return new QualifiedName({ name: "", namespaceIndex: 0 });
|
|
206
185
|
}
|
|
207
186
|
const dataTypeName = dataValue.value.value;
|
|
208
187
|
return dataTypeName;
|
|
209
188
|
}
|
|
210
189
|
// see also client-proxy
|
|
211
|
-
async function _convertNodeIdToDataTypeAsync(session, dataTypeId) {
|
|
190
|
+
export async function _convertNodeIdToDataTypeAsync(session, dataTypeId) {
|
|
212
191
|
const dataTypeName = await readBrowseName(session, dataTypeId);
|
|
213
192
|
let dataType;
|
|
214
|
-
if (dataTypeId.namespace === 0 && dataTypeId.value ===
|
|
193
|
+
if (dataTypeId.namespace === 0 && dataTypeId.value === DataTypeIds.Number) {
|
|
215
194
|
return {
|
|
216
195
|
type: "genericNumber",
|
|
217
196
|
dataTypeCombination: "DataType.Float | DataType.Double | " +
|
|
@@ -219,38 +198,38 @@ async function _convertNodeIdToDataTypeAsync(session, dataTypeId) {
|
|
|
219
198
|
"DataType.Int64 | DataType.Int32 | DataType.Int16 | DataType.Byte"
|
|
220
199
|
};
|
|
221
200
|
}
|
|
222
|
-
if (dataTypeId.namespace === 0 && dataTypeId.value ===
|
|
201
|
+
if (dataTypeId.namespace === 0 && dataTypeId.value === DataTypeIds.Integer) {
|
|
223
202
|
return {
|
|
224
203
|
type: "genericNumber",
|
|
225
204
|
dataTypeCombination: "DataType.Int64 | DataType.Int32 | DataType.Int16 | DataType.SByte"
|
|
226
205
|
};
|
|
227
206
|
}
|
|
228
|
-
if (dataTypeId.namespace === 0 && dataTypeId.value ===
|
|
207
|
+
if (dataTypeId.namespace === 0 && dataTypeId.value === DataTypeIds.UInteger) {
|
|
229
208
|
return {
|
|
230
209
|
type: "genericNumber",
|
|
231
210
|
dataTypeCombination: "DataType.UInt64 | DataType.UInt32 | DataType.UInt16 | DataType.Byte"
|
|
232
211
|
};
|
|
233
212
|
}
|
|
234
|
-
if (dataTypeId.namespace === 0 && dataTypeId.value ===
|
|
235
|
-
return { type: "enum", dataType:
|
|
213
|
+
if (dataTypeId.namespace === 0 && dataTypeId.value === DataTypeIds.Enumeration) {
|
|
214
|
+
return { type: "enum", dataType: DataType.Int32, enumerationId: dataTypeId };
|
|
236
215
|
}
|
|
237
|
-
if (dataTypeId.namespace === 0 && dataTypeId.value ===
|
|
216
|
+
if (dataTypeId.namespace === 0 && dataTypeId.value === DataTypeIds.BaseDataType) {
|
|
238
217
|
// BaseDataType (i=24) is the abstract root of the DataType hierarchy, not a builtin
|
|
239
218
|
// type. Its NodeId value collides numerically with the DataType.Variant enum member,
|
|
240
219
|
// so it must be handled before the builtin-type fast path below or it is mistaken for
|
|
241
220
|
// the Variant builtin and generates the wrong (unconstructible) TypeScript type.
|
|
242
|
-
return { type: "basic", dataType:
|
|
221
|
+
return { type: "basic", dataType: DataType.Null };
|
|
243
222
|
}
|
|
244
|
-
if (dataTypeId.namespace === 0 &&
|
|
223
|
+
if (dataTypeId.namespace === 0 && DataType[dataTypeId.value]) {
|
|
245
224
|
dataType = dataTypeId.value;
|
|
246
225
|
return { type: "basic", dataType };
|
|
247
226
|
}
|
|
248
227
|
/// example => Duration (i=290) => Double (i=11)
|
|
249
228
|
// read subTypeOf
|
|
250
229
|
const nodeToBrowse = {
|
|
251
|
-
browseDirection:
|
|
230
|
+
browseDirection: BrowseDirection.Inverse,
|
|
252
231
|
nodeId: dataTypeId,
|
|
253
|
-
referenceTypeId:
|
|
232
|
+
referenceTypeId: resolveNodeId("HasSubtype"),
|
|
254
233
|
resultMask: 0xff
|
|
255
234
|
};
|
|
256
235
|
const browseResult = await session.browse(nodeToBrowse);
|
|
@@ -269,13 +248,13 @@ async function _convertNodeIdToDataTypeAsync(session, dataTypeId) {
|
|
|
269
248
|
}
|
|
270
249
|
return info;
|
|
271
250
|
}
|
|
272
|
-
async function getChildrenOrFolderElements(session, nodeId) {
|
|
251
|
+
export async function getChildrenOrFolderElements(session, nodeId) {
|
|
273
252
|
const c1 = await getChildren(session, nodeId);
|
|
274
253
|
const c2 = await getFolderElements(session, nodeId);
|
|
275
254
|
return [].concat(c1, c2);
|
|
276
255
|
}
|
|
277
|
-
async function getValueRank(session, nodeId) {
|
|
278
|
-
const valueRankDataValue = await session.read({ nodeId, attributeId:
|
|
256
|
+
export async function getValueRank(session, nodeId) {
|
|
257
|
+
const valueRankDataValue = await session.read({ nodeId, attributeId: AttributeIds.ValueRank });
|
|
279
258
|
return valueRankDataValue.value.value;
|
|
280
259
|
}
|
|
281
260
|
//# sourceMappingURL=utils.js.map
|