UNPKG

@pelotech/nestjsx-crud-request

Version:

NestJS CRUD for RESTful APIs - request query builder (temporary patch)

93 lines (92 loc) 2.96 kB
export declare type QueryFields = string[]; export declare type QueryFilter = { field: string; operator: ComparisonOperator; value?: any; }; export declare type QueryFilterArr = [string, ComparisonOperator, any?]; export declare type QueryJoin = { field: string; select?: QueryFields; }; export declare type QueryJoinArr = [string, QueryFields?]; export declare type QuerySort = { field: string; order: QuerySortOperator; }; export declare type QuerySortArr = [string, QuerySortOperator]; export declare type QuerySortOperator = 'ASC' | 'DESC'; declare type DeprecatedCondOperator = 'eq' | 'ne' | 'gt' | 'lt' | 'gte' | 'lte' | 'starts' | 'ends' | 'cont' | 'excl' | 'in' | 'notin' | 'isnull' | 'notnull' | 'between' | 'contArr' | 'intersectsArr'; export declare enum CondOperator { EQUALS = "$eq", NOT_EQUALS = "$ne", GREATER_THAN = "$gt", LOWER_THAN = "$lt", GREATER_THAN_EQUALS = "$gte", LOWER_THAN_EQUALS = "$lte", STARTS = "$starts", ENDS = "$ends", CONTAINS = "$cont", EXCLUDES = "$excl", IN = "$in", NOT_IN = "$notin", IS_NULL = "$isnull", NOT_NULL = "$notnull", BETWEEN = "$between", EQUALS_LOW = "$eqL", NOT_EQUALS_LOW = "$neL", STARTS_LOW = "$startsL", ENDS_LOW = "$endsL", CONTAINS_LOW = "$contL", EXCLUDES_LOW = "$exclL", IN_LOW = "$inL", NOT_IN_LOW = "$notinL", CONTAINS_ARRAY = "$contArr", INTERSECTS_ARRAY = "$intersectsArr" } export declare type ComparisonOperator = DeprecatedCondOperator | keyof SFieldOperator; export declare type SPrimitivesVal = string | number | boolean; export declare type SFieldValues = SPrimitivesVal | Array<SPrimitivesVal>; export declare type SFiledValues = SFieldValues; export declare type SFieldOperator = { $eq?: SFieldValues; $ne?: SFieldValues; $gt?: SFieldValues; $lt?: SFieldValues; $gte?: SFieldValues; $lte?: SFieldValues; $starts?: SFieldValues; $ends?: SFieldValues; $cont?: SFieldValues; $excl?: SFieldValues; $in?: SFieldValues; $notin?: SFieldValues; $between?: SFieldValues; $isnull?: SFieldValues; $notnull?: SFieldValues; $eqL?: SFieldValues; $neL?: SFieldValues; $startsL?: SFieldValues; $endsL?: SFieldValues; $contL?: SFieldValues; $exclL?: SFieldValues; $inL?: SFieldValues; $notinL?: SFieldValues; $contArr?: Array<SPrimitivesVal>; $intersectsArr?: Array<SPrimitivesVal>; $or?: SFieldOperator; $and?: never; }; export declare type SField = SPrimitivesVal | SFieldOperator; export declare type SFields = { [key: string]: SField | Array<SFields | SConditionAND> | undefined; $or?: Array<SFields | SConditionAND>; $and?: never; }; export declare type SConditionAND = { $and?: Array<SFields | SConditionAND>; $or?: never; }; export declare type SConditionKey = '$and' | '$or'; export declare type SCondition = SFields | SConditionAND; export {};