knex-firebird-dialect
Version:
Firebird dialect for Knex.js
133 lines (132 loc) • 14.2 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _transaction = _interopRequireDefault(require("knex/lib/execution/transaction"));
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Transaction_Firebird = /*#__PURE__*/function (_Transaction) {
function Transaction_Firebird() {
(0, _classCallCheck2["default"])(this, Transaction_Firebird);
return _callSuper(this, Transaction_Firebird, arguments);
}
(0, _inherits2["default"])(Transaction_Firebird, _Transaction);
return (0, _createClass2["default"])(Transaction_Firebird, [{
key: "begin",
value: (
/**
* @param {import('node-firebird-driver-native').Attachment} conn
* @returns {Promise<unknown>}
*/
function () {
var _begin = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(conn) {
var transaction;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return conn.startTransaction(_objectSpread({
isolation: this.isolationLevel || "READ_COMMITTED"
}, this.readOnly && {
accessMode: "READ_ONLY"
}));
case 2:
transaction = _context.sent;
this._transaction = transaction;
return _context.abrupt("return", transaction);
case 5:
case "end":
return _context.stop();
}
}, _callee, this);
}));
function begin(_x) {
return _begin.apply(this, arguments);
}
return begin;
}())
}, {
key: "savepoint",
value: function savepoint() {
throw new Error("savepoints not implemented");
}
}, {
key: "release",
value: function release() {
throw new Error("releasing savepoints not implemented");
}
}, {
key: "commit",
value: function () {
var _commit = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(conn, value) {
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
this._completed = true;
_context2.next = 3;
return this._transaction.commit();
case 3:
this._resolver(value);
case 4:
case "end":
return _context2.stop();
}
}, _callee2, this);
}));
function commit(_x2, _x3) {
return _commit.apply(this, arguments);
}
return commit;
}()
}, {
key: "rollback",
value: function () {
var _rollback = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(conn, error) {
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
this._completed = true;
if (!error) {
_context3.next = 5;
break;
}
this._rejecter(error);
_context3.next = 8;
break;
case 5:
_context3.next = 7;
return this._transaction.rollback();
case 7:
this._resolver();
case 8:
case "end":
return _context3.stop();
}
}, _callee3, this);
}));
function rollback(_x4, _x5) {
return _rollback.apply(this, arguments);
}
return rollback;
}()
}, {
key: "rollbackTo",
value: function rollbackTo() {
throw new Error("rolling back to savepoints not implemented");
}
}]);
}(_transaction["default"]);
var _default = exports["default"] = Transaction_Firebird;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHJhbnNhY3Rpb24iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJjYWxsIiwiVHJhbnNhY3Rpb25fRmlyZWJpcmQiLCJfVHJhbnNhY3Rpb24iLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJ2YWx1ZSIsIl9iZWdpbiIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwiY29ubiIsInRyYW5zYWN0aW9uIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInN0YXJ0VHJhbnNhY3Rpb24iLCJpc29sYXRpb24iLCJpc29sYXRpb25MZXZlbCIsInJlYWRPbmx5IiwiYWNjZXNzTW9kZSIsInNlbnQiLCJhYnJ1cHQiLCJzdG9wIiwiYmVnaW4iLCJfeCIsInNhdmVwb2ludCIsIkVycm9yIiwicmVsZWFzZSIsIl9jb21taXQiLCJfY2FsbGVlMiIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsIl9jb21wbGV0ZWQiLCJjb21taXQiLCJfcmVzb2x2ZXIiLCJfeDIiLCJfeDMiLCJfcm9sbGJhY2siLCJfY2FsbGVlMyIsImVycm9yIiwiX2NhbGxlZTMkIiwiX2NvbnRleHQzIiwiX3JlamVjdGVyIiwicm9sbGJhY2siLCJfeDQiLCJfeDUiLCJyb2xsYmFja1RvIiwiVHJhbnNhY3Rpb24iLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi9zcmMvdHJhbnNhY3Rpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFRyYW5zYWN0aW9uIGZyb20gXCJrbmV4L2xpYi9leGVjdXRpb24vdHJhbnNhY3Rpb25cIjtcblxuY2xhc3MgVHJhbnNhY3Rpb25fRmlyZWJpcmQgZXh0ZW5kcyBUcmFuc2FjdGlvbiB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydCgnbm9kZS1maXJlYmlyZC1kcml2ZXItbmF0aXZlJykuQXR0YWNobWVudH0gY29ublxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx1bmtub3duPn1cbiAgICovXG4gIGFzeW5jIGJlZ2luKGNvbm4pIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IGF3YWl0IGNvbm4uc3RhcnRUcmFuc2FjdGlvbih7XG4gICAgICBpc29sYXRpb246IHRoaXMuaXNvbGF0aW9uTGV2ZWwgfHwgXCJSRUFEX0NPTU1JVFRFRFwiLFxuICAgICAgLi4uKHRoaXMucmVhZE9ubHkgJiYge1xuICAgICAgICBhY2Nlc3NNb2RlOiBcIlJFQURfT05MWVwiLFxuICAgICAgfSksXG4gICAgfSk7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvbjtcbiAgICByZXR1cm4gdHJhbnNhY3Rpb247XG4gIH1cblxuICBzYXZlcG9pbnQoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwic2F2ZXBvaW50cyBub3QgaW1wbGVtZW50ZWRcIik7XG4gIH1cblxuICByZWxlYXNlKCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcInJlbGVhc2luZyBzYXZlcG9pbnRzIG5vdCBpbXBsZW1lbnRlZFwiKTtcbiAgfVxuXG4gIGFzeW5jIGNvbW1pdChjb25uLCB2YWx1ZSkge1xuICAgIHRoaXMuX2NvbXBsZXRlZCA9IHRydWU7XG4gICAgYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb24uY29tbWl0KCk7XG4gICAgdGhpcy5fcmVzb2x2ZXIodmFsdWUpO1xuICB9XG5cbiAgYXN5bmMgcm9sbGJhY2soY29ubiwgZXJyb3IpIHtcbiAgICB0aGlzLl9jb21wbGV0ZWQgPSB0cnVlO1xuICAgIGlmIChlcnJvcikge1xuICAgICAgdGhpcy5fcmVqZWN0ZXIoZXJyb3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCB0aGlzLl90cmFuc2FjdGlvbi5yb2xsYmFjaygpO1xuICAgICAgdGhpcy5fcmVzb2x2ZXIoKTtcbiAgICB9XG4gIH1cblxuICByb2xsYmFja1RvKCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcInJvbGxpbmcgYmFjayB0byBzYXZlcG9pbnRzIG5vdCBpbXBsZW1lbnRlZFwiKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBUcmFuc2FjdGlvbl9GaXJlYmlyZDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsWUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQXlELFNBQUFDLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQVIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFRLFVBQUEsT0FBQVAsQ0FBQSxDQUFBUSxJQUFBLENBQUFDLEtBQUEsQ0FBQVQsQ0FBQSxFQUFBSSxDQUFBLFlBQUFKLENB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