UNPKG

rapiq

Version:

A tiny library which provides utility types/functions for request and response query handling.

47 lines 1.55 kB
import type { FieldsParseOutput, FiltersParseOutput, PaginationParseOutput, RelationsParseOutput, SortParseOutput } from '../parameter'; import type { ParseInput, ParseParametersOutput, QueryParserOptions } from './types'; import type { ObjectLiteral } from '../types'; export declare class QueryParser<T extends ObjectLiteral = ObjectLiteral> { protected options: QueryParserOptions<T>; constructor(options?: QueryParserOptions<T>); parse(input: ParseInput): ParseParametersOutput; /** * Parse relations input parameter. * * @param input */ parseRelations(input: unknown): RelationsParseOutput; /** * Parse fields input parameter. * * @param input * @param relations */ parseFields(input: unknown, relations?: RelationsParseOutput): FieldsParseOutput; /** * Parse filter(s) input parameter. * * @param input * @param relations */ parseFilters(input: unknown, relations?: RelationsParseOutput): FiltersParseOutput; /** * Parse pagination input parameter. * * @param input */ parsePagination(input: unknown): PaginationParseOutput; /** * Parse sort input parameter. * * @param input * @param relations */ parseSort(input: unknown, relations?: RelationsParseOutput): SortParseOutput; printOptions(): void; protected extendParameterOptions<T extends { defaultPath?: string; throwOnFailure?: boolean; }>(data: T): T; } //# sourceMappingURL=parser.d.ts.map