graphql-compose-pagination
Version:
Plugin for `graphql-compose` which provide a pagination resolver for types.
31 lines • 1.23 kB
TypeScript
import { Resolver } from 'graphql-compose';
import type { ObjectTypeComposer, InterfaceTypeComposer, UnionTypeComposer, ScalarTypeComposer, EnumTypeComposer } from 'graphql-compose';
export declare const DEFAULT_RESOLVER_NAME = "pagination";
export declare const DEFAULT_PER_PAGE = 20;
export declare type PaginationResolverOpts = {
findManyResolver: Resolver;
countResolver: Resolver;
name?: string;
perPage?: number;
};
export declare type PaginationType = {
count: number;
items: any[];
pageInfo: PaginationInfoType;
};
export declare type PaginationInfoType = {
currentPage: number;
perPage: number;
itemCount: number;
pageCount: number;
hasPreviousPage: boolean;
hasNextPage: boolean;
};
export interface PaginationTArgs {
page?: number;
perPage?: number;
filter?: any;
sort?: any;
}
export declare function preparePaginationResolver<TSource, TContext>(tc: ObjectTypeComposer<TSource, TContext> | InterfaceTypeComposer<TSource, TContext> | UnionTypeComposer<TSource, TContext> | ScalarTypeComposer<TContext> | EnumTypeComposer<TContext>, opts: PaginationResolverOpts): Resolver<TSource, TContext, PaginationTArgs>;
//# sourceMappingURL=pagination.d.ts.map