Skip to content

Commit 1767f00

Browse files
committed
Add changes from #1943
1 parent 77505c0 commit 1767f00

File tree

10 files changed

+682
-130
lines changed

10 files changed

+682
-130
lines changed

.code-samples.meilisearch.yaml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -99,35 +99,35 @@ multi_search_1: |-
9999
},
100100
]})
101101
get_all_tasks_1: |-
102-
client.getTasks()
102+
client.tasks.getTasks()
103103
get_task_1: |-
104-
client.getTask(1)
104+
client.tasks.getTask(1)
105105
async_guide_filter_by_date_1: |-
106-
client.getTasks({ afterEnqueuedAt: '2020-10-11T11:49:53.000Z' })
106+
client.tasks.getTasks({ afterEnqueuedAt: '2020-10-11T11:49:53.000Z' })
107107
async_guide_multiple_filters_1: |-
108-
client.getTasks({
108+
client.tasks.getTasks({
109109
indexUids: ['movies'],
110110
types: ['documentAdditionOrUpdate','documentDeletion'],
111111
statuses: ['processing']
112112
})
113113
async_guide_filter_by_ids_1: |-
114-
client.getTasks({ uids: [5, 10, 13] })
114+
client.tasks.getTasks({ uids: [5, 10, 13] })
115115
async_guide_filter_by_statuses_1: |-
116-
client.getTasks({ statuses: ['failed', 'canceled'] })
116+
client.tasks.getTasks({ statuses: ['failed', 'canceled'] })
117117
async_guide_filter_by_types_1: |-
118-
client.getTasks({ types: ['dumpCreation', 'indexSwap'] })
118+
client.tasks.getTasks({ types: ['dumpCreation', 'indexSwap'] })
119119
async_guide_filter_by_index_uids_1: |-
120-
client.getTasks({ indexUids: ['movies'] })
120+
client.tasks.getTasks({ indexUids: ['movies'] })
121121
get_all_tasks_paginating_1: |-
122-
client.getTasks({ limit: 2, from: 10 })
122+
client.tasks.getTasks({ limit: 2, from: 10 })
123123
get_all_tasks_paginating_2: |-
124-
client.getTasks({ limit: 2, from: 8 })
124+
client.tasks.getTasks({ limit: 2, from: 8 })
125125
async_guide_canceled_by_1: |-
126-
client.getTasks({ canceledBy: [9, 15] })
126+
client.tasks.getTasks({ canceledBy: [9, 15] })
127127
delete_tasks_1: |-
128-
client.deleteTasks({ uids: [1, 2] })
128+
client.tasks.deleteTasks({ uids: [1, 2] })
129129
cancel_tasks_1: |-
130-
client.cancelTasks({ uids: [1, 2] })
130+
client.tasks.cancelTasks({ uids: [1, 2] })
131131
get_one_key_1: |-
132132
client.getKey('6062abda-a5aa-4414-ac91-ecd7944c0f8d')
133133
get_all_keys_1: |-
@@ -458,7 +458,7 @@ getting_started_update_searchable_attributes: |-
458458
getting_started_update_stop_words: |-
459459
client.index('movies').updateStopWords(['the'])
460460
getting_started_check_task_status: |-
461-
client.getTask(0)
461+
client.tasks.getTask(0)
462462
getting_started_synonyms: |-
463463
client.index('movies').updateSynonyms({
464464
winnie: ['piglet'],
@@ -806,9 +806,9 @@ update_prefix_search_settings_1: |-
806806
reset_prefix_search_settings_1: |-
807807
client.index('INDEX_NAME').resetPrefixSearch();
808808
get_all_batches_1: |-
809-
client.getBatches();
809+
client.batches.getBatches();
810810
get_batch_1: |-
811-
client.getBatch(BATCH_UID);
811+
client.batches.getBatch(BATCH_UID);
812812
# Vector search
813813
update_embedders_1: |-
814814
client.index('INDEX_NAME').updateEmbedders({

README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -531,37 +531,37 @@ client.index('myIndex').deleteAllDocuments(): Promise<Types.EnqueuedTask>
531531
#### [Get all tasks](https://www.meilisearch.com/docs/reference/api/tasks#get-all-tasks)
532532

533533
```ts
534-
client.getTasks(parameters: TasksQuery): Promise<TasksResults>
534+
client.tasks.getTasks(parameters: TasksQuery): Promise<TasksResults>
535535
```
536536

537537
#### [Get one task](https://www.meilisearch.com/docs/reference/api/tasks)
538538

539539
```ts
540-
client.getTask(uid: number): Promise<Task>
540+
client.tasks.getTask(uid: number): Promise<Task>
541541
```
542542

543543
#### [Delete tasks](https://www.meilisearch.com/docs/reference/api/tasks#delete-tasks)
544544

545545
```ts
546-
client.deleteTasks(parameters: DeleteTasksQuery = {}): Promise<EnqueuedTask>
546+
client.tasks.deleteTasks(parameters: DeleteTasksQuery = {}): Promise<EnqueuedTask>
547547
```
548548

549549
#### [Cancel tasks](https://www.meilisearch.com/docs/reference/api/tasks#cancel-tasks)
550550

551551
```ts
552-
client.cancelTasks(parameters: CancelTasksQuery = {}): Promise<EnqueuedTask>
552+
client.tasks.cancelTasks(parameters: CancelTasksQuery = {}): Promise<EnqueuedTask>
553553
```
554554

555555
#### [Get all tasks of an index](https://www.meilisearch.com/docs/reference/api/tasks#get-all-tasks-by-index)
556556

557557
```ts
558-
client.index('myIndex').getTasks(parameters: TasksQuery): Promise<TasksResults>
558+
client.index('myIndex').tasks.getTasks(parameters: TasksQuery): Promise<TasksResults>
559559
```
560560

561561
#### [Get one task of an index](https://www.meilisearch.com/docs/reference/api/tasks)
562562

563563
```ts
564-
client.index('myIndex').getTask(uid: number): Promise<Task>
564+
client.index('myIndex').tasks.getTask(uid: number): Promise<Task>
565565
```
566566

567567
#### Wait for one task
@@ -581,13 +581,13 @@ client.tasks.waitForTasks(uids: number[], { timeout?: number, interval?: number
581581
#### [Get one batch](https://www.meilisearch.com/docs/reference/api/batches#get-one-batch)
582582

583583
```ts
584-
client.getBatch(uid: number): Promise<Batch>
584+
client.batches.getBatch(uid: number): Promise<Batch>
585585
```
586586

587587
#### [Get all batches](https://www.meilisearch.com/docs/reference/api/batchess#get-batches)
588588

589589
```ts
590-
client.getBatches(parameters: BatchesQuery = {}): Promise<BatchesResults>
590+
client.batches.getBatches(parameters: BatchesQuery = {}): Promise<BatchesResults>
591591
```
592592

593593
### Indexes <!-- omit in toc -->

src/batch.ts

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,11 @@ export class BatchClient {
1919

2020
/** {@link https://www.meilisearch.com/docs/reference/api/batches#get-one-batch} */
2121
async getBatch(uid: number): Promise<Batch> {
22-
const batch = await this.#httpRequest.get<Batch>({
23-
path: `batches/${uid}`,
24-
});
25-
return batch;
22+
return await this.#httpRequest.get({ path: `batches/${uid}` });
2623
}
2724

2825
/** {@link https://www.meilisearch.com/docs/reference/api/batches#get-batches} */
29-
async getBatches(
30-
batchesQuery?: TasksOrBatchesQuery,
31-
): Promise<BatchesResults> {
32-
const batches = await this.#httpRequest.get<BatchesResults>({
33-
path: "batches",
34-
params: batchesQuery,
35-
});
36-
return batches;
26+
async getBatches(params?: TasksOrBatchesQuery): Promise<BatchesResults> {
27+
return await this.#httpRequest.get({ path: "batches", params });
3728
}
3829
}

src/task.ts

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -74,24 +74,20 @@ export class TaskClient {
7474
// TODO: Need to do this for all other methods: https://github.com/meilisearch/meilisearch-js/issues/1476
7575
extraRequestInit?: ExtraRequestInit,
7676
): Promise<Task> {
77-
const task = await this.#httpRequest.get<Task>({
77+
return await this.#httpRequest.get({
7878
path: `tasks/${uid}`,
7979
extraRequestInit,
8080
});
81-
return task;
8281
}
8382

8483
/** {@link https://www.meilisearch.com/docs/reference/api/tasks#get-tasks} */
8584
async getTasks(params?: TasksOrBatchesQuery): Promise<TasksResults> {
86-
const tasks = await this.#httpRequest.get<TasksResults>({
87-
path: "tasks",
88-
params,
89-
});
90-
return tasks;
85+
return await this.#httpRequest.get({ path: "tasks", params });
9186
}
9287

9388
/**
94-
* Wait for an enqueued task to be processed.
89+
* Wait for an enqueued task to be processed. This is done through polling
90+
* with {@link TaskClient.getTask}.
9591
*
9692
* @remarks
9793
* If an {@link EnqueuedTask} needs to be awaited instantly, it is recommended
@@ -167,20 +163,14 @@ export class TaskClient {
167163
/** {@link https://www.meilisearch.com/docs/reference/api/tasks#cancel-tasks} */
168164
cancelTasks(params: DeleteOrCancelTasksQuery): EnqueuedTaskPromise {
169165
return this.#applyWaitTask(
170-
this.#httpRequest.post({
171-
path: "tasks/cancel",
172-
params,
173-
}),
166+
this.#httpRequest.post({ path: "tasks/cancel", params }),
174167
);
175168
}
176169

177170
/** {@link https://www.meilisearch.com/docs/reference/api/tasks#delete-tasks} */
178171
deleteTasks(params: DeleteOrCancelTasksQuery): EnqueuedTaskPromise {
179172
return this.#applyWaitTask(
180-
this.#httpRequest.delete({
181-
path: "tasks",
182-
params,
183-
}),
173+
this.#httpRequest.delete({ path: "tasks", params }),
184174
);
185175
}
186176
}

src/types/shared.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,12 @@ export type NonNullableDeepRecordValues<T> = {
1616
? NonNullableDeepRecordValues<T[P]>
1717
: NonNullable<T[P]>;
1818
};
19+
20+
// taken from https://stackoverflow.com/a/65642944
21+
export type PascalToCamelCase<S extends string> = Uncapitalize<S>;
22+
23+
export type SafeOmit<T, K extends keyof T> = Omit<T, K>;
24+
25+
export type OptionStarOr<T> = "*" | T | null;
26+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
27+
export type OptionStarOrList<T extends any[]> = ["*"] | T | null;

0 commit comments

Comments
 (0)