node-opcua-file-transfer 2.113.0 → 2.115.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/client/client_file.js +191 -220
- package/dist/client/client_file.js.map +1 -1
- package/dist/client/read_file.js +31 -44
- package/dist/client/read_file.js.map +1 -1
- package/dist/client/read_max_byte_string_length.js +8 -19
- package/dist/client/read_max_byte_string_length.js.map +1 -1
- package/dist/client/write_file.js +34 -45
- package/dist/client/write_file.js.map +1 -1
- package/dist/server/file_type_helpers.js +262 -292
- package/dist/server/file_type_helpers.js.map +1 -1
- package/package.json +20 -20
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.readMaxByteStringLength = void 0;
|
|
13
4
|
const node_opcua_basic_types_1 = require("node-opcua-basic-types");
|
|
@@ -15,17 +6,15 @@ const node_opcua_binary_stream_1 = require("node-opcua-binary-stream");
|
|
|
15
6
|
const node_opcua_constants_1 = require("node-opcua-constants");
|
|
16
7
|
const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
17
8
|
const node_opcua_status_code_1 = require("node-opcua-status-code");
|
|
18
|
-
function readMaxByteStringLength(session) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
attributeId: node_opcua_basic_types_1.AttributeIds.Value
|
|
23
|
-
});
|
|
24
|
-
if (dataValue.statusCode !== node_opcua_status_code_1.StatusCodes.Good) {
|
|
25
|
-
return 1024;
|
|
26
|
-
}
|
|
27
|
-
return dataValue.value.value || node_opcua_binary_stream_1.BinaryStream.maxByteStringLength;
|
|
9
|
+
async function readMaxByteStringLength(session) {
|
|
10
|
+
const dataValue = await session.read({
|
|
11
|
+
nodeId: (0, node_opcua_nodeid_1.resolveNodeId)(node_opcua_constants_1.VariableIds.Server_ServerCapabilities_MaxByteStringLength),
|
|
12
|
+
attributeId: node_opcua_basic_types_1.AttributeIds.Value
|
|
28
13
|
});
|
|
14
|
+
if (dataValue.statusCode !== node_opcua_status_code_1.StatusCodes.Good) {
|
|
15
|
+
return 1024;
|
|
16
|
+
}
|
|
17
|
+
return dataValue.value.value || node_opcua_binary_stream_1.BinaryStream.maxByteStringLength;
|
|
29
18
|
}
|
|
30
19
|
exports.readMaxByteStringLength = readMaxByteStringLength;
|
|
31
20
|
//# sourceMappingURL=read_max_byte_string_length.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read_max_byte_string_length.js","sourceRoot":"","sources":["../../source/client/read_max_byte_string_length.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"read_max_byte_string_length.js","sourceRoot":"","sources":["../../source/client/read_max_byte_string_length.ts"],"names":[],"mappings":";;;AAAA,mEAAsD;AACtD,uEAAwD;AACxD,+DAAmD;AACnD,yDAAkD;AAElD,mEAAqD;AAG9C,KAAK,UAAW,uBAAuB,CAAC,OAAsB;IACjE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,IAAA,iCAAa,EAAC,kCAAW,CAAC,6CAA6C,CAAC;QAChF,WAAW,EAAE,qCAAY,CAAC,KAAK;KAClC,CAAC,CAAC;IACH,IAAI,SAAS,CAAC,UAAU,KAAK,oCAAW,CAAC,IAAI,EAAE;QAC3C,OAAO,IAAI,CAAC;KACf;IACD,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,uCAAY,CAAC,mBAAmB,CAAC;AACrE,CAAC;AATD,0DASC"}
|
|
@@ -22,15 +22,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
26
|
exports.writeOPCUAFile = void 0;
|
|
36
27
|
const fs = __importStar(require("node:fs"));
|
|
@@ -47,42 +38,40 @@ const doDebug = (0, node_opcua_debug_1.checkDebugFlag)("FileType");
|
|
|
47
38
|
function getTransportMaxMessageSize(session) {
|
|
48
39
|
return session.getTransportSettings ? session.getTransportSettings().maxMessageSize : 0;
|
|
49
40
|
}
|
|
50
|
-
function writeOPCUAFile(clientFile, filePath, { chunkSize }) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
});
|
|
41
|
+
async function writeOPCUAFile(clientFile, filePath, { chunkSize }) {
|
|
42
|
+
const maxMessageSize = getTransportMaxMessageSize(clientFile.session);
|
|
43
|
+
chunkSize = chunkSize === undefined ? await (0, read_max_byte_string_length_1.readMaxByteStringLength)(clientFile.session) : chunkSize;
|
|
44
|
+
chunkSize = Math.min(chunkSize, node_opcua_binary_stream_1.BinaryStream.maxByteStringLength);
|
|
45
|
+
if (maxMessageSize > 200) {
|
|
46
|
+
chunkSize = Math.min(chunkSize, maxMessageSize - 1000);
|
|
47
|
+
}
|
|
48
|
+
if (!fs.existsSync(filePath)) {
|
|
49
|
+
throw new Error(`File ${filePath} does not exist`);
|
|
50
|
+
}
|
|
51
|
+
const readStream = fs.createReadStream(filePath, { highWaterMark: chunkSize });
|
|
52
|
+
await clientFile.open(client_file_1.OpenFileMode.WriteEraseExisting);
|
|
53
|
+
await clientFile.setPosition(0);
|
|
54
|
+
try {
|
|
55
|
+
const outStream = new node_stream_1.Writable({
|
|
56
|
+
write(chunk, encoding, callback) {
|
|
57
|
+
doDebug && debugLog("writing chunk", chunk.length);
|
|
58
|
+
clientFile
|
|
59
|
+
.write(chunk)
|
|
60
|
+
.then(() => callback())
|
|
61
|
+
.catch((err) => callback(err));
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
// note: pipeline requires NodeJS 15 or above
|
|
65
|
+
await (0, promises_1.pipeline)(readStream, outStream);
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
debugLog(e.message);
|
|
69
|
+
throw e;
|
|
70
|
+
}
|
|
71
|
+
finally {
|
|
72
|
+
doDebug && debugLog("closing the OPCUA File");
|
|
73
|
+
await clientFile.close();
|
|
74
|
+
}
|
|
86
75
|
}
|
|
87
76
|
exports.writeOPCUAFile = writeOPCUAFile;
|
|
88
77
|
//# sourceMappingURL=write_file.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write_file.js","sourceRoot":"","sources":["../../source/client/write_file.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"write_file.js","sourceRoot":"","sources":["../../source/client/write_file.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA8B;AAC9B,6CAAuC;AACvC,mDAAgD;AAGhD,uEAAwD;AAExD,uDAAiE;AAGjE,+CAA0D;AAC1D,+EAAwE;AAExE,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,8CAA8C;AAC9C,kDAAkD;AAClD,MAAM,OAAO,GAAG,IAAA,iCAAc,EAAC,UAAU,CAAC,CAAC;AAE3C,SAAS,0BAA0B,CAAC,OAAsB;IACtD,OAAO,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5F,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,UAAuB,EAAE,QAAgB,EAAE,EAAE,SAAS,EAA0B;IACjH,MAAM,cAAc,GAAG,0BAA0B,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAEtE,SAAS,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,IAAA,qDAAuB,EAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,uCAAY,CAAC,mBAAmB,CAAC,CAAC;IAClE,IAAI,cAAc,GAAG,GAAG,EAAE;QACtB,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC;KAC1D;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,iBAAiB,CAAC,CAAC;KACtD;IACD,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC;IAC/E,MAAM,UAAU,CAAC,IAAI,CAAC,0BAAY,CAAC,kBAAkB,CAAC,CAAC;IACvD,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI;QACA,MAAM,SAAS,GAAG,IAAI,sBAAQ,CAAC;YAC3B,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ;gBAC3B,OAAO,IAAI,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnD,UAAU;qBACL,KAAK,CAAC,KAAK,CAAC;qBACZ,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;qBACtB,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YACvC,CAAC;SACJ,CAAC,CAAC;QACH,6CAA6C;QAC7C,MAAM,IAAA,mBAAQ,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC;KACzC;IAAC,OAAO,CAAC,EAAE;QACR,QAAQ,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,CAAC,CAAC;KACX;YAAS;QACN,OAAO,IAAI,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QAC9C,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;KAC5B;AACL,CAAC;AAlCD,wCAkCC"}
|