quetch 0.13.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/tools/filterChildren.d.ts +2 -2
  2. package/dist/tools/filterChildren.js.map +1 -1
  3. package/dist/tools/get.d.ts +14 -0
  4. package/dist/tools/get.js +36 -0
  5. package/dist/tools/get.js.map +1 -0
  6. package/dist/tools/queryItemList.js +4 -4
  7. package/dist/tools/queryItemList.js.map +1 -1
  8. package/dist/tools/{filterItem.d.ts → testFilter.d.ts} +2 -2
  9. package/dist/tools/testFilter.js +214 -0
  10. package/dist/tools/testFilter.js.map +1 -0
  11. package/dist/tools.d.ts +2 -1
  12. package/dist/tools.js +2 -1
  13. package/dist/tools.js.map +1 -1
  14. package/dist/types/Field.d.ts +2 -0
  15. package/dist/types/Field.js +2 -0
  16. package/dist/types/Field.js.map +1 -0
  17. package/dist/types/FieldFiltered.d.ts +3 -0
  18. package/dist/types/FieldFiltered.js +2 -0
  19. package/dist/types/FieldFiltered.js.map +1 -0
  20. package/dist/types/FieldFunctionFormatDate.d.ts +2 -2
  21. package/dist/types/FilterArray.d.ts +4 -4
  22. package/dist/types/FilterBoolean.d.ts +4 -4
  23. package/dist/types/FilterChildren.d.ts +1 -1
  24. package/dist/types/FilterField.d.ts +3 -2
  25. package/dist/types/FilterNumber.d.ts +4 -4
  26. package/dist/types/FilterString.d.ts +4 -4
  27. package/dist/types/FilterStringIntersect.d.ts +4 -4
  28. package/dist/types/FilterStringMatch.d.ts +5 -8
  29. package/dist/types/Get.d.ts +2 -3
  30. package/dist/types/{FilterKeys.d.ts → KeyFiltered.d.ts} +1 -1
  31. package/dist/types/KeyFiltered.js +2 -0
  32. package/dist/types/KeyFiltered.js.map +1 -0
  33. package/dist/types/Path.d.ts +3 -0
  34. package/dist/types/Path.js +2 -0
  35. package/dist/types/Path.js.map +1 -0
  36. package/dist/types/PathFiltered.d.ts +3 -0
  37. package/dist/types/PathFiltered.js +2 -0
  38. package/dist/types/PathFiltered.js.map +1 -0
  39. package/dist/types/QuerySettings.d.ts +2 -2
  40. package/dist/types/Value.d.ts +15 -0
  41. package/dist/types/Value.js +2 -0
  42. package/dist/types/Value.js.map +1 -0
  43. package/dist/types.d.ts +6 -1
  44. package/doc/README.md +396 -290
  45. package/doc/classes/RequestError.md +12 -8
  46. package/doc/interfaces/CustomFetch.md +5 -5
  47. package/lib/tools/filterChildren.ts +2 -2
  48. package/lib/tools/get.test.ts +23 -0
  49. package/lib/tools/get.ts +57 -0
  50. package/lib/tools/queryItemList.ts +4 -4
  51. package/lib/tools/{filterItem.test.ts → testFilter.test.ts} +44 -38
  52. package/lib/tools/testFilter.ts +320 -0
  53. package/lib/tools.ts +2 -1
  54. package/lib/types/Field.ts +3 -0
  55. package/lib/types/FieldFiltered.ts +6 -0
  56. package/lib/types/FieldFunctionFormatDate.ts +2 -2
  57. package/lib/types/FilterArray.ts +4 -4
  58. package/lib/types/FilterBoolean.ts +4 -4
  59. package/lib/types/FilterChildren.ts +1 -1
  60. package/lib/types/FilterField.ts +4 -2
  61. package/lib/types/FilterNumber.ts +4 -4
  62. package/lib/types/FilterString.ts +4 -4
  63. package/lib/types/FilterStringIntersect.ts +4 -4
  64. package/lib/types/FilterStringMatch.ts +5 -8
  65. package/lib/types/Get.ts +9 -5
  66. package/lib/types/{FilterKeys.ts → KeyFiltered.ts} +1 -1
  67. package/lib/types/Path.ts +7 -0
  68. package/lib/types/PathFiltered.ts +9 -0
  69. package/lib/types/QuerySettings.ts +2 -2
  70. package/lib/types/Value.ts +18 -0
  71. package/lib/types.ts +6 -1
  72. package/package.json +9 -7
  73. package/dist/tools/filterItem.js +0 -197
  74. package/dist/tools/filterItem.js.map +0 -1
  75. package/dist/types/FilterKeys.js +0 -2
  76. package/dist/types/FilterKeys.js.map +0 -1
  77. package/lib/tools/filterItem.ts +0 -299
