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