@n4it/crud-request
Version:
NestJs CRUD for RESTful APIs - request query builder
51 lines (50 loc) • 1.85 kB
TypeScript
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;
}