quetch 0.14.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 (232) 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 +72 -31
  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/{filterItem.d.ts → testFilter.d.ts} +2 -2
  27. package/dist/tools/testFilter.js +214 -0
  28. package/dist/tools/testFilter.js.map +1 -0
  29. package/dist/tools.d.ts +3 -1
  30. package/dist/tools.js +3 -1
  31. package/dist/tools.js.map +1 -1
  32. package/dist/types/AggregateFunction.d.ts +4 -0
  33. package/dist/types/AggregateFunction.js +0 -1
  34. package/dist/types/AggregateFunctionOperator.js +0 -1
  35. package/dist/types/Any.js +0 -1
  36. package/dist/types/Context.js +0 -1
  37. package/dist/types/CustomFetch.js +0 -1
  38. package/dist/types/CustomFieldAggregateMap.js +0 -1
  39. package/dist/types/CustomFieldMap.js +0 -1
  40. package/dist/types/Field.js +0 -1
  41. package/dist/types/FieldFiltered.d.ts +1 -1
  42. package/dist/types/FieldFiltered.js +0 -1
  43. package/dist/types/FieldFunction.js +0 -1
  44. package/dist/types/FieldFunctionCustom.js +0 -1
  45. package/dist/types/FieldFunctionFormatDate.js +0 -1
  46. package/dist/types/FieldFunctionReturn.js +0 -1
  47. package/dist/types/Filter.js +0 -1
  48. package/dist/types/FilterArray.d.ts +2 -2
  49. package/dist/types/FilterArray.js +0 -1
  50. package/dist/types/FilterBoolean.d.ts +2 -2
  51. package/dist/types/FilterBoolean.js +0 -1
  52. package/dist/types/FilterChildren.js +0 -1
  53. package/dist/types/FilterCustom.js +0 -1
  54. package/dist/types/FilterField.d.ts +2 -2
  55. package/dist/types/FilterField.js +0 -1
  56. package/dist/types/FilterGroup.js +0 -1
  57. package/dist/types/FilterNumber.d.ts +2 -2
  58. package/dist/types/FilterNumber.js +0 -1
  59. package/dist/types/FilterOperator.js +0 -1
  60. package/dist/types/FilterString.d.ts +2 -2
  61. package/dist/types/FilterString.js +0 -1
  62. package/dist/types/FilterStringIntersect.d.ts +2 -2
  63. package/dist/types/FilterStringIntersect.js +0 -1
  64. package/dist/types/FilterStringMatch.d.ts +3 -6
  65. package/dist/types/FilterStringMatch.js +0 -1
  66. package/dist/types/Get.d.ts +2 -2
  67. package/dist/types/Get.js +0 -1
  68. package/dist/types/Group.js +0 -1
  69. package/dist/types/Handler.js +0 -1
  70. package/dist/types/Immutable.js +0 -1
  71. package/dist/types/Increment.d.ts +4 -0
  72. package/dist/types/Increment.js +1 -0
  73. package/dist/types/Increment.js.map +1 -0
  74. package/dist/types/InjectCustomFields.js +0 -1
  75. package/dist/types/Item.js +0 -1
  76. package/dist/types/Join.d.ts +1 -0
  77. package/dist/types/Join.js +1 -0
  78. package/dist/types/Join.js.map +1 -0
  79. package/dist/types/Key.js +0 -1
  80. package/dist/types/KeyFiltered.js +0 -1
  81. package/dist/types/Locale.js +0 -1
  82. package/dist/types/Mutable.js +0 -1
  83. package/dist/types/NextHandler.js +0 -1
  84. package/dist/types/Order.d.ts +3 -2
  85. package/dist/types/Order.js +0 -1
  86. package/dist/types/Parameters.js +0 -1
  87. package/dist/types/Path.d.ts +3 -2
  88. package/dist/types/Path.js +0 -1
  89. package/dist/types/PathFiltered.d.ts +3 -2
  90. package/dist/types/PathFiltered.js +0 -1
  91. package/dist/types/Query.js +0 -1
  92. package/dist/types/QueryAggregate.d.ts +16 -0
  93. package/dist/types/QueryAggregate.js +0 -1
  94. package/dist/types/QueryCreate.js +0 -1
  95. package/dist/types/QueryCreateMultiple.js +0 -1
  96. package/dist/types/QueryDelete.js +0 -1
  97. package/dist/types/QueryDeleteMultiple.js +0 -1
  98. package/dist/types/QueryMethod.js +0 -1
  99. package/dist/types/QueryRead.d.ts +5 -2
  100. package/dist/types/QueryRead.js +0 -1
  101. package/dist/types/QueryReadMultiple.js +0 -1
  102. package/dist/types/QuerySettings.js +0 -1
  103. package/dist/types/QueryUpdate.js +0 -1
  104. package/dist/types/QueryUpdateMultiple.js +0 -1
  105. package/dist/types/Result.js +0 -1
  106. package/dist/types/Store.js +0 -1
  107. package/dist/types/Value.d.ts +15 -0
  108. package/dist/types/Value.js +1 -0
  109. package/dist/types/Value.js.map +1 -0
  110. package/dist/types.d.ts +3 -0
  111. package/dist/types.js +0 -1
  112. package/doc/README.md +85 -2042
  113. package/doc/classes/RequestError.md +30 -39
  114. package/doc/functions/aggregate.md +49 -0
  115. package/doc/functions/branch.md +46 -0
  116. package/doc/functions/cache.md +59 -0
  117. package/doc/functions/combine.md +117 -0
  118. package/doc/functions/cork.md +23 -0
  119. package/doc/functions/defineCheckQuery.md +55 -0
  120. package/doc/functions/defineCustomFetch.md +63 -0
  121. package/doc/functions/defineGenericFetch.md +54 -0
  122. package/doc/functions/escapeRegex.md +27 -0
  123. package/doc/functions/fetchExternal.md +27 -0
  124. package/doc/functions/fetchLocal.md +25 -0
  125. package/doc/functions/fieldListFromFilter.md +31 -0
  126. package/doc/functions/filterChildren.md +31 -0
  127. package/doc/functions/filterFromContext.md +25 -0
  128. package/doc/functions/get.md +40 -0
  129. package/doc/functions/identity.md +33 -0
  130. package/doc/functions/isFilterGroup.md +31 -0
  131. package/doc/functions/log.md +35 -0
  132. package/doc/functions/normalizeOrder.md +39 -0
  133. package/doc/functions/queryItemList.md +33 -0
  134. package/doc/functions/retry.md +33 -0
  135. package/doc/functions/reverseOrder.md +39 -0
  136. package/doc/functions/sortItemList.md +35 -0
  137. package/doc/functions/testFilter.md +39 -0
  138. package/doc/interfaces/CustomFetch.md +15 -21
  139. package/doc/type-aliases/AggregateFunction.md +19 -0
  140. package/doc/type-aliases/AggregateFunctionOperator.md +13 -0
  141. package/doc/type-aliases/Any.md +13 -0
  142. package/doc/type-aliases/Context.md +17 -0
  143. package/doc/type-aliases/CustomFieldAggregateMap.md +17 -0
  144. package/doc/type-aliases/CustomFieldMap.md +17 -0
  145. package/doc/type-aliases/Field.md +17 -0
  146. package/doc/type-aliases/FieldFiltered.md +19 -0
  147. package/doc/type-aliases/FieldFunction.md +17 -0
  148. package/doc/type-aliases/FieldFunctionCustom.md +37 -0
  149. package/doc/type-aliases/FieldFunctionFormatDate.md +33 -0
  150. package/doc/type-aliases/FieldFunctionReturn.md +21 -0
  151. package/doc/type-aliases/Filter.md +19 -0
  152. package/doc/type-aliases/FilterArray.md +31 -0
  153. package/doc/type-aliases/FilterBoolean.md +29 -0
  154. package/doc/type-aliases/FilterChildren.md +38 -0
  155. package/doc/type-aliases/FilterCustom.md +37 -0
  156. package/doc/type-aliases/FilterField.md +31 -0
  157. package/doc/type-aliases/FilterGroup.md +19 -0
  158. package/doc/type-aliases/FilterNumber.md +29 -0
  159. package/doc/type-aliases/FilterOperator.md +13 -0
  160. package/doc/type-aliases/FilterString.md +37 -0
  161. package/doc/type-aliases/FilterStringIntersect.md +37 -0
  162. package/doc/type-aliases/FilterStringMatch.md +53 -0
  163. package/doc/type-aliases/Get.md +21 -0
  164. package/doc/type-aliases/Group.md +19 -0
  165. package/doc/type-aliases/Handler.md +35 -0
  166. package/doc/type-aliases/Immutable.md +17 -0
  167. package/doc/type-aliases/Increment.md +17 -0
  168. package/doc/type-aliases/InjectCustomFields.md +21 -0
  169. package/doc/type-aliases/Item.md +21 -0
  170. package/doc/type-aliases/Join.md +19 -0
  171. package/doc/type-aliases/Key.md +13 -0
  172. package/doc/type-aliases/KeyFiltered.md +21 -0
  173. package/doc/type-aliases/Locale.md +13 -0
  174. package/doc/type-aliases/Mutable.md +17 -0
  175. package/doc/type-aliases/NextHandler.md +29 -0
  176. package/doc/type-aliases/Order.md +19 -0
  177. package/doc/type-aliases/Parameters.md +13 -0
  178. package/doc/type-aliases/Path.md +19 -0
  179. package/doc/type-aliases/PathFiltered.md +21 -0
  180. package/doc/type-aliases/Query.md +19 -0
  181. package/doc/type-aliases/QueryAggregate.md +71 -0
  182. package/doc/type-aliases/QueryCreate.md +53 -0
  183. package/doc/type-aliases/QueryCreateMultiple.md +51 -0
  184. package/doc/type-aliases/QueryDelete.md +51 -0
  185. package/doc/type-aliases/QueryDeleteMultiple.md +51 -0
  186. package/doc/type-aliases/QueryMethod.md +15 -0
  187. package/doc/type-aliases/QueryRead.md +79 -0
  188. package/doc/type-aliases/QueryReadMultiple.md +83 -0
  189. package/doc/type-aliases/QuerySettings.md +63 -0
  190. package/doc/type-aliases/QueryUpdate.md +71 -0
  191. package/doc/type-aliases/QueryUpdateMultiple.md +75 -0
  192. package/doc/type-aliases/Result.md +19 -0
  193. package/doc/type-aliases/Store.md +61 -0
  194. package/doc/type-aliases/Value.md +21 -0
  195. package/lib/middlewares/aggregate.ts +1 -1
  196. package/lib/middlewares/fetchExternal.ts +1 -1
  197. package/lib/middlewares/retry.ts +1 -1
  198. package/lib/tools/fieldListFromFilter.ts +41 -0
  199. package/lib/tools/get.test.ts +13 -4
  200. package/lib/tools/get.ts +1 -11
  201. package/lib/tools/normalizeOrder.ts +19 -8
  202. package/lib/tools/queryItemList.test.ts +61 -0
  203. package/lib/tools/queryItemList.ts +94 -51
  204. package/lib/tools/reverseOrder.ts +22 -0
  205. package/lib/tools/sortItemList.ts +11 -8
  206. package/lib/tools/{filterItem.test.ts → testFilter.test.ts} +44 -38
  207. package/lib/tools/testFilter.ts +320 -0
  208. package/lib/tools.ts +3 -1
  209. package/lib/types/AggregateFunction.ts +4 -0
  210. package/lib/types/FieldFiltered.ts +2 -2
  211. package/lib/types/FilterArray.ts +2 -2
  212. package/lib/types/FilterBoolean.ts +2 -2
  213. package/lib/types/FilterField.ts +2 -2
  214. package/lib/types/FilterNumber.ts +2 -2
  215. package/lib/types/FilterString.ts +2 -2
  216. package/lib/types/FilterStringIntersect.ts +2 -2
  217. package/lib/types/FilterStringMatch.ts +3 -6
  218. package/lib/types/Get.ts +4 -2
  219. package/lib/types/Increment.ts +5 -0
  220. package/lib/types/Join.ts +12 -0
  221. package/lib/types/Order.ts +4 -2
  222. package/lib/types/Path.ts +7 -3
  223. package/lib/types/PathFiltered.ts +9 -3
  224. package/lib/types/QueryAggregate.ts +16 -0
  225. package/lib/types/QueryRead.ts +5 -2
  226. package/lib/types/QuerySettings.ts +1 -0
  227. package/lib/types/Value.ts +18 -0
  228. package/lib/types.ts +3 -0
  229. package/package.json +30 -29
  230. package/dist/tools/filterItem.js +0 -197
  231. package/dist/tools/filterItem.js.map +0 -1
  232. package/lib/tools/filterItem.ts +0 -299
