drf-paginator
Version:
Module for consuming paginated Django REST framework endpoints.
68 lines (45 loc) • 2.07 kB
JavaScript
;
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'];