@motech-development/pagination
Version:
30 lines (29 loc) • 972 B
TypeScript
/**
* Calculates the number of items to take and ensures min and max ranges are respected.
*
* @param limit - Number of items to return.
* @returns Number of items to take.
*/
export declare const calculateTake: (limit: unknown) => number;
/**
* Calculates how many items to skip based on page number and items to take.
*
* @param page - Page number.
* @param take - Number of items to take.
* @returns Number of items to skip.
*/
export declare const calculateSkip: (page: unknown, take: number) => number;
/** Ordering object. */
export interface ICalculateOrderBy {
/** Property to order by */
[name: string]: unknown;
}
/**
* Generates order by object.
*
* @param dir - Direction to order results by.
* @param sortBy - Property to sort by.
* @returns Order by object
*/
export declare const calculateOrderBy: (dir: unknown, sortBy?: unknown) => ICalculateOrderBy;
export declare const calculatePages: (total: number, limit: number) => number;