js-node-arango
Version:
NodeJS ArangoDB Provider
50 lines (49 loc) • 1.26 kB
TypeScript
export interface SortBy {
field: string;
order: 'ASC' | 'DESC';
}
export interface LimitBy {
offset: number;
limit: number;
}
export type Primitive = string | number | boolean | undefined | null;
export type FilterObj = {
'@value': Primitive | Primitive[];
'@operator'?: '==' | '!=' | '<' | '>' | '<=' | '>=';
'@docNameToFilter'?: string;
};
export type FinalFilter = Primitive | Primitive[] | FilterObj;
export interface Filter {
[key: string]: FinalFilter | Filter;
}
export interface FilterBy {
filter: Filter;
}
export interface SearchBy {
search: {
identity?: any;
text_en?: any;
};
}
export interface ArangoQueryOptions {
sortBy?: SortBy;
limitBy?: LimitBy;
filterBy?: FilterBy;
searchBy?: SearchBy;
withCount?: boolean;
}
export declare enum Direction {
Outbound = "OUTBOUND",
Inbound = "INBOUND",
Any = "ANY"
}
export interface ArangoDocumentQueryOptions extends ArangoQueryOptions {
documentCollection: string;
}
export interface ArangoEdgeQueryOptions extends ArangoQueryOptions {
edgeCollections: string | Array<string>;
relatedCollections: string | Array<string>;
startingVertexId?: string;
depth?: number;
direction?: Direction;
}