rapiq
Version:
A tiny library which provides utility types/functions for request and response query handling.
47 lines • 1.55 kB
TypeScript
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