@nesgarbo/node-jt400 5.4.3 → 6.0.1
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 +79 -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 +57 -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 +301 -0
- package/dist-cjs/lib/baseConnection.js.map +1 -0
- package/dist-cjs/lib/baseConnection.types.d.cts +56 -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 +16 -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 +278 -0
- package/dist-esm/lib/baseConnection.js.map +1 -0
- package/dist-esm/lib/baseConnection.types.d.ts +56 -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,57 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var java_exports = {};
|
|
19
|
+
__export(java_exports, {
|
|
20
|
+
initJavaBridge: () => initJavaBridge
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(java_exports);
|
|
23
|
+
var import_java_bridge = require("java-bridge");
|
|
24
|
+
var import_path = require("path");
|
|
25
|
+
const initJavaBridge = () => {
|
|
26
|
+
const JAR_DIR = (0, import_path.join)(__dirname, "/../../java/lib");
|
|
27
|
+
(0, import_java_bridge.appendClasspath)([
|
|
28
|
+
(0, import_path.join)(JAR_DIR, "jt400.jar"),
|
|
29
|
+
(0, import_path.join)(JAR_DIR, "jt400wrap.jar"),
|
|
30
|
+
(0, import_path.join)(JAR_DIR, "json-simple-1.1.1.jar"),
|
|
31
|
+
(0, import_path.join)(JAR_DIR, "hsqldb.jar")
|
|
32
|
+
]);
|
|
33
|
+
(0, import_java_bridge.ensureJvm)({
|
|
34
|
+
opts: [
|
|
35
|
+
"-Xrs",
|
|
36
|
+
"-Dcom.ibm.as400.access.AS400.guiAvailable=false",
|
|
37
|
+
"--enable-native-access=ALL-UNNAMED"
|
|
38
|
+
]
|
|
39
|
+
});
|
|
40
|
+
const JT400Class = (0, import_java_bridge.importClass)("nodejt400.JT400");
|
|
41
|
+
const HsqlClientClass = (0, import_java_bridge.importClass)("nodejt400.HsqlClient");
|
|
42
|
+
return {
|
|
43
|
+
createConnection: (config) => JT400Class.createConnection(config),
|
|
44
|
+
// async
|
|
45
|
+
createPool: (config) => JT400Class.createPoolSync(config),
|
|
46
|
+
// sync si tu wrapper lo expone
|
|
47
|
+
createInMemoryConnection: () => {
|
|
48
|
+
const instance = new HsqlClientClass();
|
|
49
|
+
return instance;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
54
|
+
0 && (module.exports = {
|
|
55
|
+
initJavaBridge
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../ts-src/java/index.ts"],"sourcesContent":["// src/common/libs/jt400/javaBridge.ts\nimport { appendClasspath, ensureJvm, importClass } from 'java-bridge'\nimport { join as joinPath } from 'path'\nimport type { JT400 } from './JT400'\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 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 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: any = importClass('nodejt400.JT400')\n const HsqlClientClass: any = 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 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":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,yBAAwD;AACxD,kBAAiC;AAS1B,MAAM,iBAAiB,MAAkB;AAC9C,QAAM,cAAU,YAAAA,MAAS,WAAW,iBAAiB;AAErD,0CAAgB;AAAA,QACd,YAAAA,MAAS,SAAS,WAAW;AAAA,QAC7B,YAAAA,MAAS,SAAS,eAAe;AAAA,QACjC,YAAAA,MAAS,SAAS,uBAAuB;AAAA,QACzC,YAAAA,MAAS,SAAS,YAAY;AAAA,EAChC,CAAC;AAGD,oCAAU;AAAA,IACR,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AAGD,QAAM,iBAAkB,gCAAY,iBAAiB;AACrD,QAAM,sBAAuB,gCAAY,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":["joinPath"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { JDBCConnection } from '../java/JT400.cjs';
|
|
2
|
+
import { BaseConnection } from './baseConnection.types.cjs';
|
|
3
|
+
import { CreateInsertList } from './insertList.cjs';
|
|
4
|
+
import { Logger } from './logger.cjs';
|
|
5
|
+
import 'stream';
|
|
6
|
+
|
|
7
|
+
declare const createBaseConnection: (jdbcConnection: JDBCConnection, insertListFun: CreateInsertList, logger: Logger, inMemory: boolean) => BaseConnection;
|
|
8
|
+
|
|
9
|
+
export { createBaseConnection };
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var baseConnection_exports = {};
|
|
19
|
+
__export(baseConnection_exports, {
|
|
20
|
+
createBaseConnection: () => createBaseConnection
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(baseConnection_exports);
|
|
23
|
+
var import_JSONStream = require("JSONStream");
|
|
24
|
+
var import_handleError = require("./handleError.js");
|
|
25
|
+
var import_jdbcstream = require("./jdbcstream.js");
|
|
26
|
+
var import_jdbcwritestream = require("./jdbcwritestream.js");
|
|
27
|
+
var import_streamTransformers = require("./streamTransformers.js");
|
|
28
|
+
function convertDateValues(v) {
|
|
29
|
+
return v instanceof Date ? v.toISOString().replace("T", " ").replace("Z", "") : v;
|
|
30
|
+
}
|
|
31
|
+
function paramsToJson(params) {
|
|
32
|
+
return JSON.stringify((params || []).map(convertDateValues));
|
|
33
|
+
}
|
|
34
|
+
const createBaseConnection = function(jdbcConnection, insertListFun, logger, inMemory) {
|
|
35
|
+
const baseConnection = {
|
|
36
|
+
query(sql, params = [], options) {
|
|
37
|
+
const jsonParams = paramsToJson(params);
|
|
38
|
+
const trim = options && options.trim !== void 0 ? options.trim : true;
|
|
39
|
+
logger.debug(
|
|
40
|
+
{ sql, state: "starting", parameterCount: params.length },
|
|
41
|
+
"Executing IBMI DB query"
|
|
42
|
+
);
|
|
43
|
+
const startTime = process.hrtime.bigint();
|
|
44
|
+
return jdbcConnection.query(sql, jsonParams, trim).then(JSON.parse).then((result) => {
|
|
45
|
+
logger.info(
|
|
46
|
+
{
|
|
47
|
+
sql,
|
|
48
|
+
state: "finished",
|
|
49
|
+
duration: Number(process.hrtime.bigint() - startTime),
|
|
50
|
+
parameterCount: params.length,
|
|
51
|
+
resultSize: result.length
|
|
52
|
+
},
|
|
53
|
+
"IBMI DB query executed"
|
|
54
|
+
);
|
|
55
|
+
return result;
|
|
56
|
+
}).catch((0, import_handleError.handleError)({ sql, params }));
|
|
57
|
+
},
|
|
58
|
+
createReadStream(sql, params = []) {
|
|
59
|
+
const jsonParams = paramsToJson(params);
|
|
60
|
+
logger.debug(
|
|
61
|
+
{ sql, state: "starting", parameterCount: params.length },
|
|
62
|
+
"Executing IBMI DB query as stream"
|
|
63
|
+
);
|
|
64
|
+
const startTime = process.hrtime.bigint();
|
|
65
|
+
const stream = new import_jdbcstream.JdbcStream({
|
|
66
|
+
jdbcStreamPromise: jdbcConnection.queryAsStream(sql, jsonParams, 100).catch((0, import_handleError.handleError)({ sql, params }))
|
|
67
|
+
});
|
|
68
|
+
stream.on("end", () => {
|
|
69
|
+
logger.info(
|
|
70
|
+
{
|
|
71
|
+
sql,
|
|
72
|
+
state: "finished",
|
|
73
|
+
duration: Number(process.hrtime.bigint() - startTime),
|
|
74
|
+
parameterCount: params.length
|
|
75
|
+
},
|
|
76
|
+
"IBMI DB query as stream ended"
|
|
77
|
+
);
|
|
78
|
+
});
|
|
79
|
+
return stream;
|
|
80
|
+
},
|
|
81
|
+
execute(sql, params = []) {
|
|
82
|
+
const jsonParams = paramsToJson(params);
|
|
83
|
+
logger.debug(
|
|
84
|
+
{ sql, state: "starting", parameterCount: params.length },
|
|
85
|
+
"Executing IBMI DB sql statement"
|
|
86
|
+
);
|
|
87
|
+
return jdbcConnection.execute(sql, jsonParams).then((statement) => {
|
|
88
|
+
const isQuery = statement.isQuerySync();
|
|
89
|
+
let stream;
|
|
90
|
+
const stWrap = {
|
|
91
|
+
isQuery() {
|
|
92
|
+
return isQuery;
|
|
93
|
+
},
|
|
94
|
+
metadata() {
|
|
95
|
+
return statement.getMetaData().then(JSON.parse);
|
|
96
|
+
},
|
|
97
|
+
asArray() {
|
|
98
|
+
const startTime = process.hrtime.bigint();
|
|
99
|
+
return statement.asArray().then(JSON.parse).then((result) => {
|
|
100
|
+
logger.info(
|
|
101
|
+
{
|
|
102
|
+
sql,
|
|
103
|
+
state: "finished",
|
|
104
|
+
duration: Number(process.hrtime.bigint() - startTime),
|
|
105
|
+
parameterCount: params.length,
|
|
106
|
+
resultSize: result.length
|
|
107
|
+
},
|
|
108
|
+
"IBMI DB query executed"
|
|
109
|
+
);
|
|
110
|
+
return result;
|
|
111
|
+
});
|
|
112
|
+
},
|
|
113
|
+
asStream(options) {
|
|
114
|
+
const startTime = process.hrtime.bigint();
|
|
115
|
+
options = options || {};
|
|
116
|
+
stream = new import_jdbcstream.JdbcStream({
|
|
117
|
+
jdbcStream: statement.asStreamSync(options.bufferSize || 100)
|
|
118
|
+
});
|
|
119
|
+
stream.on("end", () => {
|
|
120
|
+
logger.info(
|
|
121
|
+
{
|
|
122
|
+
sql,
|
|
123
|
+
state: "finished",
|
|
124
|
+
duration: Number(process.hrtime.bigint() - startTime),
|
|
125
|
+
parameterCount: params.length
|
|
126
|
+
},
|
|
127
|
+
"IBMI DB query as stream ended"
|
|
128
|
+
);
|
|
129
|
+
});
|
|
130
|
+
return stream;
|
|
131
|
+
},
|
|
132
|
+
asObjectStream(options) {
|
|
133
|
+
const startTime = process.hrtime.bigint();
|
|
134
|
+
options = options || {};
|
|
135
|
+
const parseJSON = (0, import_JSONStream.parse)("*");
|
|
136
|
+
return statement.getMetaData().then(JSON.parse).then((metadata) => {
|
|
137
|
+
const transformArrayToObject = (0, import_streamTransformers.arrayToObject)(metadata);
|
|
138
|
+
stream = new import_jdbcstream.JdbcStream({
|
|
139
|
+
jdbcStream: statement.asStreamSync(
|
|
140
|
+
options.bufferSize || 100
|
|
141
|
+
)
|
|
142
|
+
});
|
|
143
|
+
stream.on("end", () => {
|
|
144
|
+
logger.info(
|
|
145
|
+
{
|
|
146
|
+
sql,
|
|
147
|
+
state: "finished",
|
|
148
|
+
duration: Number(process.hrtime.bigint() - startTime),
|
|
149
|
+
parameterCount: params.length
|
|
150
|
+
},
|
|
151
|
+
"IBMI DB query as object stream ended"
|
|
152
|
+
);
|
|
153
|
+
});
|
|
154
|
+
return stream.pipe(parseJSON).pipe(transformArrayToObject);
|
|
155
|
+
});
|
|
156
|
+
},
|
|
157
|
+
asIterable() {
|
|
158
|
+
const startTime = process.hrtime.bigint();
|
|
159
|
+
return {
|
|
160
|
+
[Symbol.asyncIterator]() {
|
|
161
|
+
return {
|
|
162
|
+
async next() {
|
|
163
|
+
return statement.next().then(JSON.parse).then((value) => {
|
|
164
|
+
const done = !value;
|
|
165
|
+
if (done) {
|
|
166
|
+
logger.info(
|
|
167
|
+
{
|
|
168
|
+
sql,
|
|
169
|
+
state: "finished",
|
|
170
|
+
duration: Number(
|
|
171
|
+
process.hrtime.bigint() - startTime
|
|
172
|
+
),
|
|
173
|
+
parameterCount: jsonParams.length
|
|
174
|
+
},
|
|
175
|
+
"IBMI DB query as iterable executed"
|
|
176
|
+
);
|
|
177
|
+
}
|
|
178
|
+
return {
|
|
179
|
+
done,
|
|
180
|
+
value
|
|
181
|
+
};
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
},
|
|
188
|
+
updated() {
|
|
189
|
+
return statement.updated();
|
|
190
|
+
},
|
|
191
|
+
close() {
|
|
192
|
+
if (stream) {
|
|
193
|
+
stream.close();
|
|
194
|
+
} else {
|
|
195
|
+
return statement.close();
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
return stWrap;
|
|
200
|
+
}).catch((0, import_handleError.handleError)({ sql, params }));
|
|
201
|
+
},
|
|
202
|
+
update(sql, params = []) {
|
|
203
|
+
const jsonParams = paramsToJson(params);
|
|
204
|
+
logger.info(
|
|
205
|
+
{ sql, state: "starting", parameterCount: params.length },
|
|
206
|
+
"Executing IBMI DB update"
|
|
207
|
+
);
|
|
208
|
+
const startTime = process.hrtime.bigint();
|
|
209
|
+
return jdbcConnection.update(sql, jsonParams).then((result) => {
|
|
210
|
+
logger.info(
|
|
211
|
+
{
|
|
212
|
+
sql,
|
|
213
|
+
state: "finished",
|
|
214
|
+
duration: Number(process.hrtime.bigint() - startTime),
|
|
215
|
+
parameterCount: params.length,
|
|
216
|
+
result
|
|
217
|
+
},
|
|
218
|
+
"IBMI DB update executed"
|
|
219
|
+
);
|
|
220
|
+
return result;
|
|
221
|
+
}).catch((0, import_handleError.handleError)({ sql, params }));
|
|
222
|
+
},
|
|
223
|
+
createWriteStream(sql, options) {
|
|
224
|
+
logger.debug({ sql, state: "starting" }, "Executing IBMI DB write stream");
|
|
225
|
+
const startTime = process.hrtime.bigint();
|
|
226
|
+
const stream = (0, import_jdbcwritestream.createJdbcWriteStream)(
|
|
227
|
+
baseConnection.batchUpdate,
|
|
228
|
+
sql,
|
|
229
|
+
options && options.bufferSize
|
|
230
|
+
);
|
|
231
|
+
stream.on("finish", () => {
|
|
232
|
+
logger.info(
|
|
233
|
+
{
|
|
234
|
+
sql,
|
|
235
|
+
state: "finished",
|
|
236
|
+
duration: Number(process.hrtime.bigint() - startTime)
|
|
237
|
+
},
|
|
238
|
+
"IBMI DB write stream ended"
|
|
239
|
+
);
|
|
240
|
+
});
|
|
241
|
+
return stream;
|
|
242
|
+
},
|
|
243
|
+
batchUpdate(sql, paramsList) {
|
|
244
|
+
const params = (paramsList || []).map((row) => {
|
|
245
|
+
return row.map(convertDateValues);
|
|
246
|
+
});
|
|
247
|
+
const jsonParams = JSON.stringify(params);
|
|
248
|
+
logger.info(
|
|
249
|
+
{ sql, state: "starting", parameterCount: params.length },
|
|
250
|
+
"Executing IBMI DB batch update"
|
|
251
|
+
);
|
|
252
|
+
const startTime = process.hrtime.bigint();
|
|
253
|
+
return jdbcConnection.batchUpdate(sql, jsonParams).then((res) => {
|
|
254
|
+
const result = Array.from(res);
|
|
255
|
+
logger.info(
|
|
256
|
+
{
|
|
257
|
+
sql,
|
|
258
|
+
state: "finished",
|
|
259
|
+
duration: Number(process.hrtime.bigint() - startTime),
|
|
260
|
+
parameterCount: params.length,
|
|
261
|
+
result
|
|
262
|
+
},
|
|
263
|
+
"IBMI DB batch update executed"
|
|
264
|
+
);
|
|
265
|
+
return result;
|
|
266
|
+
}).catch((0, import_handleError.handleError)({ sql, params }));
|
|
267
|
+
},
|
|
268
|
+
insertAndGetId(sql, params = []) {
|
|
269
|
+
const jsonParams = paramsToJson(params);
|
|
270
|
+
logger.info(
|
|
271
|
+
{ sql, state: "starting", parameterCount: params.length },
|
|
272
|
+
"Executing IBMI DB insert and get id"
|
|
273
|
+
);
|
|
274
|
+
const startTime = process.hrtime.bigint();
|
|
275
|
+
return jdbcConnection.insertAndGetId(sql, jsonParams).then((result) => {
|
|
276
|
+
logger.info(
|
|
277
|
+
{
|
|
278
|
+
sql,
|
|
279
|
+
state: "finished",
|
|
280
|
+
duration: Number(process.hrtime.bigint() - startTime),
|
|
281
|
+
parameterCount: params.length
|
|
282
|
+
},
|
|
283
|
+
"IBMI DB insert and get id executed"
|
|
284
|
+
);
|
|
285
|
+
return result;
|
|
286
|
+
}).catch((0, import_handleError.handleError)({ sql, params }));
|
|
287
|
+
},
|
|
288
|
+
insertList(tableName, idColumn, list) {
|
|
289
|
+
return insertListFun(baseConnection)(tableName, idColumn, list);
|
|
290
|
+
},
|
|
291
|
+
isInMemory() {
|
|
292
|
+
return inMemory;
|
|
293
|
+
}
|
|
294
|
+
};
|
|
295
|
+
return baseConnection;
|
|
296
|
+
};
|
|
297
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
298
|
+
0 && (module.exports = {
|
|
299
|
+
createBaseConnection
|
|
300
|
+
});
|
|
301
|
+
//# sourceMappingURL=baseConnection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../ts-src/lib/baseConnection.ts"],"sourcesContent":["import { parse } from 'JSONStream'\nimport { JDBCConnection } from '../java/JT400.js'\nimport { BaseConnection, Param } from './baseConnection.types.js'\nimport { handleError } from './handleError.js'\nimport { CreateInsertList } from './insertList.js'\nimport { JdbcStream } from './jdbcstream.js'\nimport { createJdbcWriteStream } from './jdbcwritestream.js'\nimport { Logger } from './logger.js'\nimport { arrayToObject } from './streamTransformers.js'\n\nfunction convertDateValues(v: any) {\n return v instanceof Date\n ? v.toISOString().replace('T', ' ').replace('Z', '')\n : v\n}\n\nfunction paramsToJson(params: Param[]) {\n return JSON.stringify((params || []).map(convertDateValues))\n}\n\nexport const createBaseConnection = function (\n jdbcConnection: JDBCConnection,\n insertListFun: CreateInsertList,\n logger: Logger,\n inMemory: boolean,\n): BaseConnection {\n const baseConnection: BaseConnection = {\n query(sql, params = [], options) {\n const jsonParams = paramsToJson(params)\n\n // Sending default options to java\n const trim = options && options.trim !== undefined ? options.trim : true\n logger.debug(\n { sql, state: 'starting', parameterCount: params.length },\n 'Executing IBMI DB query',\n )\n const startTime = process.hrtime.bigint()\n return jdbcConnection\n .query(sql, jsonParams, trim)\n .then(JSON.parse)\n .then((result: any[]) => {\n logger.info(\n {\n sql,\n state: 'finished',\n duration: Number(process.hrtime.bigint() - startTime),\n parameterCount: params.length,\n resultSize: result.length,\n },\n 'IBMI DB query executed',\n )\n return result\n })\n .catch(handleError({ sql, params }))\n },\n\n createReadStream(sql, params = []) {\n const jsonParams = paramsToJson(params)\n logger.debug(\n { sql, state: 'starting', parameterCount: params.length },\n 'Executing IBMI DB query as stream',\n )\n const startTime = process.hrtime.bigint()\n const stream = new JdbcStream({\n jdbcStreamPromise: jdbcConnection\n .queryAsStream(sql, jsonParams, 100)\n .catch(handleError({ sql, params })),\n })\n stream.on('end', () => {\n logger.info(\n {\n sql,\n state: 'finished',\n duration: Number(process.hrtime.bigint() - startTime),\n parameterCount: params.length,\n },\n 'IBMI DB query as stream ended',\n )\n })\n return stream\n },\n\n execute(sql, params = []) {\n const jsonParams = paramsToJson(params)\n logger.debug(\n { sql, state: 'starting', parameterCount: params.length },\n 'Executing IBMI DB sql statement',\n )\n return jdbcConnection\n .execute(sql, jsonParams)\n .then((statement) => {\n const isQuery = statement.isQuerySync()\n let stream\n const stWrap = {\n isQuery() {\n return isQuery\n },\n metadata() {\n return statement.getMetaData().then(JSON.parse)\n },\n asArray() {\n const startTime = process.hrtime.bigint()\n return statement\n .asArray()\n .then(JSON.parse)\n .then((result: any[]) => {\n logger.info(\n {\n sql,\n state: 'finished',\n duration: Number(process.hrtime.bigint() - startTime),\n parameterCount: params.length,\n resultSize: result.length,\n },\n 'IBMI DB query executed',\n )\n return result\n })\n },\n asStream(options) {\n const startTime = process.hrtime.bigint()\n options = options || {}\n stream = new JdbcStream({\n jdbcStream: statement.asStreamSync(options.bufferSize || 100),\n })\n stream.on('end', () => {\n logger.info(\n {\n sql,\n state: 'finished',\n duration: Number(process.hrtime.bigint() - startTime),\n parameterCount: params.length,\n },\n 'IBMI DB query as stream ended',\n )\n })\n return stream\n },\n asObjectStream(options) {\n const startTime = process.hrtime.bigint()\n options = options || {}\n const parseJSON = parse('*')\n\n return statement\n .getMetaData()\n .then(JSON.parse)\n .then((metadata) => {\n const transformArrayToObject = arrayToObject(metadata)\n stream = new JdbcStream({\n jdbcStream: statement.asStreamSync(\n options.bufferSize || 100,\n ),\n })\n stream.on('end', () => {\n logger.info(\n {\n sql,\n state: 'finished',\n duration: Number(process.hrtime.bigint() - startTime),\n parameterCount: params.length,\n },\n 'IBMI DB query as object stream ended',\n )\n })\n\n return stream.pipe(parseJSON).pipe(transformArrayToObject)\n })\n },\n asIterable() {\n const startTime = process.hrtime.bigint()\n return {\n [Symbol.asyncIterator]() {\n return {\n async next() {\n return statement\n .next()\n .then(JSON.parse)\n .then((value) => {\n const done = !value\n if (done) {\n logger.info(\n {\n sql,\n state: 'finished',\n duration: Number(\n process.hrtime.bigint() - startTime,\n ),\n parameterCount: jsonParams.length,\n },\n 'IBMI DB query as iterable executed',\n )\n }\n return {\n done,\n value,\n }\n })\n },\n }\n },\n }\n },\n updated() {\n return statement.updated()\n },\n close() {\n if (stream) {\n stream.close()\n } else {\n return statement.close()\n }\n },\n }\n return stWrap\n })\n .catch(handleError({ sql, params }))\n },\n update(sql, params = []) {\n const jsonParams = paramsToJson(params)\n logger.info(\n { sql, state: 'starting', parameterCount: params.length },\n 'Executing IBMI DB update',\n )\n const startTime = process.hrtime.bigint()\n return jdbcConnection\n .update(sql, jsonParams)\n .then((result) => {\n logger.info(\n {\n sql,\n state: 'finished',\n duration: Number(process.hrtime.bigint() - startTime),\n parameterCount: params.length,\n result,\n },\n 'IBMI DB update executed',\n )\n return result\n })\n .catch(handleError({ sql, params }))\n },\n\n createWriteStream(sql, options) {\n logger.debug({ sql, state: 'starting' }, 'Executing IBMI DB write stream')\n const startTime = process.hrtime.bigint()\n const stream = createJdbcWriteStream(\n baseConnection.batchUpdate,\n sql,\n options && options.bufferSize,\n )\n stream.on('finish', () => {\n logger.info(\n {\n sql,\n state: 'finished',\n duration: Number(process.hrtime.bigint() - startTime),\n },\n 'IBMI DB write stream ended',\n )\n })\n return stream\n },\n\n batchUpdate(sql, paramsList) {\n const params = (paramsList || []).map((row) => {\n return row.map(convertDateValues)\n })\n\n const jsonParams = JSON.stringify(params)\n logger.info(\n { sql, state: 'starting', parameterCount: params.length },\n 'Executing IBMI DB batch update',\n )\n const startTime = process.hrtime.bigint()\n return jdbcConnection\n .batchUpdate(sql, jsonParams)\n .then((res) => {\n const result = Array.from(res)\n logger.info(\n {\n sql,\n state: 'finished',\n duration: Number(process.hrtime.bigint() - startTime),\n parameterCount: params.length,\n result,\n },\n 'IBMI DB batch update executed',\n )\n return result\n })\n .catch(handleError({ sql, params }))\n },\n\n insertAndGetId(sql, params = []) {\n const jsonParams = paramsToJson(params)\n logger.info(\n { sql, state: 'starting', parameterCount: params.length },\n 'Executing IBMI DB insert and get id',\n )\n const startTime = process.hrtime.bigint()\n return jdbcConnection\n .insertAndGetId(sql, jsonParams)\n .then((result) => {\n logger.info(\n {\n sql,\n state: 'finished',\n duration: Number(process.hrtime.bigint() - startTime),\n parameterCount: params.length,\n },\n 'IBMI DB insert and get id executed',\n )\n return result\n })\n .catch(handleError({ sql, params }))\n },\n\n insertList(tableName, idColumn, list) {\n return insertListFun(baseConnection)(tableName, idColumn, list)\n },\n\n isInMemory() {\n return inMemory\n },\n }\n return baseConnection\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAsB;AAGtB,yBAA4B;AAE5B,wBAA2B;AAC3B,6BAAsC;AAEtC,gCAA8B;AAE9B,SAAS,kBAAkB,GAAQ;AACjC,SAAO,aAAa,OAChB,EAAE,YAAY,EAAE,QAAQ,KAAK,GAAG,EAAE,QAAQ,KAAK,EAAE,IACjD;AACN;AAEA,SAAS,aAAa,QAAiB;AACrC,SAAO,KAAK,WAAW,UAAU,CAAC,GAAG,IAAI,iBAAiB,CAAC;AAC7D;AAEO,MAAM,uBAAuB,SAClC,gBACA,eACA,QACA,UACgB;AAChB,QAAM,iBAAiC;AAAA,IACrC,MAAM,KAAK,SAAS,CAAC,GAAG,SAAS;AAC/B,YAAM,aAAa,aAAa,MAAM;AAGtC,YAAM,OAAO,WAAW,QAAQ,SAAS,SAAY,QAAQ,OAAO;AACpE,aAAO;AAAA,QACL,EAAE,KAAK,OAAO,YAAY,gBAAgB,OAAO,OAAO;AAAA,QACxD;AAAA,MACF;AACA,YAAM,YAAY,QAAQ,OAAO,OAAO;AACxC,aAAO,eACJ,MAAM,KAAK,YAAY,IAAI,EAC3B,KAAK,KAAK,KAAK,EACf,KAAK,CAAC,WAAkB;AACvB,eAAO;AAAA,UACL;AAAA,YACE;AAAA,YACA,OAAO;AAAA,YACP,UAAU,OAAO,QAAQ,OAAO,OAAO,IAAI,SAAS;AAAA,YACpD,gBAAgB,OAAO;AAAA,YACvB,YAAY,OAAO;AAAA,UACrB;AAAA,UACA;AAAA,QACF;AACA,eAAO;AAAA,MACT,CAAC,EACA,UAAM,gCAAY,EAAE,KAAK,OAAO,CAAC,CAAC;AAAA,IACvC;AAAA,IAEA,iBAAiB,KAAK,SAAS,CAAC,GAAG;AACjC,YAAM,aAAa,aAAa,MAAM;AACtC,aAAO;AAAA,QACL,EAAE,KAAK,OAAO,YAAY,gBAAgB,OAAO,OAAO;AAAA,QACxD;AAAA,MACF;AACA,YAAM,YAAY,QAAQ,OAAO,OAAO;AACxC,YAAM,SAAS,IAAI,6BAAW;AAAA,QAC5B,mBAAmB,eAChB,cAAc,KAAK,YAAY,GAAG,EAClC,UAAM,gCAAY,EAAE,KAAK,OAAO,CAAC,CAAC;AAAA,MACvC,CAAC;AACD,aAAO,GAAG,OAAO,MAAM;AACrB,eAAO;AAAA,UACL;AAAA,YACE;AAAA,YACA,OAAO;AAAA,YACP,UAAU,OAAO,QAAQ,OAAO,OAAO,IAAI,SAAS;AAAA,YACpD,gBAAgB,OAAO;AAAA,UACzB;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,IACT;AAAA,IAEA,QAAQ,KAAK,SAAS,CAAC,GAAG;AACxB,YAAM,aAAa,aAAa,MAAM;AACtC,aAAO;AAAA,QACL,EAAE,KAAK,OAAO,YAAY,gBAAgB,OAAO,OAAO;AAAA,QACxD;AAAA,MACF;AACA,aAAO,eACJ,QAAQ,KAAK,UAAU,EACvB,KAAK,CAAC,cAAc;AACnB,cAAM,UAAU,UAAU,YAAY;AACtC,YAAI;AACJ,cAAM,SAAS;AAAA,UACb,UAAU;AACR,mBAAO;AAAA,UACT;AAAA,UACA,WAAW;AACT,mBAAO,UAAU,YAAY,EAAE,KAAK,KAAK,KAAK;AAAA,UAChD;AAAA,UACA,UAAU;AACR,kBAAM,YAAY,QAAQ,OAAO,OAAO;AACxC,mBAAO,UACJ,QAAQ,EACR,KAAK,KAAK,KAAK,EACf,KAAK,CAAC,WAAkB;AACvB,qBAAO;AAAA,gBACL;AAAA,kBACE;AAAA,kBACA,OAAO;AAAA,kBACP,UAAU,OAAO,QAAQ,OAAO,OAAO,IAAI,SAAS;AAAA,kBACpD,gBAAgB,OAAO;AAAA,kBACvB,YAAY,OAAO;AAAA,gBACrB;AAAA,gBACA;AAAA,cACF;AACA,qBAAO;AAAA,YACT,CAAC;AAAA,UACL;AAAA,UACA,SAAS,SAAS;AAChB,kBAAM,YAAY,QAAQ,OAAO,OAAO;AACxC,sBAAU,WAAW,CAAC;AACtB,qBAAS,IAAI,6BAAW;AAAA,cACtB,YAAY,UAAU,aAAa,QAAQ,cAAc,GAAG;AAAA,YAC9D,CAAC;AACD,mBAAO,GAAG,OAAO,MAAM;AACrB,qBAAO;AAAA,gBACL;AAAA,kBACE;AAAA,kBACA,OAAO;AAAA,kBACP,UAAU,OAAO,QAAQ,OAAO,OAAO,IAAI,SAAS;AAAA,kBACpD,gBAAgB,OAAO;AAAA,gBACzB;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAC;AACD,mBAAO;AAAA,UACT;AAAA,UACA,eAAe,SAAS;AACtB,kBAAM,YAAY,QAAQ,OAAO,OAAO;AACxC,sBAAU,WAAW,CAAC;AACtB,kBAAM,gBAAY,yBAAM,GAAG;AAE3B,mBAAO,UACJ,YAAY,EACZ,KAAK,KAAK,KAAK,EACf,KAAK,CAAC,aAAa;AAClB,oBAAM,6BAAyB,yCAAc,QAAQ;AACrD,uBAAS,IAAI,6BAAW;AAAA,gBACtB,YAAY,UAAU;AAAA,kBACpB,QAAQ,cAAc;AAAA,gBACxB;AAAA,cACF,CAAC;AACD,qBAAO,GAAG,OAAO,MAAM;AACrB,uBAAO;AAAA,kBACL;AAAA,oBACE;AAAA,oBACA,OAAO;AAAA,oBACP,UAAU,OAAO,QAAQ,OAAO,OAAO,IAAI,SAAS;AAAA,oBACpD,gBAAgB,OAAO;AAAA,kBACzB;AAAA,kBACA;AAAA,gBACF;AAAA,cACF,CAAC;AAED,qBAAO,OAAO,KAAK,SAAS,EAAE,KAAK,sBAAsB;AAAA,YAC3D,CAAC;AAAA,UACL;AAAA,UACA,aAAa;AACX,kBAAM,YAAY,QAAQ,OAAO,OAAO;AACxC,mBAAO;AAAA,cACL,CAAC,OAAO,aAAa,IAAI;AACvB,uBAAO;AAAA,kBACL,MAAM,OAAO;AACX,2BAAO,UACJ,KAAK,EACL,KAAK,KAAK,KAAK,EACf,KAAK,CAAC,UAAU;AACf,4BAAM,OAAO,CAAC;AACd,0BAAI,MAAM;AACR,+BAAO;AAAA,0BACL;AAAA,4BACE;AAAA,4BACA,OAAO;AAAA,4BACP,UAAU;AAAA,8BACR,QAAQ,OAAO,OAAO,IAAI;AAAA,4BAC5B;AAAA,4BACA,gBAAgB,WAAW;AAAA,0BAC7B;AAAA,0BACA;AAAA,wBACF;AAAA,sBACF;AACA,6BAAO;AAAA,wBACL;AAAA,wBACA;AAAA,sBACF;AAAA,oBACF,CAAC;AAAA,kBACL;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA,UAAU;AACR,mBAAO,UAAU,QAAQ;AAAA,UAC3B;AAAA,UACA,QAAQ;AACN,gBAAI,QAAQ;AACV,qBAAO,MAAM;AAAA,YACf,OAAO;AACL,qBAAO,UAAU,MAAM;AAAA,YACzB;AAAA,UACF;AAAA,QACF;AACA,eAAO;AAAA,MACT,CAAC,EACA,UAAM,gCAAY,EAAE,KAAK,OAAO,CAAC,CAAC;AAAA,IACvC;AAAA,IACA,OAAO,KAAK,SAAS,CAAC,GAAG;AACvB,YAAM,aAAa,aAAa,MAAM;AACtC,aAAO;AAAA,QACL,EAAE,KAAK,OAAO,YAAY,gBAAgB,OAAO,OAAO;AAAA,QACxD;AAAA,MACF;AACA,YAAM,YAAY,QAAQ,OAAO,OAAO;AACxC,aAAO,eACJ,OAAO,KAAK,UAAU,EACtB,KAAK,CAAC,WAAW;AAChB,eAAO;AAAA,UACL;AAAA,YACE;AAAA,YACA,OAAO;AAAA,YACP,UAAU,OAAO,QAAQ,OAAO,OAAO,IAAI,SAAS;AAAA,YACpD,gBAAgB,OAAO;AAAA,YACvB;AAAA,UACF;AAAA,UACA;AAAA,QACF;AACA,eAAO;AAAA,MACT,CAAC,EACA,UAAM,gCAAY,EAAE,KAAK,OAAO,CAAC,CAAC;AAAA,IACvC;AAAA,IAEA,kBAAkB,KAAK,SAAS;AAC9B,aAAO,MAAM,EAAE,KAAK,OAAO,WAAW,GAAG,gCAAgC;AACzE,YAAM,YAAY,QAAQ,OAAO,OAAO;AACxC,YAAM,aAAS;AAAA,QACb,eAAe;AAAA,QACf;AAAA,QACA,WAAW,QAAQ;AAAA,MACrB;AACA,aAAO,GAAG,UAAU,MAAM;AACxB,eAAO;AAAA,UACL;AAAA,YACE;AAAA,YACA,OAAO;AAAA,YACP,UAAU,OAAO,QAAQ,OAAO,OAAO,IAAI,SAAS;AAAA,UACtD;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,IACT;AAAA,IAEA,YAAY,KAAK,YAAY;AAC3B,YAAM,UAAU,cAAc,CAAC,GAAG,IAAI,CAAC,QAAQ;AAC7C,eAAO,IAAI,IAAI,iBAAiB;AAAA,MAClC,CAAC;AAED,YAAM,aAAa,KAAK,UAAU,MAAM;AACxC,aAAO;AAAA,QACL,EAAE,KAAK,OAAO,YAAY,gBAAgB,OAAO,OAAO;AAAA,QACxD;AAAA,MACF;AACA,YAAM,YAAY,QAAQ,OAAO,OAAO;AACxC,aAAO,eACJ,YAAY,KAAK,UAAU,EAC3B,KAAK,CAAC,QAAQ;AACb,cAAM,SAAS,MAAM,KAAK,GAAG;AAC7B,eAAO;AAAA,UACL;AAAA,YACE;AAAA,YACA,OAAO;AAAA,YACP,UAAU,OAAO,QAAQ,OAAO,OAAO,IAAI,SAAS;AAAA,YACpD,gBAAgB,OAAO;AAAA,YACvB;AAAA,UACF;AAAA,UACA;AAAA,QACF;AACA,eAAO;AAAA,MACT,CAAC,EACA,UAAM,gCAAY,EAAE,KAAK,OAAO,CAAC,CAAC;AAAA,IACvC;AAAA,IAEA,eAAe,KAAK,SAAS,CAAC,GAAG;AAC/B,YAAM,aAAa,aAAa,MAAM;AACtC,aAAO;AAAA,QACL,EAAE,KAAK,OAAO,YAAY,gBAAgB,OAAO,OAAO;AAAA,QACxD;AAAA,MACF;AACA,YAAM,YAAY,QAAQ,OAAO,OAAO;AACxC,aAAO,eACJ,eAAe,KAAK,UAAU,EAC9B,KAAK,CAAC,WAAW;AAChB,eAAO;AAAA,UACL;AAAA,YACE;AAAA,YACA,OAAO;AAAA,YACP,UAAU,OAAO,QAAQ,OAAO,OAAO,IAAI,SAAS;AAAA,YACpD,gBAAgB,OAAO;AAAA,UACzB;AAAA,UACA;AAAA,QACF;AACA,eAAO;AAAA,MACT,CAAC,EACA,UAAM,gCAAY,EAAE,KAAK,OAAO,CAAC,CAAC;AAAA,IACvC;AAAA,IAEA,WAAW,WAAW,UAAU,MAAM;AACpC,aAAO,cAAc,cAAc,EAAE,WAAW,UAAU,IAAI;AAAA,IAChE;AAAA,IAEA,aAAa;AACX,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Readable, Writable } from 'stream';
|
|
2
|
+
export { Readable, Writable } from 'stream';
|
|
3
|
+
|
|
4
|
+
interface CLOB {
|
|
5
|
+
type: 'CLOB';
|
|
6
|
+
value: string;
|
|
7
|
+
}
|
|
8
|
+
interface BLOB {
|
|
9
|
+
type: 'BLOB';
|
|
10
|
+
value: string;
|
|
11
|
+
}
|
|
12
|
+
type Param = string | number | Date | null | CLOB | BLOB;
|
|
13
|
+
interface QueryOptions {
|
|
14
|
+
trim: boolean;
|
|
15
|
+
}
|
|
16
|
+
interface Metadata {
|
|
17
|
+
name: string;
|
|
18
|
+
typeName: string;
|
|
19
|
+
precision: number;
|
|
20
|
+
scale: number;
|
|
21
|
+
}
|
|
22
|
+
interface Statement {
|
|
23
|
+
isQuery: () => boolean;
|
|
24
|
+
metadata: () => Promise<Metadata[]>;
|
|
25
|
+
asArray: () => Promise<string[][]>;
|
|
26
|
+
asIterable: () => AsyncIterable<string[]>;
|
|
27
|
+
asStream: (options?: any) => Readable;
|
|
28
|
+
asObjectStream: (options?: any) => Promise<Readable>;
|
|
29
|
+
updated: () => Promise<number>;
|
|
30
|
+
close: Close;
|
|
31
|
+
}
|
|
32
|
+
type Execute = (sql: string, params?: Param[]) => Promise<Statement>;
|
|
33
|
+
type Query = <T>(sql: string, params?: Param[], options?: QueryOptions) => Promise<T[]>;
|
|
34
|
+
type Update = (sql: string, params?: Param[]) => Promise<number>;
|
|
35
|
+
type CreateReadStream = (sql: string, params?: Param[]) => Readable;
|
|
36
|
+
type InsertAndGetId = (sql: string, params?: Param[]) => Promise<number>;
|
|
37
|
+
interface WriteStreamOptions {
|
|
38
|
+
bufferSize: number;
|
|
39
|
+
}
|
|
40
|
+
type CreateWriteStream = (sql: string, options?: WriteStreamOptions) => Writable;
|
|
41
|
+
type BatchUpdate = (sql: string, params?: Param[][]) => Promise<number[]>;
|
|
42
|
+
type Close = () => void;
|
|
43
|
+
type InsertList = (tableName: string, idColumn: string, rows: any[]) => Promise<number[]>;
|
|
44
|
+
interface BaseConnection {
|
|
45
|
+
query: Query;
|
|
46
|
+
update: Update;
|
|
47
|
+
isInMemory: () => boolean;
|
|
48
|
+
createReadStream: CreateReadStream;
|
|
49
|
+
insertAndGetId: InsertAndGetId;
|
|
50
|
+
insertList: InsertList;
|
|
51
|
+
createWriteStream: CreateWriteStream;
|
|
52
|
+
batchUpdate: BatchUpdate;
|
|
53
|
+
execute: Execute;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export type { BLOB, BaseConnection, BatchUpdate, CLOB, Close, CreateReadStream, CreateWriteStream, Execute, InsertAndGetId, InsertList, Metadata, Param, Query, QueryOptions, Statement, Update, WriteStreamOptions };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var baseConnection_types_exports = {};
|
|
19
|
+
__export(baseConnection_types_exports, {
|
|
20
|
+
Readable: () => import_stream.Readable,
|
|
21
|
+
Writable: () => import_stream.Writable
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(baseConnection_types_exports);
|
|
24
|
+
var import_stream = require("stream");
|
|
25
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
26
|
+
0 && (module.exports = {
|
|
27
|
+
Readable,
|
|
28
|
+
Writable
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=baseConnection.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../ts-src/lib/baseConnection.types.ts"],"sourcesContent":["import { Readable, Writable } from 'stream'\nexport { Readable, Writable }\n\nexport interface CLOB {\n type: 'CLOB'\n value: string\n}\n\nexport interface BLOB {\n type: 'BLOB'\n value: string\n}\n\nexport type Param = string | number | Date | null | CLOB | BLOB\n\nexport interface QueryOptions {\n trim: boolean\n}\n\nexport interface Metadata {\n name: string\n typeName: string\n precision: number\n scale: number\n}\nexport interface Statement {\n isQuery: () => boolean\n metadata: () => Promise<Metadata[]>\n asArray: () => Promise<string[][]>\n asIterable: () => AsyncIterable<string[]>\n asStream: (options?: any) => Readable\n asObjectStream: (options?: any) => Promise<Readable>\n updated: () => Promise<number>\n close: Close\n}\nexport type Execute = (sql: string, params?: Param[]) => Promise<Statement>\nexport type Query = <T>(\n sql: string,\n params?: Param[],\n options?: QueryOptions,\n) => Promise<T[]>\nexport type Update = (sql: string, params?: Param[]) => Promise<number>\nexport type CreateReadStream = (sql: string, params?: Param[]) => Readable\nexport type InsertAndGetId = (sql: string, params?: Param[]) => Promise<number>\n\nexport interface WriteStreamOptions {\n bufferSize: number\n}\n\nexport type CreateWriteStream = (\n sql: string,\n options?: WriteStreamOptions,\n) => Writable\nexport type BatchUpdate = (sql: string, params?: Param[][]) => Promise<number[]>\nexport type Close = () => void\nexport type InsertList = (\n tableName: string,\n idColumn: string,\n rows: any[],\n) => Promise<number[]>\nexport interface BaseConnection {\n query: Query\n update: Update\n isInMemory: () => boolean\n createReadStream: CreateReadStream\n insertAndGetId: InsertAndGetId\n insertList: InsertList\n createWriteStream: CreateWriteStream\n batchUpdate: BatchUpdate\n execute: Execute\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmC;","names":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { JT400 } from '../java/JT400.cjs';
|
|
2
|
+
import { Connection } from './connection.types.cjs';
|
|
3
|
+
import { CreateInsertList } from './insertList.cjs';
|
|
4
|
+
import { Logger } from './logger.cjs';
|
|
5
|
+
import 'stream';
|
|
6
|
+
import './baseConnection.types.cjs';
|
|
7
|
+
import './ifs/types.cjs';
|
|
8
|
+
|
|
9
|
+
declare function createConnection({ connection, insertListFun, inMemory, logger, }: {
|
|
10
|
+
connection: JT400;
|
|
11
|
+
insertListFun: CreateInsertList;
|
|
12
|
+
inMemory: boolean;
|
|
13
|
+
logger: Logger;
|
|
14
|
+
}): Connection;
|
|
15
|
+
|
|
16
|
+
export { createConnection };
|