knex/lib/util/finally-mixin.js

14 lines
470 B
JavaScript

const noop = require('./noop');
const finallyMixin = (prototype) =>
Object.assign(prototype, {
finally(onFinally) {
return this.then().finally(onFinally);
},
});
// FYI: Support for `Promise.prototype.finally` was not introduced until Node 9.
// Therefore, Knex will need to conditionally inject support for `.finally(..)`
// until support for Node 8 is officially dropped.
module.exports = Promise.prototype.finally ? finallyMixin : noop;