@searchkit/schema
Version:
Elasticsearch GraphQL Resolvers
54 lines (53 loc) • 1.43 kB
TypeScript
import { SortingOption } from '@searchkit/sdk';
export declare type ValueFilter = {
identifier: string;
value: string;
};
export declare type RangeFilter = {
identifier: string;
min: number;
max: number;
};
export declare type DateRangeFilter = {
identifier: string;
dateMin: string;
dateMax: string;
};
export declare type GeoPoint = {
lat: number;
lon: number;
};
export declare type GeoBoundingBoxFilter = {
identifier: string;
geoBoundingBox: {
topLeft: GeoPoint;
bottomRight: GeoPoint;
topRight: GeoPoint;
bottomLeft: GeoPoint;
};
};
export declare type HierarchicalValueFilter = {
identifier: string;
value: string;
level: number;
};
declare type QueryOptions = {
fields: Array<string>;
};
export declare type MixedFilter = ValueFilter | RangeFilter | DateRangeFilter | GeoBoundingBoxFilter | HierarchicalValueFilter;
export default class QueryManager {
private filters;
private query;
private queryOptions;
private sortBy;
constructor(filters: Array<MixedFilter>, query: string, queryOptions: QueryOptions);
hasFilters(): boolean;
hasQuery(): boolean;
getQuery(): string;
getQueryOptions(): QueryOptions;
getFilters(): Array<MixedFilter>;
getFiltersById(id: string): Array<MixedFilter>;
setSortBy(sort: SortingOption): void;
getSortBy(): SortingOption;
}
export {};