UNPKG

staticql

Version:

Type-safe query engine for static content including Markdown, YAML, JSON, and more.

49 lines (48 loc) 1.13 kB
export interface PageInfo { hasNextPage: boolean; hasPreviousPage: boolean; startCursor?: string; endCursor?: string; } export type CursorObject = { slug: string; order: { [key: string]: string; }; }; /** * Create PageInfo. * * @param page * @param pageSize * @param startIndex * @param matchedLen * @param direction * @param encodeCursor * @returns page info for cursor pagination */ export declare function createPageInfo<T>(page: T[], pageSize: number, startIndex: number, matchedLen: number, direction: "after" | "before", encodeCursor: (item: T) => string): PageInfo; /** * Get sliced records. * * @param records * @param startIndex * @param pageSize * @param direction * @returns */ export declare function getPageSlice<T>(records: T[], startIndex: number, pageSize: number, direction: "after" | "before"): T[]; /** * Encode for cursor. * * @param slug * @returns */ export declare function encodeCursor(obj: CursorObject): string; /** * Decode for cursor. * * @param cursor * @returns */ export declare function decodeCursor(cursor: string): CursorObject;