node-opcua-file-transfer 2.122.0 → 2.124.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.
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @module node-opcua-file-transfer
|
|
4
4
|
*/
|
|
5
5
|
import { Int32, Int64, UInt16, UInt32, UInt64 } from "node-opcua-basic-types";
|
|
6
|
+
import { QualifiedName } from "node-opcua-data-model";
|
|
6
7
|
import { NodeId } from "node-opcua-nodeid";
|
|
7
8
|
import { IBasicSessionAsync } from "node-opcua-pseudo-session";
|
|
8
9
|
import { OpenFileMode } from "../open_mode";
|
|
@@ -39,7 +40,7 @@ export declare class ClientFile implements IClientFile {
|
|
|
39
40
|
static useGlobalMethod: boolean;
|
|
40
41
|
fileHandle: number;
|
|
41
42
|
session: IBasicSessionAsync;
|
|
42
|
-
|
|
43
|
+
readonly nodeId: NodeId;
|
|
43
44
|
private openMethodNodeId?;
|
|
44
45
|
private closeMethodNodeId?;
|
|
45
46
|
private setPositionNodeId?;
|
|
@@ -49,6 +50,11 @@ export declare class ClientFile implements IClientFile {
|
|
|
49
50
|
private openCountNodeId?;
|
|
50
51
|
private sizeNodeId?;
|
|
51
52
|
constructor(session: IBasicSessionAsync, nodeId: NodeId);
|
|
53
|
+
/**
|
|
54
|
+
* @deprecated use nodeId instead
|
|
55
|
+
*/
|
|
56
|
+
protected get fileNodeId(): NodeId;
|
|
57
|
+
browseName(): Promise<QualifiedName>;
|
|
52
58
|
open(mode: OpenFileMode): Promise<number>;
|
|
53
59
|
close(): Promise<void>;
|
|
54
60
|
getPosition(): Promise<UInt64>;
|
|
@@ -25,7 +25,17 @@ class ClientFile {
|
|
|
25
25
|
constructor(session, nodeId) {
|
|
26
26
|
this.fileHandle = 0;
|
|
27
27
|
this.session = session;
|
|
28
|
-
this.
|
|
28
|
+
this.nodeId = nodeId;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @deprecated use nodeId instead
|
|
32
|
+
*/
|
|
33
|
+
get fileNodeId() {
|
|
34
|
+
return this.nodeId;
|
|
35
|
+
}
|
|
36
|
+
async browseName() {
|
|
37
|
+
const dataValue = await this.session.read({ nodeId: this.nodeId, attributeId: node_opcua_data_model_1.AttributeIds.BrowseName });
|
|
38
|
+
return dataValue.value.value;
|
|
29
39
|
}
|
|
30
40
|
async open(mode) {
|
|
31
41
|
if (mode === null || mode === undefined) {
|
|
@@ -38,7 +48,7 @@ class ClientFile {
|
|
|
38
48
|
const result = await this.session.call({
|
|
39
49
|
inputArguments: [{ dataType: node_opcua_variant_1.DataType.Byte, value: mode }],
|
|
40
50
|
methodId: this.openMethodNodeId,
|
|
41
|
-
objectId: this.
|
|
51
|
+
objectId: this.nodeId
|
|
42
52
|
});
|
|
43
53
|
if (result.statusCode.isNotGood()) {
|
|
44
54
|
debugLog("Cannot open file : ");
|
|
@@ -55,7 +65,7 @@ class ClientFile {
|
|
|
55
65
|
const result = await this.session.call({
|
|
56
66
|
inputArguments: [{ dataType: node_opcua_variant_1.DataType.UInt32, value: this.fileHandle }],
|
|
57
67
|
methodId: this.closeMethodNodeId,
|
|
58
|
-
objectId: this.
|
|
68
|
+
objectId: this.nodeId
|
|
59
69
|
});
|
|
60
70
|
if (result.statusCode.isNotGood()) {
|
|
61
71
|
debugLog("Cannot close file : ");
|
|
@@ -71,7 +81,7 @@ class ClientFile {
|
|
|
71
81
|
const result = await this.session.call({
|
|
72
82
|
inputArguments: [{ dataType: node_opcua_variant_1.DataType.UInt32, value: this.fileHandle }],
|
|
73
83
|
methodId: this.getPositionNodeId,
|
|
74
|
-
objectId: this.
|
|
84
|
+
objectId: this.nodeId
|
|
75
85
|
});
|
|
76
86
|
if (result.statusCode.isNotGood()) {
|
|
77
87
|
throw new Error("Error " + result.statusCode.toString());
|
|
@@ -96,7 +106,7 @@ class ClientFile {
|
|
|
96
106
|
}
|
|
97
107
|
],
|
|
98
108
|
methodId: this.setPositionNodeId,
|
|
99
|
-
objectId: this.
|
|
109
|
+
objectId: this.nodeId
|
|
100
110
|
});
|
|
101
111
|
if (result.statusCode.isNotGood()) {
|
|
102
112
|
throw new Error("Error " + result.statusCode.toString());
|
|
@@ -118,7 +128,7 @@ class ClientFile {
|
|
|
118
128
|
}
|
|
119
129
|
],
|
|
120
130
|
methodId: this.readNodeId,
|
|
121
|
-
objectId: this.
|
|
131
|
+
objectId: this.nodeId
|
|
122
132
|
});
|
|
123
133
|
if (result.statusCode.isNotGood()) {
|
|
124
134
|
throw new Error("Error " + result.statusCode.toString());
|
|
@@ -143,7 +153,7 @@ class ClientFile {
|
|
|
143
153
|
}
|
|
144
154
|
],
|
|
145
155
|
methodId: this.writeNodeId,
|
|
146
|
-
objectId: this.
|
|
156
|
+
objectId: this.nodeId
|
|
147
157
|
});
|
|
148
158
|
if (result.statusCode.isNotGood()) {
|
|
149
159
|
throw new Error("Error " + result.statusCode.toString());
|
|
@@ -176,10 +186,7 @@ class ClientFile {
|
|
|
176
186
|
this.getPositionNodeId = (0, node_opcua_nodeid_1.resolveNodeId)(node_opcua_constants_1.MethodIds.FileType_GetPosition);
|
|
177
187
|
this.writeNodeId = (0, node_opcua_nodeid_1.resolveNodeId)(node_opcua_constants_1.MethodIds.FileType_Write);
|
|
178
188
|
this.readNodeId = (0, node_opcua_nodeid_1.resolveNodeId)(node_opcua_constants_1.MethodIds.FileType_Read);
|
|
179
|
-
const browsePaths = [
|
|
180
|
-
(0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(this.fileNodeId, "/OpenCount"),
|
|
181
|
-
(0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(this.fileNodeId, "/Size")
|
|
182
|
-
];
|
|
189
|
+
const browsePaths = [(0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(this.nodeId, "/OpenCount"), (0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(this.nodeId, "/Size")];
|
|
183
190
|
const results = await this.session.translateBrowsePath(browsePaths);
|
|
184
191
|
if (results[0].statusCode.isNotGood()) {
|
|
185
192
|
throw new Error("fileType object does not expose mandatory OpenCount Property");
|
|
@@ -192,14 +199,14 @@ class ClientFile {
|
|
|
192
199
|
return;
|
|
193
200
|
}
|
|
194
201
|
const browsePaths = [
|
|
195
|
-
(0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(this.
|
|
196
|
-
(0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(this.
|
|
197
|
-
(0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(this.
|
|
198
|
-
(0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(this.
|
|
199
|
-
(0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(this.
|
|
200
|
-
(0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(this.
|
|
201
|
-
(0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(this.
|
|
202
|
-
(0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(this.
|
|
202
|
+
(0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(this.nodeId, "/Open"),
|
|
203
|
+
(0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(this.nodeId, "/Close"),
|
|
204
|
+
(0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(this.nodeId, "/SetPosition"),
|
|
205
|
+
(0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(this.nodeId, "/GetPosition"),
|
|
206
|
+
(0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(this.nodeId, "/Write"),
|
|
207
|
+
(0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(this.nodeId, "/Read"),
|
|
208
|
+
(0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(this.nodeId, "/OpenCount"),
|
|
209
|
+
(0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(this.nodeId, "/Size")
|
|
203
210
|
];
|
|
204
211
|
const results = await this.session.translateBrowsePath(browsePaths);
|
|
205
212
|
if (results[0].statusCode.isNotGood()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_file.js","sourceRoot":"","sources":["../../source/client/client_file.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,mEAAiG;AACjG,
|
|
1
|
+
{"version":3,"file":"client_file.js","sourceRoot":"","sources":["../../source/client/client_file.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-opcua-file-transfer",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.124.0",
|
|
4
4
|
"description": "pure nodejs OPCUA SDK - module file-transfer",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "tsc -b",
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
"npm": ">=8.x"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"node-opcua-address-space": "2.
|
|
19
|
-
"node-opcua-address-space-base": "2.
|
|
18
|
+
"node-opcua-address-space": "2.124.0",
|
|
19
|
+
"node-opcua-address-space-base": "2.123.0",
|
|
20
20
|
"node-opcua-assert": "2.120.0",
|
|
21
21
|
"node-opcua-basic-types": "2.121.0",
|
|
22
22
|
"node-opcua-binary-stream": "2.120.0",
|
|
@@ -24,17 +24,17 @@
|
|
|
24
24
|
"node-opcua-data-model": "2.121.0",
|
|
25
25
|
"node-opcua-debug": "2.121.0",
|
|
26
26
|
"node-opcua-nodeid": "2.121.0",
|
|
27
|
-
"node-opcua-pseudo-session": "2.
|
|
28
|
-
"node-opcua-service-call": "2.
|
|
29
|
-
"node-opcua-service-read": "2.
|
|
30
|
-
"node-opcua-service-translate-browse-path": "2.
|
|
27
|
+
"node-opcua-pseudo-session": "2.124.0",
|
|
28
|
+
"node-opcua-service-call": "2.123.0",
|
|
29
|
+
"node-opcua-service-read": "2.123.0",
|
|
30
|
+
"node-opcua-service-translate-browse-path": "2.123.0",
|
|
31
31
|
"node-opcua-status-code": "2.121.0",
|
|
32
32
|
"node-opcua-variant": "2.121.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"memfs": "^4.7.7",
|
|
36
|
-
"node-opcua": "2.
|
|
37
|
-
"node-opcua-client": "2.
|
|
36
|
+
"node-opcua": "2.124.0",
|
|
37
|
+
"node-opcua-client": "2.124.0",
|
|
38
38
|
"node-opcua-leak-detector": "2.121.0",
|
|
39
39
|
"node-opcua-nodesets": "2.121.0",
|
|
40
40
|
"should": "^13.2.3"
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"internet of things"
|
|
55
55
|
],
|
|
56
56
|
"homepage": "http://node-opcua.github.io/",
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "75b5e34e797094a83833ea2d7c72ca3e5983d648",
|
|
58
58
|
"files": [
|
|
59
59
|
"dist",
|
|
60
60
|
"source"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @module node-opcua-file-transfer
|
|
3
3
|
*/
|
|
4
4
|
import { Byte, coerceInt32, Int32, Int64, UInt16, UInt32, UInt64 } from "node-opcua-basic-types";
|
|
5
|
-
import { AttributeIds } from "node-opcua-data-model";
|
|
5
|
+
import { AttributeIds, QualifiedName } from "node-opcua-data-model";
|
|
6
6
|
import { NodeId, resolveNodeId } from "node-opcua-nodeid";
|
|
7
7
|
import { IBasicSessionAsync } from "node-opcua-pseudo-session";
|
|
8
8
|
import { ReadValueIdOptions } from "node-opcua-service-read";
|
|
@@ -19,7 +19,6 @@ const doDebug = checkDebugFlag("FileType");
|
|
|
19
19
|
import { OpenFileMode } from "../open_mode";
|
|
20
20
|
export { OpenFileMode } from "../open_mode";
|
|
21
21
|
|
|
22
|
-
|
|
23
22
|
export interface IClientFile {
|
|
24
23
|
fileHandle: number;
|
|
25
24
|
open(mode: OpenFileMode): Promise<number>;
|
|
@@ -54,7 +53,8 @@ export class ClientFile implements IClientFile {
|
|
|
54
53
|
|
|
55
54
|
public fileHandle = 0;
|
|
56
55
|
public session: IBasicSessionAsync;
|
|
57
|
-
|
|
56
|
+
|
|
57
|
+
public readonly nodeId: NodeId;
|
|
58
58
|
|
|
59
59
|
private openMethodNodeId?: NodeId;
|
|
60
60
|
private closeMethodNodeId?: NodeId;
|
|
@@ -67,7 +67,19 @@ export class ClientFile implements IClientFile {
|
|
|
67
67
|
|
|
68
68
|
constructor(session: IBasicSessionAsync, nodeId: NodeId) {
|
|
69
69
|
this.session = session;
|
|
70
|
-
this.
|
|
70
|
+
this.nodeId = nodeId;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* @deprecated use nodeId instead
|
|
75
|
+
*/
|
|
76
|
+
protected get fileNodeId(): NodeId {
|
|
77
|
+
return this.nodeId;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
public async browseName(): Promise<QualifiedName> {
|
|
81
|
+
const dataValue = await this.session.read({ nodeId: this.nodeId, attributeId: AttributeIds.BrowseName });
|
|
82
|
+
return dataValue.value.value as QualifiedName;
|
|
71
83
|
}
|
|
72
84
|
|
|
73
85
|
public async open(mode: OpenFileMode): Promise<number> {
|
|
@@ -82,7 +94,7 @@ export class ClientFile implements IClientFile {
|
|
|
82
94
|
const result = await this.session.call({
|
|
83
95
|
inputArguments: [{ dataType: DataType.Byte, value: mode as Byte }],
|
|
84
96
|
methodId: this.openMethodNodeId,
|
|
85
|
-
objectId: this.
|
|
97
|
+
objectId: this.nodeId
|
|
86
98
|
});
|
|
87
99
|
if (result.statusCode.isNotGood()) {
|
|
88
100
|
debugLog("Cannot open file : ");
|
|
@@ -103,7 +115,7 @@ export class ClientFile implements IClientFile {
|
|
|
103
115
|
const result = await this.session.call({
|
|
104
116
|
inputArguments: [{ dataType: DataType.UInt32, value: this.fileHandle }],
|
|
105
117
|
methodId: this.closeMethodNodeId,
|
|
106
|
-
objectId: this.
|
|
118
|
+
objectId: this.nodeId
|
|
107
119
|
});
|
|
108
120
|
if (result.statusCode.isNotGood()) {
|
|
109
121
|
debugLog("Cannot close file : ");
|
|
@@ -122,7 +134,7 @@ export class ClientFile implements IClientFile {
|
|
|
122
134
|
const result = await this.session.call({
|
|
123
135
|
inputArguments: [{ dataType: DataType.UInt32, value: this.fileHandle }],
|
|
124
136
|
methodId: this.getPositionNodeId,
|
|
125
|
-
objectId: this.
|
|
137
|
+
objectId: this.nodeId
|
|
126
138
|
});
|
|
127
139
|
if (result.statusCode.isNotGood()) {
|
|
128
140
|
throw new Error("Error " + result.statusCode.toString());
|
|
@@ -148,7 +160,7 @@ export class ClientFile implements IClientFile {
|
|
|
148
160
|
}
|
|
149
161
|
],
|
|
150
162
|
methodId: this.setPositionNodeId,
|
|
151
|
-
objectId: this.
|
|
163
|
+
objectId: this.nodeId
|
|
152
164
|
});
|
|
153
165
|
if (result.statusCode.isNotGood()) {
|
|
154
166
|
throw new Error("Error " + result.statusCode.toString());
|
|
@@ -171,7 +183,7 @@ export class ClientFile implements IClientFile {
|
|
|
171
183
|
}
|
|
172
184
|
],
|
|
173
185
|
methodId: this.readNodeId,
|
|
174
|
-
objectId: this.
|
|
186
|
+
objectId: this.nodeId
|
|
175
187
|
});
|
|
176
188
|
if (result.statusCode.isNotGood()) {
|
|
177
189
|
throw new Error("Error " + result.statusCode.toString());
|
|
@@ -197,7 +209,7 @@ export class ClientFile implements IClientFile {
|
|
|
197
209
|
}
|
|
198
210
|
],
|
|
199
211
|
methodId: this.writeNodeId,
|
|
200
|
-
objectId: this.
|
|
212
|
+
objectId: this.nodeId
|
|
201
213
|
});
|
|
202
214
|
if (result.statusCode.isNotGood()) {
|
|
203
215
|
throw new Error("Error " + result.statusCode.toString());
|
|
@@ -234,10 +246,7 @@ export class ClientFile implements IClientFile {
|
|
|
234
246
|
this.getPositionNodeId = resolveNodeId(MethodIds.FileType_GetPosition);
|
|
235
247
|
this.writeNodeId = resolveNodeId(MethodIds.FileType_Write);
|
|
236
248
|
this.readNodeId = resolveNodeId(MethodIds.FileType_Read);
|
|
237
|
-
const browsePaths: BrowsePath[] = [
|
|
238
|
-
makeBrowsePath(this.fileNodeId, "/OpenCount"),
|
|
239
|
-
makeBrowsePath(this.fileNodeId, "/Size")
|
|
240
|
-
];
|
|
249
|
+
const browsePaths: BrowsePath[] = [makeBrowsePath(this.nodeId, "/OpenCount"), makeBrowsePath(this.nodeId, "/Size")];
|
|
241
250
|
const results = await this.session.translateBrowsePath(browsePaths);
|
|
242
251
|
if (results[0].statusCode.isNotGood()) {
|
|
243
252
|
throw new Error("fileType object does not expose mandatory OpenCount Property");
|
|
@@ -250,14 +259,14 @@ export class ClientFile implements IClientFile {
|
|
|
250
259
|
return;
|
|
251
260
|
}
|
|
252
261
|
const browsePaths: BrowsePath[] = [
|
|
253
|
-
makeBrowsePath(this.
|
|
254
|
-
makeBrowsePath(this.
|
|
255
|
-
makeBrowsePath(this.
|
|
256
|
-
makeBrowsePath(this.
|
|
257
|
-
makeBrowsePath(this.
|
|
258
|
-
makeBrowsePath(this.
|
|
259
|
-
makeBrowsePath(this.
|
|
260
|
-
makeBrowsePath(this.
|
|
262
|
+
makeBrowsePath(this.nodeId, "/Open"),
|
|
263
|
+
makeBrowsePath(this.nodeId, "/Close"),
|
|
264
|
+
makeBrowsePath(this.nodeId, "/SetPosition"),
|
|
265
|
+
makeBrowsePath(this.nodeId, "/GetPosition"),
|
|
266
|
+
makeBrowsePath(this.nodeId, "/Write"),
|
|
267
|
+
makeBrowsePath(this.nodeId, "/Read"),
|
|
268
|
+
makeBrowsePath(this.nodeId, "/OpenCount"),
|
|
269
|
+
makeBrowsePath(this.nodeId, "/Size")
|
|
261
270
|
];
|
|
262
271
|
|
|
263
272
|
const results = await this.session.translateBrowsePath(browsePaths);
|
|
@@ -307,9 +316,6 @@ export class ClientFile implements IClientFile {
|
|
|
307
316
|
}
|
|
308
317
|
}
|
|
309
318
|
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
319
|
/**
|
|
314
320
|
* 5.2.10 UserRolePermissions
|
|
315
321
|
*
|