quetch 0.15.0 → 0.16.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 (212) hide show
  1. package/dist/middlewares/aggregate.js +1 -1
  2. package/dist/middlewares/aggregate.js.map +1 -1
  3. package/dist/middlewares/fetchExternal.js +1 -1
  4. package/dist/middlewares/fetchExternal.js.map +1 -1
  5. package/dist/middlewares/retry.js +1 -1
  6. package/dist/middlewares/retry.js.map +1 -1
  7. package/dist/tools/defineCheckQuery.d.ts +3 -7
  8. package/dist/tools/defineCustomFetch.d.ts +1 -1
  9. package/dist/tools/fieldListFromFilter.d.ts +8 -0
  10. package/dist/tools/fieldListFromFilter.js +37 -0
  11. package/dist/tools/fieldListFromFilter.js.map +1 -0
  12. package/dist/tools/get.d.ts +1 -3
  13. package/dist/tools/get.js.map +1 -1
  14. package/dist/tools/normalizeOrder.d.ts +9 -3
  15. package/dist/tools/normalizeOrder.js +13 -6
  16. package/dist/tools/normalizeOrder.js.map +1 -1
  17. package/dist/tools/queryItemList.d.ts +7 -2
  18. package/dist/tools/queryItemList.js +71 -30
  19. package/dist/tools/queryItemList.js.map +1 -1
  20. package/dist/tools/reverseOrder.d.ts +11 -0
  21. package/dist/tools/reverseOrder.js +15 -0
  22. package/dist/tools/reverseOrder.js.map +1 -0
  23. package/dist/tools/sortItemList.d.ts +2 -2
  24. package/dist/tools/sortItemList.js +11 -8
  25. package/dist/tools/sortItemList.js.map +1 -1
  26. package/dist/tools/testFilter.js +1 -1
  27. package/dist/tools/testFilter.js.map +1 -1
  28. package/dist/tools.d.ts +2 -0
  29. package/dist/tools.js +2 -0
  30. package/dist/tools.js.map +1 -1
  31. package/dist/types/AggregateFunction.d.ts +4 -0
  32. package/dist/types/AggregateFunction.js +0 -1
  33. package/dist/types/AggregateFunctionOperator.js +0 -1
  34. package/dist/types/Any.js +0 -1
  35. package/dist/types/Context.js +0 -1
  36. package/dist/types/CustomFetch.js +0 -1
  37. package/dist/types/CustomFieldAggregateMap.js +0 -1
  38. package/dist/types/CustomFieldMap.js +0 -1
  39. package/dist/types/Field.js +0 -1
  40. package/dist/types/FieldFiltered.d.ts +1 -1
  41. package/dist/types/FieldFiltered.js +0 -1
  42. package/dist/types/FieldFunction.js +0 -1
  43. package/dist/types/FieldFunctionCustom.js +0 -1
  44. package/dist/types/FieldFunctionFormatDate.js +0 -1
  45. package/dist/types/FieldFunctionReturn.js +0 -1
  46. package/dist/types/Filter.js +0 -1
  47. package/dist/types/FilterArray.js +0 -1
  48. package/dist/types/FilterBoolean.js +0 -1
  49. package/dist/types/FilterChildren.js +0 -1
  50. package/dist/types/FilterCustom.js +0 -1
  51. package/dist/types/FilterField.d.ts +1 -1
  52. package/dist/types/FilterField.js +0 -1
  53. package/dist/types/FilterGroup.js +0 -1
  54. package/dist/types/FilterNumber.js +0 -1
  55. package/dist/types/FilterOperator.js +0 -1
  56. package/dist/types/FilterString.js +0 -1
  57. package/dist/types/FilterStringIntersect.js +0 -1
  58. package/dist/types/FilterStringMatch.js +0 -1
  59. package/dist/types/Get.d.ts +2 -2
  60. package/dist/types/Get.js +0 -1
  61. package/dist/types/Group.js +0 -1
  62. package/dist/types/Handler.js +0 -1
  63. package/dist/types/Immutable.js +0 -1
  64. package/dist/types/Increment.d.ts +4 -0
  65. package/dist/types/Increment.js +1 -0
  66. package/dist/types/Increment.js.map +1 -0
  67. package/dist/types/InjectCustomFields.js +0 -1
  68. package/dist/types/Item.js +0 -1
  69. package/dist/types/Join.d.ts +1 -0
  70. package/dist/types/Join.js +1 -0
  71. package/dist/types/Join.js.map +1 -0
  72. package/dist/types/Key.js +0 -1
  73. package/dist/types/KeyFiltered.js +0 -1
  74. package/dist/types/Locale.js +0 -1
  75. package/dist/types/Mutable.js +0 -1
  76. package/dist/types/NextHandler.js +0 -1
  77. package/dist/types/Order.d.ts +3 -2
  78. package/dist/types/Order.js +0 -1
  79. package/dist/types/Parameters.js +0 -1
  80. package/dist/types/Path.d.ts +3 -2
  81. package/dist/types/Path.js +0 -1
  82. package/dist/types/PathFiltered.d.ts +3 -2
  83. package/dist/types/PathFiltered.js +0 -1
  84. package/dist/types/Query.js +0 -1
  85. package/dist/types/QueryAggregate.d.ts +16 -0
  86. package/dist/types/QueryAggregate.js +0 -1
  87. package/dist/types/QueryCreate.js +0 -1
  88. package/dist/types/QueryCreateMultiple.js +0 -1
  89. package/dist/types/QueryDelete.js +0 -1
  90. package/dist/types/QueryDeleteMultiple.js +0 -1
  91. package/dist/types/QueryMethod.js +0 -1
  92. package/dist/types/QueryRead.d.ts +5 -2
  93. package/dist/types/QueryRead.js +0 -1
  94. package/dist/types/QueryReadMultiple.js +0 -1
  95. package/dist/types/QuerySettings.js +0 -1
  96. package/dist/types/QueryUpdate.js +0 -1
  97. package/dist/types/QueryUpdateMultiple.js +0 -1
  98. package/dist/types/Result.js +0 -1
  99. package/dist/types/Store.js +0 -1
  100. package/dist/types/Value.js +0 -1
  101. package/dist/types.d.ts +2 -0
  102. package/dist/types.js +0 -1
  103. package/doc/README.md +85 -2042
  104. package/doc/classes/RequestError.md +30 -39
  105. package/doc/functions/aggregate.md +49 -0
  106. package/doc/functions/branch.md +46 -0
  107. package/doc/functions/cache.md +59 -0
  108. package/doc/functions/combine.md +117 -0
  109. package/doc/functions/cork.md +23 -0
  110. package/doc/functions/defineCheckQuery.md +55 -0
  111. package/doc/functions/defineCustomFetch.md +63 -0
  112. package/doc/functions/defineGenericFetch.md +54 -0
  113. package/doc/functions/escapeRegex.md +27 -0
  114. package/doc/functions/fetchExternal.md +27 -0
  115. package/doc/functions/fetchLocal.md +25 -0
  116. package/doc/functions/fieldListFromFilter.md +31 -0
  117. package/doc/functions/filterChildren.md +31 -0
  118. package/doc/functions/filterFromContext.md +25 -0
  119. package/doc/functions/get.md +40 -0
  120. package/doc/functions/identity.md +33 -0
  121. package/doc/functions/isFilterGroup.md +31 -0
  122. package/doc/functions/log.md +35 -0
  123. package/doc/functions/normalizeOrder.md +39 -0
  124. package/doc/functions/queryItemList.md +33 -0
  125. package/doc/functions/retry.md +33 -0
  126. package/doc/functions/reverseOrder.md +39 -0
  127. package/doc/functions/sortItemList.md +35 -0
  128. package/doc/functions/testFilter.md +39 -0
  129. package/doc/interfaces/CustomFetch.md +15 -21
  130. package/doc/type-aliases/AggregateFunction.md +19 -0
  131. package/doc/type-aliases/AggregateFunctionOperator.md +13 -0
  132. package/doc/type-aliases/Any.md +13 -0
  133. package/doc/type-aliases/Context.md +17 -0
  134. package/doc/type-aliases/CustomFieldAggregateMap.md +17 -0
  135. package/doc/type-aliases/CustomFieldMap.md +17 -0
  136. package/doc/type-aliases/Field.md +17 -0
  137. package/doc/type-aliases/FieldFiltered.md +19 -0
  138. package/doc/type-aliases/FieldFunction.md +17 -0
  139. package/doc/type-aliases/FieldFunctionCustom.md +37 -0
  140. package/doc/type-aliases/FieldFunctionFormatDate.md +33 -0
  141. package/doc/type-aliases/FieldFunctionReturn.md +21 -0
  142. package/doc/type-aliases/Filter.md +19 -0
  143. package/doc/type-aliases/FilterArray.md +31 -0
  144. package/doc/type-aliases/FilterBoolean.md +29 -0
  145. package/doc/type-aliases/FilterChildren.md +38 -0
  146. package/doc/type-aliases/FilterCustom.md +37 -0
  147. package/doc/type-aliases/FilterField.md +31 -0
  148. package/doc/type-aliases/FilterGroup.md +19 -0
  149. package/doc/type-aliases/FilterNumber.md +29 -0
  150. package/doc/type-aliases/FilterOperator.md +13 -0
  151. package/doc/type-aliases/FilterString.md +37 -0
  152. package/doc/type-aliases/FilterStringIntersect.md +37 -0
  153. package/doc/type-aliases/FilterStringMatch.md +53 -0
  154. package/doc/type-aliases/Get.md +21 -0
  155. package/doc/type-aliases/Group.md +19 -0
  156. package/doc/type-aliases/Handler.md +35 -0
  157. package/doc/type-aliases/Immutable.md +17 -0
  158. package/doc/type-aliases/Increment.md +17 -0
  159. package/doc/type-aliases/InjectCustomFields.md +21 -0
  160. package/doc/type-aliases/Item.md +21 -0
  161. package/doc/type-aliases/Join.md +19 -0
  162. package/doc/type-aliases/Key.md +13 -0
  163. package/doc/type-aliases/KeyFiltered.md +21 -0
  164. package/doc/type-aliases/Locale.md +13 -0
  165. package/doc/type-aliases/Mutable.md +17 -0
  166. package/doc/type-aliases/NextHandler.md +29 -0
  167. package/doc/type-aliases/Order.md +19 -0
  168. package/doc/type-aliases/Parameters.md +13 -0
  169. package/doc/type-aliases/Path.md +19 -0
  170. package/doc/type-aliases/PathFiltered.md +21 -0
  171. package/doc/type-aliases/Query.md +19 -0
  172. package/doc/type-aliases/QueryAggregate.md +71 -0
  173. package/doc/type-aliases/QueryCreate.md +53 -0
  174. package/doc/type-aliases/QueryCreateMultiple.md +51 -0
  175. package/doc/type-aliases/QueryDelete.md +51 -0
  176. package/doc/type-aliases/QueryDeleteMultiple.md +51 -0
  177. package/doc/type-aliases/QueryMethod.md +15 -0
  178. package/doc/type-aliases/QueryRead.md +79 -0
  179. package/doc/type-aliases/QueryReadMultiple.md +83 -0
  180. package/doc/type-aliases/QuerySettings.md +63 -0
  181. package/doc/type-aliases/QueryUpdate.md +71 -0
  182. package/doc/type-aliases/QueryUpdateMultiple.md +75 -0
  183. package/doc/type-aliases/Result.md +19 -0
  184. package/doc/type-aliases/Store.md +61 -0
  185. package/doc/type-aliases/Value.md +21 -0
  186. package/lib/middlewares/aggregate.ts +1 -1
  187. package/lib/middlewares/fetchExternal.ts +1 -1
  188. package/lib/middlewares/retry.ts +1 -1
  189. package/lib/tools/fieldListFromFilter.ts +41 -0
  190. package/lib/tools/get.test.ts +13 -4
  191. package/lib/tools/get.ts +1 -11
  192. package/lib/tools/normalizeOrder.ts +19 -8
  193. package/lib/tools/queryItemList.test.ts +61 -0
  194. package/lib/tools/queryItemList.ts +93 -50
  195. package/lib/tools/reverseOrder.ts +22 -0
  196. package/lib/tools/sortItemList.ts +11 -8
  197. package/lib/tools/testFilter.ts +2 -2
  198. package/lib/tools.ts +2 -0
  199. package/lib/types/AggregateFunction.ts +4 -0
  200. package/lib/types/FieldFiltered.ts +2 -2
  201. package/lib/types/FilterField.ts +1 -1
  202. package/lib/types/Get.ts +4 -2
  203. package/lib/types/Increment.ts +5 -0
  204. package/lib/types/Join.ts +12 -0
  205. package/lib/types/Order.ts +4 -2
  206. package/lib/types/Path.ts +7 -3
  207. package/lib/types/PathFiltered.ts +9 -3
  208. package/lib/types/QueryAggregate.ts +16 -0
  209. package/lib/types/QueryRead.ts +5 -2
  210. package/lib/types/QuerySettings.ts +1 -0
  211. package/lib/types.ts +2 -0
  212. package/package.json +30 -29
