mirror of
https://github.com/nextapps-de/flexsearch.git
synced 2025-08-28 16:20:04 +02:00
resolver types within index.d.ts
This commit is contained in:
206
index.d.ts
vendored
206
index.d.ts
vendored
@@ -195,10 +195,10 @@ declare module "flexsearch" {
|
|||||||
W extends WorkerType = false,
|
W extends WorkerType = false,
|
||||||
S extends StorageInterface | boolean = false,
|
S extends StorageInterface | boolean = false,
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
D extends DocumentData = undefined
|
//D extends DocumentData = undefined
|
||||||
> = R extends true
|
> = R extends true
|
||||||
? DefaultSearchResults
|
? DefaultSearchResults
|
||||||
: Resolver<D, W, S>
|
: Resolver<undefined, W, S>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Basic usage and variants: https://github.com/nextapps-de/flexsearch#basic-usage-and-variants \
|
* Basic usage and variants: https://github.com/nextapps-de/flexsearch#basic-usage-and-variants \
|
||||||
@@ -210,12 +210,12 @@ declare module "flexsearch" {
|
|||||||
W extends WorkerType = false,
|
W extends WorkerType = false,
|
||||||
S extends StorageInterface | boolean = false,
|
S extends StorageInterface | boolean = false,
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
D extends DocumentData = undefined
|
//D extends DocumentData = undefined
|
||||||
> = W extends false
|
> = W extends false
|
||||||
? S extends false
|
? S extends false
|
||||||
? SearchResults<W, S, R, D>
|
? SearchResults<W, S, R>
|
||||||
: Promise<SearchResults<W, S, R, D>>
|
: Promise<SearchResults<W, S, R>>
|
||||||
: Promise<SearchResults<W, S, R, D>>
|
: Promise<SearchResults<W, S, R>>
|
||||||
|
|
||||||
export class Index<
|
export class Index<
|
||||||
W extends WorkerType = false,
|
W extends WorkerType = false,
|
||||||
@@ -501,7 +501,7 @@ declare module "flexsearch" {
|
|||||||
D extends DocumentData = DocumentData,
|
D extends DocumentData = DocumentData,
|
||||||
H extends HighlightOptions | boolean = false,
|
H extends HighlightOptions | boolean = false,
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
E extends boolean = false
|
E extends boolean = H extends HighlightOptions ? true : false
|
||||||
> = FieldName<D> | DocumentSearchOptions<D, H, true, R, E>;
|
> = FieldName<D> | DocumentSearchOptions<D, H, true, R, E>;
|
||||||
|
|
||||||
export type DocumentSearchResults<
|
export type DocumentSearchResults<
|
||||||
@@ -509,21 +509,40 @@ declare module "flexsearch" {
|
|||||||
H extends HighlightOptions | boolean = false,
|
H extends HighlightOptions | boolean = false,
|
||||||
P extends PluckOptions<D, H, R, E> | boolean = false,
|
P extends PluckOptions<D, H, R, E> | boolean = false,
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
E extends boolean = false,
|
E extends boolean = H extends HighlightOptions ? true : false,
|
||||||
|
M extends boolean = false
|
||||||
|
> = P extends false
|
||||||
|
? M extends true
|
||||||
|
? MergedDocumentSearchResults<D>
|
||||||
|
: E extends true
|
||||||
|
? EnrichedDocumentSearchResults<D>
|
||||||
|
: H extends false
|
||||||
|
? DefaultDocumentSearchResults<D>
|
||||||
|
: EnrichedDocumentSearchResults<D>
|
||||||
|
: E extends true
|
||||||
|
? EnrichedResults<D>
|
||||||
|
: DefaultSearchResults;
|
||||||
|
|
||||||
|
export type DocumentSearchResultsWrapper<
|
||||||
|
D extends DocumentData = DocumentData,
|
||||||
|
W extends WorkerType = false,
|
||||||
|
S extends StorageInterface | boolean = false,
|
||||||
|
H extends HighlightOptions | boolean = false,
|
||||||
|
P extends PluckOptions<D, H, R, E> | boolean = false,
|
||||||
|
R extends boolean = true,
|
||||||
|
E extends boolean = H extends HighlightOptions ? true : false,
|
||||||
M extends boolean = false
|
M extends boolean = false
|
||||||
> = R extends true
|
> = R extends true
|
||||||
? P extends false
|
? W extends false
|
||||||
? M extends true
|
? S extends false
|
||||||
? MergedDocumentSearchResults<D>
|
? DocumentSearchResults<D, H, P, R, E, M>
|
||||||
: E extends true
|
: Promise<DocumentSearchResults<D, H, P, R, E, M>>
|
||||||
? EnrichedDocumentSearchResults<D>
|
: Promise<DocumentSearchResults<D, H, P, R, E, M>>
|
||||||
: H extends false
|
: W extends false
|
||||||
? DefaultDocumentSearchResults<D>
|
? S extends false
|
||||||
: EnrichedDocumentSearchResults<D>
|
? Resolver<D, W, S, H, R, E>
|
||||||
: E extends true
|
: Promise<Resolver<D, W, S, H, R, E>>
|
||||||
? EnrichedResults<D>
|
: Promise<Resolver<D, W, S, H, R, E>>;
|
||||||
: DefaultSearchResults
|
|
||||||
: Resolver;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* **Document:**
|
* **Document:**
|
||||||
@@ -534,7 +553,7 @@ declare module "flexsearch" {
|
|||||||
H extends HighlightOptions | boolean = false,
|
H extends HighlightOptions | boolean = false,
|
||||||
P extends PluckOptions<D, H, R, E> | boolean = false,
|
P extends PluckOptions<D, H, R, E> | boolean = false,
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
E extends boolean = false,
|
E extends boolean = H extends HighlightOptions ? true : false,
|
||||||
M extends boolean = false,
|
M extends boolean = false,
|
||||||
> = SearchOptions<R> & {
|
> = SearchOptions<R> & {
|
||||||
tag?: {[field: FieldName]: TagName} | Array<{[field: FieldName]: TagName}>;
|
tag?: {[field: FieldName]: TagName} | Array<{[field: FieldName]: TagName}>;
|
||||||
@@ -557,21 +576,6 @@ declare module "flexsearch" {
|
|||||||
[key: string]: DocumentValue | DocumentValue[];
|
[key: string]: DocumentValue | DocumentValue[];
|
||||||
};
|
};
|
||||||
|
|
||||||
export type DocumentSearchResultsWrapper<
|
|
||||||
D extends DocumentData = DocumentData,
|
|
||||||
W extends WorkerType = false,
|
|
||||||
S extends StorageInterface | boolean = false,
|
|
||||||
H extends HighlightOptions | boolean = false,
|
|
||||||
P extends PluckOptions<D, H, R, E> | boolean = false,
|
|
||||||
R extends boolean = true,
|
|
||||||
E extends boolean = false,
|
|
||||||
M extends boolean = false
|
|
||||||
> = W extends false
|
|
||||||
? S extends false
|
|
||||||
? DocumentSearchResults<D, H, P, R, E, M>
|
|
||||||
: Promise<DocumentSearchResults<D, H, P, R, E, M>>
|
|
||||||
: Promise<DocumentSearchResults<D, H, P, R, E, M>>
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Basic usage and variants: https://github.com/nextapps-de/flexsearch#basic-usage-and-variants \
|
* Basic usage and variants: https://github.com/nextapps-de/flexsearch#basic-usage-and-variants \
|
||||||
* API overview: https://github.com/nextapps-de/flexsearch#api-overview \
|
* API overview: https://github.com/nextapps-de/flexsearch#api-overview \
|
||||||
@@ -626,7 +630,7 @@ declare module "flexsearch" {
|
|||||||
H extends HighlightOptions | boolean = false,
|
H extends HighlightOptions | boolean = false,
|
||||||
P extends PluckOptions<D, H, R, E> | boolean = false,
|
P extends PluckOptions<D, H, R, E> | boolean = false,
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
E extends boolean = false,
|
E extends boolean = H extends HighlightOptions ? true : false,
|
||||||
M extends boolean = false
|
M extends boolean = false
|
||||||
>(
|
>(
|
||||||
query: string,
|
query: string,
|
||||||
@@ -636,7 +640,7 @@ declare module "flexsearch" {
|
|||||||
H extends HighlightOptions | boolean = false,
|
H extends HighlightOptions | boolean = false,
|
||||||
P extends PluckOptions<D, H, R, E> | boolean = false,
|
P extends PluckOptions<D, H, R, E> | boolean = false,
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
E extends boolean = false,
|
E extends boolean = H extends HighlightOptions ? true : false,
|
||||||
M extends boolean = false
|
M extends boolean = false
|
||||||
>(
|
>(
|
||||||
query: string,
|
query: string,
|
||||||
@@ -648,7 +652,7 @@ declare module "flexsearch" {
|
|||||||
H extends HighlightOptions | boolean = false,
|
H extends HighlightOptions | boolean = false,
|
||||||
P extends PluckOptions<D, H, R, E> | boolean = false,
|
P extends PluckOptions<D, H, R, E> | boolean = false,
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
E extends boolean = false,
|
E extends boolean = H extends HighlightOptions ? true : false,
|
||||||
M extends boolean = false
|
M extends boolean = false
|
||||||
>(
|
>(
|
||||||
query: string,
|
query: string,
|
||||||
@@ -660,7 +664,7 @@ declare module "flexsearch" {
|
|||||||
H extends HighlightOptions | boolean = false,
|
H extends HighlightOptions | boolean = false,
|
||||||
P extends PluckOptions<D, H, R, E> | boolean = false,
|
P extends PluckOptions<D, H, R, E> | boolean = false,
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
E extends boolean = false,
|
E extends boolean = H extends HighlightOptions ? true : false,
|
||||||
M extends boolean = false
|
M extends boolean = false
|
||||||
>(
|
>(
|
||||||
query: string,
|
query: string,
|
||||||
@@ -672,7 +676,7 @@ declare module "flexsearch" {
|
|||||||
H extends HighlightOptions | boolean = false,
|
H extends HighlightOptions | boolean = false,
|
||||||
P extends PluckOptions<D, H, R, E> | boolean = false,
|
P extends PluckOptions<D, H, R, E> | boolean = false,
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
E extends boolean = false,
|
E extends boolean = H extends HighlightOptions ? true : false,
|
||||||
M extends boolean = false
|
M extends boolean = false
|
||||||
>(
|
>(
|
||||||
options: DocumentSearchOptions<D, H, P, R, E, M>,
|
options: DocumentSearchOptions<D, H, P, R, E, M>,
|
||||||
@@ -681,7 +685,7 @@ declare module "flexsearch" {
|
|||||||
H extends HighlightOptions | boolean = false,
|
H extends HighlightOptions | boolean = false,
|
||||||
P extends PluckOptions<D, H, R, E> | boolean = false,
|
P extends PluckOptions<D, H, R, E> | boolean = false,
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
E extends boolean = false,
|
E extends boolean = H extends HighlightOptions ? true : false,
|
||||||
M extends boolean = false
|
M extends boolean = false
|
||||||
>(
|
>(
|
||||||
options: DocumentSearchOptions<D, H, P, R, E, M>,
|
options: DocumentSearchOptions<D, H, P, R, E, M>,
|
||||||
@@ -766,118 +770,118 @@ declare module "flexsearch" {
|
|||||||
H extends HighlightOptions | boolean = false,
|
H extends HighlightOptions | boolean = false,
|
||||||
P extends PluckOptions<D, H, R, E> | boolean = false,
|
P extends PluckOptions<D, H, R, E> | boolean = false,
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
E extends boolean = false,
|
E extends boolean = H extends HighlightOptions ? true : false,
|
||||||
M extends boolean = false
|
M extends boolean = false
|
||||||
>(
|
>(
|
||||||
query: string,
|
query: string,
|
||||||
callback?: AsyncCallback<DocumentSearchResults<D, H, P, R, E, M>>,
|
callback?: AsyncCallback<DocumentSearchResultsWrapper<D, W, S, H, P, R, E, M>>,
|
||||||
): Promise<DocumentSearchResults<D, H, P, R, E, M>>
|
): Promise<DocumentSearchResultsWrapper<D, W, S, H, P, R, E, M>>
|
||||||
searchCacheAsync<
|
searchCacheAsync<
|
||||||
H extends HighlightOptions | boolean = false,
|
H extends HighlightOptions | boolean = false,
|
||||||
P extends PluckOptions<D, H, R, E> | boolean = false,
|
P extends PluckOptions<D, H, R, E> | boolean = false,
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
E extends boolean = false,
|
E extends boolean = H extends HighlightOptions ? true : false,
|
||||||
M extends boolean = false
|
M extends boolean = false
|
||||||
>(
|
>(
|
||||||
query: string,
|
query: string,
|
||||||
callback?: AsyncCallback<DocumentSearchResults<D, H, P, R, E, M>>,
|
callback?: AsyncCallback<DocumentSearchResultsWrapper<D, W, S, H, P, R, E, M>>,
|
||||||
): Promise<DocumentSearchResults<D, H, P, R, E, M>>
|
): Promise<DocumentSearchResultsWrapper<D, W, S, H, P, R, E, M>>
|
||||||
|
|
||||||
/** @deprecated Pass "limit" within options */
|
/** @deprecated Pass "limit" within options */
|
||||||
searchAsync<
|
searchAsync<
|
||||||
H extends HighlightOptions | boolean = false,
|
H extends HighlightOptions | boolean = false,
|
||||||
P extends PluckOptions<D, H, R, E> | boolean = false,
|
P extends PluckOptions<D, H, R, E> | boolean = false,
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
E extends boolean = false,
|
E extends boolean = H extends HighlightOptions ? true : false,
|
||||||
M extends boolean = false
|
M extends boolean = false
|
||||||
>(
|
>(
|
||||||
query: string,
|
query: string,
|
||||||
limit: Limit,
|
limit: Limit,
|
||||||
callback?: AsyncCallback<DocumentSearchResults<D, H, P, R, E, M>>,
|
callback?: AsyncCallback<DocumentSearchResultsWrapper<D, W, S, H, P, R, E, M>>,
|
||||||
): Promise<DocumentSearchResults<D, H, P, R, E, M>>
|
): Promise<DocumentSearchResultsWrapper<D, W, S, H, P, R, E, M>>
|
||||||
/** @deprecated Pass "limit" within options */
|
/** @deprecated Pass "limit" within options */
|
||||||
searchCacheAsync<
|
searchCacheAsync<
|
||||||
H extends HighlightOptions | boolean = false,
|
H extends HighlightOptions | boolean = false,
|
||||||
P extends PluckOptions<D, H, R, E> | boolean = false,
|
P extends PluckOptions<D, H, R, E> | boolean = false,
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
E extends boolean = false,
|
E extends boolean = H extends HighlightOptions ? true : false,
|
||||||
M extends boolean = false
|
M extends boolean = false
|
||||||
>(
|
>(
|
||||||
query: string,
|
query: string,
|
||||||
limit: Limit,
|
limit: Limit,
|
||||||
callback?: AsyncCallback<DocumentSearchResults<D, H, P, R, E, M>>,
|
callback?: AsyncCallback<DocumentSearchResultsWrapper<D, W, S, H, P, R, E, M>>,
|
||||||
): Promise<DocumentSearchResults<D, H, P, R, E, M>>
|
): Promise<DocumentSearchResultsWrapper<D, W, S, H, P, R, E, M>>
|
||||||
|
|
||||||
/** @deprecated Pass "limit" within options */
|
/** @deprecated Pass "limit" within options */
|
||||||
searchAsync<
|
searchAsync<
|
||||||
H extends HighlightOptions | boolean = false,
|
H extends HighlightOptions | boolean = false,
|
||||||
P extends PluckOptions<D, H, R, E> | boolean = false,
|
P extends PluckOptions<D, H, R, E> | boolean = false,
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
E extends boolean = false,
|
E extends boolean = H extends HighlightOptions ? true : false,
|
||||||
M extends boolean = false
|
M extends boolean = false
|
||||||
>(
|
>(
|
||||||
query: string,
|
query: string,
|
||||||
limit: Limit,
|
limit: Limit,
|
||||||
options?: DocumentSearchOptions<D, H, P, R, E, M>,
|
options?: DocumentSearchOptions<D, H, P, R, E, M>,
|
||||||
callback?: AsyncCallback<DocumentSearchResults<D, H, P, R, E, M>>,
|
callback?: AsyncCallback<DocumentSearchResultsWrapper<D, W, S, H, P, R, E, M>>,
|
||||||
): Promise<DocumentSearchResults<D, H, P, R, E, M>>;
|
): Promise<DocumentSearchResultsWrapper<D, W, S, H, P, R, E, M>>;
|
||||||
/** @deprecated Pass "limit" within options */
|
/** @deprecated Pass "limit" within options */
|
||||||
searchCacheAsync<
|
searchCacheAsync<
|
||||||
H extends HighlightOptions | boolean = false,
|
H extends HighlightOptions | boolean = false,
|
||||||
P extends PluckOptions<D, H, R, E> | boolean = false,
|
P extends PluckOptions<D, H, R, E> | boolean = false,
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
E extends boolean = false,
|
E extends boolean = H extends HighlightOptions ? true : false,
|
||||||
M extends boolean = false
|
M extends boolean = false
|
||||||
>(
|
>(
|
||||||
query: string,
|
query: string,
|
||||||
limit: Limit,
|
limit: Limit,
|
||||||
options?: DocumentSearchOptions<D, H, P, R, E, M>,
|
options?: DocumentSearchOptions<D, H, P, R, E, M>,
|
||||||
callback?: AsyncCallback<DocumentSearchResults<D, H, P, R, E, M>>,
|
callback?: AsyncCallback<DocumentSearchResultsWrapper<D, W, S, H, P, R, E, M>>,
|
||||||
): Promise<DocumentSearchResults<D, H, P, R, E, M>>;
|
): Promise<DocumentSearchResultsWrapper<D, W, S, H, P, R, E, M>>;
|
||||||
|
|
||||||
searchAsync<
|
searchAsync<
|
||||||
H extends HighlightOptions | boolean = false,
|
H extends HighlightOptions | boolean = false,
|
||||||
P extends PluckOptions<D, H, R, E> | boolean = false,
|
P extends PluckOptions<D, H, R, E> | boolean = false,
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
E extends boolean = false,
|
E extends boolean = H extends HighlightOptions ? true : false,
|
||||||
M extends boolean = false
|
M extends boolean = false
|
||||||
>(
|
>(
|
||||||
query: string,
|
query: string,
|
||||||
options?: DocumentSearchOptions<D, H, P, R, E, M>,
|
options?: DocumentSearchOptions<D, H, P, R, E, M>,
|
||||||
callback?: AsyncCallback<DocumentSearchResults<D, H, P, R, E, M>>,
|
callback?: AsyncCallback<DocumentSearchResultsWrapper<D, W, S, H, P, R, E, M>>,
|
||||||
): Promise<DocumentSearchResults<D, H, P, R, E, M>>
|
): Promise<DocumentSearchResultsWrapper<D, W, S, H, P, R, E, M>>
|
||||||
searchCacheAsync<
|
searchCacheAsync<
|
||||||
H extends HighlightOptions | boolean = false,
|
H extends HighlightOptions | boolean = false,
|
||||||
P extends PluckOptions<D, H, R, E> | boolean = false,
|
P extends PluckOptions<D, H, R, E> | boolean = false,
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
E extends boolean = false,
|
E extends boolean = H extends HighlightOptions ? true : false,
|
||||||
M extends boolean = false
|
M extends boolean = false
|
||||||
>(
|
>(
|
||||||
query: string,
|
query: string,
|
||||||
options?: DocumentSearchOptions<D, H, P, R, E, M>,
|
options?: DocumentSearchOptions<D, H, P, R, E, M>,
|
||||||
callback?: AsyncCallback<DocumentSearchResults<D, H, P, R, E, M>>,
|
callback?: AsyncCallback<DocumentSearchResultsWrapper<D, W, S, H, P, R, E, M>>,
|
||||||
): Promise<DocumentSearchResults<D, H, P, R, E, M>>
|
): Promise<DocumentSearchResultsWrapper<D, W, S, H, P, R, E, M>>
|
||||||
|
|
||||||
searchAsync<
|
searchAsync<
|
||||||
H extends HighlightOptions | boolean = false,
|
H extends HighlightOptions | boolean = false,
|
||||||
P extends PluckOptions<D, H, R, E> | boolean = false,
|
P extends PluckOptions<D, H, R, E> | boolean = false,
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
E extends boolean = false,
|
E extends boolean = H extends HighlightOptions ? true : false,
|
||||||
M extends boolean = false
|
M extends boolean = false
|
||||||
>(
|
>(
|
||||||
options: DocumentSearchOptions<D, H, P, R, E, M>,
|
options: DocumentSearchOptions<D, H, P, R, E, M>,
|
||||||
callback?: AsyncCallback<DocumentSearchResults<D, H, P, R, E, M>>,
|
callback?: AsyncCallback<DocumentSearchResultsWrapper<D, W, S, H, P, R, E, M>>,
|
||||||
): Promise<DocumentSearchResults<D, H, P, R, E, M>>;
|
): Promise<DocumentSearchResultsWrapper<D, W, S, H, P, R, E, M>>;
|
||||||
searchCacheAsync<
|
searchCacheAsync<
|
||||||
H extends HighlightOptions | boolean = false,
|
H extends HighlightOptions | boolean = false,
|
||||||
P extends PluckOptions<D, H, R, E> | boolean = false,
|
P extends PluckOptions<D, H, R, E> | boolean = false,
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
E extends boolean = false,
|
E extends boolean = H extends HighlightOptions ? true : false,
|
||||||
M extends boolean = false
|
M extends boolean = false
|
||||||
>(
|
>(
|
||||||
options: DocumentSearchOptions<D, H, P, R, E, M>,
|
options: DocumentSearchOptions<D, H, P, R, E, M>,
|
||||||
callback?: AsyncCallback<DocumentSearchResults<D, H, P, R, E, M>>,
|
callback?: AsyncCallback<DocumentSearchResultsWrapper<D, W, S, H, P, R, E, M>>,
|
||||||
): Promise<DocumentSearchResults<D, H, P, R, E, M>>;
|
): Promise<DocumentSearchResultsWrapper<D, W, S, H, P, R, E, M>>;
|
||||||
}
|
}
|
||||||
|
|
||||||
type IdType =
|
type IdType =
|
||||||
@@ -902,7 +906,7 @@ declare module "flexsearch" {
|
|||||||
"uint64" |
|
"uint64" |
|
||||||
"bigint";
|
"bigint";
|
||||||
|
|
||||||
type PersistentOptions = {
|
export type PersistentOptions = {
|
||||||
name?: string;
|
name?: string;
|
||||||
type?: IdType;
|
type?: IdType;
|
||||||
db?: any;
|
db?: any;
|
||||||
@@ -910,7 +914,6 @@ declare module "flexsearch" {
|
|||||||
|
|
||||||
export type DefaultResolve<
|
export type DefaultResolve<
|
||||||
D extends DocumentData = undefined,
|
D extends DocumentData = undefined,
|
||||||
H extends HighlightOptions | boolean = false,
|
|
||||||
R extends boolean = true,
|
R extends boolean = true,
|
||||||
E extends boolean = false
|
E extends boolean = false
|
||||||
> = {
|
> = {
|
||||||
@@ -921,10 +924,6 @@ declare module "flexsearch" {
|
|||||||
enrich?: D extends DocumentData
|
enrich?: D extends DocumentData
|
||||||
? R extends true ? E : false
|
? R extends true ? E : false
|
||||||
: false;
|
: false;
|
||||||
/** only usable when "resolve" was not set to false */
|
|
||||||
highlight?: D extends DocumentData
|
|
||||||
? R extends true ? H : false
|
|
||||||
: false;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export type ResolverOptions<
|
export type ResolverOptions<
|
||||||
@@ -933,8 +932,8 @@ declare module "flexsearch" {
|
|||||||
S extends StorageInterface | boolean = false,
|
S extends StorageInterface | boolean = false,
|
||||||
H extends HighlightOptions | boolean = false,
|
H extends HighlightOptions | boolean = false,
|
||||||
R extends boolean = false,
|
R extends boolean = false,
|
||||||
E extends boolean = false
|
E extends boolean = H extends HighlightOptions ? true : false
|
||||||
> = DefaultResolve<D, H, R, E> & {
|
> = DefaultResolve<D, R, E> & {
|
||||||
query?: string;
|
query?: string;
|
||||||
index?: Index<W, S> | Document<D, W, S>;
|
index?: Index<W, S> | Document<D, W, S>;
|
||||||
pluck?: FieldName<D>;
|
pluck?: FieldName<D>;
|
||||||
@@ -946,6 +945,10 @@ declare module "flexsearch" {
|
|||||||
not?: ResolverOptions<D, W, S, H, R, E> | Array<ResolverOptions<D, W, S, H, R, E>>;
|
not?: ResolverOptions<D, W, S, H, R, E> | Array<ResolverOptions<D, W, S, H, R, E>>;
|
||||||
boost?: number;
|
boost?: number;
|
||||||
suggest?: boolean;
|
suggest?: boolean;
|
||||||
|
/** only usable when "resolve" was not set to false */
|
||||||
|
highlight?: D extends DocumentData
|
||||||
|
? R extends true ? H : false
|
||||||
|
: false;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type HighlightBoundaryOptions = {
|
export type HighlightBoundaryOptions = {
|
||||||
@@ -988,23 +991,42 @@ declare module "flexsearch" {
|
|||||||
export class Resolver<
|
export class Resolver<
|
||||||
D extends DocumentData = undefined,
|
D extends DocumentData = undefined,
|
||||||
W extends WorkerType = false,
|
W extends WorkerType = false,
|
||||||
S extends StorageInterface | boolean = false
|
S extends StorageInterface | boolean = false,
|
||||||
|
H extends HighlightOptions | boolean = false,
|
||||||
|
R extends boolean = false,
|
||||||
|
E extends boolean = H extends HighlightOptions ? true : false
|
||||||
> {
|
> {
|
||||||
result: IntermediateSearchResults;
|
result: IntermediateSearchResults;
|
||||||
|
|
||||||
constructor(options?: ResolverOptions<D, W, S> | IntermediateSearchResults);
|
constructor(options?: ResolverOptions<D, W, S> | IntermediateSearchResults);
|
||||||
|
|
||||||
and<R extends boolean = false>(...args: ResolverOptions<D, W, S, false, R>[]):
|
and<d extends DocumentData = D,
|
||||||
IndexSearchResultsWrapper<W, S, R, D>;
|
h extends HighlightOptions | boolean = H,
|
||||||
|
r extends boolean = R,
|
||||||
|
e extends boolean = h extends HighlightOptions ? true : E
|
||||||
|
>(...args: ResolverOptions<d, W, S, h, r, e>[]):
|
||||||
|
DocumentSearchResultsWrapper<d, W, S, h, true, r, e>;
|
||||||
|
|
||||||
or<R extends boolean = false>(...args: ResolverOptions<D, W, S, false, R>[]):
|
or<d extends DocumentData = D,
|
||||||
IndexSearchResultsWrapper<W, S, R, D>;
|
h extends HighlightOptions | boolean = H,
|
||||||
|
r extends boolean = R,
|
||||||
|
e extends boolean = h extends HighlightOptions ? true : E
|
||||||
|
>(...args: ResolverOptions<d, W, S, h, r, e>[]):
|
||||||
|
DocumentSearchResultsWrapper<d, W, S, h, true, r, e>;
|
||||||
|
|
||||||
xor<R extends boolean = false>(...args: ResolverOptions<D, W, S, false, R>[]):
|
xor<d extends DocumentData = D,
|
||||||
IndexSearchResultsWrapper<W, S, R, D>;
|
h extends HighlightOptions | boolean = H,
|
||||||
|
r extends boolean = R,
|
||||||
|
e extends boolean = h extends HighlightOptions ? true : E
|
||||||
|
>(...args: ResolverOptions<d, W, S, h, r, e>[]):
|
||||||
|
DocumentSearchResultsWrapper<d, W, S, h, true, r, e>;
|
||||||
|
|
||||||
not<R extends boolean = false>(...args: ResolverOptions<D, W, S, false, R>[]):
|
not<d extends DocumentData = D,
|
||||||
IndexSearchResultsWrapper<W, S, R, D>;
|
h extends HighlightOptions | boolean = H,
|
||||||
|
r extends boolean = R,
|
||||||
|
e extends boolean = h extends HighlightOptions ? true : E
|
||||||
|
>(...args: ResolverOptions<d, W, S, h, r, e>[]):
|
||||||
|
DocumentSearchResultsWrapper<d, W, S, h, true, r, e>;
|
||||||
|
|
||||||
limit(limit: number): Resolver<D, W, S>;
|
limit(limit: number): Resolver<D, W, S>;
|
||||||
|
|
||||||
@@ -1012,7 +1034,7 @@ declare module "flexsearch" {
|
|||||||
|
|
||||||
boost(boost: number): Resolver<D, W, S>;
|
boost(boost: number): Resolver<D, W, S>;
|
||||||
|
|
||||||
resolve(options?: DefaultResolve<D>): IndexSearchResultsWrapper<W, S, true, D>;
|
resolve<e extends boolean = E>(options?: DefaultResolve<D, true, e>): DocumentSearchResultsWrapper<D, W, S, false, true, true, e>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class StorageInterface {
|
export class StorageInterface {
|
||||||
@@ -1067,8 +1089,8 @@ declare module "flexsearch/db/*" {
|
|||||||
|
|
||||||
declare module "flexsearch/lang/*" {
|
declare module "flexsearch/lang/*" {
|
||||||
import { EncoderOptions } from "flexsearch";
|
import { EncoderOptions } from "flexsearch";
|
||||||
const Options: EncoderOptions;
|
//const Options: EncoderOptions;
|
||||||
export default Options;
|
export default EncoderOptions;
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html
|
// https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html
|
||||||
|
@@ -48,7 +48,7 @@ async function test_index() {
|
|||||||
const res3: DefaultSearchResults = res2.resolve();
|
const res3: DefaultSearchResults = res2.resolve();
|
||||||
|
|
||||||
const res4: Resolver<undefined, false, IndexedDB> = new Resolver({ index: index3 });
|
const res4: Resolver<undefined, false, IndexedDB> = new Resolver({ index: index3 });
|
||||||
const res5: Promise<Resolver<undefined, false, IndexedDB>> = res4.and();
|
const res5: Promise<Resolver<undefined, false, IndexedDB>> = res4.and({});
|
||||||
const res6: Promise<Resolver<undefined, false, IndexedDB>> = res4.and({ index: index3 });
|
const res6: Promise<Resolver<undefined, false, IndexedDB>> = res4.and({ index: index3 });
|
||||||
const res7: Promise<DefaultSearchResults> = (await res6).limit(100).resolve();
|
const res7: Promise<DefaultSearchResults> = (await res6).limit(100).resolve();
|
||||||
|
|
||||||
@@ -89,14 +89,14 @@ async function test_index() {
|
|||||||
|
|
||||||
async function test_document() {
|
async function test_document() {
|
||||||
|
|
||||||
// ----------------------------------------------------------------
|
type doctype = {
|
||||||
|
|
||||||
const document = new Document<{
|
|
||||||
id: number,
|
id: number,
|
||||||
title: string,
|
title: string,
|
||||||
description: string,
|
description: string,
|
||||||
tags: string[]
|
tags: string[]
|
||||||
}>({
|
};
|
||||||
|
|
||||||
|
const document = new Document<doctype>({
|
||||||
encoder: "LatinBalance",
|
encoder: "LatinBalance",
|
||||||
resolution: 9,
|
resolution: 9,
|
||||||
context: false,
|
context: false,
|
||||||
@@ -108,7 +108,7 @@ async function test_document() {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
type doctype = {
|
type doctype2 = {
|
||||||
id: number,
|
id: number,
|
||||||
meta: {
|
meta: {
|
||||||
title: string,
|
title: string,
|
||||||
@@ -117,7 +117,7 @@ async function test_document() {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const document2 = new Document<doctype>({
|
const document2 = new Document<doctype2>({
|
||||||
document: {
|
document: {
|
||||||
id: "id",
|
id: "id",
|
||||||
store: [{
|
store: [{
|
||||||
@@ -176,25 +176,25 @@ async function test_document() {
|
|||||||
const doc11: Promise<DefaultDocumentSearchResults> = document.searchCacheAsync({});
|
const doc11: Promise<DefaultDocumentSearchResults> = document.searchCacheAsync({});
|
||||||
const doc13: DefaultDocumentSearchResults = document.search({ resolve: true });
|
const doc13: DefaultDocumentSearchResults = document.search({ resolve: true });
|
||||||
|
|
||||||
const doc14: Resolver = document.search({ resolve: false });
|
const doc14: Resolver<doctype> = document.search({ resolve: false });
|
||||||
const doc15: DefaultSearchResults = doc14.resolve({});
|
const doc15: DefaultSearchResults = doc14.resolve({});
|
||||||
const doc16: DefaultSearchResults = doc14.and({ resolve: true });
|
const doc16: DefaultSearchResults = doc14.and({ resolve: true });
|
||||||
const doc17: EnrichedResults = doc14.resolve({ enrich: true });
|
const doc17: EnrichedResults = doc14.resolve({ enrich: true });
|
||||||
const doc18: EnrichedResults = doc14.and({ resolve: true, enrich: true });
|
const doc18: EnrichedResults = doc14.and({ resolve: true, enrich: true });
|
||||||
const doc19: Resolver = doc14.and({ index: document, field: "title" });
|
const doc19: Resolver<doctype> = doc14.and({ index: document, field: "title" });
|
||||||
const doc20: Resolver = doc19.or({ index: document2, pluck: "meta:title" });
|
const doc20: Resolver<doctype2> = doc19.or({ index: document2, pluck: "meta:title" });
|
||||||
const doc21: DefaultSearchResults = doc20.resolve();
|
const doc21: DefaultSearchResults = doc20.resolve();
|
||||||
const doc22: EnrichedResults = doc20.resolve({ enrich: true });
|
const doc22: EnrichedResults = doc20.resolve({ enrich: true });
|
||||||
// highlight within last resolver stage is work in progress:
|
// highlight within last resolver stage is work in progress:
|
||||||
const doc23: EnrichedResults = doc20.and({ resolve: true, highlight: { template: "", boundary: {} } });
|
const doc23: EnrichedResults = doc20.and({ resolve: true, highlight: { template: "", boundary: {} } });
|
||||||
|
|
||||||
const doc24: Resolver = new Resolver({ index: document });
|
const doc24: Resolver<doctype2> = new Resolver({ index: document2 });
|
||||||
const doc25: EnrichedResults = doc24.and({}, { index: document2, resolve: true, enrich: true });
|
const doc25: EnrichedResults = doc24.and({}, { index: document, resolve: true, enrich: true });
|
||||||
const doc26: EnrichedResults = doc24.and({}, { index: document2 }).resolve({ enrich: true });
|
const doc26: EnrichedResults = doc24.and({}, { index: document2 }).resolve({ enrich: true });
|
||||||
// highlight within last resolver stage is work in progress:
|
// highlight within last resolver stage is work in progress:
|
||||||
const doc27: EnrichedResults = doc24.and({}, { index: document2, resolve: true, highlight: "" });
|
const doc27: EnrichedResults = doc24.and({}, { index: document2, resolve: true, highlight: "" });
|
||||||
const doc28: DefaultSearchResults = document2.search({ pluck: { field: "meta:title", limit: 10 } });
|
const doc28: DefaultSearchResults = document2.search({ pluck: { field: "meta:title", limit: 10 } });
|
||||||
const doc30: EnrichedResults = document2.search({ pluck: { field: "meta:title", highlight: true } });
|
const doc30: EnrichedResults = document2.search({ highlight: true, enrich: true, pluck: { field: "meta:title"} });
|
||||||
|
|
||||||
// highlight on .resolve() is never supported:
|
// highlight on .resolve() is never supported:
|
||||||
// @ts-expect-error
|
// @ts-expect-error
|
||||||
|
Reference in New Issue
Block a user