package/doc/README.md CHANGED
@@ -20,6 +20,8 @@ quetch
20
20
  - [Context](README.md#context)
21
21
  - [CustomFieldAggregateMap](README.md#customfieldaggregatemap)
22
22
  - [CustomFieldMap](README.md#customfieldmap)
23
+ - [Field](README.md#field)
24
+ - [FieldFiltered](README.md#fieldfiltered)
23
25
  - [FieldFunction](README.md#fieldfunction)
24
26
  - [FieldFunctionCustom](README.md#fieldfunctioncustom)
25
27
  - [FieldFunctionFormatDate](README.md#fieldfunctionformatdate)
@@ -31,7 +33,6 @@ quetch
31
33
  - [FilterCustom](README.md#filtercustom)
32
34
  - [FilterField](README.md#filterfield)
33
35
  - [FilterGroup](README.md#filtergroup)
34
- - [FilterKeys](README.md#filterkeys)
35
36
  - [FilterNumber](README.md#filternumber)
36
37
  - [FilterOperator](README.md#filteroperator)
37
38
  - [FilterString](README.md#filterstring)
@@ -44,11 +45,14 @@ quetch
44
45
  - [InjectCustomFields](README.md#injectcustomfields)
45
46
  - [Item](README.md#item)
46
47
  - [Key](README.md#key)
48
+ - [KeyFiltered](README.md#keyfiltered)
47
49
  - [Locale](README.md#locale)
48
50
  - [Mutable](README.md#mutable)
49
51
  - [NextHandler](README.md#nexthandler)
50
52
  - [Order](README.md#order)
51
53
  - [Parameters](README.md#parameters)
54
+ - [Path](README.md#path)
55
+ - [PathFiltered](README.md#pathfiltered)
52
56
  - [Query](README.md#query)
53
57
  - [QueryAggregate](README.md#queryaggregate)
54
58
  - [QueryCreate](README.md#querycreate)
@@ -80,6 +84,7 @@ quetch
80
84
  - [filterChildren](README.md#filterchildren-1)
81
85
  - [filterFromContext](README.md#filterfromcontext)
82
86
  - [filterItem](README.md#filteritem)
87
+ - [get](README.md#get-1)
83
88
  - [identity](README.md#identity)
84
89
  - [isFilterGroup](README.md#isfiltergroup)
85
90
  - [log](README.md#log)
@@ -92,7 +97,7 @@ quetch
92
97
 
93
98
  ### AggregateFunction
94
99
 
95
- Ƭ **AggregateFunction**<`T`\>: ``"length"`` \| { `operator`: ``"length"`` } \| { `field`: keyof `T` ; `operator`: ``"median"`` \| ``"standardDeviation"`` \| ``"mean"`` \| ``"minimum"`` \| ``"maximum"`` \| ``"variance"`` \| ``"mode"`` }
100
+ Ƭ **AggregateFunction**\<`T`\>: ``"length"`` \| \{ `operator`: ``"length"`` } \| \{ `field`: keyof `T` ; `operator`: ``"median"`` \| ``"standardDeviation"`` \| ``"mean"`` \| ``"minimum"`` \| ``"maximum"`` \| ``"variance"`` \| ``"mode"`` }
96
101
 
97
102
  Aggregation function.
98
103
 
@@ -104,17 +109,17 @@ Aggregation function.
104
109
 
105
110
  #### Defined in
106
111
 
107
- [lib/types/AggregateFunction.ts:4](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/AggregateFunction.ts#L4)
112
+ [lib/types/AggregateFunction.ts:4](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/AggregateFunction.ts#L4)
108
113
 
109
114
  ___
110
115
 
111
116
  ### AggregateFunctionOperator
112
117
 
113
- Ƭ **AggregateFunctionOperator**: `Exclude`<[`AggregateFunction`](README.md#aggregatefunction)<{}\>, `string`\>[``"operator"``]
118
+ Ƭ **AggregateFunctionOperator**: `Exclude`\<[`AggregateFunction`](README.md#aggregatefunction)\<{}\>, `string`\>[``"operator"``]
114
119
 
115
120
  #### Defined in
116
121
 
117
- [lib/types/AggregateFunctionOperator.ts:3](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/AggregateFunctionOperator.ts#L3)
122
+ [lib/types/AggregateFunctionOperator.ts:3](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/AggregateFunctionOperator.ts#L3)
118
123
 
119
124
  ___
120
125
 
@@ -124,13 +129,13 @@ ___
124
129
 
125
130
  #### Defined in
126
131
 
127
- [lib/types/Any.ts:1](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/Any.ts#L1)
132
+ [lib/types/Any.ts:1](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/Any.ts#L1)
128
133
 
129
134
  ___
130
135
 
131
136
  ### Context
132
137
 
133
- Ƭ **Context**<`T`\>: { [K in keyof T]?: T[K] }
138
+ Ƭ **Context**\<`T`\>: \{ [K in keyof T]?: T[K] }
134
139
 
135
140
  #### Type parameters
136
141
 
@@ -140,13 +145,13 @@ ___
140
145
 
141
146
  #### Defined in
142
147
 
143
- [lib/types/Context.ts:1](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/Context.ts#L1)
148
+ [lib/types/Context.ts:1](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/Context.ts#L1)
144
149
 
145
150
  ___
146
151
 
147
152
  ### CustomFieldAggregateMap
148
153
 
149
- Ƭ **CustomFieldAggregateMap**<`T`\>: `Record`<`string`, [`AggregateFunction`](README.md#aggregatefunction)<`T`\>\>
154
+ Ƭ **CustomFieldAggregateMap**\<`T`\>: `Record`\<`string`, [`AggregateFunction`](README.md#aggregatefunction)\<`T`\>\>
150
155
 
151
156
  #### Type parameters
152
157
 
@@ -156,13 +161,13 @@ ___
156
161
 
157
162
  #### Defined in
158
163
 
159
- [lib/types/CustomFieldAggregateMap.ts:3](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/CustomFieldAggregateMap.ts#L3)
164
+ [lib/types/CustomFieldAggregateMap.ts:3](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/CustomFieldAggregateMap.ts#L3)
160
165
 
161
166
  ___
162
167
 
163
168
  ### CustomFieldMap
164
169
 
165
- Ƭ **CustomFieldMap**<`T`\>: `Record`<`string`, [`FieldFunction`](README.md#fieldfunction)<`T`\>\>
170
+ Ƭ **CustomFieldMap**\<`T`\>: `Record`\<`string`, [`FieldFunction`](README.md#fieldfunction)\<`T`\>\>
166
171
 
167
172
  #### Type parameters
168
173
 
@@ -172,13 +177,46 @@ ___
172
177
 
173
178
  #### Defined in
174
179
 
175
- [lib/types/CustomFieldMap.ts:3](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/CustomFieldMap.ts#L3)
180
+ [lib/types/CustomFieldMap.ts:3](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/CustomFieldMap.ts#L3)
181
+
182
+ ___
183
+
184
+ ### Field
185
+
186
+ Ƭ **Field**\<`T`\>: keyof `T` \| [`Path`](README.md#path)\<`T`\>
187
+
188
+ #### Type parameters
189
+
190
+ | Name | Type |
191
+ | :------ | :------ |
192
+ | `T` | extends `object` |
193
+
194
+ #### Defined in
195
+
196
+ [lib/types/Field.ts:3](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/Field.ts#L3)
197
+
198
+ ___
199
+
200
+ ### FieldFiltered
201
+
202
+ Ƭ **FieldFiltered**\<`T`, `P`\>: [`KeyFiltered`](README.md#keyfiltered)\<`T`, `P`\> \| [`PathFiltered`](README.md#pathfiltered)\<`T`, `P`\>
203
+
204
+ #### Type parameters
205
+
206
+ | Name | Type |
207
+ | :------ | :------ |
208
+ | `T` | extends `object` |
209
+ | `P` | `P` |
210
+
211
+ #### Defined in
212
+
213
+ [lib/types/FieldFiltered.ts:4](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/FieldFiltered.ts#L4)
176
214
 
177
215
  ___
178
216
 
179
217
  ### FieldFunction
180
218
 
181
- Ƭ **FieldFunction**<`T`\>: [`FieldFunctionCustom`](README.md#fieldfunctioncustom)<`T`\> \| [`FieldFunctionFormatDate`](README.md#fieldfunctionformatdate)<`T`\>
219
+ Ƭ **FieldFunction**\<`T`\>: [`FieldFunctionCustom`](README.md#fieldfunctioncustom)\<`T`\> \| [`FieldFunctionFormatDate`](README.md#fieldfunctionformatdate)\<`T`\>
182
220
 
183
221
  #### Type parameters
184
222
 
@@ -188,13 +226,13 @@ ___
188
226
 
189
227
  #### Defined in
190
228
 
191
- [lib/types/FieldFunction.ts:4](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/FieldFunction.ts#L4)
229
+ [lib/types/FieldFunction.ts:4](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/FieldFunction.ts#L4)
192
230
 
193
231
  ___
194
232
 
195
233
  ### FieldFunctionCustom
196
234
 
197
- Ƭ **FieldFunctionCustom**<`T`\>: `Object`
235
+ Ƭ **FieldFunctionCustom**\<`T`\>: `Object`
198
236
 
199
237
  Applies a custom field transform function.
200
238
 
@@ -213,13 +251,13 @@ Applies a custom field transform function.
213
251
 
214
252
  #### Defined in
215
253
 
216
- [lib/types/FieldFunctionCustom.ts:4](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/FieldFunctionCustom.ts#L4)
254
+ [lib/types/FieldFunctionCustom.ts:4](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/FieldFunctionCustom.ts#L4)
217
255
 
218
256
  ___
219
257
 
220
258
  ### FieldFunctionFormatDate
221
259
 
222
- Ƭ **FieldFunctionFormatDate**<`T`\>: `Object`
260
+ Ƭ **FieldFunctionFormatDate**\<`T`\>: `Object`
223
261
 
224
262
  Formats the date found in a given field, which can be an ISO string date or a timestamp.
225
263
 
@@ -233,13 +271,13 @@ Formats the date found in a given field, which can be an ISO string date or a ti
233
271
 
234
272
  | Name | Type |
235
273
  | :------ | :------ |
236
- | `field` | [`FilterKeys`](README.md#filterkeys)<`T`, `string` \| `number`\> |
274
+ | `field` | [`FieldFiltered`](README.md#fieldfiltered)\<`T`, `string` \| `number`\> |
237
275
  | `format` | `string` |
238
276
  | `operator` | ``"formatDate"`` |
239
277
 
240
278
  #### Defined in
241
279
 
242
- [lib/types/FieldFunctionFormatDate.ts:6](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/FieldFunctionFormatDate.ts#L6)
280
+ [lib/types/FieldFunctionFormatDate.ts:6](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/FieldFunctionFormatDate.ts#L6)
243
281
 
244
282
  ___
245
283
 
@@ -257,13 +295,13 @@ Return types of custom field functions.
257
295
 
258
296
  #### Defined in
259
297
 
260
- [lib/types/FieldFunctionReturn.ts:4](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/FieldFunctionReturn.ts#L4)
298
+ [lib/types/FieldFunctionReturn.ts:4](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/FieldFunctionReturn.ts#L4)
261
299
 
262
300
  ___
263
301
 
264
302
  ### Filter
265
303
 
266
- Ƭ **Filter**<`T`\>: [`FilterArray`](README.md#filterarray)<`T`\> \| [`FilterBoolean`](README.md#filterboolean)<`T`\> \| [`FilterChildren`](README.md#filterchildren)<`T`\> \| [`FilterCustom`](README.md#filtercustom)<`T`\> \| [`FilterField`](README.md#filterfield)<`T`\> \| [`FilterNumber`](README.md#filternumber)<`T`\> \| [`FilterGroup`](README.md#filtergroup)<`T`\> \| [`FilterString`](README.md#filterstring)<`T`\> \| [`FilterStringIntersect`](README.md#filterstringintersect)<`T`\> \| [`FilterStringMatch`](README.md#filterstringmatch)<`T`\>
304
+ Ƭ **Filter**\<`T`\>: [`FilterArray`](README.md#filterarray)\<`T`\> \| [`FilterBoolean`](README.md#filterboolean)\<`T`\> \| [`FilterChildren`](README.md#filterchildren)\<`T`\> \| [`FilterCustom`](README.md#filtercustom)\<`T`\> \| [`FilterField`](README.md#filterfield)\<`T`\> \| [`FilterNumber`](README.md#filternumber)\<`T`\> \| [`FilterGroup`](README.md#filtergroup)\<`T`\> \| [`FilterString`](README.md#filterstring)\<`T`\> \| [`FilterStringIntersect`](README.md#filterstringintersect)\<`T`\> \| [`FilterStringMatch`](README.md#filterstringmatch)\<`T`\>
267
305
 
268
306
  Describes a predicate for filtering items.
269
307
 
@@ -275,13 +313,13 @@ Describes a predicate for filtering items.
275
313
 
276
314
  #### Defined in
277
315
 
278
- [lib/types/Filter.ts:15](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/Filter.ts#L15)
316
+ [lib/types/Filter.ts:15](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/Filter.ts#L15)
279
317
 
280
318
  ___
281
319
 
282
320
  ### FilterArray
283
321
 
284
- Ƭ **FilterArray**<`T`, `P`\>: `Object`
322
+ Ƭ **FilterArray**\<`T`, `P`\>: `Object`
285
323
 
286
324
  Checks if a given array field matches a given array value according to a given operator.
287
325
 
@@ -296,19 +334,19 @@ Checks if a given array field matches a given array value according to a given o
296
334
 
297
335
  | Name | Type |
298
336
  | :------ | :------ |
299
- | `field` | [`FilterKeys`](README.md#filterkeys)<`T`, `P`[]\> |
337
+ | `field` | [`FieldFiltered`](README.md#fieldfiltered)\<`T`, `P`[]\> |
300
338
  | `operator` | ``"equal"`` \| ``"include"`` \| ``"intersect"`` |
301
339
  | `value` | `P`[] |
302
340
 
303
341
  #### Defined in
304
342
 
305
- [lib/types/FilterArray.ts:7](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/FilterArray.ts#L7)
343
+ [lib/types/FilterArray.ts:7](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/FilterArray.ts#L7)
306
344
 
307
345
  ___
308
346
 
309
347
  ### FilterBoolean
310
348
 
311
- Ƭ **FilterBoolean**<`T`\>: `Object`
349
+ Ƭ **FilterBoolean**\<`T`\>: `Object`
312
350
 
313
351
  Checks if a given boolean field is `true` or `false`.
314
352
 
@@ -322,19 +360,19 @@ Checks if a given boolean field is `true` or `false`.
322
360
 
323
361
  | Name | Type |
324
362
  | :------ | :------ |
325
- | `field` | [`FilterKeys`](README.md#filterkeys)<`T`, `boolean`\> |
363
+ | `field` | [`FieldFiltered`](README.md#fieldfiltered)\<`T`, `boolean`\> |
326
364
  | `operator` | ``"equal"`` \| ``"notEqual"`` |
327
365
  | `value` | `boolean` |
328
366
 
329
367
  #### Defined in
330
368
 
331
- [lib/types/FilterBoolean.ts:6](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/FilterBoolean.ts#L6)
369
+ [lib/types/FilterBoolean.ts:6](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/FilterBoolean.ts#L6)
332
370
 
333
371
  ___
334
372
 
335
373
  ### FilterChildren
336
374
 
337
- Ƭ **FilterChildren**<`T`\>: `Object`
375
+ Ƭ **FilterChildren**\<`T`\>: `Object`
338
376
 
339
377
  Matches the direct children of a specified `value` item.
340
378
  If `deep` is `true`, also captures all the descendants.
@@ -349,20 +387,20 @@ If `deep` is `true`, also captures all the descendants.
349
387
 
350
388
  | Name | Type |
351
389
  | :------ | :------ |
352
- | `[SymbolCache]?` | [`Filter`](README.md#filter)<`T`\> |
390
+ | `[SymbolCache]?` | [`Filter`](README.md#filter)\<`T`\> |
353
391
  | `deep?` | `boolean` |
354
392
  | `operator` | ``"children"`` |
355
- | `value` | [`Context`](README.md#context)<`T`\> \| `string` |
393
+ | `value?` | [`Context`](README.md#context)\<`T`\> \| `string` |
356
394
 
357
395
  #### Defined in
358
396
 
359
- [lib/types/FilterChildren.ts:10](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/FilterChildren.ts#L10)
397
+ [lib/types/FilterChildren.ts:10](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/FilterChildren.ts#L10)
360
398
 
361
399
  ___
362
400
 
363
401
  ### FilterCustom
364
402
 
365
- Ƭ **FilterCustom**<`T`\>: `Object`
403
+ Ƭ **FilterCustom**\<`T`\>: `Object`
366
404
 
367
405
  Custom filter where `value(item)` returns `true` for matching items.
368
406
 
@@ -381,13 +419,13 @@ Custom filter where `value(item)` returns `true` for matching items.
381
419
 
382
420
  #### Defined in
383
421
 
384
- [lib/types/FilterCustom.ts:4](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/FilterCustom.ts#L4)
422
+ [lib/types/FilterCustom.ts:4](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/FilterCustom.ts#L4)
385
423
 
386
424
  ___
387
425
 
388
426
  ### FilterField
389
427
 
390
- Ƭ **FilterField**<`T`\>: `Object`
428
+ Ƭ **FilterField**\<`T`\>: `Object`
391
429
 
392
430
  Checks if a given field exists.
393
431
 
@@ -402,17 +440,17 @@ Checks if a given field exists.
402
440
  | Name | Type | Description |
403
441
  | :------ | :------ | :------ |
404
442
  | `operator` | ``"exist"`` | - |
405
- | `value` | keyof `T` | The field name for which to check its existence. |
443
+ | `value` | [`Field`](README.md#field)\<`T`\> | The field name for which to check its existence. |
406
444
 
407
445
  #### Defined in
408
446
 
409
- [lib/types/FilterField.ts:4](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/FilterField.ts#L4)
447
+ [lib/types/FilterField.ts:6](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/FilterField.ts#L6)
410
448
 
411
449
  ___
412
450
 
413
451
  ### FilterGroup
414
452
 
415
- Ƭ **FilterGroup**<`T`\>: { `operator`: ``"all"`` ; `value`: [`Filter`](README.md#filter)<`T`\>[] } \| { `operator`: ``"any"`` \| ``"none"`` ; `value?`: [`Filter`](README.md#filter)<`T`\>[] }
453
+ Ƭ **FilterGroup**\<`T`\>: \{ `operator`: ``"all"`` ; `value`: [`Filter`](README.md#filter)\<`T`\>[] } \| \{ `operator`: ``"any"`` \| ``"none"`` ; `value?`: [`Filter`](README.md#filter)\<`T`\>[] }
416
454
 
417
455
  Joins a list of filters with a specific boolean operator.
418
456
 
@@ -424,32 +462,13 @@ Joins a list of filters with a specific boolean operator.
424
462
 
425
463
  #### Defined in
426
464
 
427
- [lib/types/FilterGroup.ts:6](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/FilterGroup.ts#L6)
428
-
429
- ___
430
-
431
- ### FilterKeys
432
-
433
- Ƭ **FilterKeys**<`T`, `P`\>: keyof `T` & keyof { [K in keyof T as T[K] extends P ? K : never]-?: T[K] }
434
-
435
- Returns object type with field extending the provided `P` type.
436
-
437
- #### Type parameters
438
-
439
- | Name | Type |
440
- | :------ | :------ |
441
- | `T` | extends `object` |
442
- | `P` | `P` |
443
-
444
- #### Defined in
445
-
446
- [lib/types/FilterKeys.ts:4](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/FilterKeys.ts#L4)
465
+ [lib/types/FilterGroup.ts:6](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/FilterGroup.ts#L6)
447
466
 
448
467
  ___
449
468
 
450
469
  ### FilterNumber
451
470
 
452
- Ƭ **FilterNumber**<`T`\>: `Object`
471
+ Ƭ **FilterNumber**\<`T`\>: `Object`
453
472
 
454
473
  Checks if a given number field matches a given number value according to a given operator.
455
474
 
@@ -463,29 +482,29 @@ Checks if a given number field matches a given number value according to a given
463
482
 
464
483
  | Name | Type |
465
484
  | :------ | :------ |
466
- | `field` | [`FilterKeys`](README.md#filterkeys)<`T`, `number`\> |
485
+ | `field` | [`FieldFiltered`](README.md#fieldfiltered)\<`T`, `number`\> |
467
486
  | `operator` | ``"equal"`` \| ``"notEqual"`` \| ``"greaterThan"`` \| ``"greaterThanOrEqual"`` \| ``"lowerThan"`` \| ``"lowerThanOrEqual"`` |
468
487
  | `value` | `number` |
469
488
 
470
489
  #### Defined in
471
490
 
472
- [lib/types/FilterNumber.ts:6](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/FilterNumber.ts#L6)
491
+ [lib/types/FilterNumber.ts:6](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/FilterNumber.ts#L6)
473
492
 
474
493
  ___
475
494
 
476
495
  ### FilterOperator
477
496
 
478
- Ƭ **FilterOperator**: [`Filter`](README.md#filter)<`never`\>[``"operator"``]
497
+ Ƭ **FilterOperator**: [`Filter`](README.md#filter)\<`never`\>[``"operator"``]
479
498
 
480
499
  #### Defined in
481
500
 
482
- [lib/types/FilterOperator.ts:3](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/FilterOperator.ts#L3)
501
+ [lib/types/FilterOperator.ts:3](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/FilterOperator.ts#L3)
483
502
 
484
503
  ___
485
504
 
486
505
  ### FilterString
487
506
 
488
- Ƭ **FilterString**<`T`\>: `Object`
507
+ Ƭ **FilterString**\<`T`\>: `Object`
489
508
 
490
509
  Checks if a given string field matches a given string value according to a given operator.
491
510
 
@@ -499,7 +518,7 @@ Checks if a given string field matches a given string value according to a given
499
518
 
500
519
  | Name | Type |
501
520
  | :------ | :------ |
502
- | `field` | [`FilterKeys`](README.md#filterkeys)<`T`, `string`\> |
521
+ | `field` | [`FieldFiltered`](README.md#fieldfiltered)\<`T`, `string`\> |
503
522
  | `locale?` | [`Locale`](README.md#locale) |
504
523
  | `operator` | ``"equal"`` \| ``"notEqual"`` \| ``"startWith"`` \| ``"endWith"`` \| ``"include"`` \| ``"greaterThan"`` \| ``"greaterThanOrEqual"`` \| ``"lowerThan"`` \| ``"lowerThanOrEqual"`` |
505
524
  | `options?` | `Intl.CollatorOptions` |
@@ -507,13 +526,13 @@ Checks if a given string field matches a given string value according to a given
507
526
 
508
527
  #### Defined in
509
528
 
510
- [lib/types/FilterString.ts:7](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/FilterString.ts#L7)
529
+ [lib/types/FilterString.ts:7](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/FilterString.ts#L7)
511
530
 
512
531
  ___
513
532
 
514
533
  ### FilterStringIntersect
515
534
 
516
- Ƭ **FilterStringIntersect**<`T`\>: `Object`
535
+ Ƭ **FilterStringIntersect**\<`T`\>: `Object`
517
536
 
518
537
  Checks if a given string field has any of the provided values.
519
538
 
@@ -527,7 +546,7 @@ Checks if a given string field has any of the provided values.
527
546
 
528
547
  | Name | Type |
529
548
  | :------ | :------ |
530
- | `field` | [`FilterKeys`](README.md#filterkeys)<`T`, `string`\> |
549
+ | `field` | [`FieldFiltered`](README.md#fieldfiltered)\<`T`, `string`\> |
531
550
  | `locale?` | [`Locale`](README.md#locale) |
532
551
  | `operator` | ``"intersect"`` |
533
552
  | `options?` | `Intl.CollatorOptions` |
@@ -535,13 +554,13 @@ Checks if a given string field has any of the provided values.
535
554
 
536
555
  #### Defined in
537
556
 
538
- [lib/types/FilterStringIntersect.ts:7](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/FilterStringIntersect.ts#L7)
557
+ [lib/types/FilterStringIntersect.ts:7](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/FilterStringIntersect.ts#L7)
539
558
 
540
559
  ___
541
560
 
542
561
  ### FilterStringMatch
543
562
 
544
- Ƭ **FilterStringMatch**<`T`\>: `Object`
563
+ Ƭ **FilterStringMatch**\<`T`\>: `Object`
545
564
 
546
565
  Checks if a given string field matches a given regular expression.
547
566
 
@@ -556,42 +575,41 @@ Checks if a given string field matches a given regular expression.
556
575
  | Name | Type | Description |
557
576
  | :------ | :------ | :------ |
558
577
  | `[SymbolCache]?` | `RegExp` | Compiled regular expression generated by the `testFilter` function. |
559
- | `field` | [`FilterKeys`](README.md#filterkeys)<`T`, `string`\> | - |
578
+ | `field` | [`FieldFiltered`](README.md#fieldfiltered)\<`T`, `string`\> | - |
560
579
  | `operator` | ``"match"`` | - |
561
- | `options?` | { `dotAll?`: `boolean` ; `ignoreCase?`: `boolean` } | Regular expression options. |
580
+ | `options?` | \{ `dotAll?`: `boolean` ; `ignoreCase?`: `boolean` } | Regular expression options. |
562
581
  | `options.dotAll?` | `boolean` | Allow `.` to match newlines. |
563
582
  | `options.ignoreCase?` | `boolean` | Ignore casing differences if `true`. |
564
583
  | `value` | `string` | Raw regular expression string. |
565
584
 
566
585
  #### Defined in
567
586
 
568
- [lib/types/FilterStringMatch.ts:8](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/FilterStringMatch.ts#L8)
587
+ [lib/types/FilterStringMatch.ts:8](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/FilterStringMatch.ts#L8)
569
588
 
570
589
  ___
571
590
 
572
591
  ### Get
573
592
 
574
- Ƭ **Get**<`T`, `K`, `D`\>: `T` extends { [key in K]: any } ? `T`[`K`] : `D`
593
+ Ƭ **Get**\<`T`, `P`\>: [`P`] extends [[infer K, ...(infer R)]] ? `K` extends keyof `T` ? `R` extends [`Path`](README.md#path)\<`T`[`K`]\> ? [`Get`](README.md#get)\<`T`[`K`], `R`\> : `T`[`K`] : `never` : `never`
575
594
 
576
595
  Returns the type of the property at the specified `K` key.
577
596
 
578
597
  #### Type parameters
579
598
 
580
- | Name | Type |
581
- | :------ | :------ |
582
- | `T` | extends `object` |
583
- | `K` | extends `string` |
584
- | `D` | `D` |
599
+ | Name |
600
+ | :------ |
601
+ | `T` |
602
+ | `P` |
585
603
 
586
604
  #### Defined in
587
605
 
588
- [lib/types/Get.ts:4](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/Get.ts#L4)
606
+ [lib/types/Get.ts:6](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/Get.ts#L6)
589
607
 
590
608
  ___
591
609
 
592
610
  ### Group
593
611
 
594
- Ƭ **Group**<`T`\>: keyof `T` \| { `field`: keyof `T` }
612
+ Ƭ **Group**\<`T`\>: keyof `T` \| \{ `field`: keyof `T` }
595
613
 
596
614
  Specifies how items should be grouped.
597
615
 
@@ -603,13 +621,15 @@ Specifies how items should be grouped.
603
621
 
604
622
  #### Defined in
605
623
 
606
- [lib/types/Group.ts:4](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/Group.ts#L4)
624
+ [lib/types/Group.ts:4](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/Group.ts#L4)
607
625
 
608
626
  ___
609
627
 
610
628
  ### Handler
611
629
 
612
- Ƭ **Handler**<`I`, `O`, `NI`, `No`\>: (`input`: `I`, `next`: [`NextHandler`](README.md#nexthandler)<`NI`, `No`\>) => `Promise`<`O`\>
630
+ Ƭ **Handler**\<`I`, `O`, `NI`, `No`\>: (`input`: `I`, `next`: [`NextHandler`](README.md#nexthandler)\<`NI`, `No`\>) => `Promise`\<`O`\>
631
+
632
+ Handles an `input` query and returns an `output` promise, eventually using the `next` handler.
613
633
 
614
634
  #### Type parameters
615
635
 
@@ -622,30 +642,28 @@ ___
622
642
 
623
643
  #### Type declaration
624
644
 
625
- ▸ (`input`, `next`): `Promise`<`O`\>
626
-
627
- Handles an `input` query and returns an `output` promise, eventually using the `next` handler.
645
+ ▸ (`input`, `next`): `Promise`\<`O`\>
628
646
 
629
647
  ##### Parameters
630
648
 
631
649
  | Name | Type |
632
650
  | :------ | :------ |
633
651
  | `input` | `I` |
634
- | `next` | [`NextHandler`](README.md#nexthandler)<`NI`, `No`\> |
652
+ | `next` | [`NextHandler`](README.md#nexthandler)\<`NI`, `No`\> |
635
653
 
636
654
  ##### Returns
637
655
 
638
- `Promise`<`O`\>
656
+ `Promise`\<`O`\>
639
657
 
640
658
  #### Defined in
641
659
 
642
- [lib/types/Handler.ts:6](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/Handler.ts#L6)
660
+ [lib/types/Handler.ts:6](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/Handler.ts#L6)
643
661
 
644
662
  ___
645
663
 
646
664
  ### Immutable
647
665
 
648
- Ƭ **Immutable**<`T`\>: { readonly [K in keyof T]: T[K] }
666
+ Ƭ **Immutable**\<`T`\>: \{ readonly [K in keyof T]: T[K] }
649
667
 
650
668
  #### Type parameters
651
669
 
@@ -655,13 +673,13 @@ ___
655
673
 
656
674
  #### Defined in
657
675
 
658
- [lib/types/Immutable.ts:1](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/Immutable.ts#L1)
676
+ [lib/types/Immutable.ts:1](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/Immutable.ts#L1)
659
677
 
660
678
  ___
661
679
 
662
680
  ### InjectCustomFields
663
681
 
664
- Ƭ **InjectCustomFields**<`T`, `C`\>: `C` extends [`CustomFieldMap`](README.md#customfieldmap)<`T`\> ? { readonly [K in keyof T \| keyof C]: K extends keyof T ? T[K] : K extends keyof C ? C[K] extends FieldFunctionCustom<T\> ? ReturnType<C[K]["value"]\> : C[K]["operator"] extends keyof FieldFunctionReturn ? FieldFunctionReturn[C[K]["operator"]] : never : never } : `T`
682
+ Ƭ **InjectCustomFields**\<`T`, `C`\>: `C` extends [`CustomFieldMap`](README.md#customfieldmap)\<`T`\> ? \{ readonly [K in keyof T \| keyof C]: K extends keyof T ? T[K] : K extends keyof C ? C[K] extends FieldFunctionCustom\<T\> ? ReturnType\<C[K]["value"]\> : C[K]["operator"] extends keyof FieldFunctionReturn ? FieldFunctionReturn[C[K]["operator"]] : never : never } : `T`
665
683
 
666
684
  Injects the custom fields into the entity type.
667
685
 
@@ -670,17 +688,17 @@ Injects the custom fields into the entity type.
670
688
  | Name | Type |
671
689
  | :------ | :------ |
672
690
  | `T` | extends `object` |
673
- | `C` | extends [`CustomFieldMap`](README.md#customfieldmap)<`T`\> \| `undefined` |
691
+ | `C` | extends [`CustomFieldMap`](README.md#customfieldmap)\<`T`\> \| `undefined` |
674
692
 
675
693
  #### Defined in
676
694
 
677
- [lib/types/InjectCustomFields.ts:8](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/InjectCustomFields.ts#L8)
695
+ [lib/types/InjectCustomFields.ts:8](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/InjectCustomFields.ts#L8)
678
696
 
679
697
  ___
680
698
 
681
699
  ### Item
682
700
 
683
- Ƭ **Item**<`T`, `S`\>: `T` extends infer I[] ? `I` : `T` extends `ReadonlyArray`<infer I\> ? `I` : `S`
701
+ Ƭ **Item**\<`T`, `S`\>: `T` extends infer I[] ? `I` : `T` extends `ReadonlyArray`\<infer I\> ? `I` : `S`
684
702
 
685
703
  Returns the inferred item type of an array, or an alternative type if it is something else (e.g., `undefined`).
686
704
 
@@ -693,7 +711,7 @@ Returns the inferred item type of an array, or an alternative type if it is some
693
711
 
694
712
  #### Defined in
695
713
 
696
- [lib/types/Item.ts:4](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/Item.ts#L4)
714
+ [lib/types/Item.ts:4](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/Item.ts#L4)
697
715
 
698
716
  ___
699
717
 
@@ -703,7 +721,26 @@ ___
703
721
 
704
722
  #### Defined in
705
723
 
706
- [lib/types/Key.ts:1](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/Key.ts#L1)
724
+ [lib/types/Key.ts:1](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/Key.ts#L1)
725
+
726
+ ___
727
+
728
+ ### KeyFiltered
729
+
730
+ Ƭ **KeyFiltered**\<`T`, `P`\>: keyof `T` & keyof \{ [K in keyof T as T[K] extends P ? K : never]-?: T[K] }
731
+
732
+ Returns object type with field extending the provided `P` type.
733
+
734
+ #### Type parameters
735
+
736
+ | Name | Type |
737
+ | :------ | :------ |
738
+ | `T` | extends `object` |
739
+ | `P` | `P` |
740
+
741
+ #### Defined in
742
+
743
+ [lib/types/KeyFiltered.ts:4](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/KeyFiltered.ts#L4)
707
744
 
708
745
  ___
709
746
 
@@ -713,13 +750,13 @@ ___
713
750
 
714
751
  #### Defined in
715
752
 
716
- [lib/types/Locale.ts:1](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/Locale.ts#L1)
753
+ [lib/types/Locale.ts:1](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/Locale.ts#L1)
717
754
 
718
755
  ___
719
756
 
720
757
  ### Mutable
721
758
 
722
- Ƭ **Mutable**<`T`\>: { -readonly [K in keyof T]: T[K] }
759
+ Ƭ **Mutable**\<`T`\>: \{ -readonly [K in keyof T]: T[K] }
723
760
 
724
761
  #### Type parameters
725
762
 
@@ -729,13 +766,15 @@ ___
729
766
 
730
767
  #### Defined in
731
768
 
732
- [lib/types/Mutable.ts:1](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/Mutable.ts#L1)
769
+ [lib/types/Mutable.ts:1](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/Mutable.ts#L1)
733
770
 
734
771
  ___
735
772
 
736
773
  ### NextHandler
737
774
 
738
- Ƭ **NextHandler**<`I`, `R`\>: (`input`: `I`) => `Promise`<`R`\>
775
+ Ƭ **NextHandler**\<`I`, `R`\>: (`input`: `I`) => `Promise`\<`R`\>
776
+
777
+ Handles an `input` query and returns an `output` promise.
739
778
 
740
779
  #### Type parameters
741
780
 
@@ -746,9 +785,7 @@ ___
746
785
 
747
786
  #### Type declaration
748
787
 
749
- ▸ (`input`): `Promise`<`R`\>
750
-
751
- Handles an `input` query and returns an `output` promise.
788
+ ▸ (`input`): `Promise`\<`R`\>
752
789
 
753
790
  ##### Parameters
754
791
 
@@ -758,17 +795,17 @@ Handles an `input` query and returns an `output` promise.
758
795
 
759
796
  ##### Returns
760
797
 
761
- `Promise`<`R`\>
798
+ `Promise`\<`R`\>
762
799
 
763
800
  #### Defined in
764
801
 
765
- [lib/types/NextHandler.ts:4](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/NextHandler.ts#L4)
802
+ [lib/types/NextHandler.ts:4](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/NextHandler.ts#L4)
766
803
 
767
804
  ___
768
805
 
769
806
  ### Order
770
807
 
771
- Ƭ **Order**<`T`\>: keyof `T` \| { `descending?`: `boolean` ; `field`: keyof `T` }
808
+ Ƭ **Order**\<`T`\>: keyof `T` \| \{ `descending?`: `boolean` ; `field`: keyof `T` }
772
809
 
773
810
  Order item.
774
811
 
@@ -780,23 +817,56 @@ Order item.
780
817
 
781
818
  #### Defined in
782
819
 
783
- [lib/types/Order.ts:4](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/Order.ts#L4)
820
+ [lib/types/Order.ts:4](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/Order.ts#L4)
784
821
 
785
822
  ___
786
823
 
787
824
  ### Parameters
788
825
 
789
- Ƭ **Parameters**: `Record`<`string`, `string` \| `string`[] \| `number` \| `number`[]\>
826
+ Ƭ **Parameters**: `Record`\<`string`, `string` \| `string`[] \| `number` \| `number`[]\>
827
+
828
+ #### Defined in
829
+
830
+ [lib/types/Parameters.ts:1](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/Parameters.ts#L1)
831
+
832
+ ___
833
+
834
+ ### Path
835
+
836
+ Ƭ **Path**\<`T`\>: `T` extends infer P[] ? [`number`] \| [`number`, ...Path\<P\>] : `T` extends `object` ? \{ [K in keyof T]-?: [K] \| [K, ...Path\<T[K]\>] }[keyof `T`] : `never`
837
+
838
+ #### Type parameters
839
+
840
+ | Name |
841
+ | :------ |
842
+ | `T` |
843
+
844
+ #### Defined in
845
+
846
+ [lib/types/Path.ts:1](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/Path.ts#L1)
847
+
848
+ ___
849
+
850
+ ### PathFiltered
851
+
852
+ Ƭ **PathFiltered**\<`T`, `P`\>: `T` extends infer I[] ? `I` extends `P` ? [`number`] : [`number`, ...PathFiltered\<I, P\>] : `T` extends `object` ? \{ [K in keyof T]-?: T[K] extends P ? [K] : [K, ...PathFiltered\<T[K], P\>] }[keyof `T`] : `never`
853
+
854
+ #### Type parameters
855
+
856
+ | Name |
857
+ | :------ |
858
+ | `T` |
859
+ | `P` |
790
860
 
791
861
  #### Defined in
792
862
 
793
- [lib/types/Parameters.ts:1](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/Parameters.ts#L1)
863
+ [lib/types/PathFiltered.ts:1](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/PathFiltered.ts#L1)
794
864
 
795
865
  ___
796
866
 
797
867
  ### Query
798
868
 
799
- Ƭ **Query**<`T`\>: [`QueryRead`](README.md#queryread)<`T`\> \| [`QueryReadMultiple`](README.md#queryreadmultiple)<`T`\> \| [`QueryCreate`](README.md#querycreate)<`T`\> \| [`QueryCreateMultiple`](README.md#querycreatemultiple)<`T`\> \| [`QueryUpdate`](README.md#queryupdate)<`T`\> \| [`QueryUpdateMultiple`](README.md#queryupdatemultiple)<`T`\> \| [`QueryDelete`](README.md#querydelete)<`T`\> \| [`QueryDeleteMultiple`](README.md#querydeletemultiple)<`T`\> \| [`QueryAggregate`](README.md#queryaggregate)<`T`\>
869
+ Ƭ **Query**\<`T`\>: [`QueryRead`](README.md#queryread)\<`T`\> \| [`QueryReadMultiple`](README.md#queryreadmultiple)\<`T`\> \| [`QueryCreate`](README.md#querycreate)\<`T`\> \| [`QueryCreateMultiple`](README.md#querycreatemultiple)\<`T`\> \| [`QueryUpdate`](README.md#queryupdate)\<`T`\> \| [`QueryUpdateMultiple`](README.md#queryupdatemultiple)\<`T`\> \| [`QueryDelete`](README.md#querydelete)\<`T`\> \| [`QueryDeleteMultiple`](README.md#querydeletemultiple)\<`T`\> \| [`QueryAggregate`](README.md#queryaggregate)\<`T`\>
800
870
 
801
871
  Query that fetches or mutates an entity.
802
872
 
@@ -808,13 +878,13 @@ Query that fetches or mutates an entity.
808
878
 
809
879
  #### Defined in
810
880
 
811
- [lib/types/Query.ts:14](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/Query.ts#L14)
881
+ [lib/types/Query.ts:14](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/Query.ts#L14)
812
882
 
813
883
  ___
814
884
 
815
885
  ### QueryAggregate
816
886
 
817
- Ƭ **QueryAggregate**<`T`\>: `Object`
887
+ Ƭ **QueryAggregate**\<`T`\>: `Object`
818
888
 
819
889
  Query for computing an aggregated value.
820
890
 
@@ -828,22 +898,22 @@ Query for computing an aggregated value.
828
898
 
829
899
  | Name | Type | Description |
830
900
  | :------ | :------ | :------ |
831
- | `aggregator` | [`AggregateFunction`](README.md#aggregatefunction)<`T`\> | - |
832
- | `context?` | [`Context`](README.md#context)<`T`\> | Common item properties to use for identifying the item. |
833
- | `filter?` | [`Filter`](README.md#filter)<`T`\> | - |
901
+ | `aggregator` | [`AggregateFunction`](README.md#aggregatefunction)\<`T`\> | - |
902
+ | `context?` | [`Context`](README.md#context)\<`T`\> | Common item properties to use for identifying the item. |
903
+ | `filter?` | [`Filter`](README.md#filter)\<`T`\> | - |
834
904
  | `method` | ``"aggregate"`` | - |
835
905
  | `parameters?` | [`Parameters`](README.md#parameters) | Query parameters. |
836
- | `settings?` | [`QuerySettings`](README.md#querysettings)<`T`\> | Query settings. |
906
+ | `settings?` | [`QuerySettings`](README.md#querysettings)\<`T`\> | Query settings. |
837
907
 
838
908
  #### Defined in
839
909
 
840
- [lib/types/QueryAggregate.ts:10](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/QueryAggregate.ts#L10)
910
+ [lib/types/QueryAggregate.ts:10](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/QueryAggregate.ts#L10)
841
911
 
842
912
  ___
843
913
 
844
914
  ### QueryCreate
845
915
 
846
- Ƭ **QueryCreate**<`T`\>: `Object`
916
+ Ƭ **QueryCreate**\<`T`\>: `Object`
847
917
 
848
918
  Query for creating an item.
849
919
 
@@ -857,22 +927,22 @@ Query for creating an item.
857
927
 
858
928
  | Name | Type | Description |
859
929
  | :------ | :------ | :------ |
860
- | `context?` | [`Context`](README.md#context)<`T`\> | Common item properties to use for identifying the context in which to create the item. |
930
+ | `context?` | [`Context`](README.md#context)\<`T`\> | Common item properties to use for identifying the context in which to create the item. |
861
931
  | `method` | ``"create"`` | - |
862
932
  | `multiple?` | ``false`` | - |
863
933
  | `parameters?` | [`Parameters`](README.md#parameters) | Query parameters. |
864
- | `settings?` | [`QuerySettings`](README.md#querysettings)<`T`\> | Query settings. |
865
- | `value` | `Partial`<`T`\> | Value properties of the item to create. |
934
+ | `settings?` | [`QuerySettings`](README.md#querysettings)\<`T`\> | Query settings. |
935
+ | `value` | `Partial`\<`T`\> | Value properties of the item to create. |
866
936
 
867
937
  #### Defined in
868
938
 
869
- [lib/types/QueryCreate.ts:8](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/QueryCreate.ts#L8)
939
+ [lib/types/QueryCreate.ts:8](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/QueryCreate.ts#L8)
870
940
 
871
941
  ___
872
942
 
873
943
  ### QueryCreateMultiple
874
944
 
875
- Ƭ **QueryCreateMultiple**<`T`\>: `Object`
945
+ Ƭ **QueryCreateMultiple**\<`T`\>: `Object`
876
946
 
877
947
  Query for creating multiple items.
878
948
 
@@ -886,22 +956,22 @@ Query for creating multiple items.
886
956
 
887
957
  | Name | Type | Description |
888
958
  | :------ | :------ | :------ |
889
- | `context?` | [`Context`](README.md#context)<`T`\> | Common item properties to use for identifying the context in which to create the items. |
959
+ | `context?` | [`Context`](README.md#context)\<`T`\> | Common item properties to use for identifying the context in which to create the items. |
890
960
  | `method` | ``"create"`` | - |
891
961
  | `multiple` | ``true`` | - |
892
962
  | `parameters?` | [`Parameters`](README.md#parameters) | Query parameters. |
893
- | `settings?` | [`QuerySettings`](README.md#querysettings)<`T`\> | Query settings. |
894
- | `value` | `Partial`<`T`\>[] | - |
963
+ | `settings?` | [`QuerySettings`](README.md#querysettings)\<`T`\> | Query settings. |
964
+ | `value` | `Partial`\<`T`\>[] | - |
895
965
 
896
966
  #### Defined in
897
967
 
898
- [lib/types/QueryCreateMultiple.ts:8](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/QueryCreateMultiple.ts#L8)
968
+ [lib/types/QueryCreateMultiple.ts:8](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/QueryCreateMultiple.ts#L8)
899
969
 
900
970
  ___
901
971
 
902
972
  ### QueryDelete
903
973
 
904
- Ƭ **QueryDelete**<`T`\>: `Object`
974
+ Ƭ **QueryDelete**\<`T`\>: `Object`
905
975
 
906
976
  Query for deleting an item.
907
977
 
@@ -915,22 +985,22 @@ Query for deleting an item.
915
985
 
916
986
  | Name | Type | Description |
917
987
  | :------ | :------ | :------ |
918
- | `context?` | [`Context`](README.md#context)<`T`\> | Common item properties to use for identifying the context in which to delete the item. |
919
- | `filter?` | [`Filter`](README.md#filter)<`T`\> | - |
988
+ | `context?` | [`Context`](README.md#context)\<`T`\> | Common item properties to use for identifying the context in which to delete the item. |
989
+ | `filter?` | [`Filter`](README.md#filter)\<`T`\> | - |
920
990
  | `method` | ``"delete"`` | - |
921
991
  | `multiple?` | ``false`` | - |
922
992
  | `parameters?` | [`Parameters`](README.md#parameters) | Query parameters. |
923
- | `settings?` | [`QuerySettings`](README.md#querysettings)<`T`\> | Query settings. |
993
+ | `settings?` | [`QuerySettings`](README.md#querysettings)\<`T`\> | Query settings. |
924
994
 
925
995
  #### Defined in
926
996
 
927
- [lib/types/QueryDelete.ts:9](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/QueryDelete.ts#L9)
997
+ [lib/types/QueryDelete.ts:9](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/QueryDelete.ts#L9)
928
998
 
929
999
  ___
930
1000
 
931
1001
  ### QueryDeleteMultiple
932
1002
 
933
- Ƭ **QueryDeleteMultiple**<`T`\>: `Object`
1003
+ Ƭ **QueryDeleteMultiple**\<`T`\>: `Object`
934
1004
 
935
1005
  Query for deleting multiple items.
936
1006
 
@@ -944,34 +1014,34 @@ Query for deleting multiple items.
944
1014
 
945
1015
  | Name | Type | Description |
946
1016
  | :------ | :------ | :------ |
947
- | `context?` | [`Context`](README.md#context)<`T`\> | Common item properties to use for identifying the context in which to delete the item. |
948
- | `filter?` | [`Filter`](README.md#filter)<`T`\> | - |
1017
+ | `context?` | [`Context`](README.md#context)\<`T`\> | Common item properties to use for identifying the context in which to delete the item. |
1018
+ | `filter?` | [`Filter`](README.md#filter)\<`T`\> | - |
949
1019
  | `method` | ``"delete"`` | - |
950
1020
  | `multiple` | ``true`` | - |
951
1021
  | `parameters?` | [`Parameters`](README.md#parameters) | Query parameters. |
952
- | `settings?` | [`QuerySettings`](README.md#querysettings)<`T`\> | Query settings. |
1022
+ | `settings?` | [`QuerySettings`](README.md#querysettings)\<`T`\> | Query settings. |
953
1023
 
954
1024
  #### Defined in
955
1025
 
956
- [lib/types/QueryDeleteMultiple.ts:9](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/QueryDeleteMultiple.ts#L9)
1026
+ [lib/types/QueryDeleteMultiple.ts:9](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/QueryDeleteMultiple.ts#L9)
957
1027
 
958
1028
  ___
959
1029
 
960
1030
  ### QueryMethod
961
1031
 
962
- Ƭ **QueryMethod**: `Exclude`<[`Query`](README.md#query)<`never`\>[``"method"``], `undefined`\>
1032
+ Ƭ **QueryMethod**: `Exclude`\<[`Query`](README.md#query)\<`never`\>[``"method"``], `undefined`\>
963
1033
 
964
1034
  Available query methods.
965
1035
 
966
1036
  #### Defined in
967
1037
 
968
- [lib/types/QueryMethod.ts:6](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/QueryMethod.ts#L6)
1038
+ [lib/types/QueryMethod.ts:6](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/QueryMethod.ts#L6)
969
1039
 
970
1040
  ___
971
1041
 
972
1042
  ### QueryRead
973
1043
 
974
- Ƭ **QueryRead**<`T`\>: `Object`
1044
+ Ƭ **QueryRead**\<`T`\>: `Object`
975
1045
 
976
1046
  Query for reading a single item.
977
1047
 
@@ -985,27 +1055,27 @@ Query for reading a single item.
985
1055
 
986
1056
  | Name | Type | Description |
987
1057
  | :------ | :------ | :------ |
988
- | `context?` | [`Context`](README.md#context)<`T`\> | Common item properties to use for identifying the context in which to delete the item. |
1058
+ | `context?` | [`Context`](README.md#context)\<`T`\> | Common item properties to use for identifying the context in which to delete the item. |
989
1059
  | `fields?` | readonly keyof `T`[] | Item fields to pick. If omitted, all fields are picked. |
990
- | `filter?` | [`Filter`](README.md#filter)<`T`\> | Filter for finding the item, if it cannot be found based on the `context`. |
1060
+ | `filter?` | [`Filter`](README.md#filter)\<`T`\> | Filter for finding the item, if it cannot be found based on the `context`. |
991
1061
  | `group?` | `never` | - |
992
1062
  | `limit?` | `never` | - |
993
1063
  | `method?` | ``"read"`` | - |
994
1064
  | `multiple?` | ``false`` | - |
995
1065
  | `offset?` | `never` | - |
996
- | `order?` | [`Order`](README.md#order)<`T`\>[] | Order by which the items should be sorted. |
1066
+ | `order?` | [`Order`](README.md#order)\<`T`\>[] | Order by which the items should be sorted. |
997
1067
  | `parameters?` | [`Parameters`](README.md#parameters) | Query parameters. |
998
- | `settings?` | [`QuerySettings`](README.md#querysettings)<`T`\> | Query settings. |
1068
+ | `settings?` | [`QuerySettings`](README.md#querysettings)\<`T`\> | Query settings. |
999
1069
 
1000
1070
  #### Defined in
1001
1071
 
1002
- [lib/types/QueryRead.ts:10](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/QueryRead.ts#L10)
1072
+ [lib/types/QueryRead.ts:10](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/QueryRead.ts#L10)
1003
1073
 
1004
1074
  ___
1005
1075
 
1006
1076
  ### QueryReadMultiple
1007
1077
 
1008
- Ƭ **QueryReadMultiple**<`T`\>: `Object`
1078
+ Ƭ **QueryReadMultiple**\<`T`\>: `Object`
1009
1079
 
1010
1080
  Query for getting a list of items.
1011
1081
 
@@ -1019,27 +1089,27 @@ Query for getting a list of items.
1019
1089
 
1020
1090
  | Name | Type | Description |
1021
1091
  | :------ | :------ | :------ |
1022
- | `context?` | [`Context`](README.md#context)<`T`\> | Common item properties to use for identifying the item. |
1092
+ | `context?` | [`Context`](README.md#context)\<`T`\> | Common item properties to use for identifying the item. |
1023
1093
  | `fields?` | readonly keyof `T`[] | Item fields to pick. If omitted, all fields are picked. |
1024
- | `filter?` | [`Filter`](README.md#filter)<`T`\> | Filter that picks the items. |
1025
- | `group?` | [`Group`](README.md#group)<`T`\>[] | Groups items by specified fields. |
1094
+ | `filter?` | [`Filter`](README.md#filter)\<`T`\> | Filter that picks the items. |
1095
+ | `group?` | [`Group`](README.md#group)\<`T`\>[] | Groups items by specified fields. |
1026
1096
  | `limit?` | `number` | Upper bound of the number of items to return. |
1027
1097
  | `method?` | ``"read"`` | - |
1028
1098
  | `multiple` | ``true`` | - |
1029
1099
  | `offset?` | `number` | Offset of the first matching item. |
1030
- | `order?` | [`Order`](README.md#order)<`T`\>[] | Order by which the items should be sorted. |
1100
+ | `order?` | [`Order`](README.md#order)\<`T`\>[] | Order by which the items should be sorted. |
1031
1101
  | `parameters?` | [`Parameters`](README.md#parameters) | Query parameters. |
1032
- | `settings?` | [`QuerySettings`](README.md#querysettings)<`T`\> | Query settings. |
1102
+ | `settings?` | [`QuerySettings`](README.md#querysettings)\<`T`\> | Query settings. |
1033
1103
 
1034
1104
  #### Defined in
1035
1105
 
1036
- [lib/types/QueryReadMultiple.ts:11](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/QueryReadMultiple.ts#L11)
1106
+ [lib/types/QueryReadMultiple.ts:11](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/QueryReadMultiple.ts#L11)
1037
1107
 
1038
1108
  ___
1039
1109
 
1040
1110
  ### QuerySettings
1041
1111
 
1042
- Ƭ **QuerySettings**<`T`\>: `Object`
1112
+ Ƭ **QuerySettings**\<`T`\>: `Object`
1043
1113
 
1044
1114
  Settings to use when doing a query.
1045
1115
 
@@ -1053,20 +1123,21 @@ Settings to use when doing a query.
1053
1123
 
1054
1124
  | Name | Type | Description |
1055
1125
  | :------ | :------ | :------ |
1056
- | `pathFieldKey?` | [`FilterKeys`](README.md#filterkeys)<`T`, `string`\> | Field key to that contains the path value of an item. |
1126
+ | `abortController?` | `AbortController` | Abort controller to abort the query. |
1127
+ | `pathFieldKey?` | [`FieldFiltered`](README.md#fieldfiltered)\<`T`, `string`\> | Field key to that contains the path value of an item. |
1057
1128
  | `pathFieldSeparator?` | `string` | String used to separate the path nodes of an item. |
1058
1129
  | `signal?` | `AbortSignal` | Abort signal to abort the query. |
1059
- | `transformFilterChildren?` | (`filter`: [`FilterChildren`](README.md#filterchildren)<`T`\>) => `Exclude`<[`Filter`](README.md#filter)<`T`\>, { `operator`: ``"children"`` }\> | Returns a filter that captures the items expressed by the provided `FilterChildren`. The return filter cannot use filters of type `FilterChildren`. |
1130
+ | `transformFilterChildren?` | (`filter`: [`FilterChildren`](README.md#filterchildren)\<`T`\>) => `Exclude`\<[`Filter`](README.md#filter)\<`T`\>, \{ `operator`: ``"children"`` }\> | - |
1060
1131
 
1061
1132
  #### Defined in
1062
1133
 
1063
- [lib/types/QuerySettings.ts:8](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/QuerySettings.ts#L8)
1134
+ [lib/types/QuerySettings.ts:8](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/QuerySettings.ts#L8)
1064
1135
 
1065
1136
  ___
1066
1137
 
1067
1138
  ### QueryUpdate
1068
1139
 
1069
- Ƭ **QueryUpdate**<`T`\>: `Object`
1140
+ Ƭ **QueryUpdate**\<`T`\>: `Object`
1070
1141
 
1071
1142
  Query for updating an item.
1072
1143
 
@@ -1080,26 +1151,26 @@ Query for updating an item.
1080
1151
 
1081
1152
  | Name | Type | Description |
1082
1153
  | :------ | :------ | :------ |
1083
- | `context?` | [`Context`](README.md#context)<`T`\> | Common item properties to use for identifying the context in which to update the item. |
1084
- | `filter?` | [`Filter`](README.md#filter)<`T`\> | Filter for finding the item, if it cannot be found based on the `context`. |
1154
+ | `context?` | [`Context`](README.md#context)\<`T`\> | Common item properties to use for identifying the context in which to update the item. |
1155
+ | `filter?` | [`Filter`](README.md#filter)\<`T`\> | Filter for finding the item, if it cannot be found based on the `context`. |
1085
1156
  | `group?` | `never` | - |
1086
1157
  | `method` | ``"update"`` | - |
1087
1158
  | `multiple?` | ``false`` | - |
1088
1159
  | `offset?` | `never` | - |
1089
1160
  | `order` | `never` | - |
1090
1161
  | `parameters?` | [`Parameters`](README.md#parameters) | Query parameters. |
1091
- | `settings?` | [`QuerySettings`](README.md#querysettings)<`T`\> | Query settings. |
1092
- | `value` | `Partial`<`T`\> | Partial property values to update. |
1162
+ | `settings?` | [`QuerySettings`](README.md#querysettings)\<`T`\> | Query settings. |
1163
+ | `value` | `Partial`\<`T`\> | Partial property values to update. |
1093
1164
 
1094
1165
  #### Defined in
1095
1166
 
1096
- [lib/types/QueryUpdate.ts:9](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/QueryUpdate.ts#L9)
1167
+ [lib/types/QueryUpdate.ts:9](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/QueryUpdate.ts#L9)
1097
1168
 
1098
1169
  ___
1099
1170
 
1100
1171
  ### QueryUpdateMultiple
1101
1172
 
1102
- Ƭ **QueryUpdateMultiple**<`T`\>: `Object`
1173
+ Ƭ **QueryUpdateMultiple**\<`T`\>: `Object`
1103
1174
 
1104
1175
  Query for updating multiple items.
1105
1176
 
@@ -1113,43 +1184,43 @@ Query for updating multiple items.
1113
1184
 
1114
1185
  | Name | Type | Description |
1115
1186
  | :------ | :------ | :------ |
1116
- | `context?` | [`Context`](README.md#context)<`T`\> | Common item properties to use for identifying the context in which to update the item. |
1117
- | `filter?` | [`Filter`](README.md#filter)<`T`\> | - |
1187
+ | `context?` | [`Context`](README.md#context)\<`T`\> | Common item properties to use for identifying the context in which to update the item. |
1188
+ | `filter?` | [`Filter`](README.md#filter)\<`T`\> | - |
1118
1189
  | `limit?` | `number` | Sets the upper bound of the number of items to update. |
1119
1190
  | `method` | ``"update"`` | - |
1120
1191
  | `multiple` | ``true`` | - |
1121
1192
  | `offset?` | `number` | Offset of the first matching item to update. |
1122
- | `order?` | [`Order`](README.md#order)<`T`\>[] | Order by which the items should be sorted. |
1193
+ | `order?` | [`Order`](README.md#order)\<`T`\>[] | Order by which the items should be sorted. |
1123
1194
  | `parameters?` | [`Parameters`](README.md#parameters) | Query parameters. |
1124
- | `settings?` | [`QuerySettings`](README.md#querysettings)<`T`\> | Query settings. |
1125
- | `value` | `Partial`<`T`\>[] | Partial property values to update. |
1195
+ | `settings?` | [`QuerySettings`](README.md#querysettings)\<`T`\> | Query settings. |
1196
+ | `value` | `Partial`\<`T`\>[] | Partial property values to update. |
1126
1197
 
1127
1198
  #### Defined in
1128
1199
 
1129
- [lib/types/QueryUpdateMultiple.ts:10](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/QueryUpdateMultiple.ts#L10)
1200
+ [lib/types/QueryUpdateMultiple.ts:10](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/QueryUpdateMultiple.ts#L10)
1130
1201
 
1131
1202
  ___
1132
1203
 
1133
1204
  ### Result
1134
1205
 
1135
- Ƭ **Result**<`T`, `Q`\>: [`Q`] extends [{ `method`: ``"read"`` }] ? [`Q`] extends [{ `multiple`: ``true`` }] ? `ResultRead`<`T`, `Q`\>[] : `ResultRead`<`T`, `Q`\> : [`Q`] extends [{ `method`: ``"aggregate"`` }] ? `number` : [`Q`] extends [{ `multiple`: ``true`` }] ? `ResultRead`<`T`, `Q`\>[] : `ResultRead`<`T`, `Q`\>
1206
+ Ƭ **Result**\<`T`, `Q`\>: [`Q`] extends [\{ `method`: ``"read"`` }] ? [`Q`] extends [\{ `multiple`: ``true`` }] ? `ResultRead`\<`T`, `Q`\>[] : `ResultRead`\<`T`, `Q`\> : [`Q`] extends [\{ `method`: ``"aggregate"`` }] ? `number` : [`Q`] extends [\{ `multiple`: ``true`` }] ? `ResultRead`\<`T`, `Q`\>[] : `ResultRead`\<`T`, `Q`\>
1136
1207
 
1137
1208
  #### Type parameters
1138
1209
 
1139
1210
  | Name | Type |
1140
1211
  | :------ | :------ |
1141
1212
  | `T` | extends `object` |
1142
- | `Q` | extends [`Query`](README.md#query)<`T`\> |
1213
+ | `Q` | extends [`Query`](README.md#query)\<`T`\> |
1143
1214
 
1144
1215
  #### Defined in
1145
1216
 
1146
- [lib/types/Result.ts:20](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/Result.ts#L20)
1217
+ [lib/types/Result.ts:20](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/Result.ts#L20)
1147
1218
 
1148
1219
  ___
1149
1220
 
1150
1221
  ### Store
1151
1222
 
1152
- Ƭ **Store**<`T`\>: `Object`
1223
+ Ƭ **Store**\<`T`\>: `Object`
1153
1224
 
1154
1225
  #### Type parameters
1155
1226
 
@@ -1161,20 +1232,20 @@ ___
1161
1232
 
1162
1233
  | Name | Type |
1163
1234
  | :------ | :------ |
1164
- | `delete` | (`key`: `string`) => `Promise`<`void`\> |
1165
- | `get` | (`key`: `string`) => `Promise`<`T`\> |
1166
- | `has` | (`key`: `string`) => `Promise`<`boolean`\> |
1167
- | `set` | (`key`: `string`, `value`: `T`) => `Promise`<`void`\> |
1235
+ | `delete` | (`key`: `string`) => `Promise`\<`void`\> |
1236
+ | `get` | (`key`: `string`) => `Promise`\<`T`\> |
1237
+ | `has` | (`key`: `string`) => `Promise`\<`boolean`\> |
1238
+ | `set` | (`key`: `string`, `value`: `T`) => `Promise`\<`void`\> |
1168
1239
 
1169
1240
  #### Defined in
1170
1241
 
1171
- [lib/types/Store.ts:2](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/Store.ts#L2)
1242
+ [lib/types/Store.ts:2](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/Store.ts#L2)
1172
1243
 
1173
1244
  ## Functions
1174
1245
 
1175
1246
  ### aggregate
1176
1247
 
1177
- ▸ **aggregate**<`I`, `O`, `In`, `On`\>(`options`): [`Handler`](README.md#handler)<`I`, `O`, `In`, `On`\>
1248
+ ▸ **aggregate**\<`I`, `O`, `In`, `On`\>(`options`): [`Handler`](README.md#handler)\<`I`, `O`, `In`, `On`\>
1178
1249
 
1179
1250
  Aggregates multiple incoming query calls into one query.
1180
1251
  Queries are grouped according to the string key returned by `queryGroupId(query)`. Inside a group, each query is identified with `queryId(query)`.
@@ -1186,36 +1257,36 @@ If a query occurs twice, `mergeQuery(query, currentQuery)` is called and the out
1186
1257
 
1187
1258
  | Name | Type |
1188
1259
  | :------ | :------ |
1189
- | `I` | extends `Object` |
1260
+ | `I` | extends [`Query`](README.md#query)\<`any`\> & \{ `type`: `any` } |
1190
1261
  | `O` | `O` |
1191
- | `In` | extends `Object` |
1262
+ | `In` | extends [`Query`](README.md#query)\<`any`\> & \{ `type`: `any` } |
1192
1263
  | `On` | `On` |
1193
1264
 
1194
1265
  #### Parameters
1195
1266
 
1196
- | Name | Type |
1197
- | :------ | :------ |
1198
- | `options` | `Object` |
1199
- | `options.delay?` | `number` |
1200
- | `options.mergeQuery?` | (`query`: `I`, `currentQuery`: `I`) => `I` |
1201
- | `options.queryForGroup` | (`queryList`: `I`[], `group`: `string`) => `Object` |
1202
- | `options.queryGroupId?` | (`query`: `I`) => `undefined` \| `string` |
1203
- | `options.queryId?` | (`query`: `I`) => `undefined` \| `string` |
1204
- | `options.resultForQuery` | (`resultList`: `O`[], `query`: `I`) => `O` |
1267
+ | Name | Type | Default value |
1268
+ | :------ | :------ | :------ |
1269
+ | `options` | `Object` | `undefined` |
1270
+ | `options.delay?` | `number` | `200` |
1271
+ | `options.mergeQuery?` | (`query`: `I`, `currentQuery`: `I`) => `I` | `undefined` |
1272
+ | `options.queryForGroup` | (`queryList`: `I`[], `group`: `string`) => [`Query`](README.md#query)\<`any`\> & \{ `type`: `any` } | `undefined` |
1273
+ | `options.queryGroupId?` | (`query`: `I`) => `undefined` \| `string` | `undefined` |
1274
+ | `options.queryId?` | (`query`: `I`) => `undefined` \| `string` | `undefined` |
1275
+ | `options.resultForQuery` | (`resultList`: `O`[], `query`: `I`) => `O` | `undefined` |
1205
1276
 
1206
1277
  #### Returns
1207
1278
 
1208
- [`Handler`](README.md#handler)<`I`, `O`, `In`, `On`\>
1279
+ [`Handler`](README.md#handler)\<`I`, `O`, `In`, `On`\>
1209
1280
 
1210
1281
  #### Defined in
1211
1282
 
1212
- [lib/middlewares/aggregate.ts:16](https://github.com/nevoland/quetch/blob/fbf3307/lib/middlewares/aggregate.ts#L16)
1283
+ [lib/middlewares/aggregate.ts:16](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/middlewares/aggregate.ts#L16)
1213
1284
 
1214
1285
  ___
1215
1286
 
1216
1287
  ### branch
1217
1288
 
1218
- ▸ **branch**<`I`, `O`, `In`, `On`\>(`condition`, `left`, `right?`): [`Handler`](README.md#handler)<`I`, `O`, `In`, `On`\>
1289
+ ▸ **branch**\<`I`, `O`, `In`, `On`\>(`condition`, `left`, `right?`): [`Handler`](README.md#handler)\<`I`, `O`, `In`, `On`\>
1219
1290
 
1220
1291
  Dispatches an incoming query to `left` if `condition(query)` returns a truthy value, `right` otherwise. This is helpful for sending queries to different resolvers.
1221
1292
 
@@ -1233,12 +1304,12 @@ Dispatches an incoming query to `left` if `condition(query)` returns a truthy va
1233
1304
  | Name | Type |
1234
1305
  | :------ | :------ |
1235
1306
  | `condition` | (`input`: `I`) => `boolean` |
1236
- | `left` | [`Handler`](README.md#handler)<`I`, `O`, `In`, `On`\> |
1237
- | `right` | [`Handler`](README.md#handler)<`I`, `O`, `In`, `On`\> |
1307
+ | `left` | [`Handler`](README.md#handler)\<`I`, `O`, `In`, `On`\> |
1308
+ | `right` | [`Handler`](README.md#handler)\<`I`, `O`, `In`, `On`\> |
1238
1309
 
1239
1310
  #### Returns
1240
1311
 
1241
- [`Handler`](README.md#handler)<`I`, `O`, `In`, `On`\>
1312
+ [`Handler`](README.md#handler)\<`I`, `O`, `In`, `On`\>
1242
1313
 
1243
1314
  **`Example`**
1244
1315
 
@@ -1251,21 +1322,21 @@ const customFetch = combine(
1251
1322
 
1252
1323
  #### Defined in
1253
1324
 
1254
- [lib/middlewares/branch.ts:21](https://github.com/nevoland/quetch/blob/fbf3307/lib/middlewares/branch.ts#L21)
1325
+ [lib/middlewares/branch.ts:21](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/middlewares/branch.ts#L21)
1255
1326
 
1256
1327
  ___
1257
1328
 
1258
1329
  ### cache
1259
1330
 
1260
- ▸ **cache**<`I`, `O`, `In`, `On`\>(`«destructured»`): [`Handler`](README.md#handler)<`I`, `O`, `In`, `On`\>
1331
+ ▸ **cache**\<`I`, `O`, `In`, `On`\>(`«destructured»`): [`Handler`](README.md#handler)\<`I`, `O`, `In`, `On`\>
1261
1332
 
1262
1333
  #### Type parameters
1263
1334
 
1264
1335
  | Name | Type |
1265
1336
  | :------ | :------ |
1266
- | `I` | extends `Object` |
1337
+ | `I` | extends [`Query`](README.md#query)\<`any`\> & \{ `type`: `any` } |
1267
1338
  | `O` | `O` |
1268
- | `In` | extends [`Query`](README.md#query)<`any`\> |
1339
+ | `In` | extends [`Query`](README.md#query)\<`any`\> |
1269
1340
  | `On` | `On` |
1270
1341
 
1271
1342
  #### Parameters
@@ -1278,21 +1349,21 @@ ___
1278
1349
  | › `itemId?` | (`query`: `I`) => `undefined` \| `string` | Unique identifier for the item to cache. Returns `undefined` if the item should not be cached. |
1279
1350
  | › `mergeItem` | (`value`: `any`, `cachedValue`: `any`, `query`: `I`, `cachedQuery`: `I`) => `any` | Merges the value from the extended query with the cached value. Only called when `extendCachedQuery` returns a query. |
1280
1351
  | › `mergeQuery` | (`extendedQuery`: `I`, `cachedQuery`: `I`) => `I` | Merges the extended query with the cached query. Only called when `extendCachedQuery` returns a query. |
1281
- | › `store` | [`Store`](README.md#store)<`CachedItem`<`I`\>\> | Cache store. |
1352
+ | › `store` | [`Store`](README.md#store)\<`CachedItem`\<`I`\>\> | Cache store. |
1282
1353
 
1283
1354
  #### Returns
1284
1355
 
1285
- [`Handler`](README.md#handler)<`I`, `O`, `In`, `On`\>
1356
+ [`Handler`](README.md#handler)\<`I`, `O`, `In`, `On`\>
1286
1357
 
1287
1358
  #### Defined in
1288
1359
 
1289
- [lib/middlewares/cache.ts:8](https://github.com/nevoland/quetch/blob/fbf3307/lib/middlewares/cache.ts#L8)
1360
+ [lib/middlewares/cache.ts:8](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/middlewares/cache.ts#L8)
1290
1361
 
1291
1362
  ___
1292
1363
 
1293
1364
  ### combine
1294
1365
 
1295
- ▸ **combine**<`I0`, `O0`, `I1`, `O1`, `I2`, `O2`, `I3`, `O3`, `I4`, `O4`, `I5`, `O5`, `I6`, `O6`, `I7`, `O7`, `I8`, `O8`, `I9`, `O9`, `I10`, `O10`, `I11`, `O11`, `I12`, `O12`, `I13`, `O13`, `I14`, `O14`, `I15`, `O15`, `I16`, `O16`, `I17`, `O17`, `I18`, `O18`, `I19`, `O19`, `I20`, `O20`, `I21`, `O21`\>(`...handlerList`): [`Handler`](README.md#handler)<`I0`, `O0`, `I21`, `O21`\>
1366
+ ▸ **combine**\<`I0`, `O0`, `I1`, `O1`, `I2`, `O2`, `I3`, `O3`, `I4`, `O4`, `I5`, `O5`, `I6`, `O6`, `I7`, `O7`, `I8`, `O8`, `I9`, `O9`, `I10`, `O10`, `I11`, `O11`, `I12`, `O12`, `I13`, `O13`, `I14`, `O14`, `I15`, `O15`, `I16`, `O16`, `I17`, `O17`, `I18`, `O18`, `I19`, `O19`, `I20`, `O20`, `I21`, `O21`\>(`...handlerList`): [`Handler`](README.md#handler)\<`I0`, `O0`, `I21`, `O21`\>
1296
1367
 
1297
1368
  Combines the provided handler into a single handler.
1298
1369
 
@@ -1349,23 +1420,23 @@ Combines the provided handler into a single handler.
1349
1420
 
1350
1421
  | Name | Type | Description |
1351
1422
  | :------ | :------ | :------ |
1352
- | `...handlerList` | readonly [[`Handler`](README.md#handler)<`I0`, `O0`, `I1`, `O1`\>, [`Handler`](README.md#handler)<`I1`, `O1`, `I2`, `O2`\>, `undefined` \| [`Handler`](README.md#handler)<`I2`, `O2`, `I3`, `O3`\>, `undefined` \| [`Handler`](README.md#handler)<`I3`, `O3`, `I4`, `O4`\>, `undefined` \| [`Handler`](README.md#handler)<`I4`, `O4`, `I5`, `O5`\>, `undefined` \| [`Handler`](README.md#handler)<`I5`, `O5`, `I6`, `O6`\>, `undefined` \| [`Handler`](README.md#handler)<`I6`, `O6`, `I7`, `O7`\>, `undefined` \| [`Handler`](README.md#handler)<`I7`, `O7`, `I8`, `O8`\>, `undefined` \| [`Handler`](README.md#handler)<`I8`, `O8`, `I9`, `O9`\>, `undefined` \| [`Handler`](README.md#handler)<`I9`, `O9`, `I10`, `O10`\>, `undefined` \| [`Handler`](README.md#handler)<`I10`, `O10`, `I11`, `O11`\>, `undefined` \| [`Handler`](README.md#handler)<`I11`, `O11`, `I12`, `O12`\>, `undefined` \| [`Handler`](README.md#handler)<`I12`, `O12`, `I13`, `O13`\>, `undefined` \| [`Handler`](README.md#handler)<`I13`, `O13`, `I14`, `O14`\>, `undefined` \| [`Handler`](README.md#handler)<`I14`, `O14`, `I15`, `O15`\>, `undefined` \| [`Handler`](README.md#handler)<`I15`, `O15`, `I16`, `O16`\>, `undefined` \| [`Handler`](README.md#handler)<`I16`, `O16`, `I17`, `O17`\>, `undefined` \| [`Handler`](README.md#handler)<`I17`, `O17`, `I18`, `O18`\>, `undefined` \| [`Handler`](README.md#handler)<`I18`, `O18`, `I19`, `O19`\>, `undefined` \| [`Handler`](README.md#handler)<`I19`, `O19`, `I20`, `O20`\>, `undefined` \| [`Handler`](README.md#handler)<`I20`, `O20`, `I21`, `O21`\>] | List of handlers to combine. |
1423
+ | `...handlerList` | readonly [[`Handler`](README.md#handler)\<`I0`, `O0`, `I1`, `O1`\>, [`Handler`](README.md#handler)\<`I1`, `O1`, `I2`, `O2`\>, `undefined` \| [`Handler`](README.md#handler)\<`I2`, `O2`, `I3`, `O3`\>, `undefined` \| [`Handler`](README.md#handler)\<`I3`, `O3`, `I4`, `O4`\>, `undefined` \| [`Handler`](README.md#handler)\<`I4`, `O4`, `I5`, `O5`\>, `undefined` \| [`Handler`](README.md#handler)\<`I5`, `O5`, `I6`, `O6`\>, `undefined` \| [`Handler`](README.md#handler)\<`I6`, `O6`, `I7`, `O7`\>, `undefined` \| [`Handler`](README.md#handler)\<`I7`, `O7`, `I8`, `O8`\>, `undefined` \| [`Handler`](README.md#handler)\<`I8`, `O8`, `I9`, `O9`\>, `undefined` \| [`Handler`](README.md#handler)\<`I9`, `O9`, `I10`, `O10`\>, `undefined` \| [`Handler`](README.md#handler)\<`I10`, `O10`, `I11`, `O11`\>, `undefined` \| [`Handler`](README.md#handler)\<`I11`, `O11`, `I12`, `O12`\>, `undefined` \| [`Handler`](README.md#handler)\<`I12`, `O12`, `I13`, `O13`\>, `undefined` \| [`Handler`](README.md#handler)\<`I13`, `O13`, `I14`, `O14`\>, `undefined` \| [`Handler`](README.md#handler)\<`I14`, `O14`, `I15`, `O15`\>, `undefined` \| [`Handler`](README.md#handler)\<`I15`, `O15`, `I16`, `O16`\>, `undefined` \| [`Handler`](README.md#handler)\<`I16`, `O16`, `I17`, `O17`\>, `undefined` \| [`Handler`](README.md#handler)\<`I17`, `O17`, `I18`, `O18`\>, `undefined` \| [`Handler`](README.md#handler)\<`I18`, `O18`, `I19`, `O19`\>, `undefined` \| [`Handler`](README.md#handler)\<`I19`, `O19`, `I20`, `O20`\>, `undefined` \| [`Handler`](README.md#handler)\<`I20`, `O20`, `I21`, `O21`\>] | List of handlers to combine. |
1353
1424
 
1354
1425
  #### Returns
1355
1426
 
1356
- [`Handler`](README.md#handler)<`I0`, `O0`, `I21`, `O21`\>
1427
+ [`Handler`](README.md#handler)\<`I0`, `O0`, `I21`, `O21`\>
1357
1428
 
1358
1429
  Handler that combines all provided handlers.
1359
1430
 
1360
1431
  #### Defined in
1361
1432
 
1362
- [lib/middlewares/combine.ts:801](https://github.com/nevoland/quetch/blob/fbf3307/lib/middlewares/combine.ts#L801)
1433
+ [lib/middlewares/combine.ts:801](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/middlewares/combine.ts#L801)
1363
1434
 
1364
1435
  ___
1365
1436
 
1366
1437
  ### cork
1367
1438
 
1368
- ▸ **cork**(`input`): `Promise`<`never`\>
1439
+ ▸ **cork**(`input`): `Promise`\<`never`\>
1369
1440
 
1370
1441
  Uncallable handler used to terminate a sequence of handlers combined with `combine`.
1371
1442
 
@@ -1377,17 +1448,17 @@ Uncallable handler used to terminate a sequence of handlers combined with `combi
1377
1448
 
1378
1449
  #### Returns
1379
1450
 
1380
- `Promise`<`never`\>
1451
+ `Promise`\<`never`\>
1381
1452
 
1382
1453
  #### Defined in
1383
1454
 
1384
- [lib/types/NextHandler.ts:4](https://github.com/nevoland/quetch/blob/fbf3307/lib/types/NextHandler.ts#L4)
1455
+ [lib/tools/cork.ts:6](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/tools/cork.ts#L6)
1385
1456
 
1386
1457
  ___
1387
1458
 
1388
1459
  ### defineCheckQuery
1389
1460
 
1390
- ▸ **defineCheckQuery**<`M`\>(): <T, Q\>(`query`: `Q` & { `type`: `T`[] }) => typeof `query`<K, T, Q\>(`query`: `Q` & { `type`: `K` }) => typeof `query`
1461
+ ▸ **defineCheckQuery**\<`M`\>(): \<T, Q\>(`query`: `Q` & \{ `type`: `T`[] }) => typeof `query`\<K, T, Q\>(`query`: `Q` & \{ `type`: `K` }) => typeof `query`
1391
1462
 
1392
1463
  Returns a function that checks queries. This is useful to prevent the query to have its type being narrowed if declared outside of a custom fetcher function argument.
1393
1464
 
@@ -1395,7 +1466,7 @@ Returns a function that checks queries. This is useful to prevent the query to h
1395
1466
 
1396
1467
  | Name | Type |
1397
1468
  | :------ | :------ |
1398
- | `M` | extends `Record`<`string`, `object`\> |
1469
+ | `M` | extends `Record`\<`string`, `object`\> |
1399
1470
 
1400
1471
  #### Returns
1401
1472
 
@@ -1403,26 +1474,26 @@ Returns a function that checks queries. This is useful to prevent the query to h
1403
1474
 
1404
1475
  Function that checks queries.
1405
1476
 
1406
- <`T`, `Q`\>(`query`): typeof `query`
1477
+ \<`T`, `Q`\>(`query`): typeof `query`
1407
1478
 
1408
1479
  ##### Type parameters
1409
1480
 
1410
1481
  | Name | Type |
1411
1482
  | :------ | :------ |
1412
1483
  | `T` | extends `object` |
1413
- | `Q` | extends [`Query`](README.md#query)<`T`\> |
1484
+ | `Q` | extends [`Query`](README.md#query)\<`T`\> |
1414
1485
 
1415
1486
  ##### Parameters
1416
1487
 
1417
1488
  | Name | Type |
1418
1489
  | :------ | :------ |
1419
- | `query` | `Q` & { `type`: `T`[] } |
1490
+ | `query` | `Q` & \{ `type`: `T`[] } |
1420
1491
 
1421
1492
  ##### Returns
1422
1493
 
1423
1494
  typeof `query`
1424
1495
 
1425
- <`K`, `T`, `Q`\>(`query`): typeof `query`
1496
+ \<`K`, `T`, `Q`\>(`query`): typeof `query`
1426
1497
 
1427
1498
  ##### Type parameters
1428
1499
 
@@ -1430,13 +1501,13 @@ typeof `query`
1430
1501
  | :------ | :------ |
1431
1502
  | `K` | extends `string` \| `number` \| `symbol` |
1432
1503
  | `T` | extends `object` |
1433
- | `Q` | extends [`Query`](README.md#query)<`T`\> |
1504
+ | `Q` | extends [`Query`](README.md#query)\<`T`\> |
1434
1505
 
1435
1506
  ##### Parameters
1436
1507
 
1437
1508
  | Name | Type |
1438
1509
  | :------ | :------ |
1439
- | `query` | `Q` & { `type`: `K` } |
1510
+ | `query` | `Q` & \{ `type`: `K` } |
1440
1511
 
1441
1512
  ##### Returns
1442
1513
 
@@ -1444,13 +1515,13 @@ typeof `query`
1444
1515
 
1445
1516
  #### Defined in
1446
1517
 
1447
- [lib/tools/defineCheckQuery.ts:8](https://github.com/nevoland/quetch/blob/fbf3307/lib/tools/defineCheckQuery.ts#L8)
1518
+ [lib/tools/defineCheckQuery.ts:8](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/tools/defineCheckQuery.ts#L8)
1448
1519
 
1449
1520
  ___
1450
1521
 
1451
1522
  ### defineCustomFetch
1452
1523
 
1453
- ▸ **defineCustomFetch**<`M`\>(`handler`): <K, T, Q\>(`query`: `Q` & { `type`: `K` }) => `Promise`<[`Result`](README.md#result)<`T`, `Q`\>\><T, Q\>(`type`: `T`[], `query`: `Q`) => `Promise`<[`Result`](README.md#result)<`T`, `Q`\>\>
1524
+ ▸ **defineCustomFetch**\<`M`\>(`handler`): \<K, T, Q\>(`query`: `Q` & \{ `type`: `K` }) => `Promise`\<[`Result`](README.md#result)\<`T`, `Q`\>\>\<T, Q\>(`type`: `T`[], `query`: `Q`) => `Promise`\<[`Result`](README.md#result)\<`T`, `Q`\>\>
1454
1525
 
1455
1526
  Returns a custom fetch function that handles a `query`
1456
1527
 
@@ -1458,13 +1529,13 @@ Returns a custom fetch function that handles a `query`
1458
1529
 
1459
1530
  | Name | Type |
1460
1531
  | :------ | :------ |
1461
- | `M` | extends `Record`<`string`, `object`\> |
1532
+ | `M` | extends `Record`\<`string`, `object`\> |
1462
1533
 
1463
1534
  #### Parameters
1464
1535
 
1465
1536
  | Name | Type | Description |
1466
1537
  | :------ | :------ | :------ |
1467
- | `handler` | [`Handler`](README.md#handler)<`Object`, `any`, `never`, `never`\> | The query handler. |
1538
+ | `handler` | [`Handler`](README.md#handler)\<[`Query`](README.md#query)\<`any`\> & \{ `type`: any[] \| Key }, `any`, `never`, `never`\> | The query handler. |
1468
1539
 
1469
1540
  #### Returns
1470
1541
 
@@ -1472,7 +1543,7 @@ Returns a custom fetch function that handles a `query`
1472
1543
 
1473
1544
  A custom fetch function.
1474
1545
 
1475
- <`K`, `T`, `Q`\>(`query`): `Promise`<[`Result`](README.md#result)<`T`, `Q`\>\>
1546
+ \<`K`, `T`, `Q`\>(`query`): `Promise`\<[`Result`](README.md#result)\<`T`, `Q`\>\>
1476
1547
 
1477
1548
  ##### Type parameters
1478
1549
 
@@ -1480,26 +1551,26 @@ A custom fetch function.
1480
1551
  | :------ | :------ |
1481
1552
  | `K` | extends `string` \| `number` \| `symbol` |
1482
1553
  | `T` | extends `object` |
1483
- | `Q` | extends [`Query`](README.md#query)<`T`\> |
1554
+ | `Q` | extends [`Query`](README.md#query)\<`T`\> |
1484
1555
 
1485
1556
  ##### Parameters
1486
1557
 
1487
1558
  | Name | Type |
1488
1559
  | :------ | :------ |
1489
- | `query` | `Q` & { `type`: `K` } |
1560
+ | `query` | `Q` & \{ `type`: `K` } |
1490
1561
 
1491
1562
  ##### Returns
1492
1563
 
1493
- `Promise`<[`Result`](README.md#result)<`T`, `Q`\>\>
1564
+ `Promise`\<[`Result`](README.md#result)\<`T`, `Q`\>\>
1494
1565
 
1495
- <`T`, `Q`\>(`type`, `query`): `Promise`<[`Result`](README.md#result)<`T`, `Q`\>\>
1566
+ \<`T`, `Q`\>(`type`, `query`): `Promise`\<[`Result`](README.md#result)\<`T`, `Q`\>\>
1496
1567
 
1497
1568
  ##### Type parameters
1498
1569
 
1499
1570
  | Name | Type |
1500
1571
  | :------ | :------ |
1501
1572
  | `T` | extends `object` |
1502
- | `Q` | extends [`Query`](README.md#query)<`T`\> |
1573
+ | `Q` | extends [`Query`](README.md#query)\<`T`\> |
1503
1574
 
1504
1575
  ##### Parameters
1505
1576
 
@@ -1510,17 +1581,17 @@ A custom fetch function.
1510
1581
 
1511
1582
  ##### Returns
1512
1583
 
1513
- `Promise`<[`Result`](README.md#result)<`T`, `Q`\>\>
1584
+ `Promise`\<[`Result`](README.md#result)\<`T`, `Q`\>\>
1514
1585
 
1515
1586
  #### Defined in
1516
1587
 
1517
- [lib/tools/defineCustomFetch.ts:11](https://github.com/nevoland/quetch/blob/fbf3307/lib/tools/defineCustomFetch.ts#L11)
1588
+ [lib/tools/defineCustomFetch.ts:11](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/tools/defineCustomFetch.ts#L11)
1518
1589
 
1519
1590
  ___
1520
1591
 
1521
1592
  ### defineGenericFetch
1522
1593
 
1523
- ▸ **defineGenericFetch**<`K`\>(`handler`): <T\>() => <Q\>(`query`: `Q` & { `type`: `K` \| `T`[] }) => `Promise`<[`Result`](README.md#result)<`T`, `Q`\>\>
1594
+ ▸ **defineGenericFetch**\<`K`\>(`handler`): \<T\>() => \<Q\>(`query`: `Q` & \{ `type`: `K` \| `T`[] }) => `Promise`\<[`Result`](README.md#result)\<`T`, `Q`\>\>
1524
1595
 
1525
1596
  Returns a generic fetch function that has to be called like this:
1526
1597
  ```ts
@@ -1537,7 +1608,7 @@ genericFetch<T>()(query)
1537
1608
 
1538
1609
  | Name | Type | Description |
1539
1610
  | :------ | :------ | :------ |
1540
- | `handler` | [`Handler`](README.md#handler)<`Object`, `any`, `never`, `never`\> | The query handler. |
1611
+ | `handler` | [`Handler`](README.md#handler)\<[`Query`](README.md#query)\<`any`\> & \{ `type`: any[] \| Key }, `any`, `never`, `never`\> | The query handler. |
1541
1612
 
1542
1613
  #### Returns
1543
1614
 
@@ -1545,7 +1616,7 @@ genericFetch<T>()(query)
1545
1616
 
1546
1617
  A curried generic fetch function.
1547
1618
 
1548
- <`T`\>(): <Q\>(`query`: `Q` & { `type`: `K` \| `T`[] }) => `Promise`<[`Result`](README.md#result)<`T`, `Q`\>\>
1619
+ \<`T`\>(): \<Q\>(`query`: `Q` & \{ `type`: `K` \| `T`[] }) => `Promise`\<[`Result`](README.md#result)\<`T`, `Q`\>\>
1549
1620
 
1550
1621
  ##### Type parameters
1551
1622
 
@@ -1557,27 +1628,27 @@ A curried generic fetch function.
1557
1628
 
1558
1629
  `fn`
1559
1630
 
1560
- <`Q`\>(`query`): `Promise`<[`Result`](README.md#result)<`T`, `Q`\>\>
1631
+ \<`Q`\>(`query`): `Promise`\<[`Result`](README.md#result)\<`T`, `Q`\>\>
1561
1632
 
1562
1633
  ##### Type parameters
1563
1634
 
1564
1635
  | Name | Type |
1565
1636
  | :------ | :------ |
1566
- | `Q` | extends [`Query`](README.md#query)<`T`\> |
1637
+ | `Q` | extends [`Query`](README.md#query)\<`T`\> |
1567
1638
 
1568
1639
  ##### Parameters
1569
1640
 
1570
1641
  | Name | Type |
1571
1642
  | :------ | :------ |
1572
- | `query` | `Q` & { `type`: `K` \| `T`[] } |
1643
+ | `query` | `Q` & \{ `type`: `K` \| `T`[] } |
1573
1644
 
1574
1645
  ##### Returns
1575
1646
 
1576
- `Promise`<[`Result`](README.md#result)<`T`, `Q`\>\>
1647
+ `Promise`\<[`Result`](README.md#result)\<`T`, `Q`\>\>
1577
1648
 
1578
1649
  #### Defined in
1579
1650
 
1580
- [lib/tools/defineGenericFetch.ts:14](https://github.com/nevoland/quetch/blob/fbf3307/lib/tools/defineGenericFetch.ts#L14)
1651
+ [lib/tools/defineGenericFetch.ts:14](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/tools/defineGenericFetch.ts#L14)
1581
1652
 
1582
1653
  ___
1583
1654
 
@@ -1601,13 +1672,13 @@ Escaped regular expression
1601
1672
 
1602
1673
  #### Defined in
1603
1674
 
1604
- [lib/tools/escapeRegex.ts:7](https://github.com/nevoland/quetch/blob/fbf3307/lib/tools/escapeRegex.ts#L7)
1675
+ [lib/tools/escapeRegex.ts:7](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/tools/escapeRegex.ts#L7)
1605
1676
 
1606
1677
  ___
1607
1678
 
1608
1679
  ### fetchExternal
1609
1680
 
1610
- ▸ **fetchExternal**(`fetch?`): [`Handler`](README.md#handler)<`Request`, `Response`, `never`, `never`\>
1681
+ ▸ **fetchExternal**(`fetch?`): [`Handler`](README.md#handler)\<`Request`, `Response`, `never`, `never`\>
1611
1682
 
1612
1683
  Calls the provided `fetch` function, which defaults to the DOM `fetch` function, with the incoming `query`.
1613
1684
 
@@ -1615,23 +1686,23 @@ Calls the provided `fetch` function, which defaults to the DOM `fetch` function,
1615
1686
 
1616
1687
  | Name | Type | Description |
1617
1688
  | :------ | :------ | :------ |
1618
- | `fetch` | (`input`: `RequestInfo` \| `URL`, `init?`: `RequestInit`) => `Promise`<`Response`\> | [MDN Reference](https://developer.mozilla.org/docs/Web/API/fetch) |
1689
+ | `fetch` | (`input`: `RequestInfo` \| `URL`, `init?`: `RequestInit`) => `Promise`\<`Response`\> | [MDN Reference](https://developer.mozilla.org/docs/Web/API/fetch) |
1619
1690
 
1620
1691
  #### Returns
1621
1692
 
1622
- [`Handler`](README.md#handler)<`Request`, `Response`, `never`, `never`\>
1693
+ [`Handler`](README.md#handler)\<`Request`, `Response`, `never`, `never`\>
1623
1694
 
1624
1695
  Handler that returns a promise that resolves to the response.
1625
1696
 
1626
1697
  #### Defined in
1627
1698
 
1628
- [lib/middlewares/fetchExternal.ts:12](https://github.com/nevoland/quetch/blob/fbf3307/lib/middlewares/fetchExternal.ts#L12)
1699
+ [lib/middlewares/fetchExternal.ts:12](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/middlewares/fetchExternal.ts#L12)
1629
1700
 
1630
1701
  ___
1631
1702
 
1632
1703
  ### fetchLocal
1633
1704
 
1634
- ▸ **fetchLocal**<`T`\>(): [`Handler`](README.md#handler)<[`Query`](README.md#query)<`T`\> & { `type`: `T`[] }, `any`, `never`, `never`\>
1705
+ ▸ **fetchLocal**\<`T`\>(): [`Handler`](README.md#handler)\<[`Query`](README.md#query)\<`T`\> & \{ `type`: `T`[] }, `any`, `never`, `never`\>
1635
1706
 
1636
1707
  Performs the fetch query on local data.
1637
1708
 
@@ -1643,19 +1714,19 @@ Performs the fetch query on local data.
1643
1714
 
1644
1715
  #### Returns
1645
1716
 
1646
- [`Handler`](README.md#handler)<[`Query`](README.md#query)<`T`\> & { `type`: `T`[] }, `any`, `never`, `never`\>
1717
+ [`Handler`](README.md#handler)\<[`Query`](README.md#query)\<`T`\> & \{ `type`: `T`[] }, `any`, `never`, `never`\>
1647
1718
 
1648
1719
  Promise that resolves to the response.
1649
1720
 
1650
1721
  #### Defined in
1651
1722
 
1652
- [lib/middlewares/fetchLocal.ts:9](https://github.com/nevoland/quetch/blob/fbf3307/lib/middlewares/fetchLocal.ts#L9)
1723
+ [lib/middlewares/fetchLocal.ts:9](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/middlewares/fetchLocal.ts#L9)
1653
1724
 
1654
1725
  ___
1655
1726
 
1656
1727
  ### filterChildren
1657
1728
 
1658
- ▸ **filterChildren**<`T`\>(`parentPath`, `pathFieldKey`, `deep?`, `pathSeparator?`): [`Filter`](README.md#filter)<`T`\>
1729
+ ▸ **filterChildren**\<`T`\>(`parentPath`, `pathFieldKey`, `deep?`, `pathSeparator?`): [`Filter`](README.md#filter)\<`T`\>
1659
1730
 
1660
1731
  #### Type parameters
1661
1732
 
@@ -1668,23 +1739,23 @@ ___
1668
1739
  | Name | Type | Default value |
1669
1740
  | :------ | :------ | :------ |
1670
1741
  | `parentPath` | `string` | `undefined` |
1671
- | `pathFieldKey` | [`FilterKeys`](README.md#filterkeys)<`T`, `string`\> | `undefined` |
1742
+ | `pathFieldKey` | [`FieldFiltered`](README.md#fieldfiltered)\<`T`, `string`\> | `undefined` |
1672
1743
  | `deep` | `boolean` | `false` |
1673
1744
  | `pathSeparator` | `string` | `"/"` |
1674
1745
 
1675
1746
  #### Returns
1676
1747
 
1677
- [`Filter`](README.md#filter)<`T`\>
1748
+ [`Filter`](README.md#filter)\<`T`\>
1678
1749
 
1679
1750
  #### Defined in
1680
1751
 
1681
- [lib/tools/filterChildren.ts:5](https://github.com/nevoland/quetch/blob/fbf3307/lib/tools/filterChildren.ts#L5)
1752
+ [lib/tools/filterChildren.ts:5](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/tools/filterChildren.ts#L5)
1682
1753
 
1683
1754
  ___
1684
1755
 
1685
1756
  ### filterFromContext
1686
1757
 
1687
- ▸ **filterFromContext**<`T`\>(`context`): [`Filter`](README.md#filter)<`T`\>
1758
+ ▸ **filterFromContext**\<`T`\>(`context`): [`Filter`](README.md#filter)\<`T`\>
1688
1759
 
1689
1760
  #### Type parameters
1690
1761
 
@@ -1696,21 +1767,21 @@ ___
1696
1767
 
1697
1768
  | Name | Type |
1698
1769
  | :------ | :------ |
1699
- | `context` | [`Context`](README.md#context)<`T`\> |
1770
+ | `context` | [`Context`](README.md#context)\<`T`\> |
1700
1771
 
1701
1772
  #### Returns
1702
1773
 
1703
- [`Filter`](README.md#filter)<`T`\>
1774
+ [`Filter`](README.md#filter)\<`T`\>
1704
1775
 
1705
1776
  #### Defined in
1706
1777
 
1707
- [lib/tools/filterFromContext.ts:5](https://github.com/nevoland/quetch/blob/fbf3307/lib/tools/filterFromContext.ts#L5)
1778
+ [lib/tools/filterFromContext.ts:5](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/tools/filterFromContext.ts#L5)
1708
1779
 
1709
1780
  ___
1710
1781
 
1711
1782
  ### filterItem
1712
1783
 
1713
- ▸ **filterItem**<`T`\>(`filter`, `value`, `settings?`): `boolean`
1784
+ ▸ **filterItem**\<`T`\>(`filter`, `value`, `settings?`): `boolean`
1714
1785
 
1715
1786
  Checks wether the provided `value` matches the `filter` or not.
1716
1787
 
@@ -1724,9 +1795,9 @@ Checks wether the provided `value` matches the `filter` or not.
1724
1795
 
1725
1796
  | Name | Type | Description |
1726
1797
  | :------ | :------ | :------ |
1727
- | `filter` | `undefined` \| [`Filter`](README.md#filter)<`T`\> | The filter to apply. |
1798
+ | `filter` | `undefined` \| [`Filter`](README.md#filter)\<`T`\> | The filter to apply. |
1728
1799
  | `value` | `undefined` \| `T` | The value to check. |
1729
- | `settings?` | [`QuerySettings`](README.md#querysettings)<`T`\> | Optional query settings. |
1800
+ | `settings?` | [`QuerySettings`](README.md#querysettings)\<`T`\> | Optional query settings. |
1730
1801
 
1731
1802
  #### Returns
1732
1803
 
@@ -1736,13 +1807,48 @@ Checks wether the provided `value` matches the `filter` or not.
1736
1807
 
1737
1808
  #### Defined in
1738
1809
 
1739
- [lib/tools/filterItem.ts:17](https://github.com/nevoland/quetch/blob/fbf3307/lib/tools/filterItem.ts#L17)
1810
+ [lib/tools/filterItem.ts:18](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/tools/filterItem.ts#L18)
1811
+
1812
+ ___
1813
+
1814
+ ### get
1815
+
1816
+ ▸ **get**\<`T`, `P`\>(`value`, `path?`): `Get`\<`T`, `P`\>
1817
+
1818
+ Gets the property value of the given `value` at the specified `path` (an array of object property names or array indexes).
1819
+ If the `path` is undefined, returns the `value` itself.
1820
+ If the `path` is a string, it is considered as a path with one item.
1821
+ If the `path` leads to an unknown property, returns `undefined`.
1822
+
1823
+ #### Type parameters
1824
+
1825
+ | Name | Type |
1826
+ | :------ | :------ |
1827
+ | `T` | `T` |
1828
+ | `P` | extends `string` \| `number` \| `symbol` \| [`number`] \| [keyof `T`\<`T`\>] \| [keyof `T`\<`T`\>, ...Path\<T\<T\>[keyof T\<T\>]\>[]] |
1829
+
1830
+ #### Parameters
1831
+
1832
+ | Name | Type | Description |
1833
+ | :------ | :------ | :------ |
1834
+ | `value` | `T` | The value from which to get the property value. |
1835
+ | `path?` | `P` | The path leading to the property value or a property name or `undefined`. |
1836
+
1837
+ #### Returns
1838
+
1839
+ `Get`\<`T`, `P`\>
1840
+
1841
+ The property value found at the given path, or `undefined` if it cannot be found.
1842
+
1843
+ #### Defined in
1844
+
1845
+ [lib/tools/get.ts:23](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/tools/get.ts#L23)
1740
1846
 
1741
1847
  ___
1742
1848
 
1743
1849
  ### identity
1744
1850
 
1745
- ▸ **identity**<`I`, `O`, `In`, `On`\>(`input`, `next`): `Promise`<`O`\>
1851
+ ▸ **identity**\<`I`, `O`, `In`, `On`\>(`input`, `next`): `Promise`\<`O`\>
1746
1852
 
1747
1853
  #### Type parameters
1748
1854
 
@@ -1758,21 +1864,21 @@ ___
1758
1864
  | Name | Type |
1759
1865
  | :------ | :------ |
1760
1866
  | `input` | `I` |
1761
- | `next` | [`NextHandler`](README.md#nexthandler)<`In`, `On`\> |
1867
+ | `next` | [`NextHandler`](README.md#nexthandler)\<`In`, `On`\> |
1762
1868
 
1763
1869
  #### Returns
1764
1870
 
1765
- `Promise`<`O`\>
1871
+ `Promise`\<`O`\>
1766
1872
 
1767
1873
  #### Defined in
1768
1874
 
1769
- [lib/middlewares/identity.ts:3](https://github.com/nevoland/quetch/blob/fbf3307/lib/middlewares/identity.ts#L3)
1875
+ [lib/middlewares/identity.ts:3](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/middlewares/identity.ts#L3)
1770
1876
 
1771
1877
  ___
1772
1878
 
1773
1879
  ### isFilterGroup
1774
1880
 
1775
- ▸ **isFilterGroup**<`T`\>(`value`): value is FilterGroup<T\>
1881
+ ▸ **isFilterGroup**\<`T`\>(`value`): value is FilterGroup\<T\>
1776
1882
 
1777
1883
  Returns `true` if the provided filter `value` is a group filter or not.
1778
1884
 
@@ -1786,23 +1892,23 @@ Returns `true` if the provided filter `value` is a group filter or not.
1786
1892
 
1787
1893
  | Name | Type | Description |
1788
1894
  | :------ | :------ | :------ |
1789
- | `value` | `undefined` \| [`Filter`](README.md#filter)<`T`\> | The filter to test. |
1895
+ | `value` | `undefined` \| [`Filter`](README.md#filter)\<`T`\> | The filter to test. |
1790
1896
 
1791
1897
  #### Returns
1792
1898
 
1793
- value is FilterGroup<T\>
1899
+ value is FilterGroup\<T\>
1794
1900
 
1795
1901
  Whether the provided filter is a group filter or not.
1796
1902
 
1797
1903
  #### Defined in
1798
1904
 
1799
- [lib/tools/isFilterGroup.ts:9](https://github.com/nevoland/quetch/blob/fbf3307/lib/tools/isFilterGroup.ts#L9)
1905
+ [lib/tools/isFilterGroup.ts:9](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/tools/isFilterGroup.ts#L9)
1800
1906
 
1801
1907
  ___
1802
1908
 
1803
1909
  ### log
1804
1910
 
1805
- ▸ **log**<`I`, `O`, `In`, `On`\>(`title?`): [`Handler`](README.md#handler)<`I`, `O`, `In`, `On`\>
1911
+ ▸ **log**\<`I`, `O`, `In`, `On`\>(`title?`): [`Handler`](README.md#handler)\<`I`, `O`, `In`, `On`\>
1806
1912
 
1807
1913
  Logs the outgoing query and the incoming result or the error.
1808
1914
 
@@ -1823,19 +1929,19 @@ Logs the outgoing query and the incoming result or the error.
1823
1929
 
1824
1930
  #### Returns
1825
1931
 
1826
- [`Handler`](README.md#handler)<`I`, `O`, `In`, `On`\>
1932
+ [`Handler`](README.md#handler)\<`I`, `O`, `In`, `On`\>
1827
1933
 
1828
1934
  Query handler
1829
1935
 
1830
1936
  #### Defined in
1831
1937
 
1832
- [lib/middlewares/log.ts:13](https://github.com/nevoland/quetch/blob/fbf3307/lib/middlewares/log.ts#L13)
1938
+ [lib/middlewares/log.ts:13](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/middlewares/log.ts#L13)
1833
1939
 
1834
1940
  ___
1835
1941
 
1836
1942
  ### normalizeOrder
1837
1943
 
1838
- ▸ **normalizeOrder**<`T`\>(`order`): `Object`
1944
+ ▸ **normalizeOrder**\<`T`\>(`order`): `Object`
1839
1945
 
1840
1946
  #### Type parameters
1841
1947
 
@@ -1847,7 +1953,7 @@ ___
1847
1953
 
1848
1954
  | Name | Type |
1849
1955
  | :------ | :------ |
1850
- | `order` | [`Order`](README.md#order)<`T`\> |
1956
+ | `order` | [`Order`](README.md#order)\<`T`\> |
1851
1957
 
1852
1958
  #### Returns
1853
1959
 
@@ -1860,40 +1966,40 @@ ___
1860
1966
 
1861
1967
  #### Defined in
1862
1968
 
1863
- [lib/tools/normalizeOrder.ts:3](https://github.com/nevoland/quetch/blob/fbf3307/lib/tools/normalizeOrder.ts#L3)
1969
+ [lib/tools/normalizeOrder.ts:3](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/tools/normalizeOrder.ts#L3)
1864
1970
 
1865
1971
  ___
1866
1972
 
1867
1973
  ### queryItemList
1868
1974
 
1869
- ▸ **queryItemList**<`T`, `Q`\>(`query`): [`Result`](README.md#result)<`T`, `Q`\>
1975
+ ▸ **queryItemList**\<`T`, `Q`\>(`query`): [`Result`](README.md#result)\<`T`, `Q`\>
1870
1976
 
1871
1977
  #### Type parameters
1872
1978
 
1873
1979
  | Name | Type |
1874
1980
  | :------ | :------ |
1875
1981
  | `T` | extends `object` |
1876
- | `Q` | extends [`Query`](README.md#query)<`T`\> |
1982
+ | `Q` | extends [`Query`](README.md#query)\<`T`\> |
1877
1983
 
1878
1984
  #### Parameters
1879
1985
 
1880
1986
  | Name | Type |
1881
1987
  | :------ | :------ |
1882
- | `query` | `Q` & { `type`: `T`[] } |
1988
+ | `query` | `Q` & \{ `type`: `T`[] } |
1883
1989
 
1884
1990
  #### Returns
1885
1991
 
1886
- [`Result`](README.md#result)<`T`, `Q`\>
1992
+ [`Result`](README.md#result)\<`T`, `Q`\>
1887
1993
 
1888
1994
  #### Defined in
1889
1995
 
1890
- [lib/tools/queryItemList.ts:41](https://github.com/nevoland/quetch/blob/fbf3307/lib/tools/queryItemList.ts#L41)
1996
+ [lib/tools/queryItemList.ts:41](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/tools/queryItemList.ts#L41)
1891
1997
 
1892
1998
  ___
1893
1999
 
1894
2000
  ### retry
1895
2001
 
1896
- ▸ **retry**(`options?`): [`Handler`](README.md#handler)<`Request`, `Response`, `Request`, `Response`\>
2002
+ ▸ **retry**(`options?`): [`Handler`](README.md#handler)\<`Request`, `Response`, `Request`, `Response`\>
1897
2003
 
1898
2004
  Retries a failed query call up to `amount` times, with a given `delay` in milliseconds at ±`delayDelta` milliseconds.
1899
2005
  Note that an `amount` set to `Infinity` results in indefinitely trying to resolve a query call.
@@ -1901,28 +2007,28 @@ Only instances of `RequestError` that do not result in a `500` status error will
1901
2007
 
1902
2008
  #### Parameters
1903
2009
 
1904
- | Name | Type |
1905
- | :------ | :------ |
1906
- | `options` | `Object` |
1907
- | `options.amount` | `undefined` \| `number` |
1908
- | `options.delay` | `undefined` \| `number` |
1909
- | `options.delayDelta` | `undefined` \| `number` |
2010
+ | Name | Type | Default value |
2011
+ | :------ | :------ | :------ |
2012
+ | `options` | `Object` | `{}` |
2013
+ | `options.amount` | `undefined` \| `number` | `5` |
2014
+ | `options.delay` | `undefined` \| `number` | `1000` |
2015
+ | `options.delayDelta` | `undefined` \| `number` | `500` |
1910
2016
 
1911
2017
  #### Returns
1912
2018
 
1913
- [`Handler`](README.md#handler)<`Request`, `Response`, `Request`, `Response`\>
2019
+ [`Handler`](README.md#handler)\<`Request`, `Response`, `Request`, `Response`\>
1914
2020
 
1915
2021
  Handler
1916
2022
 
1917
2023
  #### Defined in
1918
2024
 
1919
- [lib/middlewares/retry.ts:15](https://github.com/nevoland/quetch/blob/fbf3307/lib/middlewares/retry.ts#L15)
2025
+ [lib/middlewares/retry.ts:15](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/middlewares/retry.ts#L15)
1920
2026
 
1921
2027
  ___
1922
2028
 
1923
2029
  ### sortItemList
1924
2030
 
1925
- ▸ **sortItemList**<`T`\>(`orderList`, `value`): `T`[]
2031
+ ▸ **sortItemList**\<`T`\>(`orderList`, `value`): `T`[]
1926
2032
 
1927
2033
  Sorts provided `value` array *in place* according to the `orderList`.
1928
2034
 
@@ -1936,7 +2042,7 @@ Sorts provided `value` array *in place* according to the `orderList`.
1936
2042
 
1937
2043
  | Name | Type | Description |
1938
2044
  | :------ | :------ | :------ |
1939
- | `orderList` | `undefined` \| [`Order`](README.md#order)<`T`\>[] | The order to use for sorting. |
2045
+ | `orderList` | `undefined` \| [`Order`](README.md#order)\<`T`\>[] | The order to use for sorting. |
1940
2046
  | `value` | `T`[] | The array to sort. |
1941
2047
 
1942
2048
  #### Returns
@@ -1947,4 +2053,4 @@ The same array sorted in place.
1947
2053
 
1948
2054
  #### Defined in
1949
2055
 
1950
- [lib/tools/sortItemList.ts:12](https://github.com/nevoland/quetch/blob/fbf3307/lib/tools/sortItemList.ts#L12)
2056
+ [lib/tools/sortItemList.ts:12](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/tools/sortItemList.ts#L12)