@@ -0,0 +1,31 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / fieldListFromFilter
6
+
7
+ # Function: fieldListFromFilter()
8
+
9
+ > **fieldListFromFilter**\<`T`\>(`filter`?): readonly [`Field`](../type-aliases/Field.md)\<`T`\>[]
10
+
11
+ Returns the list of fields used in the provided `filter`.
12
+
13
+ ## Type Parameters
14
+
15
+ • **T** *extends* `object`
16
+
17
+ ## Parameters
18
+
19
+ • **filter?**: [`Filter`](../type-aliases/Filter.md)\<`T`\>
20
+
21
+ The filter to extract the fields from.
22
+
23
+ ## Returns
24
+
25
+ readonly [`Field`](../type-aliases/Field.md)\<`T`\>[]
26
+
27
+ A list of fields.
28
+
29
+ ## Defined in
30
+
31
+ [lib/tools/fieldListFromFilter.ts:11](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/tools/fieldListFromFilter.ts#L11)
@@ -0,0 +1,31 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / filterChildren
6
+
7
+ # Function: filterChildren()
8
+
9
+ > **filterChildren**\<`T`\>(`parentPath`, `pathFieldKey`, `deep`, `pathSeparator`): [`Filter`](../type-aliases/Filter.md)\<`T`\>
10
+
11
+ ## Type Parameters
12
+
13
+ • **T** *extends* `object`
14
+
15
+ ## Parameters
16
+
17
+ • **parentPath**: `string`
18
+
19
+ • **pathFieldKey**: [`FieldFiltered`](../type-aliases/FieldFiltered.md)\<`T`, `string`\>
20
+
21
+ • **deep**: `boolean` = `false`
22
+
23
+ • **pathSeparator**: `string` = `"/"`
24
+
25
+ ## Returns
26
+
27
+ [`Filter`](../type-aliases/Filter.md)\<`T`\>
28
+
29
+ ## Defined in
30
+
31
+ [lib/tools/filterChildren.ts:5](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/tools/filterChildren.ts#L5)
@@ -0,0 +1,25 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / filterFromContext
6
+
7
+ # Function: filterFromContext()
8
+
9
+ > **filterFromContext**\<`T`\>(`context`): [`Filter`](../type-aliases/Filter.md)\<`T`\>
10
+
11
+ ## Type Parameters
12
+
13
+ • **T** *extends* `object`
14
+
15
+ ## Parameters
16
+
17
+ • **context**: [`Context`](../type-aliases/Context.md)\<`T`\>
18
+
19
+ ## Returns
20
+
21
+ [`Filter`](../type-aliases/Filter.md)\<`T`\>
22
+
23
+ ## Defined in
24
+
25
+ [lib/tools/filterFromContext.ts:5](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/tools/filterFromContext.ts#L5)
@@ -0,0 +1,40 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / get
6
+
7
+ # Function: get()
8
+
9
+ > **get**\<`T`, `P`\>(`value`, `path`?): [`Get`](../type-aliases/Get.md)\<`T`, `P`\>
10
+
11
+ Gets the property value of the given `value` at the specified `path` (an array of object property names or array indexes).
12
+ If the `path` is undefined, returns the `value` itself.
13
+ If the `path` is a string, it is considered as a path with one item.
14
+ If the `path` leads to an unknown property, returns `undefined`.
15
+
16
+ ## Type Parameters
17
+
18
+ • **T**
19
+
20
+ • **P** *extends* `string` \| `number` \| `symbol` \| [`number`] \| [keyof `T`\<`T`\>] \| [keyof `T`\<`T`\>, ...(T\<T\>\[keyof T\<T\>\] extends P\[\] ? \[number\] \| \[number, ...(P extends P\[\] ? \[number\] \| \[number, ...(P extends P\[\] ? \[number\] : P extends object ? (...)\[(...)\] : never)\[\]\] : P extends object ? \{ \[K in string \| number \| symbol\]-?: \[(...)\] \| \[(...), ...(...)\[\]\] \}\[keyof P\<P\>\] : never)\[\]\] : T\<T\>\[keyof T\<T\>\] extends object ? \{ \[K in string \| number \| symbol\]-?: \[K\] \| \[K, ...(any\[any\]\[K\] extends P\[\] ? \[(...)\] \| \[(...), ...(...)\[\]\] : (...)\[(...)\] extends object ? (...)\[(...)\] : never)\[\]\] \}\[keyof any\[any\]\] : never)\[\]]
21
+
22
+ ## Parameters
23
+
24
+ • **value**: `T`
25
+
26
+ The value from which to get the property value.
27
+
28
+ • **path?**: `P`
29
+
30
+ The path leading to the property value or a property name or `undefined`.
31
+
32
+ ## Returns
33
+
34
+ [`Get`](../type-aliases/Get.md)\<`T`, `P`\>
35
+
36
+ The property value found at the given path, or `undefined` if it cannot be found.
37
+
38
+ ## Defined in
39
+
40
+ [lib/tools/get.ts:13](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/tools/get.ts#L13)
@@ -0,0 +1,33 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / identity
6
+
7
+ # Function: identity()
8
+
9
+ > **identity**\<`I`, `O`, `In`, `On`\>(`input`, `next`): `Promise`\<`O`\>
10
+
11
+ ## Type Parameters
12
+
13
+ • **I**
14
+
15
+ • **O**
16
+
17
+ • **In**
18
+
19
+ • **On**
20
+
21
+ ## Parameters
22
+
23
+ • **input**: `I`
24
+
25
+ • **next**: [`NextHandler`](../type-aliases/NextHandler.md)\<`In`, `On`\>
26
+
27
+ ## Returns
28
+
29
+ `Promise`\<`O`\>
30
+
31
+ ## Defined in
32
+
33
+ [lib/middlewares/identity.ts:3](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/middlewares/identity.ts#L3)
@@ -0,0 +1,31 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / isFilterGroup
6
+
7
+ # Function: isFilterGroup()
8
+
9
+ > **isFilterGroup**\<`T`\>(`value`): `value is FilterGroup<T>`
10
+
11
+ Returns `true` if the provided filter `value` is a group filter or not.
12
+
13
+ ## Type Parameters
14
+
15
+ • **T** *extends* `object`
16
+
17
+ ## Parameters
18
+
19
+ • **value**: `undefined` \| [`Filter`](../type-aliases/Filter.md)\<`T`\>
20
+
21
+ The filter to test.
22
+
23
+ ## Returns
24
+
25
+ `value is FilterGroup<T>`
26
+
27
+ Whether the provided filter is a group filter or not.
28
+
29
+ ## Defined in
30
+
31
+ [lib/tools/isFilterGroup.ts:9](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/tools/isFilterGroup.ts#L9)
@@ -0,0 +1,35 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / log
6
+
7
+ # Function: log()
8
+
9
+ > **log**\<`I`, `O`, `In`, `On`\>(`title`): [`Handler`](../type-aliases/Handler.md)\<`I`, `O`, `In`, `On`\>
10
+
11
+ Logs the outgoing query and the incoming result or the error.
12
+
13
+ ## Type Parameters
14
+
15
+ • **I**
16
+
17
+ • **O**
18
+
19
+ • **In**
20
+
21
+ • **On**
22
+
23
+ ## Parameters
24
+
25
+ • **title**: `string` = `"Query"`
26
+
27
+ ## Returns
28
+
29
+ [`Handler`](../type-aliases/Handler.md)\<`I`, `O`, `In`, `On`\>
30
+
31
+ Query handler
32
+
33
+ ## Defined in
34
+
35
+ [lib/middlewares/log.ts:13](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/middlewares/log.ts#L13)
@@ -0,0 +1,39 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / normalizeOrder
6
+
7
+ # Function: normalizeOrder()
8
+
9
+ > **normalizeOrder**\<`T`\>(`order`): `object`
10
+
11
+ Returns a normalized order, which is an object with the `field` and `descending` properties.
12
+
13
+ ## Type Parameters
14
+
15
+ • **T** *extends* `object`
16
+
17
+ ## Parameters
18
+
19
+ • **order**: [`Order`](../type-aliases/Order.md)\<`T`\>
20
+
21
+ The string or order object.
22
+
23
+ ## Returns
24
+
25
+ `object`
26
+
27
+ The normalized order object.
28
+
29
+ ### descending?
30
+
31
+ > `optional` **descending**: `boolean`
32
+
33
+ ### field
34
+
35
+ > **field**: [`Field`](../type-aliases/Field.md)\<`T`\>
36
+
37
+ ## Defined in
38
+
39
+ [lib/tools/normalizeOrder.ts:11](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/tools/normalizeOrder.ts#L11)
@@ -0,0 +1,33 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / queryItemList
6
+
7
+ # Function: queryItemList()
8
+
9
+ > **queryItemList**\<`T`, `Q`\>(`query`): [`Result`](../type-aliases/Result.md)\<`T`, `Q`\>
10
+
11
+ Performs a provided `query` on local data, provided through the `query.type` property.
12
+
13
+ ## Type Parameters
14
+
15
+ • **T** *extends* `object`
16
+
17
+ • **Q** *extends* [`Query`](../type-aliases/Query.md)\<`T`\>
18
+
19
+ ## Parameters
20
+
21
+ • **query**: `Q` & `object`
22
+
23
+ The query to perform.
24
+
25
+ ## Returns
26
+
27
+ [`Result`](../type-aliases/Result.md)\<`T`, `Q`\>
28
+
29
+ The result of the query.
30
+
31
+ ## Defined in
32
+
33
+ [lib/tools/queryItemList.ts:51](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/tools/queryItemList.ts#L51)
@@ -0,0 +1,33 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / retry
6
+
7
+ # Function: retry()
8
+
9
+ > **retry**(`options`): [`Handler`](../type-aliases/Handler.md)\<`Request`, `Response`, `Request`, `Response`\>
10
+
11
+ Retries a failed query call up to `amount` times, with a given `delay` in milliseconds at ±`delayDelta` milliseconds.
12
+ Note that an `amount` set to `Infinity` results in indefinitely trying to resolve a query call.
13
+ Only instances of `RequestError` that do not result in a `500` status error will result in new tries. Other errors will propagate immediately.
14
+
15
+ ## Parameters
16
+
17
+ • **options** = `{}`
18
+
19
+ • **options.amount**: `undefined` \| `number` = `5`
20
+
21
+ • **options.delay**: `undefined` \| `number` = `1000`
22
+
23
+ • **options.delayDelta**: `undefined` \| `number` = `500`
24
+
25
+ ## Returns
26
+
27
+ [`Handler`](../type-aliases/Handler.md)\<`Request`, `Response`, `Request`, `Response`\>
28
+
29
+ Handler
30
+
31
+ ## Defined in
32
+
33
+ [lib/middlewares/retry.ts:15](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/middlewares/retry.ts#L15)
@@ -0,0 +1,39 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / reverseOrder
6
+
7
+ # Function: reverseOrder()
8
+
9
+ > **reverseOrder**\<`T`\>(`order`): `object`
10
+
11
+ Reverses the provided `order`.
12
+
13
+ ## Type Parameters
14
+
15
+ • **T** *extends* `object`
16
+
17
+ ## Parameters
18
+
19
+ • **order**: [`Order`](../type-aliases/Order.md)\<`T`\>
20
+
21
+ The order to reverse.
22
+
23
+ ## Returns
24
+
25
+ `object`
26
+
27
+ The reversed order.
28
+
29
+ ### descending?
30
+
31
+ > `optional` **descending**: `boolean`
32
+
33
+ ### field
34
+
35
+ > **field**: [`Field`](../type-aliases/Field.md)\<`T`\>
36
+
37
+ ## Defined in
38
+
39
+ [lib/tools/reverseOrder.ts:11](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/tools/reverseOrder.ts#L11)
@@ -0,0 +1,35 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / sortItemList
6
+
7
+ # Function: sortItemList()
8
+
9
+ > **sortItemList**\<`T`\>(`orderList`, `value`): `T`[]
10
+
11
+ Sorts provided `value` array according to the `orderList`.
12
+
13
+ ## Type Parameters
14
+
15
+ • **T** *extends* `object`
16
+
17
+ ## Parameters
18
+
19
+ • **orderList**: `undefined` \| [`Order`](../type-aliases/Order.md)\<`T`\>[]
20
+
21
+ The order to use for sorting.
22
+
23
+ • **value**: `T`[]
24
+
25
+ The array to sort.
26
+
27
+ ## Returns
28
+
29
+ `T`[]
30
+
31
+ A new sorted array.
32
+
33
+ ## Defined in
34
+
35
+ [lib/tools/sortItemList.ts:13](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/tools/sortItemList.ts#L13)
@@ -0,0 +1,39 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / testFilter
6
+
7
+ # Function: testFilter()
8
+
9
+ > **testFilter**\<`T`\>(`filter`, `value`, `settings`?): `boolean`
10
+
11
+ Checks wether the provided `value` matches the `filter` or not.
12
+
13
+ ## Type Parameters
14
+
15
+ • **T** *extends* `object`
16
+
17
+ ## Parameters
18
+
19
+ • **filter**: `undefined` \| [`Filter`](../type-aliases/Filter.md)\<`T`\>
20
+
21
+ The filter to apply.
22
+
23
+ • **value**: `undefined` \| `T`
24
+
25
+ The value to check.
26
+
27
+ • **settings?**: [`QuerySettings`](../type-aliases/QuerySettings.md)\<`T`\>
28
+
29
+ Optional query settings.
30
+
31
+ ## Returns
32
+
33
+ `boolean`
34
+
35
+ `true` if the `value` matches the `filter` and `false` otherwise.
36
+
37
+ ## Defined in
38
+
39
+ [lib/tools/testFilter.ts:28](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/tools/testFilter.ts#L28)
@@ -1,35 +1,29 @@
1
- [quetch](../README.md) / CustomFetch
1
+ [**quetch**](../README.md) **Docs**
2
2
 
3
- # Interface: CustomFetch\<T\>
3
+ ***
4
4
 
5
- ## Type parameters
5
+ [quetch](../README.md) / CustomFetch
6
6
 
7
- | Name | Type |
8
- | :------ | :------ |
9
- | `T` | extends `object` |
7
+ # Interface: CustomFetch()\<T\>
10
8
 
11
- ## Callable
9
+ ## Type Parameters
12
10
 
13
- ### CustomFetch
11
+ **T** *extends* `object`
14
12
 
15
- **CustomFetch**\<`Q`\>(`query`): `Promise`\<[`Result`](../README.md#result)\<`T`, `Q`\>\>
13
+ > **CustomFetch**\<`Q`\>(`query`): `Promise`\<[`Result`](../type-aliases/Result.md)\<`T`, `Q`\>\>
16
14
 
17
- #### Type parameters
15
+ ## Type Parameters
18
16
 
19
- | Name | Type |
20
- | :------ | :------ |
21
- | `Q` | extends [`Query`](../README.md#query)\<`T`\> |
17
+ **Q** *extends* [`Query`](../type-aliases/Query.md)\<`T`\>
22
18
 
23
- #### Parameters
19
+ ## Parameters
24
20
 
25
- | Name | Type |
26
- | :------ | :------ |
27
- | `query` | `Q` |
21
+ **query**: `Q`
28
22
 
29
- #### Returns
23
+ ## Returns
30
24
 
31
- `Promise`\<[`Result`](../README.md#result)\<`T`, `Q`\>\>
25
+ `Promise`\<[`Result`](../type-aliases/Result.md)\<`T`, `Q`\>\>
32
26
 
33
- #### Defined in
27
+ ## Defined in
34
28
 
35
- [lib/types/CustomFetch.ts:5](https://github.com/nevoland/quetch/blob/b46dff0534f861059aba3484d2e1d047d841b31f/lib/types/CustomFetch.ts#L5)
29
+ [lib/types/CustomFetch.ts:5](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/CustomFetch.ts#L5)
@@ -0,0 +1,19 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / AggregateFunction
6
+
7
+ # Type Alias: AggregateFunction\<T\>
8
+
9
+ > **AggregateFunction**\<`T`\>: `"length"` \| `object` \| `"index"` \| `object` \| `object`
10
+
11
+ Aggregation function.
12
+
13
+ ## Type Parameters
14
+
15
+ • **T** *extends* `object`
16
+
17
+ ## Defined in
18
+
19
+ [lib/types/AggregateFunction.ts:6](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/AggregateFunction.ts#L6)
@@ -0,0 +1,13 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / AggregateFunctionOperator
6
+
7
+ # Type Alias: AggregateFunctionOperator
8
+
9
+ > **AggregateFunctionOperator**: `Exclude`\<[`AggregateFunction`](AggregateFunction.md)\<`object`\>, `string`\>\[`"operator"`\]
10
+
11
+ ## Defined in
12
+
13
+ [lib/types/AggregateFunctionOperator.ts:3](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/AggregateFunctionOperator.ts#L3)
@@ -0,0 +1,13 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / Any
6
+
7
+ # Type Alias: Any
8
+
9
+ > **Any**: `boolean` \| `string` \| `number` \| `object` \| `symbol` \| `null` \| `undefined` \| `any`[] \| (...`args`) => `any`
10
+
11
+ ## Defined in
12
+
13
+ [lib/types/Any.ts:1](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/Any.ts#L1)
@@ -0,0 +1,17 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / Context
6
+
7
+ # Type Alias: Context\<T\>
8
+
9
+ > **Context**\<`T`\>: `{ [K in keyof T]?: T[K] }`
10
+
11
+ ## Type Parameters
12
+
13
+ • **T** *extends* `object`
14
+
15
+ ## Defined in
16
+
17
+ [lib/types/Context.ts:1](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/Context.ts#L1)
@@ -0,0 +1,17 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / CustomFieldAggregateMap
6
+
7
+ # Type Alias: CustomFieldAggregateMap\<T\>
8
+
9
+ > **CustomFieldAggregateMap**\<`T`\>: `Record`\<`string`, [`AggregateFunction`](AggregateFunction.md)\<`T`\>\>
10
+
11
+ ## Type Parameters
12
+
13
+ • **T** *extends* `object`
14
+
15
+ ## Defined in
16
+
17
+ [lib/types/CustomFieldAggregateMap.ts:3](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/CustomFieldAggregateMap.ts#L3)
@@ -0,0 +1,17 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / CustomFieldMap
6
+
7
+ # Type Alias: CustomFieldMap\<T\>
8
+
9
+ > **CustomFieldMap**\<`T`\>: `Record`\<`string`, [`FieldFunction`](FieldFunction.md)\<`T`\>\>
10
+
11
+ ## Type Parameters
12
+
13
+ • **T** *extends* `object`
14
+
15
+ ## Defined in
16
+
17
+ [lib/types/CustomFieldMap.ts:3](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/CustomFieldMap.ts#L3)
@@ -0,0 +1,17 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / Field
6
+
7
+ # Type Alias: Field\<T\>
8
+
9
+ > **Field**\<`T`\>: keyof `T` \| [`Path`](Path.md)\<`T`\>
10
+
11
+ ## Type Parameters
12
+
13
+ • **T** *extends* `object`
14
+
15
+ ## Defined in
16
+
17
+ [lib/types/Field.ts:3](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/Field.ts#L3)
@@ -0,0 +1,19 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / FieldFiltered
6
+
7
+ # Type Alias: FieldFiltered\<T, P\>
8
+
9
+ > **FieldFiltered**\<`T`, `P`\>: [`KeyFiltered`](KeyFiltered.md)\<`Required`\<`T`\>, `P`\> \| [`PathFiltered`](PathFiltered.md)\<`Required`\<`T`\>, `P`\>
10
+
11
+ ## Type Parameters
12
+
13
+ • **T** *extends* `object`
14
+
15
+ • **P**
16
+
17
+ ## Defined in
18
+
19
+ [lib/types/FieldFiltered.ts:4](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/FieldFiltered.ts#L4)
@@ -0,0 +1,17 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / FieldFunction
6
+
7
+ # Type Alias: FieldFunction\<T\>
8
+
9
+ > **FieldFunction**\<`T`\>: [`FieldFunctionCustom`](FieldFunctionCustom.md)\<`T`\> \| [`FieldFunctionFormatDate`](FieldFunctionFormatDate.md)\<`T`\>
10
+
11
+ ## Type Parameters
12
+
13
+ • **T** *extends* `object`
14
+
15
+ ## Defined in
16
+
17
+ [lib/types/FieldFunction.ts:4](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/FieldFunction.ts#L4)