@kitstack/nest-powertools
Version:
A comprehensive collection of NestJS powertools, decorators, and utilities to supercharge your backend development
51 lines (50 loc) • 2.66 kB
TypeScript
import type { PaginationOptions } from '../types/generics';
import { SortOrder } from '../types/enums';
export declare const Pagination: (...dataOrPipes: (PaginationOptions | import("@nestjs/common").PipeTransform<any, any> | import("@nestjs/common").Type<import("@nestjs/common").PipeTransform<any, any>>)[]) => ParameterDecorator;
export declare const QuickPagination: {
Small: (options?: Partial<PaginationOptions>) => ParameterDecorator;
Medium: (options?: Partial<PaginationOptions>) => ParameterDecorator;
Large: (options?: Partial<PaginationOptions>) => ParameterDecorator;
Unlimited: (options?: Partial<PaginationOptions>) => ParameterDecorator;
Search: (options?: Partial<PaginationOptions>) => ParameterDecorator;
Strict: (options?: Partial<PaginationOptions>) => ParameterDecorator;
Lenient: (options?: Partial<PaginationOptions>) => ParameterDecorator;
};
export declare class PaginationBuilder {
private options;
defaultPage(page: number): PaginationBuilder;
defaultLimit(limit: number): PaginationBuilder;
maxLimit(limit: number): PaginationBuilder;
minLimit(limit: number): PaginationBuilder;
allowUnlimited(allow?: boolean): PaginationBuilder;
defaultSortBy(field: string): PaginationBuilder;
defaultSortOrder(order: SortOrder): PaginationBuilder;
allowedSortFields(fields: string[]): PaginationBuilder;
allowedSortOrders(orders: SortOrder[]): PaginationBuilder;
paramNames(params: {
page?: string;
limit?: string;
sortBy?: string;
sortOrder?: string;
search?: string;
filters?: string;
}): PaginationBuilder;
validate(enable?: boolean): PaginationBuilder;
onInvalidQuery(behavior: 'throw' | 'default' | 'ignore'): PaginationBuilder;
customValidator(validator: (query: any) => boolean | string): PaginationBuilder;
build(): ParameterDecorator;
getOptions(): PaginationOptions;
}
export declare const createPagination: () => PaginationBuilder;
export declare const DomainPagination: {
Users: ParameterDecorator;
Products: ParameterDecorator;
Posts: ParameterDecorator;
Comments: ParameterDecorator;
Admin: ParameterDecorator;
Mobile: ParameterDecorator;
Search: ParameterDecorator;
};
export declare const CurrentUser: (...dataOrPipes: (string | import("@nestjs/common").PipeTransform<any, any> | import("@nestjs/common").Type<import("@nestjs/common").PipeTransform<any, any>>)[]) => ParameterDecorator;
export declare const IpAddress: (...dataOrPipes: unknown[]) => ParameterDecorator;
export declare const UserAgent: (...dataOrPipes: unknown[]) => ParameterDecorator;