UNPKG

@aequum/in-memory

Version:
29 lines (28 loc) 1.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BaseCRUDLInMemoryPaginatedService = void 0; const base_crudl_in_memory_service_1 = require("../base-crudl-in-memory.service"); class BaseCRUDLInMemoryPaginatedService extends base_crudl_in_memory_service_1.BaseCRUDLInMemoryService { async paginatedList(filter, page, size, sort, // Ignored ...args) { if (page < 1) page = 1; const all = await this.repository.find(filter ?? {}); const start = (page - 1) * size; const end = start + size; const data = all.slice(start, end); const pages = Math.ceil(all.length / size); return { data, paginator: { page, size, pages, next: page < pages ? page + 1 : null, prev: page > 1 ? page - 1 : null, total: all.length } }; } } exports.BaseCRUDLInMemoryPaginatedService = BaseCRUDLInMemoryPaginatedService;