@@ -0,0 +1,37 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / FieldFunctionCustom
6
+
7
+ # Type Alias: FieldFunctionCustom\<T\>
8
+
9
+ > **FieldFunctionCustom**\<`T`\>: `object`
10
+
11
+ Applies a custom field transform function.
12
+
13
+ ## Type Parameters
14
+
15
+ • **T** *extends* `object`
16
+
17
+ ## Type declaration
18
+
19
+ ### operator
20
+
21
+ > **operator**: `"custom"`
22
+
23
+ ### value()
24
+
25
+ > **value**: (`item`) => `any`
26
+
27
+ #### Parameters
28
+
29
+ • **item**: `T`
30
+
31
+ #### Returns
32
+
33
+ `any`
34
+
35
+ ## Defined in
36
+
37
+ [lib/types/FieldFunctionCustom.ts:4](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/FieldFunctionCustom.ts#L4)
@@ -0,0 +1,33 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / FieldFunctionFormatDate
6
+
7
+ # Type Alias: FieldFunctionFormatDate\<T\>
8
+
9
+ > **FieldFunctionFormatDate**\<`T`\>: `object`
10
+
11
+ Formats the date found in a given field, which can be an ISO string date or a timestamp.
12
+
13
+ ## Type Parameters
14
+
15
+ • **T** *extends* `object`
16
+
17
+ ## Type declaration
18
+
19
+ ### field
20
+
21
+ > **field**: [`FieldFiltered`](FieldFiltered.md)\<`T`, `string` \| `number`\>
22
+
23
+ ### format
24
+
25
+ > **format**: `string`
26
+
27
+ ### operator
28
+
29
+ > **operator**: `"formatDate"`
30
+
31
+ ## Defined in
32
+
33
+ [lib/types/FieldFunctionFormatDate.ts:6](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/FieldFunctionFormatDate.ts#L6)
@@ -0,0 +1,21 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / FieldFunctionReturn
6
+
7
+ # Type Alias: FieldFunctionReturn
8
+
9
+ > **FieldFunctionReturn**: `object`
10
+
11
+ Return types of custom field functions.
12
+
13
+ ## Type declaration
14
+
15
+ ### formatDate
16
+
17
+ > **formatDate**: `string`
18
+
19
+ ## Defined in
20
+
21
+ [lib/types/FieldFunctionReturn.ts:4](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/FieldFunctionReturn.ts#L4)
@@ -0,0 +1,19 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / Filter
6
+
7
+ # Type Alias: Filter\<T\>
8
+
9
+ > **Filter**\<`T`\>: [`FilterArray`](FilterArray.md)\<`T`\> \| [`FilterBoolean`](FilterBoolean.md)\<`T`\> \| [`FilterChildren`](FilterChildren.md)\<`T`\> \| [`FilterCustom`](FilterCustom.md)\<`T`\> \| [`FilterField`](FilterField.md)\<`T`\> \| [`FilterNumber`](FilterNumber.md)\<`T`\> \| [`FilterGroup`](FilterGroup.md)\<`T`\> \| [`FilterString`](FilterString.md)\<`T`\> \| [`FilterStringIntersect`](FilterStringIntersect.md)\<`T`\> \| [`FilterStringMatch`](FilterStringMatch.md)\<`T`\>
10
+
11
+ Describes a predicate for filtering items.
12
+
13
+ ## Type Parameters
14
+
15
+ • **T** *extends* `object`
16
+
17
+ ## Defined in
18
+
19
+ [lib/types/Filter.ts:15](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/Filter.ts#L15)
@@ -0,0 +1,31 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / FilterArray
6
+
7
+ # Type Alias: FilterArray\<T, P\>
8
+
9
+ > **FilterArray**\<`T`, `P`\>: `object` & [`Value`](Value.md)\<`T`, `P`[]\>
10
+
11
+ Checks if a given array field matches a given array value according to a given operator.
12
+
13
+ ## Type declaration
14
+
15
+ ### field
16
+
17
+ > **field**: [`FieldFiltered`](FieldFiltered.md)\<`T`, `P`[]\>
18
+
19
+ ### operator
20
+
21
+ > **operator**: `"equal"` \| `"include"` \| `"intersect"`
22
+
23
+ ## Type Parameters
24
+
25
+ • **T** *extends* `object`
26
+
27
+ • **P** = [`Any`](Any.md)
28
+
29
+ ## Defined in
30
+
31
+ [lib/types/FilterArray.ts:8](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/FilterArray.ts#L8)
@@ -0,0 +1,29 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / FilterBoolean
6
+
7
+ # Type Alias: FilterBoolean\<T\>
8
+
9
+ > **FilterBoolean**\<`T`\>: `object` & [`Value`](Value.md)\<`T`, `boolean`\>
10
+
11
+ Checks if a given boolean field is `true` or `false`.
12
+
13
+ ## Type declaration
14
+
15
+ ### field
16
+
17
+ > **field**: [`FieldFiltered`](FieldFiltered.md)\<`T`, `boolean`\>
18
+
19
+ ### operator
20
+
21
+ > **operator**: `"equal"` \| `"notEqual"`
22
+
23
+ ## Type Parameters
24
+
25
+ • **T** *extends* `object`
26
+
27
+ ## Defined in
28
+
29
+ [lib/types/FilterBoolean.ts:7](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/FilterBoolean.ts#L7)
@@ -0,0 +1,38 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / FilterChildren
6
+
7
+ # Type Alias: FilterChildren\<T\>
8
+
9
+ > **FilterChildren**\<`T`\>: `object`
10
+
11
+ Matches the direct children of a specified `value` item.
12
+ If `deep` is `true`, also captures all the descendants.
13
+
14
+ ## Type Parameters
15
+
16
+ • **T** *extends* `object`
17
+
18
+ ## Type declaration
19
+
20
+ ### \[SymbolCache\]?
21
+
22
+ > `optional` **\[SymbolCache\]**: [`Filter`](Filter.md)\<`T`\>
23
+
24
+ ### deep?
25
+
26
+ > `optional` **deep**: `boolean`
27
+
28
+ ### operator
29
+
30
+ > **operator**: `"children"`
31
+
32
+ ### value?
33
+
34
+ > `optional` **value**: [`Context`](Context.md)\<`T`\> \| `string`
35
+
36
+ ## Defined in
37
+
38
+ [lib/types/FilterChildren.ts:10](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/FilterChildren.ts#L10)
@@ -0,0 +1,37 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / FilterCustom
6
+
7
+ # Type Alias: FilterCustom\<T\>
8
+
9
+ > **FilterCustom**\<`T`\>: `object`
10
+
11
+ Custom filter where `value(item)` returns `true` for matching items.
12
+
13
+ ## Type Parameters
14
+
15
+ • **T** *extends* `object`
16
+
17
+ ## Type declaration
18
+
19
+ ### operator
20
+
21
+ > **operator**: `"custom"`
22
+
23
+ ### value()
24
+
25
+ > **value**: (`item`) => `boolean`
26
+
27
+ #### Parameters
28
+
29
+ • **item**: `T`
30
+
31
+ #### Returns
32
+
33
+ `boolean`
34
+
35
+ ## Defined in
36
+
37
+ [lib/types/FilterCustom.ts:4](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/FilterCustom.ts#L4)
@@ -0,0 +1,31 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / FilterField
6
+
7
+ # Type Alias: FilterField\<T\>
8
+
9
+ > **FilterField**\<`T`\>: `object`
10
+
11
+ Checks if a given field exists.
12
+
13
+ ## Type Parameters
14
+
15
+ • **T** *extends* `object`
16
+
17
+ ## Type declaration
18
+
19
+ ### field
20
+
21
+ > **field**: [`Field`](Field.md)\<`T`\>
22
+
23
+ The field name or path for which to check its existence.
24
+
25
+ ### operator
26
+
27
+ > **operator**: `"exist"`
28
+
29
+ ## Defined in
30
+
31
+ [lib/types/FilterField.ts:6](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/FilterField.ts#L6)
@@ -0,0 +1,19 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / FilterGroup
6
+
7
+ # Type Alias: FilterGroup\<T\>
8
+
9
+ > **FilterGroup**\<`T`\>: `object` \| `object`
10
+
11
+ Joins a list of filters with a specific boolean operator.
12
+
13
+ ## Type Parameters
14
+
15
+ • **T** *extends* `object`
16
+
17
+ ## Defined in
18
+
19
+ [lib/types/FilterGroup.ts:6](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/FilterGroup.ts#L6)
@@ -0,0 +1,29 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / FilterNumber
6
+
7
+ # Type Alias: FilterNumber\<T\>
8
+
9
+ > **FilterNumber**\<`T`\>: `object` & [`Value`](Value.md)\<`T`, `number`\>
10
+
11
+ Checks if a given number field matches a given number value according to a given operator.
12
+
13
+ ## Type declaration
14
+
15
+ ### field
16
+
17
+ > **field**: [`FieldFiltered`](FieldFiltered.md)\<`T`, `number`\>
18
+
19
+ ### operator
20
+
21
+ > **operator**: `"equal"` \| `"notEqual"` \| `"greaterThan"` \| `"greaterThanOrEqual"` \| `"lowerThan"` \| `"lowerThanOrEqual"`
22
+
23
+ ## Type Parameters
24
+
25
+ • **T** *extends* `object`
26
+
27
+ ## Defined in
28
+
29
+ [lib/types/FilterNumber.ts:7](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/FilterNumber.ts#L7)
@@ -0,0 +1,13 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / FilterOperator
6
+
7
+ # Type Alias: FilterOperator
8
+
9
+ > **FilterOperator**: [`Filter`](Filter.md)\<`never`\>\[`"operator"`\]
10
+
11
+ ## Defined in
12
+
13
+ [lib/types/FilterOperator.ts:3](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/FilterOperator.ts#L3)
@@ -0,0 +1,37 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / FilterString
6
+
7
+ # Type Alias: FilterString\<T\>
8
+
9
+ > **FilterString**\<`T`\>: `object` & [`Value`](Value.md)\<`T`, `string`\>
10
+
11
+ Checks if a given string field matches a given string value according to a given operator.
12
+
13
+ ## Type declaration
14
+
15
+ ### field
16
+
17
+ > **field**: [`FieldFiltered`](FieldFiltered.md)\<`T`, `string`\>
18
+
19
+ ### locale?
20
+
21
+ > `optional` **locale**: [`Locale`](Locale.md)
22
+
23
+ ### operator
24
+
25
+ > **operator**: `"equal"` \| `"notEqual"` \| `"startWith"` \| `"endWith"` \| `"include"` \| `"greaterThan"` \| `"greaterThanOrEqual"` \| `"lowerThan"` \| `"lowerThanOrEqual"`
26
+
27
+ ### options?
28
+
29
+ > `optional` **options**: `Intl.CollatorOptions`
30
+
31
+ ## Type Parameters
32
+
33
+ • **T** *extends* `object`
34
+
35
+ ## Defined in
36
+
37
+ [lib/types/FilterString.ts:8](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/FilterString.ts#L8)
@@ -0,0 +1,37 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / FilterStringIntersect
6
+
7
+ # Type Alias: FilterStringIntersect\<T\>
8
+
9
+ > **FilterStringIntersect**\<`T`\>: `object` & [`Value`](Value.md)\<`T`, `string`[]\>
10
+
11
+ Checks if a given string field has any of the provided values.
12
+
13
+ ## Type declaration
14
+
15
+ ### field
16
+
17
+ > **field**: [`FieldFiltered`](FieldFiltered.md)\<`T`, `string`\>
18
+
19
+ ### locale?
20
+
21
+ > `optional` **locale**: [`Locale`](Locale.md)
22
+
23
+ ### operator
24
+
25
+ > **operator**: `"intersect"`
26
+
27
+ ### options?
28
+
29
+ > `optional` **options**: `Intl.CollatorOptions`
30
+
31
+ ## Type Parameters
32
+
33
+ • **T** *extends* `object`
34
+
35
+ ## Defined in
36
+
37
+ [lib/types/FilterStringIntersect.ts:8](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/FilterStringIntersect.ts#L8)
@@ -0,0 +1,53 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / FilterStringMatch
6
+
7
+ # Type Alias: FilterStringMatch\<T\>
8
+
9
+ > **FilterStringMatch**\<`T`\>: `object` & [`Value`](Value.md)\<`T`, `string`\>
10
+
11
+ Checks if a given string field matches a given regular expression, the value being a raw regular expression string.
12
+
13
+ ## Type declaration
14
+
15
+ ### \[SymbolCache\]?
16
+
17
+ > `optional` **\[SymbolCache\]**: `RegExp`
18
+
19
+ Compiled regular expression generated by the `testFilter` function.
20
+
21
+ ### field
22
+
23
+ > **field**: [`FieldFiltered`](FieldFiltered.md)\<`T`, `string`\>
24
+
25
+ ### operator
26
+
27
+ > **operator**: `"match"`
28
+
29
+ ### options?
30
+
31
+ > `optional` **options**: `object`
32
+
33
+ Regular expression options.
34
+
35
+ ### options.dotAll?
36
+
37
+ > `optional` **dotAll**: `boolean`
38
+
39
+ Allow `.` to match newlines.
40
+
41
+ ### options.ignoreCase?
42
+
43
+ > `optional` **ignoreCase**: `boolean`
44
+
45
+ Ignore casing differences if `true`.
46
+
47
+ ## Type Parameters
48
+
49
+ • **T** *extends* `object`
50
+
51
+ ## Defined in
52
+
53
+ [lib/types/FilterStringMatch.ts:9](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/FilterStringMatch.ts#L9)
@@ -0,0 +1,21 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / Get
6
+
7
+ # Type Alias: Get\<T, P\>
8
+
9
+ > **Get**\<`T`, `P`\>: [`P`] *extends* [[infer K, `...(infer R)`]] ? `K` *extends* keyof `T` ? `R` *extends* [`Path`](Path.md)\<`T`\[`K`\]\> ? [`Get`](Get.md)\<`T`\[`K`\], `R`\> : `T`\[`K`\] : `never` : [`P`] *extends* [keyof `T`] ? `T`\[`P`\] : `T`
10
+
11
+ Returns the type of the property at the specified `P` path.
12
+
13
+ ## Type Parameters
14
+
15
+ • **T**
16
+
17
+ • **P**
18
+
19
+ ## Defined in
20
+
21
+ [lib/types/Get.ts:6](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/Get.ts#L6)
@@ -0,0 +1,19 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / Group
6
+
7
+ # Type Alias: Group\<T\>
8
+
9
+ > **Group**\<`T`\>: keyof `T` \| `object`
10
+
11
+ Specifies how items should be grouped.
12
+
13
+ ## Type Parameters
14
+
15
+ • **T** *extends* `object`
16
+
17
+ ## Defined in
18
+
19
+ [lib/types/Group.ts:4](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/Group.ts#L4)
@@ -0,0 +1,35 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / Handler
6
+
7
+ # Type Alias: Handler()\<I, O, NI, No\>
8
+
9
+ > **Handler**\<`I`, `O`, `NI`, `No`\>: (`input`, `next`) => `Promise`\<`O`\>
10
+
11
+ Handles an `input` query and returns an `output` promise, eventually using the `next` handler.
12
+
13
+ ## Type Parameters
14
+
15
+ • **I**
16
+
17
+ • **O**
18
+
19
+ • **NI**
20
+
21
+ • **No**
22
+
23
+ ## Parameters
24
+
25
+ • **input**: `I`
26
+
27
+ • **next**: [`NextHandler`](NextHandler.md)\<`NI`, `No`\>
28
+
29
+ ## Returns
30
+
31
+ `Promise`\<`O`\>
32
+
33
+ ## Defined in
34
+
35
+ [lib/types/Handler.ts:6](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/Handler.ts#L6)
@@ -0,0 +1,17 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / Immutable
6
+
7
+ # Type Alias: Immutable\<T\>
8
+
9
+ > **Immutable**\<`T`\>: `{ readonly [K in keyof T]: T[K] }`
10
+
11
+ ## Type Parameters
12
+
13
+ • **T** *extends* `object`
14
+
15
+ ## Defined in
16
+
17
+ [lib/types/Immutable.ts:1](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/Immutable.ts#L1)
@@ -0,0 +1,17 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / Increment
6
+
7
+ # Type Alias: Increment\<D\>
8
+
9
+ > **Increment**\<`D`\>: `D` *extends* `Digit` ? `NextDigit`\[`D`\] : `-1`
10
+
11
+ ## Type Parameters
12
+
13
+ • **D**
14
+
15
+ ## Defined in
16
+
17
+ [lib/types/Increment.ts:5](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/Increment.ts#L5)
@@ -0,0 +1,21 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / InjectCustomFields
6
+
7
+ # Type Alias: InjectCustomFields\<T, C\>
8
+
9
+ > **InjectCustomFields**\<`T`, `C`\>: `C` *extends* [`CustomFieldMap`](CustomFieldMap.md)\<`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`
10
+
11
+ Injects the custom fields into the entity type.
12
+
13
+ ## Type Parameters
14
+
15
+ • **T** *extends* `object`
16
+
17
+ • **C** *extends* [`CustomFieldMap`](CustomFieldMap.md)\<`T`\> \| `undefined`
18
+
19
+ ## Defined in
20
+
21
+ [lib/types/InjectCustomFields.ts:8](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/InjectCustomFields.ts#L8)
@@ -0,0 +1,21 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / Item
6
+
7
+ # Type Alias: Item\<T, S\>
8
+
9
+ > **Item**\<`T`, `S`\>: `T` *extends* infer I[] ? `I` : `T` *extends* `ReadonlyArray`\<infer I\> ? `I` : `S`
10
+
11
+ Returns the inferred item type of an array, or an alternative type if it is something else (e.g., `undefined`).
12
+
13
+ ## Type Parameters
14
+
15
+ • **T**
16
+
17
+ • **S** = `undefined`
18
+
19
+ ## Defined in
20
+
21
+ [lib/types/Item.ts:4](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/Item.ts#L4)
@@ -0,0 +1,19 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / Join
6
+
7
+ # Type Alias: Join\<T, Separator\>
8
+
9
+ > **Join**\<`T`, `Separator`\>: `T` *extends* readonly [infer I, `...(infer R)`] ? `I` *extends* `string` \| `number` ? `R` *extends* [] ? `I` : `R` *extends* `string`[] ? \`$\{I\}$\{Separator\}$\{Join\<R, Separator\>\}\` : `never` : `never` : `never`
10
+
11
+ ## Type Parameters
12
+
13
+ • **T** *extends* `any`[]
14
+
15
+ • **Separator** *extends* `string` = `"."`
16
+
17
+ ## Defined in
18
+
19
+ [lib/types/Join.ts:1](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/Join.ts#L1)
@@ -0,0 +1,13 @@
1
+ [**quetch**](../README.md) • **Docs**
2
+
3
+ ***
4
+
5
+ [quetch](../README.md) / Key
6
+
7
+ # Type Alias: Key
8
+
9
+ > **Key**: `string` \| `number` \| `symbol`
10
+
11
+ ## Defined in
12
+
13
+ [lib/types/Key.ts:1](https://github.com/nevoland/quetch/blob/b70842cb9761fe7c217edef26e0fbc90449abccb/lib/types/Key.ts#L1)