@pelotech/nestjsx-crud-request
Version:
NestJS CRUD for RESTful APIs - request query builder (temporary patch)
93 lines (92 loc) • 2.96 kB
TypeScript
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 {};