@aequum/typeorm
Version:
aequum TypeORM tools for repository, pagination, CRUD/CRUDL, configs and utils
26 lines (25 loc) • 936 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.paginate = paginate;
const typeorm_paginate_1 = require("typeorm-paginate");
const default_type_orm_paginator_options_1 = require("../options/default-type-orm-paginator.options");
async function paginate(repositoryOrQueryBuilder, page, size, options, searchOptions) {
if (page < 1)
page = 1;
if (size < 1)
size = 10;
options = Object.assign({}, default_type_orm_paginator_options_1.DefaultTypeORMPaginatorOptions, options || {}, {
page,
limit: size
});
const data = await (0, typeorm_paginate_1.paginate)(repositoryOrQueryBuilder, options, searchOptions);
if (options.route)
data.links = data.route;
data.paginator = data.meta;
data.data = data.items;
data.paginator.page = options.page;
delete data.route;
delete data.meta;
delete data.items;
return data;
}