@bcc-code/feathers-arangodb
Version:
ArangoDB Service/Adapter for FeathersJS
42 lines (41 loc) • 1.82 kB
TypeScript
import { Params } from "@feathersjs/feathers";
import { AqlQuery, AqlValue, GeneratedAqlQuery } from "arangojs/aql";
import { AqlLiteral } from "arangojs/aql";
import { SearchField } from "./searchBuilder";
export declare enum LogicalOperator {
And = " AND ",
Or = " OR "
}
export declare class QueryBuilder {
reserved: string[];
bindVars: {
[key: string]: any;
};
maxLimit: number;
_limit: number;
_countNeed: string;
_skip: number;
_search?: AqlQuery;
_sort?: AqlQuery;
searchFields: SearchField[];
_filter?: AqlQuery;
docName: string;
returnDocName: string;
returnFilter?: AqlQuery | AqlLiteral;
varCount: number;
constructor(params: Params, docName?: string, returnDocName?: string, searchFields?: SearchField[]);
getParameterizedPath(path: string, basePath: string): GeneratedAqlQuery;
projectRecursive(o: object): AqlValue;
selectBuilder(params: Params): AqlQuery | AqlLiteral;
create(params: Params): QueryBuilder;
_runCheck(query: unknown): this | undefined;
_aqlFilterFromFeathersQuery(feathersQuery: boolean | number | string | null | object, aqlFilterVar: AqlQuery | AqlLiteral): AqlQuery | undefined;
_aqlFilterArrayElement(elementQuery: any, aqlFilterVar: AqlQuery | AqlLiteral): AqlQuery | undefined;
_aqlFilterFromFeathersQueryArray(feathersQueries: any[], aqlFilterVar: AqlQuery | AqlLiteral, operator: LogicalOperator): AqlQuery | undefined;
_joinAqlFiltersWithOperator(aqlFilters: (AqlQuery | undefined)[], operator: LogicalOperator): AqlQuery | undefined;
addSort(sort: unknown): AqlQuery | undefined;
addSearch(searchFields: SearchField[], search: unknown): AqlQuery | undefined;
get limit(): AqlQuery;
get sort(): AqlQuery;
get filter(): AqlQuery | undefined;
}