UNPKG

@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
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;