easy-express-cwa
Version:
CLI tool to setup a common Express.js backend developed by codewithashim
38 lines (31 loc) • 688 B
text/typescript
import { SortOrder } from 'mongoose';
type IOptions = {
page?: number;
limit?: number;
sortBy?: string;
sortOrder?: SortOrder;
};
type IOptionsResult = {
page: number;
limit: number;
skip: number;
sortBy: string;
sortOrder: SortOrder;
};
const calculatePagination = (options: IOptions): IOptionsResult => {
const page = Number(options.page || 1);
const limit = Number(options.limit || 10);
const skip = (page - 1) * limit;
const sortBy = options.sortBy || 'createdAt';
const sortOrder = options.sortOrder || 'desc';
return {
page,
limit,
skip,
sortBy,
sortOrder,
};
};
export const paginationHelpers = {
calculatePagination,
};