-
Notifications
You must be signed in to change notification settings - Fork 215
/
deleteBy.ts
25 lines (23 loc) · 864 Bytes
/
deleteBy.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import { createWaitablePromise, encode, WaitablePromise } from '@algolia/client-common';
import { MethodEnum } from '@algolia/requester-common';
import { RequestOptions } from '@algolia/transporter';
import { DeleteByFiltersOptions, DeleteResponse, SearchIndex } from '../..';
import { waitTask } from '.';
export const deleteBy = (base: SearchIndex) => {
return (
filters: DeleteByFiltersOptions,
requestOptions?: RequestOptions
): Readonly<WaitablePromise<DeleteResponse>> => {
return createWaitablePromise<DeleteResponse>(
base.transporter.write(
{
method: MethodEnum.Post,
path: encode('1/indexes/%s/deleteByQuery', base.indexName),
data: filters,
},
requestOptions
),
(response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)
);
};
};