node-jt400
Version:
JT400 (IBM Toolbox) for NodeJS
44 lines • 1.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.initJavaBridge = void 0;
const jvm = require("java");
const path_1 = require("path");
const util_1 = require("util");
const initJavaBridge = () => {
jvm.asyncOptions = {
asyncSuffix: undefined,
syncSuffix: 'Sync',
promiseSuffix: '',
promisify: util_1.promisify,
};
jvm.options.push('-Xrs');
jvm.options.push('-Dcom.ibm.as400.access.AS400.guiAvailable=false');
const jars = [
'jt400.jar',
'jt400wrap.jar',
'json-simple-1.1.1.jar',
'hsqldb.jar',
];
jars.map((jar) => {
jvm.classpath.push((0, path_1.join)(__dirname, '/../../java/lib/', jar));
});
const JT400Class = jvm.import('nodejt400.JT400');
return {
createConnection: (config) => JT400Class.createConnection(config),
createInMemoryConnection: () => {
const HsqlClientClass = jvm.import('nodejt400.HsqlClient');
const instance = new HsqlClientClass();
return instance;
},
createPool: (config) => JT400Class.createPoolSync(config),
bufferToJavaType: (buffer) => {
const byteArray = jvm.newArray('byte', [...buffer]);
return byteArray;
},
javaTypeToBuffer: (javaType) => {
return javaType ? Buffer.from(javaType) : null;
},
};
};
exports.initJavaBridge = initJavaBridge;
//# sourceMappingURL=index.js.map