@nesgarbo/node-jt400 5.4.3 → 6.0.2
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/README.md +16 -6
- package/dist-cjs/index.d.cts +18 -0
- package/dist-cjs/index.js +86 -0
- package/dist-cjs/index.js.map +1 -0
- package/dist-cjs/integration-test/call-rpg-spec.d.cts +2 -0
- package/dist-cjs/integration-test/call-rpg-spec.js +101 -0
- package/dist-cjs/integration-test/call-rpg-spec.js.map +1 -0
- package/dist-cjs/integration-test/dataq-spec.d.cts +2 -0
- package/dist-cjs/integration-test/dataq-spec.js +57 -0
- package/dist-cjs/integration-test/dataq-spec.js.map +1 -0
- package/dist-cjs/integration-test/db.d.cts +8 -0
- package/dist-cjs/integration-test/db.js +31 -0
- package/dist-cjs/integration-test/db.js.map +1 -0
- package/dist-cjs/integration-test/db2-connect-spec.d.cts +2 -0
- package/dist-cjs/integration-test/db2-connect-spec.js +42 -0
- package/dist-cjs/integration-test/db2-connect-spec.js.map +1 -0
- package/dist-cjs/integration-test/db2-pool-spec.d.cts +2 -0
- package/dist-cjs/integration-test/db2-pool-spec.js +213 -0
- package/dist-cjs/integration-test/db2-pool-spec.js.map +1 -0
- package/dist-cjs/integration-test/ifs-spec.d.cts +2 -0
- package/dist-cjs/integration-test/ifs-spec.js +140 -0
- package/dist-cjs/integration-test/ifs-spec.js.map +1 -0
- package/dist-cjs/integration-test/msgf-spec.d.cts +2 -0
- package/dist-cjs/integration-test/msgf-spec.js +34 -0
- package/dist-cjs/integration-test/msgf-spec.js.map +1 -0
- package/dist-cjs/integration-test/msgq-spec.d.cts +2 -0
- package/dist-cjs/integration-test/msgq-spec.js +45 -0
- package/dist-cjs/integration-test/msgq-spec.js.map +1 -0
- package/dist-cjs/java/JT400.d.cts +88 -0
- package/dist-cjs/java/JT400.js +16 -0
- package/dist-cjs/java/JT400.js.map +1 -0
- package/dist-cjs/java/index.d.cts +10 -0
- package/dist-cjs/java/index.js +67 -0
- package/dist-cjs/java/index.js.map +1 -0
- package/dist-cjs/lib/baseConnection.d.cts +9 -0
- package/dist-cjs/lib/baseConnection.js +367 -0
- package/dist-cjs/lib/baseConnection.js.map +1 -0
- package/dist-cjs/lib/baseConnection.types.d.cts +62 -0
- package/dist-cjs/lib/baseConnection.types.js +30 -0
- package/dist-cjs/lib/baseConnection.types.js.map +1 -0
- package/dist-cjs/lib/connection.d.cts +16 -0
- package/dist-cjs/lib/connection.js +179 -0
- package/dist-cjs/lib/connection.js.map +1 -0
- package/dist-cjs/lib/connection.types.d.cts +80 -0
- package/dist-cjs/lib/connection.types.js +16 -0
- package/dist-cjs/lib/connection.types.js.map +1 -0
- package/dist-cjs/lib/handleError.d.cts +5 -0
- package/dist-cjs/lib/handleError.js +43 -0
- package/dist-cjs/lib/handleError.js.map +1 -0
- package/dist-cjs/lib/ifs/index.d.cts +7 -0
- package/dist-cjs/lib/ifs/index.js +64 -0
- package/dist-cjs/lib/ifs/index.js.map +1 -0
- package/dist-cjs/lib/ifs/read_stream.d.cts +8 -0
- package/dist-cjs/lib/ifs/read_stream.js +61 -0
- package/dist-cjs/lib/ifs/read_stream.js.map +1 -0
- package/dist-cjs/lib/ifs/types.d.cts +19 -0
- package/dist-cjs/lib/ifs/types.js +16 -0
- package/dist-cjs/lib/ifs/types.js.map +1 -0
- package/dist-cjs/lib/ifs/write_stream.d.cts +8 -0
- package/dist-cjs/lib/ifs/write_stream.js +52 -0
- package/dist-cjs/lib/ifs/write_stream.js.map +1 -0
- package/dist-cjs/lib/inMemoryConnection.d.cts +14 -0
- package/dist-cjs/lib/inMemoryConnection.js +59 -0
- package/dist-cjs/lib/inMemoryConnection.js.map +1 -0
- package/dist-cjs/lib/insertList.d.cts +8 -0
- package/dist-cjs/lib/insertList.js +58 -0
- package/dist-cjs/lib/insertList.js.map +1 -0
- package/dist-cjs/lib/jdbcstream.d.cts +3 -0
- package/dist-cjs/lib/jdbcstream.js +66 -0
- package/dist-cjs/lib/jdbcstream.js.map +1 -0
- package/dist-cjs/lib/jdbcwritestream.d.cts +3 -0
- package/dist-cjs/lib/jdbcwritestream.js +66 -0
- package/dist-cjs/lib/jdbcwritestream.js.map +1 -0
- package/dist-cjs/lib/logger.d.cts +9 -0
- package/dist-cjs/lib/logger.js +39 -0
- package/dist-cjs/lib/logger.js.map +1 -0
- package/dist-cjs/lib/sqlutil.d.cts +3 -0
- package/dist-cjs/lib/sqlutil.js +37 -0
- package/dist-cjs/lib/sqlutil.js.map +1 -0
- package/dist-cjs/lib/streamTransformers.d.cts +5 -0
- package/dist-cjs/lib/streamTransformers.js +56 -0
- package/dist-cjs/lib/streamTransformers.js.map +1 -0
- package/dist-cjs/package.json +3 -0
- package/dist-cjs/unit-test/hsql-spec.d.cts +2 -0
- package/dist-cjs/unit-test/hsql-spec.js +488 -0
- package/dist-cjs/unit-test/hsql-spec.js.map +1 -0
- package/dist-cjs/unit-test/sqlutil-spec.d.cts +2 -0
- package/dist-cjs/unit-test/sqlutil-spec.js +43 -0
- package/dist-cjs/unit-test/sqlutil-spec.js.map +1 -0
- package/dist-cjs/unit-test/streamTransformers-spec.d.cts +2 -0
- package/dist-cjs/unit-test/streamTransformers-spec.js +121 -0
- package/dist-cjs/unit-test/streamTransformers-spec.js.map +1 -0
- package/dist-esm/index.d.ts +18 -0
- package/dist-esm/index.js +59 -0
- package/dist-esm/index.js.map +1 -0
- package/dist-esm/integration-test/call-rpg-spec.d.ts +2 -0
- package/dist-esm/integration-test/call-rpg-spec.js +79 -0
- package/dist-esm/integration-test/call-rpg-spec.js.map +1 -0
- package/dist-esm/integration-test/dataq-spec.d.ts +2 -0
- package/dist-esm/integration-test/dataq-spec.js +35 -0
- package/dist-esm/integration-test/dataq-spec.js.map +1 -0
- package/dist-esm/integration-test/db.d.ts +8 -0
- package/dist-esm/integration-test/db.js +8 -0
- package/dist-esm/integration-test/db.js.map +1 -0
- package/dist-esm/integration-test/db2-connect-spec.d.ts +2 -0
- package/dist-esm/integration-test/db2-connect-spec.js +20 -0
- package/dist-esm/integration-test/db2-connect-spec.js.map +1 -0
- package/dist-esm/integration-test/db2-pool-spec.d.ts +2 -0
- package/dist-esm/integration-test/db2-pool-spec.js +197 -0
- package/dist-esm/integration-test/db2-pool-spec.js.map +1 -0
- package/dist-esm/integration-test/ifs-spec.d.ts +2 -0
- package/dist-esm/integration-test/ifs-spec.js +118 -0
- package/dist-esm/integration-test/ifs-spec.js.map +1 -0
- package/dist-esm/integration-test/msgf-spec.d.ts +2 -0
- package/dist-esm/integration-test/msgf-spec.js +12 -0
- package/dist-esm/integration-test/msgf-spec.js.map +1 -0
- package/dist-esm/integration-test/msgq-spec.d.ts +2 -0
- package/dist-esm/integration-test/msgq-spec.js +23 -0
- package/dist-esm/integration-test/msgq-spec.js.map +1 -0
- package/{dist → dist-esm}/java/JT400.d.ts +25 -14
- package/dist-esm/java/JT400.js +1 -0
- package/dist-esm/java/JT400.js.map +1 -0
- package/dist-esm/java/index.d.ts +10 -0
- package/dist-esm/java/index.js +40 -0
- package/dist-esm/java/index.js.map +1 -0
- package/dist-esm/lib/baseConnection.d.ts +9 -0
- package/dist-esm/lib/baseConnection.js +344 -0
- package/dist-esm/lib/baseConnection.js.map +1 -0
- package/dist-esm/lib/baseConnection.types.d.ts +62 -0
- package/dist-esm/lib/baseConnection.types.js +6 -0
- package/dist-esm/lib/baseConnection.types.js.map +1 -0
- package/dist-esm/lib/connection.d.ts +16 -0
- package/dist-esm/lib/connection.js +146 -0
- package/dist-esm/lib/connection.js.map +1 -0
- package/{dist → dist-esm}/lib/connection.types.d.ts +24 -21
- package/dist-esm/lib/connection.types.js +1 -0
- package/dist-esm/lib/connection.types.js.map +1 -0
- package/dist-esm/lib/handleError.d.ts +5 -0
- package/dist-esm/lib/handleError.js +20 -0
- package/dist-esm/lib/handleError.js.map +1 -0
- package/dist-esm/lib/ifs/index.d.ts +7 -0
- package/dist-esm/lib/ifs/index.js +41 -0
- package/dist-esm/lib/ifs/index.js.map +1 -0
- package/dist-esm/lib/ifs/read_stream.d.ts +8 -0
- package/dist-esm/lib/ifs/read_stream.js +28 -0
- package/dist-esm/lib/ifs/read_stream.js.map +1 -0
- package/{dist → dist-esm}/lib/ifs/types.d.ts +5 -2
- package/dist-esm/lib/ifs/types.js +1 -0
- package/dist-esm/lib/ifs/types.js.map +1 -0
- package/dist-esm/lib/ifs/write_stream.d.ts +8 -0
- package/dist-esm/lib/ifs/write_stream.js +19 -0
- package/dist-esm/lib/ifs/write_stream.js.map +1 -0
- package/dist-esm/lib/inMemoryConnection.d.ts +14 -0
- package/dist-esm/lib/inMemoryConnection.js +36 -0
- package/dist-esm/lib/inMemoryConnection.js.map +1 -0
- package/dist-esm/lib/insertList.d.ts +8 -0
- package/dist-esm/lib/insertList.js +34 -0
- package/dist-esm/lib/insertList.js.map +1 -0
- package/dist-esm/lib/jdbcstream.d.ts +3 -0
- package/dist-esm/lib/jdbcstream.js +43 -0
- package/dist-esm/lib/jdbcstream.js.map +1 -0
- package/dist-esm/lib/jdbcwritestream.d.ts +3 -0
- package/dist-esm/lib/jdbcwritestream.js +33 -0
- package/dist-esm/lib/jdbcwritestream.js.map +1 -0
- package/{dist → dist-esm}/lib/logger.d.ts +4 -2
- package/dist-esm/lib/logger.js +16 -0
- package/dist-esm/lib/logger.js.map +1 -0
- package/dist-esm/lib/sqlutil.d.ts +3 -0
- package/dist-esm/lib/sqlutil.js +14 -0
- package/dist-esm/lib/sqlutil.js.map +1 -0
- package/dist-esm/lib/streamTransformers.d.ts +5 -0
- package/dist-esm/lib/streamTransformers.js +33 -0
- package/dist-esm/lib/streamTransformers.js.map +1 -0
- package/dist-esm/package.json +3 -0
- package/dist-esm/unit-test/hsql-spec.d.ts +2 -0
- package/dist-esm/unit-test/hsql-spec.js +466 -0
- package/dist-esm/unit-test/hsql-spec.js.map +1 -0
- package/dist-esm/unit-test/sqlutil-spec.d.ts +2 -0
- package/dist-esm/unit-test/sqlutil-spec.js +21 -0
- package/dist-esm/unit-test/sqlutil-spec.js.map +1 -0
- package/dist-esm/unit-test/streamTransformers-spec.d.ts +2 -0
- package/dist-esm/unit-test/streamTransformers-spec.js +99 -0
- package/dist-esm/unit-test/streamTransformers-spec.js.map +1 -0
- package/java/lib/jt400wrap.jar +0 -0
- package/package.json +39 -19
- package/dist/index.d.ts +0 -13
- package/dist/index.js +0 -67
- package/dist/index.js.map +0 -1
- package/dist/integration-test/call-rpg-spec.d.ts +0 -1
- package/dist/integration-test/call-rpg-spec.js +0 -88
- package/dist/integration-test/call-rpg-spec.js.map +0 -1
- package/dist/integration-test/dataq-spec.d.ts +0 -1
- package/dist/integration-test/dataq-spec.js +0 -42
- package/dist/integration-test/dataq-spec.js.map +0 -1
- package/dist/integration-test/db.d.ts +0 -2
- package/dist/integration-test/db.js +0 -8
- package/dist/integration-test/db.js.map +0 -1
- package/dist/integration-test/db2-connect-spec.d.ts +0 -1
- package/dist/integration-test/db2-connect-spec.js +0 -34
- package/dist/integration-test/db2-connect-spec.js.map +0 -1
- package/dist/integration-test/db2-pool-spec.d.ts +0 -1
- package/dist/integration-test/db2-pool-spec.js +0 -191
- package/dist/integration-test/db2-pool-spec.js.map +0 -1
- package/dist/integration-test/ifs-spec.d.ts +0 -1
- package/dist/integration-test/ifs-spec.js +0 -118
- package/dist/integration-test/ifs-spec.js.map +0 -1
- package/dist/integration-test/msgf-spec.d.ts +0 -1
- package/dist/integration-test/msgf-spec.js +0 -25
- package/dist/integration-test/msgf-spec.js.map +0 -1
- package/dist/integration-test/msgq-spec.d.ts +0 -1
- package/dist/integration-test/msgq-spec.js +0 -34
- package/dist/integration-test/msgq-spec.js.map +0 -1
- package/dist/java/JT400.js +0 -3
- package/dist/java/JT400.js.map +0 -1
- package/dist/java/index.d.ts +0 -7
- package/dist/java/index.js +0 -33
- package/dist/java/index.js.map +0 -1
- package/dist/lib/baseConnection.d.ts +0 -5
- package/dist/lib/baseConnection.js +0 -264
- package/dist/lib/baseConnection.js.map +0 -1
- package/dist/lib/baseConnection.types.d.ts +0 -53
- package/dist/lib/baseConnection.types.js +0 -7
- package/dist/lib/baseConnection.types.js.map +0 -1
- package/dist/lib/connection.d.ts +0 -10
- package/dist/lib/connection.js +0 -143
- package/dist/lib/connection.js.map +0 -1
- package/dist/lib/connection.types.js +0 -3
- package/dist/lib/connection.types.js.map +0 -1
- package/dist/lib/handleError.d.ts +0 -3
- package/dist/lib/handleError.js +0 -25
- package/dist/lib/handleError.js.map +0 -1
- package/dist/lib/ifs/index.d.ts +0 -3
- package/dist/lib/ifs/index.js +0 -45
- package/dist/lib/ifs/index.js.map +0 -1
- package/dist/lib/ifs/read_stream.d.ts +0 -6
- package/dist/lib/ifs/read_stream.js +0 -28
- package/dist/lib/ifs/read_stream.js.map +0 -1
- package/dist/lib/ifs/types.js +0 -3
- package/dist/lib/ifs/types.js.map +0 -1
- package/dist/lib/ifs/write_stream.d.ts +0 -6
- package/dist/lib/ifs/write_stream.js +0 -25
- package/dist/lib/ifs/write_stream.js.map +0 -1
- package/dist/lib/inMemoryConnection.d.ts +0 -7
- package/dist/lib/inMemoryConnection.js +0 -33
- package/dist/lib/inMemoryConnection.js.map +0 -1
- package/dist/lib/insertList.d.ts +0 -4
- package/dist/lib/insertList.js +0 -44
- package/dist/lib/insertList.js.map +0 -1
- package/dist/lib/jdbcstream.d.ts +0 -1
- package/dist/lib/jdbcstream.js +0 -50
- package/dist/lib/jdbcstream.js.map +0 -1
- package/dist/lib/jdbcwritestream.d.ts +0 -1
- package/dist/lib/jdbcwritestream.js +0 -37
- package/dist/lib/jdbcwritestream.js.map +0 -1
- package/dist/lib/logger.js +0 -13
- package/dist/lib/logger.js.map +0 -1
- package/dist/lib/sqlutil.d.ts +0 -1
- package/dist/lib/sqlutil.js +0 -18
- package/dist/lib/sqlutil.js.map +0 -1
- package/dist/lib/streamTransformers.d.ts +0 -2
- package/dist/lib/streamTransformers.js +0 -30
- package/dist/lib/streamTransformers.js.map +0 -1
- package/dist/unit-test/hsql-spec.d.ts +0 -1
- package/dist/unit-test/hsql-spec.js +0 -495
- package/dist/unit-test/hsql-spec.js.map +0 -1
- package/dist/unit-test/sqlutil-spec.d.ts +0 -1
- package/dist/unit-test/sqlutil-spec.js +0 -20
- package/dist/unit-test/sqlutil-spec.js.map +0 -1
- package/dist/unit-test/streamTransformers-spec.d.ts +0 -1
- package/dist/unit-test/streamTransformers-spec.js +0 -98
- package/dist/unit-test/streamTransformers-spec.js.map +0 -1
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import assert from "assert";
|
|
2
|
+
import streamEqual from "stream-equal";
|
|
3
|
+
import { jt400 } from "./db.js";
|
|
4
|
+
const { ifs } = jt400;
|
|
5
|
+
describe("ifs", () => {
|
|
6
|
+
it("should read file", (done) => {
|
|
7
|
+
const stream = ifs().createReadStream("/atm/test/hello_world.txt");
|
|
8
|
+
let data = "";
|
|
9
|
+
stream.on("data", (chunk) => {
|
|
10
|
+
data += chunk;
|
|
11
|
+
});
|
|
12
|
+
stream.on("end", () => {
|
|
13
|
+
assert.strictEqual(data, "Hall\xF3 heimur!\n");
|
|
14
|
+
done();
|
|
15
|
+
});
|
|
16
|
+
stream.on("error", done);
|
|
17
|
+
}).timeout(5e4);
|
|
18
|
+
it("should get file metadata", async () => {
|
|
19
|
+
const metadata = await ifs().fileMetadata("/atm/test/hello_world.txt");
|
|
20
|
+
assert.deepStrictEqual(metadata, {
|
|
21
|
+
exists: true,
|
|
22
|
+
length: 15
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
describe("list files", () => {
|
|
26
|
+
it("should list files", async () => {
|
|
27
|
+
const files = await ifs().listFiles("/atm/test");
|
|
28
|
+
assert.ok(files.length > 0);
|
|
29
|
+
});
|
|
30
|
+
it("should return empty array for empty folder", async () => {
|
|
31
|
+
const files = await ifs().listFiles("/atm/test/emptyFolder");
|
|
32
|
+
assert.strictEqual(files.length, 0);
|
|
33
|
+
});
|
|
34
|
+
it("should return empty array for a folder that does not exist", async () => {
|
|
35
|
+
const files = await ifs().listFiles("/atm/test/does-not-exist");
|
|
36
|
+
assert.strictEqual(files.length, 0);
|
|
37
|
+
});
|
|
38
|
+
it("should return empty array if the folder is a file", async () => {
|
|
39
|
+
const files = await ifs().listFiles("/atm/test/hello_world.txt");
|
|
40
|
+
assert.strictEqual(files.length, 0);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
describe("move file", () => {
|
|
44
|
+
it("should return true if the file exist", async () => {
|
|
45
|
+
const res = await ifs().moveFile(
|
|
46
|
+
"/atm/test/file-to-move.txt",
|
|
47
|
+
"/atm/test/file-moved.txt"
|
|
48
|
+
);
|
|
49
|
+
assert.strictEqual(res, true);
|
|
50
|
+
await ifs().moveFile(
|
|
51
|
+
"/atm/test/file-moved.txt",
|
|
52
|
+
"/atm/test/file-to-move.txt"
|
|
53
|
+
);
|
|
54
|
+
});
|
|
55
|
+
it("should return false if the file does not exist", async () => {
|
|
56
|
+
const res = await ifs().moveFile(
|
|
57
|
+
"/atm/test/does-not-exist.txt",
|
|
58
|
+
"/atm/test/does-not-exist2.txt"
|
|
59
|
+
);
|
|
60
|
+
assert.strictEqual(res, false);
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
it("should get metadata for file that does not exists", async () => {
|
|
64
|
+
const metadata = await ifs().fileMetadata(
|
|
65
|
+
"/atm/test/___file_that_does_not_exists____.txt"
|
|
66
|
+
);
|
|
67
|
+
assert.deepStrictEqual(metadata, {
|
|
68
|
+
exists: false,
|
|
69
|
+
length: 0
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
it("should read filename promise", (done) => {
|
|
73
|
+
const stream = ifs().createReadStream(
|
|
74
|
+
Promise.resolve("/atm/test/hello_world.txt")
|
|
75
|
+
);
|
|
76
|
+
let data = "";
|
|
77
|
+
stream.on("data", (chunk) => {
|
|
78
|
+
data += chunk;
|
|
79
|
+
});
|
|
80
|
+
stream.on("end", () => {
|
|
81
|
+
assert.strictEqual(data, "Hall\xF3 heimur!\n");
|
|
82
|
+
done();
|
|
83
|
+
});
|
|
84
|
+
stream.on("error", done);
|
|
85
|
+
}).timeout(5e4);
|
|
86
|
+
it("should write file", (done) => {
|
|
87
|
+
const rs = ifs().createReadStream("/atm/test/hello_world.txt");
|
|
88
|
+
const ws = ifs().createWriteStream("/atm/test2/new_file.txt", {
|
|
89
|
+
append: false
|
|
90
|
+
});
|
|
91
|
+
rs.pipe(ws).on("finish", () => {
|
|
92
|
+
const stream = ifs().createReadStream("/atm/test2/new_file.txt");
|
|
93
|
+
let data = "";
|
|
94
|
+
stream.on("data", (chunk) => {
|
|
95
|
+
data += chunk;
|
|
96
|
+
});
|
|
97
|
+
stream.on("end", () => {
|
|
98
|
+
assert.strictEqual(data, "Hall\xF3 heimur!\n");
|
|
99
|
+
done();
|
|
100
|
+
});
|
|
101
|
+
stream.on("error", done);
|
|
102
|
+
}).on("error", done);
|
|
103
|
+
}).timeout(5e3);
|
|
104
|
+
it("should pipe image", () => {
|
|
105
|
+
const rs = ifs().createReadStream("/atm/test/image.jpg");
|
|
106
|
+
const ws = ifs().createWriteStream("/atm/test2/image.jpg", {
|
|
107
|
+
append: false
|
|
108
|
+
});
|
|
109
|
+
rs.pipe(ws).on("finish", () => {
|
|
110
|
+
const oldImage = ifs().createReadStream("/atm/test/image.jpg");
|
|
111
|
+
const newImage = ifs().createReadStream("/atm/test2/image.jpg");
|
|
112
|
+
return streamEqual(oldImage, newImage).then((equal) => {
|
|
113
|
+
assert.strictEqual(equal, true);
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
}).timeout(5e4);
|
|
117
|
+
});
|
|
118
|
+
//# sourceMappingURL=ifs-spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../ts-src/integration-test/ifs-spec.ts"],"sourcesContent":["import assert from 'assert'\nimport streamEqual from 'stream-equal'\nimport { jt400 } from './db.js'\nconst { ifs } = jt400\n\ndescribe('ifs', () => {\n it('should read file', (done) => {\n const stream = ifs().createReadStream('/atm/test/hello_world.txt')\n let data = ''\n stream.on('data', (chunk) => {\n data += chunk\n })\n\n stream.on('end', () => {\n assert.strictEqual(data, 'Halló heimur!\\n')\n done()\n })\n\n stream.on('error', done)\n }).timeout(50000)\n\n it('should get file metadata', async () => {\n const metadata = await ifs().fileMetadata('/atm/test/hello_world.txt')\n assert.deepStrictEqual(metadata, {\n exists: true,\n length: 15,\n })\n })\n describe('list files', () => {\n it('should list files', async () => {\n const files = await ifs().listFiles('/atm/test')\n assert.ok(files.length > 0)\n })\n it('should return empty array for empty folder', async () => {\n const files = await ifs().listFiles('/atm/test/emptyFolder')\n assert.strictEqual(files.length, 0)\n })\n it('should return empty array for a folder that does not exist', async () => {\n const files = await ifs().listFiles('/atm/test/does-not-exist')\n assert.strictEqual(files.length, 0)\n })\n it('should return empty array if the folder is a file', async () => {\n const files = await ifs().listFiles('/atm/test/hello_world.txt')\n assert.strictEqual(files.length, 0)\n })\n })\n describe('move file', () => {\n it('should return true if the file exist', async () => {\n const res = await ifs().moveFile(\n '/atm/test/file-to-move.txt',\n '/atm/test/file-moved.txt',\n )\n assert.strictEqual(res, true)\n await ifs().moveFile(\n '/atm/test/file-moved.txt',\n '/atm/test/file-to-move.txt',\n )\n })\n it('should return false if the file does not exist', async () => {\n const res = await ifs().moveFile(\n '/atm/test/does-not-exist.txt',\n '/atm/test/does-not-exist2.txt',\n )\n assert.strictEqual(res, false)\n })\n })\n\n it('should get metadata for file that does not exists', async () => {\n const metadata = await ifs().fileMetadata(\n '/atm/test/___file_that_does_not_exists____.txt',\n )\n\n assert.deepStrictEqual(metadata, {\n exists: false,\n length: 0,\n })\n })\n\n it('should read filename promise', (done) => {\n const stream = ifs().createReadStream(\n Promise.resolve('/atm/test/hello_world.txt'),\n )\n let data = ''\n stream.on('data', (chunk) => {\n data += chunk\n })\n\n stream.on('end', () => {\n assert.strictEqual(data, 'Halló heimur!\\n')\n done()\n })\n\n stream.on('error', done)\n }).timeout(50000)\n\n it('should write file', (done) => {\n const rs = ifs().createReadStream('/atm/test/hello_world.txt')\n const ws = ifs().createWriteStream('/atm/test2/new_file.txt', {\n append: false,\n })\n\n rs.pipe(ws)\n .on('finish', () => {\n const stream = ifs().createReadStream('/atm/test2/new_file.txt')\n let data = ''\n stream.on('data', (chunk) => {\n data += chunk\n })\n\n stream.on('end', () => {\n assert.strictEqual(data, 'Halló heimur!\\n')\n done()\n /*\n ifs().deleteFile('/atm/test2/new_file.txt')\n .then((res) => {\n assert.strictEqual(res, true);\n done();\n })\n .catch(done);\n */\n })\n\n stream.on('error', done)\n })\n .on('error', done)\n }).timeout(5000)\n\n it('should pipe image', () => {\n const rs = ifs().createReadStream('/atm/test/image.jpg')\n const ws = ifs().createWriteStream('/atm/test2/image.jpg', {\n append: false,\n })\n\n rs.pipe(ws).on('finish', () => {\n const oldImage = ifs().createReadStream('/atm/test/image.jpg')\n const newImage = ifs().createReadStream('/atm/test2/image.jpg')\n\n return streamEqual(oldImage, newImage).then((equal) => {\n assert.strictEqual(equal, true)\n })\n })\n }).timeout(50000)\n})\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jt400 } from "./db.js";
|
|
2
|
+
import assert from "assert";
|
|
3
|
+
describe("MessageFileHandler", async function() {
|
|
4
|
+
it("should open a message file and read an id", async () => {
|
|
5
|
+
const file = await jt400.openMessageFile({ path: "/QSYS.LIB/QCPFMSG.MSGF" });
|
|
6
|
+
const msg = await file.read({ messageId: "CPF2105" });
|
|
7
|
+
const expectedText = "Object &1 in &2 type *&3 not found.";
|
|
8
|
+
const text = await msg.getText();
|
|
9
|
+
assert.strictEqual(text, expectedText);
|
|
10
|
+
}).timeout(5e3);
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=msgf-spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../ts-src/integration-test/msgf-spec.ts"],"sourcesContent":["import { jt400 } from './db.js'\nimport assert from 'assert'\n\ndescribe('MessageFileHandler', async function () {\n it('should open a message file and read an id', async () => {\n const file = await jt400.openMessageFile({ path: '/QSYS.LIB/QCPFMSG.MSGF' })\n const msg = await file.read({ messageId: 'CPF2105' })\n const expectedText = 'Object &1 in &2 type *&3 not found.'\n const text = await msg.getText()\n assert.strictEqual(text, expectedText)\n }).timeout(5000)\n})\n"],"mappings":"AAAA,SAAS,aAAa;AACtB,OAAO,YAAY;AAEnB,SAAS,sBAAsB,iBAAkB;AAC/C,KAAG,6CAA6C,YAAY;AAC1D,UAAM,OAAO,MAAM,MAAM,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,UAAM,MAAM,MAAM,KAAK,KAAK,EAAE,WAAW,UAAU,CAAC;AACpD,UAAM,eAAe;AACrB,UAAM,OAAO,MAAM,IAAI,QAAQ;AAC/B,WAAO,YAAY,MAAM,YAAY;AAAA,EACvC,CAAC,EAAE,QAAQ,GAAI;AACjB,CAAC;","names":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import assert from "assert";
|
|
2
|
+
import { jt400 } from "./db.js";
|
|
3
|
+
xdescribe("MessageQ", function() {
|
|
4
|
+
let msgq;
|
|
5
|
+
beforeEach(async () => {
|
|
6
|
+
msgq = await jt400.openMessageQ({
|
|
7
|
+
name: process.env.AS400_TEST_MESSAGE_Q || ""
|
|
8
|
+
});
|
|
9
|
+
const readnext = async () => {
|
|
10
|
+
const message = await msgq.read();
|
|
11
|
+
if (message) {
|
|
12
|
+
return readnext();
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
await readnext();
|
|
16
|
+
});
|
|
17
|
+
it("should open a message queue and write/read a message.", async () => {
|
|
18
|
+
const testMessage = "Test Message";
|
|
19
|
+
await msgq.sendInformational(testMessage);
|
|
20
|
+
assert.strictEqual(await msgq.read(), testMessage);
|
|
21
|
+
}).timeout(5e3);
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=msgq-spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../ts-src/integration-test/msgq-spec.ts"],"sourcesContent":["import assert from 'assert'\nimport { jt400 } from './db.js'\nxdescribe('MessageQ', function () {\n let msgq\n beforeEach(async () => {\n // Clear queue\n msgq = await jt400.openMessageQ({\n name: process.env.AS400_TEST_MESSAGE_Q || '',\n })\n\n const readnext = async () => {\n const message = await msgq.read()\n if (message) {\n return readnext()\n }\n }\n\n await readnext()\n })\n\n it('should open a message queue and write/read a message.', async () => {\n const testMessage = 'Test Message'\n await msgq.sendInformational(testMessage)\n assert.strictEqual(await msgq.read(), testMessage)\n }).timeout(5000)\n})\n"],"mappings":"AAAA,OAAO,YAAY;AACnB,SAAS,aAAa;AACtB,UAAU,YAAY,WAAY;AAChC,MAAI;AACJ,aAAW,YAAY;AAErB,WAAO,MAAM,MAAM,aAAa;AAAA,MAC9B,MAAM,QAAQ,IAAI,wBAAwB;AAAA,IAC5C,CAAC;AAED,UAAM,WAAW,YAAY;AAC3B,YAAM,UAAU,MAAM,KAAK,KAAK;AAChC,UAAI,SAAS;AACX,eAAO,SAAS;AAAA,MAClB;AAAA,IACF;AAEA,UAAM,SAAS;AAAA,EACjB,CAAC;AAED,KAAG,yDAAyD,YAAY;AACtE,UAAM,cAAc;AACpB,UAAM,KAAK,kBAAkB,WAAW;AACxC,WAAO,YAAY,MAAM,KAAK,KAAK,GAAG,WAAW;AAAA,EACnD,CAAC,EAAE,QAAQ,GAAI;AACjB,CAAC;","names":[]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
interface ResultStream {
|
|
2
2
|
close: () => Promise<void>;
|
|
3
3
|
read: () => Promise<string>;
|
|
4
4
|
}
|
|
5
|
-
|
|
5
|
+
interface StatementWrap {
|
|
6
|
+
prepare: (sql: string) => Promise<void>;
|
|
6
7
|
isQuerySync: () => boolean;
|
|
7
8
|
close: () => Promise<void>;
|
|
8
9
|
updated: () => Promise<number>;
|
|
@@ -11,12 +12,12 @@ export interface StatementWrap {
|
|
|
11
12
|
asArray: () => Promise<string>;
|
|
12
13
|
next: () => Promise<string>;
|
|
13
14
|
}
|
|
14
|
-
|
|
15
|
+
interface TablesReadStream {
|
|
15
16
|
close: () => Promise<void>;
|
|
16
17
|
read: () => Promise<string>;
|
|
17
18
|
getMetaData: () => Promise<string>;
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
+
interface JDBCConnection {
|
|
20
21
|
query: (sql: string, jsonParams: string, trim: boolean) => Promise<string>;
|
|
21
22
|
queryAsStream: (sql: string, jsonParams: string, bufferSize: number) => Promise<ResultStream>;
|
|
22
23
|
execute: (sql: string, jsonParams: string) => Promise<StatementWrap>;
|
|
@@ -25,42 +26,50 @@ export interface JDBCConnection {
|
|
|
25
26
|
update: (sql: string, jsonParams: string) => Promise<number>;
|
|
26
27
|
batchUpdate: (sql: string, jsonParams: string) => Promise<number[]>;
|
|
27
28
|
insertAndGetId: (sql: string, jsonParams: string) => Promise<number>;
|
|
29
|
+
commit: () => Promise<void>;
|
|
30
|
+
rollback: () => Promise<void>;
|
|
31
|
+
createStatement: () => Promise<StatementWrap>;
|
|
32
|
+
queryAsCursor: (sql: string, jsonParams: string, fetchSize: number, trim: boolean) => Promise<CursorWrap>;
|
|
33
|
+
}
|
|
34
|
+
interface CursorWrap {
|
|
35
|
+
next: () => Promise<string>;
|
|
36
|
+
close: () => Promise<void>;
|
|
28
37
|
}
|
|
29
|
-
|
|
38
|
+
interface Transaction extends JDBCConnection {
|
|
30
39
|
commit: () => Promise<void>;
|
|
31
40
|
rollback: () => Promise<void>;
|
|
32
41
|
end: () => Promise<void>;
|
|
33
42
|
}
|
|
34
|
-
|
|
43
|
+
interface Pgm {
|
|
35
44
|
run: (jsonParams: string, timeout: number) => Promise<string>;
|
|
36
45
|
}
|
|
37
|
-
|
|
46
|
+
interface MessageQ {
|
|
38
47
|
read: (wait: number) => Promise<string>;
|
|
39
48
|
sendInformational: (message: string) => Promise<void>;
|
|
40
49
|
}
|
|
41
|
-
|
|
50
|
+
interface KeyedDataQueueResponse {
|
|
42
51
|
getData: () => Promise<string>;
|
|
43
52
|
write: (data: string) => Promise<void>;
|
|
44
53
|
}
|
|
45
|
-
|
|
54
|
+
interface KeyedDataQ {
|
|
46
55
|
read: (key: string, wait: number) => Promise<string>;
|
|
47
56
|
readResponse: (key: string, wait: number, writeKeyLength: number) => Promise<KeyedDataQueueResponse>;
|
|
48
57
|
write: (key: string, data: string) => Promise<void>;
|
|
49
58
|
}
|
|
50
|
-
|
|
59
|
+
interface AS400Message {
|
|
51
60
|
getText: () => Promise<string>;
|
|
52
61
|
}
|
|
53
|
-
|
|
62
|
+
interface MessageFileHandler {
|
|
54
63
|
read: (messageId: string) => Promise<AS400Message>;
|
|
55
64
|
}
|
|
56
|
-
|
|
65
|
+
interface IfsReadStream {
|
|
57
66
|
read: () => Promise<Buffer>;
|
|
58
67
|
}
|
|
59
|
-
|
|
68
|
+
interface IfsWriteStream {
|
|
60
69
|
write: (data: Buffer) => Promise<void>;
|
|
61
70
|
flush: () => Promise<void>;
|
|
62
71
|
}
|
|
63
|
-
|
|
72
|
+
interface JT400 extends JDBCConnection {
|
|
64
73
|
createTransactionSync: () => Transaction;
|
|
65
74
|
getPrimaryKeys: (catalog: string, schema: string, table: string) => Promise<string>;
|
|
66
75
|
pgmSync: (programName: string, paramsSchemaJsonStr: string, libraryName?: string, ccsid?: number) => Pgm;
|
|
@@ -75,3 +84,5 @@ export interface JT400 extends JDBCConnection {
|
|
|
75
84
|
getIfsFileMetadata: (fileName: string) => Promise<string>;
|
|
76
85
|
close: () => Promise<void>;
|
|
77
86
|
}
|
|
87
|
+
|
|
88
|
+
export type { AS400Message, CursorWrap, IfsReadStream, IfsWriteStream, JDBCConnection, JT400, KeyedDataQ, KeyedDataQueueResponse, MessageFileHandler, MessageQ, Pgm, ResultStream, StatementWrap, TablesReadStream, Transaction };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=JT400.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { JT400 } from './JT400.js';
|
|
2
|
+
|
|
3
|
+
interface JavaBridge {
|
|
4
|
+
createConnection: (config: string) => Promise<JT400>;
|
|
5
|
+
createPool: (config: string) => JT400;
|
|
6
|
+
createInMemoryConnection: () => JT400;
|
|
7
|
+
}
|
|
8
|
+
declare const initJavaBridge: () => JavaBridge;
|
|
9
|
+
|
|
10
|
+
export { type JavaBridge, initJavaBridge };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
var getFilename = () => fileURLToPath(import.meta.url);
|
|
4
|
+
var getDirname = () => path.dirname(getFilename());
|
|
5
|
+
var __dirname = /* @__PURE__ */ getDirname();
|
|
6
|
+
var __filename = /* @__PURE__ */ getFilename();
|
|
7
|
+
import java from "java-bridge";
|
|
8
|
+
import { join as joinPath } from "path";
|
|
9
|
+
const initJavaBridge = () => {
|
|
10
|
+
const JAR_DIR = joinPath(__dirname, "/../../java/lib");
|
|
11
|
+
java.appendClasspath([
|
|
12
|
+
joinPath(JAR_DIR, "jt400.jar"),
|
|
13
|
+
joinPath(JAR_DIR, "jt400wrap.jar"),
|
|
14
|
+
joinPath(JAR_DIR, "json-simple-1.1.1.jar"),
|
|
15
|
+
joinPath(JAR_DIR, "hsqldb.jar")
|
|
16
|
+
]);
|
|
17
|
+
java.ensureJvm({
|
|
18
|
+
opts: [
|
|
19
|
+
"-Xrs",
|
|
20
|
+
"-Dcom.ibm.as400.access.AS400.guiAvailable=false",
|
|
21
|
+
"--enable-native-access=ALL-UNNAMED"
|
|
22
|
+
]
|
|
23
|
+
});
|
|
24
|
+
const JT400Class = java.importClass("nodejt400.JT400");
|
|
25
|
+
const HsqlClientClass = java.importClass("nodejt400.HsqlClient");
|
|
26
|
+
return {
|
|
27
|
+
createConnection: (config) => JT400Class.createConnection(config),
|
|
28
|
+
// async
|
|
29
|
+
createPool: (config) => JT400Class.createPoolSync(config),
|
|
30
|
+
// sync si tu wrapper lo expone
|
|
31
|
+
createInMemoryConnection: () => {
|
|
32
|
+
const instance = new HsqlClientClass();
|
|
33
|
+
return instance;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
export {
|
|
38
|
+
initJavaBridge
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../node_modules/tsup/assets/esm_shims.js","../../ts-src/java/index.ts"],"sourcesContent":["// Shim globals in esm bundle\nimport path from 'node:path'\nimport { fileURLToPath } from 'node:url'\n\nconst getFilename = () => fileURLToPath(import.meta.url)\nconst getDirname = () => path.dirname(getFilename())\n\nexport const __dirname = /* @__PURE__ */ getDirname()\nexport const __filename = /* @__PURE__ */ getFilename()\n","// src/common/libs/jt400/javaBridge.ts\nimport java from 'java-bridge'\nimport { join as joinPath } from 'path'\nimport type { JT400 } from './JT400.js'\n\nexport interface JavaBridge {\n createConnection: (config: string) => Promise<JT400>\n createPool: (config: string) => JT400\n createInMemoryConnection: () => JT400\n}\n\nexport const initJavaBridge = (): JavaBridge => {\n const JAR_DIR = joinPath(__dirname, '/../../java/lib')\n\n java.appendClasspath([\n joinPath(JAR_DIR, 'jt400.jar'),\n joinPath(JAR_DIR, 'jt400wrap.jar'),\n joinPath(JAR_DIR, 'json-simple-1.1.1.jar'),\n joinPath(JAR_DIR, 'hsqldb.jar'),\n ])\n\n // Opciones JVM (esto te funcionó)\n java.ensureJvm({\n opts: [\n '-Xrs',\n '-Dcom.ibm.as400.access.AS400.guiAvailable=false',\n '--enable-native-access=ALL-UNNAMED',\n ],\n })\n\n // Clases del wrapper Java\n const JT400Class = java.importClass('nodejt400.JT400')\n const HsqlClientClass = java.importClass('nodejt400.HsqlClient')\n\n return {\n createConnection: (config: string) =>\n JT400Class.createConnection(config) as Promise<JT400>, // async\n createPool: (config: string) => JT400Class.createPoolSync(config) as JT400, // sync si tu wrapper lo expone\n createInMemoryConnection: () => {\n // En java-bridge se instancia con `new`\n const instance = new HsqlClientClass()\n return instance as unknown as JT400\n },\n }\n}\n\n// export const initNewJavaBridge = (): JavaBridge => {\n// ensureJvm({\n// // This option should not have any effect when not using electron or not having the application packaged.\n// // https://github.com/MarkusJx/node-java-bridge?tab=readme-ov-file#notes-on-electron\n// isPackagedElectron: true,\n\n// opts: [\n// '-Xrs',\n// '-Dcom.ibm.as400.access.AS400.guiAvailable=false', // Removes gui prompts\n// ],\n// })\n// appendClasspath(\n// ['jt400.jar', 'jt400wrap.jar', 'json-simple-1.1.1.jar', 'hsqldb.jar'].map(\n// (jar) => joinPath(currentDir, '/../../java/lib/', jar)\n// )\n// )\n\n// const JT400Class = importClass('nodejt400.JT400')\n// return {\n// createConnection: (config: string) => JT400Class.createConnection(config),\n// createInMemoryConnection: () => {\n// const HsqlClientClass = importClass('nodejt400.HsqlClient')\n// const instance: any = new HsqlClientClass()\n// return instance\n// },\n// createPool: (config: string) => JT400Class.createPoolSync(config),\n// bufferToJavaType: (buffer: Buffer) => buffer,\n// javaTypeToBuffer: (javaType: any) => javaType,\n// }\n// }\n"],"mappings":"AACA,OAAO,UAAU;AACjB,SAAS,qBAAqB;AAE9B,IAAM,cAAc,MAAM,cAAc,YAAY,GAAG;AACvD,IAAM,aAAa,MAAM,KAAK,QAAQ,YAAY,CAAC;AAE5C,IAAM,YAA4B,2BAAW;AAC7C,IAAM,aAA6B,4BAAY;ACPtD,OAAO,UAAU;AACjB,SAAS,QAAQ,gBAAgB;AAS1B,MAAM,iBAAiB,MAAkB;AAC9C,QAAM,UAAU,SAAS,WAAW,iBAAiB;AAErD,OAAK,gBAAgB;AAAA,IACnB,SAAS,SAAS,WAAW;AAAA,IAC7B,SAAS,SAAS,eAAe;AAAA,IACjC,SAAS,SAAS,uBAAuB;AAAA,IACzC,SAAS,SAAS,YAAY;AAAA,EAChC,CAAC;AAGD,OAAK,UAAU;AAAA,IACb,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AAGD,QAAM,aAAa,KAAK,YAAY,iBAAiB;AACrD,QAAM,kBAAkB,KAAK,YAAY,sBAAsB;AAE/D,SAAO;AAAA,IACL,kBAAkB,CAAC,WACjB,WAAW,iBAAiB,MAAM;AAAA;AAAA,IACpC,YAAY,CAAC,WAAmB,WAAW,eAAe,MAAM;AAAA;AAAA,IAChE,0BAA0B,MAAM;AAE9B,YAAM,WAAW,IAAI,gBAAgB;AACrC,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { JDBCConnection } from '../java/JT400.js';
|
|
2
|
+
import { BaseConnection } from './baseConnection.types.js';
|
|
3
|
+
import { CreateInsertList } from './insertList.js';
|
|
4
|
+
import { Logger } from './logger.js';
|
|
5
|
+
import 'stream';
|
|
6
|
+
|
|
7
|
+
declare const createBaseConnection: (jdbcConnection: JDBCConnection, insertListFun: CreateInsertList, logger: Logger, inMemory: boolean) => BaseConnection;
|
|
8
|
+
|
|
9
|
+
export { createBaseConnection };
|