objection
Version:
An SQL-friendly ORM for Node.js
32 lines (25 loc) • 655 B
JavaScript
;
const SYMBOL_BUILDER = Symbol();
class QueryBuilderUserContext {
constructor(builder) {
// This should never ever be accessed outside this class. We only
// store it so that we can access builder.knex() lazily.
this[SYMBOL_BUILDER] = builder;
}
get transaction() {
return this[SYMBOL_BUILDER].knex();
}
newFromObject(builder, obj) {
const ctx = new this.constructor(builder);
Object.assign(ctx, obj);
return ctx;
}
newMerge(builder, obj) {
const ctx = new this.constructor(builder);
Object.assign(ctx, this, obj);
return ctx;
}
}
module.exports = {
QueryBuilderUserContext,
};