UNPKG

@n4it/crud-request

Version:

NestJs CRUD for RESTful APIs - request query builder

51 lines (50 loc) 1.85 kB
import { ObjectLiteral } from '@n4it/crud-util'; import { ClassTransformOptions } from 'class-transformer'; import { CustomOperators, ParamsOptions, ParsedRequestParams } from './interfaces'; import { QueryExtra, QueryFields, QueryFilter, QueryJoin, QuerySort, SCondition, SConditionAND, SFields } from './types'; export declare class RequestQueryParser implements ParsedRequestParams { fields: QueryFields; paramsFilter: QueryFilter[]; authPersist: ObjectLiteral; classTransformOptions: ClassTransformOptions; search: SCondition; filter: QueryFilter[]; or: QueryFilter[]; join: QueryJoin[]; sort: QuerySort[]; limit: number; offset: number; page: number; cache: number; includeDeleted: number; extra?: QueryExtra; private _params; private _query; private _paramNames; private _paramsOptions; private _joinConditionParseOptions; private get _options(); static create(): RequestQueryParser; getParsed(): ParsedRequestParams; normalizeIndexedParams(input: Record<string, string>): Record<string, any>; parseQuery(query: any, customOperators?: CustomOperators): this; parseParams(params: any, options: ParamsOptions): this; setAuthPersist(persist?: ObjectLiteral): void; setClassTransformOptions(options?: ClassTransformOptions): void; convertFilterToSearch(filter: QueryFilter): SFields | SConditionAND; private getParamNames; private getParamValues; private parseQueryParam; private parseExtraFromQueryParam; private parseDotChainToObject; private parseValue; private parseValues; private fieldsParser; private parseSearchQueryParam; private conditionParser; private parseJoinConditions; private joinParser; private sortParser; private numericParser; private paramParser; }