UNPKG

drf-paginator

Version:

Module for consuming paginated Django REST framework endpoints.

68 lines (45 loc) 2.07 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _limitOffsetPaginator = require('./paginators/limit-offset-paginator'); var _limitOffsetPaginator2 = _interopRequireDefault(_limitOffsetPaginator); var _limitOffsetQueryHandler = require('./query-handlers/limit-offset-query-handler'); var _limitOffsetQueryHandler2 = _interopRequireDefault(_limitOffsetQueryHandler); var _pageMerger = require('./page-merger'); var _pageMerger2 = _interopRequireDefault(_pageMerger); var _pageNumberPaginator = require('./paginators/page-number-paginator'); var _pageNumberPaginator2 = _interopRequireDefault(_pageNumberPaginator); var _pageNumberQueryHandler = require('./query-handlers/page-number-query-handler'); var _pageNumberQueryHandler2 = _interopRequireDefault(_pageNumberQueryHandler); var _paginatorError = require('./paginator-error'); var _paginatorError2 = _interopRequireDefault(_paginatorError); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var paginate = function paginate(request, reqOpts, queryParams) { return new _pageNumberPaginator2.default(request, reqOpts, queryParams); }; var all = function all(request, reqOpts, queryParams) { var paginator = void 0; if (typeof request === 'function') { paginator = paginate(request, reqOpts, queryParams); } else { paginator = request; } var pageMerger = new _pageMerger2.default(paginator); var mergeAllPages = function mergeAllPages(pageCount) { return pageMerger.merge(1, pageCount); }; return paginator.fetchPageCount().then(mergeAllPages); }; var drfPaginator = { all: all, LimitOffsetPaginator: _limitOffsetPaginator2.default, LimitOffsetQueryHandler: _limitOffsetQueryHandler2.default, PageMerger: _pageMerger2.default, PageNumberPaginator: _pageNumberPaginator2.default, PageNumberQueryHandler: _pageNumberQueryHandler2.default, paginate: paginate, PaginatorError: _paginatorError2.default }; exports.default = drfPaginator; module.exports = exports['default'];