UNPKG

objection-cursor

Version:

Cursor based pagination plugin for Objection.js

37 lines (31 loc) 720 B
const {merge} = require('lodash'); const cursorSupport = require('./lib/query-builder/CursorQueryBuilder'); const cursorMixin = options => { options = merge({ limit: 50, results: true, nodes: false, pageInfo: { total: false, remaining: false, remainingBefore: false, remainingAfter: false, hasNext: false, hasPrevious: false } }, options); return Base => { const CursorQueryBuilder = cursorSupport(options, Base.QueryBuilder); return class extends Base { static get QueryBuilder() { return CursorQueryBuilder; } }; }; }; module.exports = (options = {}) => { if (typeof options === 'function') { return cursorMixin({})(options); } return cursorMixin(options); };