knex-firebird-dialect
Version:
Firebird dialect for Knex.js
110 lines (109 loc) • 11 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _index = _interopRequireDefault(require("./index"));
var _path = _interopRequireDefault(require("path"));
var _os = _interopRequireDefault(require("os"));
var _fs = _interopRequireDefault(require("fs"));
var _knex2 = _interopRequireDefault(require("knex"));
var generateConfig = function generateConfig() {
return {
client: _index["default"],
connection: {
host: "127.0.0.1",
port: 3050,
username: process.env.ISC_USER || "SYSDBA",
password: process.env.ISC_PASSWORD || "masterkey",
database: _path["default"].join(_os["default"].tmpdir(), "firebird-knex-dialect-".concat(Date.now(), ".fdb")),
lowercase_keys: true
},
pool: {
min: 1,
max: 1
},
createDatabaseIfNotExists: true,
debug: false,
libraryPath: process.env.LIBRARY_PATH
};
};
(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
var knex, knexConfig, _knex, sleep;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
knexConfig = generateConfig();
_context.prev = 1;
_knex = (0, _knex2["default"])(knexConfig);
sleep = 2500;
console.info('1');
_context.next = 7;
return _knex.raw("SELECT 1 FROM RDB$DATABASE").then(function () {
return console.info('OK');
})["catch"](function (e) {
return console.info('err', e);
});
case 7:
console.info('2');
_context.next = 10;
return new Promise(function (resolve) {
return setTimeout(resolve, sleep);
});
case 10:
_context.next = 12;
return _knex.raw("SELECT 1 FROM RDB$DATABASE").then(function () {
return console.info('OK');
})["catch"](function (e) {
return console.info('err', e);
});
case 12:
console.info('3');
_context.next = 15;
return new Promise(function (resolve) {
return setTimeout(resolve, sleep);
});
case 15:
_context.next = 17;
return _knex.raw("SELECT 1 FROM RDB$DATABASE").then(function () {
return console.info('OK');
})["catch"](function (e) {
return console.info('err', e);
});
case 17:
console.info('4');
_context.next = 20;
return new Promise(function (resolve) {
return setTimeout(resolve, sleep);
});
case 20:
_context.next = 22;
return _knex.raw("SELECT 1 FROM RDB$DATABASE").then(function () {
return console.info('OK');
})["catch"](function (e) {
return console.info('err', e);
});
case 22:
console.info('5');
process.exit(0);
case 24:
_context.prev = 24;
if (!knex) {
_context.next = 28;
break;
}
_context.next = 28;
return knex.destroy();
case 28:
_context.next = 30;
return _fs["default"].promises.unlink(knexConfig.connection.database)["catch"](function () {});
case 30:
return _context.finish(24);
case 31:
console.info('DONE');
case 32:
case "end":
return _context.stop();
}
}, _callee, null, [[1,, 24, 31]]);
}))();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW5kZXgiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wYXRoIiwiX29zIiwiX2ZzIiwiX2tuZXgyIiwiZ2VuZXJhdGVDb25maWciLCJjbGllbnQiLCJjb25uZWN0aW9uIiwiaG9zdCIsInBvcnQiLCJ1c2VybmFtZSIsInByb2Nlc3MiLCJlbnYiLCJJU0NfVVNFUiIsInBhc3N3b3JkIiwiSVNDX1BBU1NXT1JEIiwiZGF0YWJhc2UiLCJwYXRoIiwiam9pbiIsIm9zIiwidG1wZGlyIiwiY29uY2F0IiwiRGF0ZSIsIm5vdyIsImxvd2VyY2FzZV9rZXlzIiwicG9vbCIsIm1pbiIsIm1heCIsImNyZWF0ZURhdGFiYXNlSWZOb3RFeGlzdHMiLCJkZWJ1ZyIsImxpYnJhcnlQYXRoIiwiTElCUkFSWV9QQVRIIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJrbmV4Iiwia25leENvbmZpZyIsIl9rbmV4Iiwic2xlZXAiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0Iiwia25leExpYiIsImNvbnNvbGUiLCJpbmZvIiwicmF3IiwidGhlbiIsImUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInNldFRpbWVvdXQiLCJleGl0IiwiZGVzdHJveSIsImZzIiwicHJvbWlzZXMiLCJ1bmxpbmsiLCJmaW5pc2giLCJzdG9wIl0sInNvdXJjZXMiOlsiLi4vc3JjL3Rlc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNsaWVudCBmcm9tIFwiLi9pbmRleFwiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCBvcyBmcm9tIFwib3NcIjtcbmltcG9ydCBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCBrbmV4TGliIGZyb20gXCJrbmV4XCI7XG5cbmNvbnN0IGdlbmVyYXRlQ29uZmlnID0gKCkgPT4gKHtcblx0Y2xpZW50LFxuXHRjb25uZWN0aW9uOiB7XG5cdFx0aG9zdDogXCIxMjcuMC4wLjFcIixcblx0XHRwb3J0OiAzMDUwLFxuXHRcdHVzZXJuYW1lOiBwcm9jZXNzLmVudi5JU0NfVVNFUiB8fCBcIlNZU0RCQVwiLFxuXHRcdHBhc3N3b3JkOiBwcm9jZXNzLmVudi5JU0NfUEFTU1dPUkQgfHwgXCJtYXN0ZXJrZXlcIixcblx0XHRkYXRhYmFzZTogcGF0aC5qb2luKFxuXHRcdCAgb3MudG1wZGlyKCksXG5cdFx0ICBgZmlyZWJpcmQta25leC1kaWFsZWN0LSR7RGF0ZS5ub3coKX0uZmRiYFxuXHRcdCksXG5cdFx0bG93ZXJjYXNlX2tleXM6IHRydWUsXG5cdH0sXG5cdHBvb2w6IHsgbWluOiAxLCBtYXg6IDEgfSxcblx0Y3JlYXRlRGF0YWJhc2VJZk5vdEV4aXN0czogdHJ1ZSxcblx0ZGVidWc6IGZhbHNlLFxuXHRsaWJyYXJ5UGF0aDogcHJvY2Vzcy5lbnYuTElCUkFSWV9QQVRIXG59KTtcblxuKGFzeW5jICgpID0+IHtcblx0bGV0IGtuZXg7XG5cdGNvbnN0IGtuZXhDb25maWcgPSBnZW5lcmF0ZUNvbmZpZygpO1xuXG5cdHRyeSB7XG5cdFx0Y29uc3Qga25leCA9IGtuZXhMaWIoa25leENvbmZpZyk7XG5cdFx0Y29uc3Qgc2xlZXAgPSAyNTAwXG5cdFx0Y29uc29sZS5pbmZvKCcxJylcblx0XHRhd2FpdCBrbmV4LnJhdyhcIlNFTEVDVCAxIEZST00gUkRCJERBVEFCQVNFXCIpLnRoZW4oKCkgPT4gY29uc29sZS5pbmZvKCdPSycpKS5jYXRjaChlID0+IGNvbnNvbGUuaW5mbygnZXJyJywgZSkpO1xuXHRcdGNvbnNvbGUuaW5mbygnMicpXG5cdFx0YXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIHNsZWVwKSlcblx0XHRhd2FpdCBrbmV4LnJhdyhcIlNFTEVDVCAxIEZST00gUkRCJERBVEFCQVNFXCIpLnRoZW4oKCkgPT4gY29uc29sZS5pbmZvKCdPSycpKS5jYXRjaChlID0+IGNvbnNvbGUuaW5mbygnZXJyJywgZSkpO1xuXHRcdGNvbnNvbGUuaW5mbygnMycpXG5cdFx0YXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIHNsZWVwKSlcblx0XHRhd2FpdCBrbmV4LnJhdyhcIlNFTEVDVCAxIEZST00gUkRCJERBVEFCQVNFXCIpLnRoZW4oKCkgPT4gY29uc29sZS5pbmZvKCdPSycpKS5jYXRjaChlID0+IGNvbnNvbGUuaW5mbygnZXJyJywgZSkpO1xuXHRcdGNvbnNvbGUuaW5mbygnNCcpXG5cdFx0YXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIHNsZWVwKSlcblx0XHRhd2FpdCBrbmV4LnJhdyhcIlNFTEVDVCAxIEZST00gUkRCJERBVEFCQVNFXCIpLnRoZW4oKCkgPT4gY29uc29sZS5pbmZvKCdPSycpKS5jYXRjaChlID0+IGNvbnNvbGUuaW5mbygnZXJyJywgZSkpO1xuXHRcdGNvbnNvbGUuaW5mbygnNScpXG5cdFx0cHJvY2Vzcy5leGl0KDApXG5cdH0gZmluYWxseSB7XG5cdFx0aWYgKGtuZXgpIHtcblx0XHRcdGF3YWl0IGtuZXguZGVzdHJveSgpO1xuXHRcdH1cblx0XHRhd2FpdCBmcy5wcm9taXNlcy51bmxpbmsoa25leENvbmZpZy5jb25uZWN0aW9uLmRhdGFiYXNlKS5jYXRjaCgoKSA9PiB7XG5cdFx0fSk7XG5cdH1cblx0Y29uc29sZS5pbmZvKCdET05FJylcbn0pKCk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsR0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsR0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBTUssY0FBYyxHQUFHLFNBQWpCQSxjQUFjQSxDQUFBO0VBQUEs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