@openapi-qraft/react 2.0.0-next.1 → 2.0.0-next.11

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 (349) hide show
  1. package/CHANGELOG.md +69 -1
  2. package/dist/cjs/callbacks/cancelQueries.cjs.map +1 -1
  3. package/dist/cjs/callbacks/fetchInfiniteQuery.cjs.map +1 -1
  4. package/dist/cjs/callbacks/fetchQuery.cjs.map +1 -1
  5. package/dist/cjs/callbacks/getInfiniteQueryData.cjs.map +1 -1
  6. package/dist/cjs/callbacks/getInfiniteQueryKey.cjs.map +1 -1
  7. package/dist/cjs/callbacks/getInfiniteQueryState.cjs.map +1 -1
  8. package/dist/cjs/callbacks/getMutationKey.cjs.map +1 -1
  9. package/dist/cjs/callbacks/getQueriesData.cjs.map +1 -1
  10. package/dist/cjs/callbacks/getQueryData.cjs.map +1 -1
  11. package/dist/cjs/callbacks/getQueryKey.cjs.map +1 -1
  12. package/dist/cjs/callbacks/getQueryState.cjs.map +1 -1
  13. package/dist/cjs/callbacks/invalidateQueries.cjs.map +1 -1
  14. package/dist/cjs/callbacks/isFetching.cjs.map +1 -1
  15. package/dist/cjs/callbacks/isMutating.cjs.map +1 -1
  16. package/dist/cjs/callbacks/operationInvokeFn.cjs.map +1 -1
  17. package/dist/cjs/callbacks/prefetchInfiniteQuery.cjs.map +1 -1
  18. package/dist/cjs/callbacks/prefetchQuery.cjs.map +1 -1
  19. package/dist/cjs/callbacks/refetchQueries.cjs.map +1 -1
  20. package/dist/cjs/callbacks/removeQueries.cjs.map +1 -1
  21. package/dist/cjs/callbacks/resetQueries.cjs.map +1 -1
  22. package/dist/cjs/callbacks/setInfiniteQueryData.cjs.map +1 -1
  23. package/dist/cjs/callbacks/setQueriesData.cjs.map +1 -1
  24. package/dist/cjs/callbacks/setQueryData.cjs.map +1 -1
  25. package/dist/cjs/callbacks/useInfiniteQuery.cjs.map +1 -1
  26. package/dist/cjs/callbacks/useIsFetching.cjs.map +1 -1
  27. package/dist/cjs/callbacks/useIsMutating.cjs.map +1 -1
  28. package/dist/cjs/callbacks/useMutation.cjs.map +1 -1
  29. package/dist/cjs/callbacks/useMutationState.cjs.map +1 -1
  30. package/dist/cjs/callbacks/useQueries.cjs +1 -0
  31. package/dist/cjs/callbacks/useQueries.cjs.map +1 -1
  32. package/dist/cjs/callbacks/useQuery.cjs.map +1 -1
  33. package/dist/cjs/callbacks/useSuspenseInfiniteQuery.cjs.map +1 -1
  34. package/dist/cjs/callbacks/useSuspenseQueries.cjs +1 -0
  35. package/dist/cjs/callbacks/useSuspenseQueries.cjs.map +1 -1
  36. package/dist/cjs/callbacks/useSuspenseQuery.cjs.map +1 -1
  37. package/dist/cjs/lib/callQueryClientFetchMethod.cjs +2 -3
  38. package/dist/cjs/lib/callQueryClientFetchMethod.cjs.map +1 -1
  39. package/dist/cjs/lib/composeBaseQueryKey.cjs.map +1 -1
  40. package/dist/cjs/lib/composeInfiniteQueryKey.cjs.map +1 -1
  41. package/dist/cjs/lib/composeMutationKey.cjs.map +1 -1
  42. package/dist/cjs/lib/composeQueryKey.cjs.map +1 -1
  43. package/dist/cjs/lib/requestFn.cjs +67 -64
  44. package/dist/cjs/lib/requestFn.cjs.map +1 -1
  45. package/dist/cjs/lib/responseUtils.cjs +44 -0
  46. package/dist/cjs/lib/responseUtils.cjs.map +1 -0
  47. package/dist/cjs/lib/useComposeUseQueryOptions.cjs +1 -2
  48. package/dist/cjs/lib/useComposeUseQueryOptions.cjs.map +1 -1
  49. package/dist/cjs/qraftAPIClient.cjs +1 -1
  50. package/dist/cjs/qraftAPIClient.cjs.map +1 -1
  51. package/dist/cjs/qraftPredefinedParametersRequestFn.cjs +39 -0
  52. package/dist/cjs/qraftPredefinedParametersRequestFn.cjs.map +1 -0
  53. package/dist/cjs/unstable__responseUtils.cjs +9 -0
  54. package/dist/cjs/unstable__responseUtils.cjs.map +1 -0
  55. package/dist/esm/callbacks/cancelQueries.js.map +1 -1
  56. package/dist/esm/callbacks/fetchInfiniteQuery.js.map +1 -1
  57. package/dist/esm/callbacks/fetchQuery.js.map +1 -1
  58. package/dist/esm/callbacks/getInfiniteQueryData.js.map +1 -1
  59. package/dist/esm/callbacks/getInfiniteQueryKey.js.map +1 -1
  60. package/dist/esm/callbacks/getInfiniteQueryState.js.map +1 -1
  61. package/dist/esm/callbacks/getMutationKey.js.map +1 -1
  62. package/dist/esm/callbacks/getQueriesData.js.map +1 -1
  63. package/dist/esm/callbacks/getQueryData.js.map +1 -1
  64. package/dist/esm/callbacks/getQueryKey.js.map +1 -1
  65. package/dist/esm/callbacks/getQueryState.js.map +1 -1
  66. package/dist/esm/callbacks/invalidateQueries.js.map +1 -1
  67. package/dist/esm/callbacks/isFetching.js.map +1 -1
  68. package/dist/esm/callbacks/isMutating.js.map +1 -1
  69. package/dist/esm/callbacks/operationInvokeFn.js.map +1 -1
  70. package/dist/esm/callbacks/prefetchInfiniteQuery.js.map +1 -1
  71. package/dist/esm/callbacks/prefetchQuery.js.map +1 -1
  72. package/dist/esm/callbacks/refetchQueries.js.map +1 -1
  73. package/dist/esm/callbacks/removeQueries.js.map +1 -1
  74. package/dist/esm/callbacks/resetQueries.js.map +1 -1
  75. package/dist/esm/callbacks/setInfiniteQueryData.js.map +1 -1
  76. package/dist/esm/callbacks/setQueriesData.js.map +1 -1
  77. package/dist/esm/callbacks/setQueryData.js.map +1 -1
  78. package/dist/esm/callbacks/useInfiniteQuery.js.map +1 -1
  79. package/dist/esm/callbacks/useIsFetching.js.map +1 -1
  80. package/dist/esm/callbacks/useIsMutating.js.map +1 -1
  81. package/dist/esm/callbacks/useMutation.js.map +1 -1
  82. package/dist/esm/callbacks/useMutationState.js.map +1 -1
  83. package/dist/esm/callbacks/useQueries.js +1 -0
  84. package/dist/esm/callbacks/useQueries.js.map +1 -1
  85. package/dist/esm/callbacks/useQuery.js.map +1 -1
  86. package/dist/esm/callbacks/useSuspenseInfiniteQuery.js.map +1 -1
  87. package/dist/esm/callbacks/useSuspenseQueries.js +1 -0
  88. package/dist/esm/callbacks/useSuspenseQueries.js.map +1 -1
  89. package/dist/esm/callbacks/useSuspenseQuery.js.map +1 -1
  90. package/dist/esm/lib/callQueryClientFetchMethod.js +2 -3
  91. package/dist/esm/lib/callQueryClientFetchMethod.js.map +1 -1
  92. package/dist/esm/lib/composeBaseQueryKey.js.map +1 -1
  93. package/dist/esm/lib/composeInfiniteQueryKey.js.map +1 -1
  94. package/dist/esm/lib/composeMutationKey.js.map +1 -1
  95. package/dist/esm/lib/composeQueryKey.js.map +1 -1
  96. package/dist/esm/lib/requestFn.js +66 -63
  97. package/dist/esm/lib/requestFn.js.map +1 -1
  98. package/dist/esm/lib/responseUtils.js +41 -0
  99. package/dist/esm/lib/responseUtils.js.map +1 -0
  100. package/dist/esm/lib/useComposeUseQueryOptions.js +1 -2
  101. package/dist/esm/lib/useComposeUseQueryOptions.js.map +1 -1
  102. package/dist/esm/qraftAPIClient.js +1 -1
  103. package/dist/esm/qraftAPIClient.js.map +1 -1
  104. package/dist/esm/qraftPredefinedParametersRequestFn.js +37 -0
  105. package/dist/esm/qraftPredefinedParametersRequestFn.js.map +1 -0
  106. package/dist/esm/unstable__responseUtils.js +2 -0
  107. package/dist/esm/unstable__responseUtils.js.map +1 -0
  108. package/dist/types/callbacks/cancelQueries.d.ts +3 -3
  109. package/dist/types/callbacks/cancelQueries.d.ts.map +1 -1
  110. package/dist/types/callbacks/fetchInfiniteQuery.d.ts +3 -2
  111. package/dist/types/callbacks/fetchInfiniteQuery.d.ts.map +1 -1
  112. package/dist/types/callbacks/fetchQuery.d.ts +3 -2
  113. package/dist/types/callbacks/fetchQuery.d.ts.map +1 -1
  114. package/dist/types/callbacks/getInfiniteQueryData.d.ts +2 -3
  115. package/dist/types/callbacks/getInfiniteQueryData.d.ts.map +1 -1
  116. package/dist/types/callbacks/getInfiniteQueryKey.d.ts +4 -4
  117. package/dist/types/callbacks/getInfiniteQueryKey.d.ts.map +1 -1
  118. package/dist/types/callbacks/getInfiniteQueryState.d.ts +3 -3
  119. package/dist/types/callbacks/getInfiniteQueryState.d.ts.map +1 -1
  120. package/dist/types/callbacks/getMutationKey.d.ts +3 -3
  121. package/dist/types/callbacks/getMutationKey.d.ts.map +1 -1
  122. package/dist/types/callbacks/getQueriesData.d.ts +3 -3
  123. package/dist/types/callbacks/getQueriesData.d.ts.map +1 -1
  124. package/dist/types/callbacks/getQueryData.d.ts +2 -3
  125. package/dist/types/callbacks/getQueryData.d.ts.map +1 -1
  126. package/dist/types/callbacks/getQueryKey.d.ts +3 -3
  127. package/dist/types/callbacks/getQueryKey.d.ts.map +1 -1
  128. package/dist/types/callbacks/getQueryState.d.ts +3 -3
  129. package/dist/types/callbacks/getQueryState.d.ts.map +1 -1
  130. package/dist/types/callbacks/invalidateQueries.d.ts +3 -3
  131. package/dist/types/callbacks/invalidateQueries.d.ts.map +1 -1
  132. package/dist/types/callbacks/isFetching.d.ts +3 -3
  133. package/dist/types/callbacks/isFetching.d.ts.map +1 -1
  134. package/dist/types/callbacks/isMutating.d.ts +3 -3
  135. package/dist/types/callbacks/isMutating.d.ts.map +1 -1
  136. package/dist/types/callbacks/operationInvokeFn.d.ts +1 -3
  137. package/dist/types/callbacks/operationInvokeFn.d.ts.map +1 -1
  138. package/dist/types/callbacks/prefetchInfiniteQuery.d.ts +3 -2
  139. package/dist/types/callbacks/prefetchInfiniteQuery.d.ts.map +1 -1
  140. package/dist/types/callbacks/prefetchQuery.d.ts +3 -2
  141. package/dist/types/callbacks/prefetchQuery.d.ts.map +1 -1
  142. package/dist/types/callbacks/refetchQueries.d.ts +3 -3
  143. package/dist/types/callbacks/refetchQueries.d.ts.map +1 -1
  144. package/dist/types/callbacks/removeQueries.d.ts +3 -3
  145. package/dist/types/callbacks/removeQueries.d.ts.map +1 -1
  146. package/dist/types/callbacks/resetQueries.d.ts +3 -3
  147. package/dist/types/callbacks/resetQueries.d.ts.map +1 -1
  148. package/dist/types/callbacks/setInfiniteQueryData.d.ts +1 -2
  149. package/dist/types/callbacks/setInfiniteQueryData.d.ts.map +1 -1
  150. package/dist/types/callbacks/setQueriesData.d.ts +3 -3
  151. package/dist/types/callbacks/setQueriesData.d.ts.map +1 -1
  152. package/dist/types/callbacks/setQueryData.d.ts +1 -2
  153. package/dist/types/callbacks/setQueryData.d.ts.map +1 -1
  154. package/dist/types/callbacks/useInfiniteQuery.d.ts +2 -3
  155. package/dist/types/callbacks/useInfiniteQuery.d.ts.map +1 -1
  156. package/dist/types/callbacks/useIsFetching.d.ts +2 -3
  157. package/dist/types/callbacks/useIsFetching.d.ts.map +1 -1
  158. package/dist/types/callbacks/useIsMutating.d.ts +2 -3
  159. package/dist/types/callbacks/useIsMutating.d.ts.map +1 -1
  160. package/dist/types/callbacks/useMutation.d.ts +2 -3
  161. package/dist/types/callbacks/useMutation.d.ts.map +1 -1
  162. package/dist/types/callbacks/useMutationState.d.ts +2 -3
  163. package/dist/types/callbacks/useMutationState.d.ts.map +1 -1
  164. package/dist/types/callbacks/useQueries.d.ts +3 -3
  165. package/dist/types/callbacks/useQueries.d.ts.map +1 -1
  166. package/dist/types/callbacks/useQuery.d.ts +2 -3
  167. package/dist/types/callbacks/useQuery.d.ts.map +1 -1
  168. package/dist/types/callbacks/useSuspenseInfiniteQuery.d.ts +2 -3
  169. package/dist/types/callbacks/useSuspenseInfiniteQuery.d.ts.map +1 -1
  170. package/dist/types/callbacks/useSuspenseQueries.d.ts +3 -3
  171. package/dist/types/callbacks/useSuspenseQueries.d.ts.map +1 -1
  172. package/dist/types/callbacks/useSuspenseQuery.d.ts +2 -3
  173. package/dist/types/callbacks/useSuspenseQuery.d.ts.map +1 -1
  174. package/dist/types/index.d.ts +2 -4
  175. package/dist/types/index.d.ts.map +1 -1
  176. package/dist/types/lib/callQueryClientFetchMethod.d.ts.map +1 -1
  177. package/dist/types/lib/composeBaseQueryKey.d.ts +1 -1
  178. package/dist/types/lib/composeBaseQueryKey.d.ts.map +1 -1
  179. package/dist/types/lib/composeInfiniteQueryKey.d.ts +1 -1
  180. package/dist/types/lib/composeInfiniteQueryKey.d.ts.map +1 -1
  181. package/dist/types/lib/composeMutationKey.d.ts +1 -1
  182. package/dist/types/lib/composeMutationKey.d.ts.map +1 -1
  183. package/dist/types/lib/composeQueryKey.d.ts +1 -1
  184. package/dist/types/lib/composeQueryKey.d.ts.map +1 -1
  185. package/dist/types/lib/requestFn.d.ts +21 -75
  186. package/dist/types/lib/requestFn.d.ts.map +1 -1
  187. package/dist/types/lib/responseUtils.d.ts +13 -0
  188. package/dist/types/lib/responseUtils.d.ts.map +1 -0
  189. package/dist/types/lib/useComposeUseQueryOptions.d.ts.map +1 -1
  190. package/dist/types/migrate-to-v2-codemod.d.ts +3 -0
  191. package/dist/types/migrate-to-v2-codemod.d.ts.map +1 -0
  192. package/dist/types/qraftAPIClient.d.ts +10 -6
  193. package/dist/types/qraftAPIClient.d.ts.map +1 -1
  194. package/dist/types/qraftPredefinedParametersRequestFn.d.ts +1 -1
  195. package/dist/types/qraftPredefinedParametersRequestFn.d.ts.map +1 -1
  196. package/dist/types/unstable__responseUtils.d.ts +2 -0
  197. package/dist/types/unstable__responseUtils.d.ts.map +1 -0
  198. package/package.json +28 -16
  199. package/src/callbacks/cancelQueries.ts +7 -3
  200. package/src/callbacks/fetchInfiniteQuery.ts +4 -2
  201. package/src/callbacks/fetchQuery.ts +8 -2
  202. package/src/callbacks/getInfiniteQueryData.ts +5 -3
  203. package/src/callbacks/getInfiniteQueryKey.ts +9 -5
  204. package/src/callbacks/getInfiniteQueryState.ts +8 -4
  205. package/src/callbacks/getMutationKey.ts +8 -4
  206. package/src/callbacks/getQueriesData.ts +11 -3
  207. package/src/callbacks/getQueryData.ts +9 -3
  208. package/src/callbacks/getQueryKey.ts +11 -3
  209. package/src/callbacks/getQueryState.ts +11 -3
  210. package/src/callbacks/invalidateQueries.ts +7 -3
  211. package/src/callbacks/isFetching.ts +7 -3
  212. package/src/callbacks/isMutating.ts +8 -3
  213. package/src/callbacks/operationInvokeFn.ts +6 -3
  214. package/src/callbacks/prefetchInfiniteQuery.ts +4 -2
  215. package/src/callbacks/prefetchQuery.ts +8 -2
  216. package/src/callbacks/refetchQueries.ts +7 -3
  217. package/src/callbacks/removeQueries.ts +7 -3
  218. package/src/callbacks/resetQueries.ts +7 -3
  219. package/src/callbacks/setInfiniteQueryData.ts +4 -2
  220. package/src/callbacks/setQueriesData.ts +7 -3
  221. package/src/callbacks/setQueryData.ts +4 -2
  222. package/src/callbacks/useInfiniteQuery.ts +10 -3
  223. package/src/callbacks/useIsFetching.ts +5 -3
  224. package/src/callbacks/useIsMutating.ts +7 -4
  225. package/src/callbacks/useMutation.ts +8 -5
  226. package/src/callbacks/useMutationState.ts +7 -4
  227. package/src/callbacks/useQueries.ts +12 -3
  228. package/src/callbacks/useQuery.ts +10 -3
  229. package/src/callbacks/useSuspenseInfiniteQuery.ts +7 -4
  230. package/src/callbacks/useSuspenseQueries.ts +9 -4
  231. package/src/callbacks/useSuspenseQuery.ts +10 -3
  232. package/src/index.ts +9 -10
  233. package/src/lib/callQueryClientFetchMethod.ts +13 -11
  234. package/src/lib/composeBaseQueryKey.ts +1 -1
  235. package/src/lib/composeInfiniteQueryKey.ts +1 -1
  236. package/src/lib/composeMutationKey.ts +1 -1
  237. package/src/lib/composeQueryKey.ts +1 -1
  238. package/src/lib/requestFn.ts +112 -222
  239. package/src/lib/responseUtils.ts +77 -0
  240. package/src/lib/useComposeUseQueryOptions.ts +1 -2
  241. package/src/migrate-to-v2-codemod.ts +118 -0
  242. package/src/qraftAPIClient.ts +74 -11
  243. package/src/qraftPredefinedParametersRequestFn.ts +17 -8
  244. package/src/unstable__responseUtils.ts +1 -0
  245. package/dist/types/lib/AreAllOptional.d.ts +0 -4
  246. package/dist/types/lib/AreAllOptional.d.ts.map +0 -1
  247. package/dist/types/lib/PartialParameters.type.d.ts +0 -13
  248. package/dist/types/lib/PartialParameters.type.d.ts.map +0 -1
  249. package/dist/types/service-operation/OperationInfiniteData.d.ts +0 -4
  250. package/dist/types/service-operation/OperationInfiniteData.d.ts.map +0 -1
  251. package/dist/types/service-operation/QueryFilters.d.ts +0 -123
  252. package/dist/types/service-operation/QueryFilters.d.ts.map +0 -1
  253. package/dist/types/service-operation/ServiceOperation.d.ts +0 -53
  254. package/dist/types/service-operation/ServiceOperation.d.ts.map +0 -1
  255. package/dist/types/service-operation/ServiceOperationCancelQueries.d.ts +0 -9
  256. package/dist/types/service-operation/ServiceOperationCancelQueries.d.ts.map +0 -1
  257. package/dist/types/service-operation/ServiceOperationFetchInfiniteQuery.d.ts +0 -61
  258. package/dist/types/service-operation/ServiceOperationFetchInfiniteQuery.d.ts.map +0 -1
  259. package/dist/types/service-operation/ServiceOperationFetchQuery.d.ts +0 -58
  260. package/dist/types/service-operation/ServiceOperationFetchQuery.d.ts.map +0 -1
  261. package/dist/types/service-operation/ServiceOperationGetInfiniteQueryData.d.ts +0 -10
  262. package/dist/types/service-operation/ServiceOperationGetInfiniteQueryData.d.ts.map +0 -1
  263. package/dist/types/service-operation/ServiceOperationGetQueriesData.d.ts +0 -17
  264. package/dist/types/service-operation/ServiceOperationGetQueriesData.d.ts.map +0 -1
  265. package/dist/types/service-operation/ServiceOperationGetQueryData.d.ts +0 -9
  266. package/dist/types/service-operation/ServiceOperationGetQueryData.d.ts.map +0 -1
  267. package/dist/types/service-operation/ServiceOperationGetQueryState.d.ts +0 -11
  268. package/dist/types/service-operation/ServiceOperationGetQueryState.d.ts.map +0 -1
  269. package/dist/types/service-operation/ServiceOperationInvalidateQueries.d.ts +0 -15
  270. package/dist/types/service-operation/ServiceOperationInvalidateQueries.d.ts.map +0 -1
  271. package/dist/types/service-operation/ServiceOperationIsFetchingQueries.d.ts +0 -9
  272. package/dist/types/service-operation/ServiceOperationIsFetchingQueries.d.ts.map +0 -1
  273. package/dist/types/service-operation/ServiceOperationIsMutatingQueries.d.ts +0 -9
  274. package/dist/types/service-operation/ServiceOperationIsMutatingQueries.d.ts.map +0 -1
  275. package/dist/types/service-operation/ServiceOperationKey.d.ts +0 -16
  276. package/dist/types/service-operation/ServiceOperationKey.d.ts.map +0 -1
  277. package/dist/types/service-operation/ServiceOperationMutationFn.d.ts +0 -30
  278. package/dist/types/service-operation/ServiceOperationMutationFn.d.ts.map +0 -1
  279. package/dist/types/service-operation/ServiceOperationQueryFn.d.ts +0 -37
  280. package/dist/types/service-operation/ServiceOperationQueryFn.d.ts.map +0 -1
  281. package/dist/types/service-operation/ServiceOperationRefetchQueries.d.ts +0 -9
  282. package/dist/types/service-operation/ServiceOperationRefetchQueries.d.ts.map +0 -1
  283. package/dist/types/service-operation/ServiceOperationRemoveQueries.d.ts +0 -9
  284. package/dist/types/service-operation/ServiceOperationRemoveQueries.d.ts.map +0 -1
  285. package/dist/types/service-operation/ServiceOperationResetQueries.d.ts +0 -9
  286. package/dist/types/service-operation/ServiceOperationResetQueries.d.ts.map +0 -1
  287. package/dist/types/service-operation/ServiceOperationSetInfiniteQueryData.d.ts +0 -10
  288. package/dist/types/service-operation/ServiceOperationSetInfiniteQueryData.d.ts.map +0 -1
  289. package/dist/types/service-operation/ServiceOperationSetQueriesData.d.ts +0 -9
  290. package/dist/types/service-operation/ServiceOperationSetQueriesData.d.ts.map +0 -1
  291. package/dist/types/service-operation/ServiceOperationSetQueryData.d.ts +0 -9
  292. package/dist/types/service-operation/ServiceOperationSetQueryData.d.ts.map +0 -1
  293. package/dist/types/service-operation/ServiceOperationUseInfiniteQuery.d.ts +0 -15
  294. package/dist/types/service-operation/ServiceOperationUseInfiniteQuery.d.ts.map +0 -1
  295. package/dist/types/service-operation/ServiceOperationUseIsFetchingQueries.d.ts +0 -9
  296. package/dist/types/service-operation/ServiceOperationUseIsFetchingQueries.d.ts.map +0 -1
  297. package/dist/types/service-operation/ServiceOperationUseIsMutating.d.ts +0 -9
  298. package/dist/types/service-operation/ServiceOperationUseIsMutating.d.ts.map +0 -1
  299. package/dist/types/service-operation/ServiceOperationUseMutation.d.ts +0 -28
  300. package/dist/types/service-operation/ServiceOperationUseMutation.d.ts.map +0 -1
  301. package/dist/types/service-operation/ServiceOperationUseMutationState.d.ts +0 -46
  302. package/dist/types/service-operation/ServiceOperationUseMutationState.d.ts.map +0 -1
  303. package/dist/types/service-operation/ServiceOperationUseQueries.d.ts +0 -26
  304. package/dist/types/service-operation/ServiceOperationUseQueries.d.ts.map +0 -1
  305. package/dist/types/service-operation/ServiceOperationUseQuery.d.ts +0 -13
  306. package/dist/types/service-operation/ServiceOperationUseQuery.d.ts.map +0 -1
  307. package/dist/types/service-operation/ServiceOperationUseSuspenseInfiniteQuery.d.ts +0 -12
  308. package/dist/types/service-operation/ServiceOperationUseSuspenseInfiniteQuery.d.ts.map +0 -1
  309. package/dist/types/service-operation/ServiceOperationUseSuspenseQueries.d.ts +0 -25
  310. package/dist/types/service-operation/ServiceOperationUseSuspenseQueries.d.ts.map +0 -1
  311. package/dist/types/service-operation/ServiceOperationUseSuspenseQuery.d.ts +0 -10
  312. package/dist/types/service-operation/ServiceOperationUseSuspenseQuery.d.ts.map +0 -1
  313. package/dist/types/service-operation/index.d.ts +0 -2
  314. package/dist/types/service-operation/index.d.ts.map +0 -1
  315. package/src/lib/AreAllOptional.ts +0 -8
  316. package/src/lib/PartialParameters.type.ts +0 -12
  317. package/src/service-operation/OperationInfiniteData.ts +0 -7
  318. package/src/service-operation/QueryFilters.ts +0 -226
  319. package/src/service-operation/ServiceOperation.ts +0 -85
  320. package/src/service-operation/ServiceOperationCancelQueries.ts +0 -19
  321. package/src/service-operation/ServiceOperationFetchInfiniteQuery.ts +0 -156
  322. package/src/service-operation/ServiceOperationFetchQuery.ts +0 -111
  323. package/src/service-operation/ServiceOperationGetInfiniteQueryData.ts +0 -15
  324. package/src/service-operation/ServiceOperationGetQueriesData.ts +0 -35
  325. package/src/service-operation/ServiceOperationGetQueryData.ts +0 -14
  326. package/src/service-operation/ServiceOperationGetQueryState.ts +0 -21
  327. package/src/service-operation/ServiceOperationInvalidateQueries.ts +0 -37
  328. package/src/service-operation/ServiceOperationIsFetchingQueries.ts +0 -18
  329. package/src/service-operation/ServiceOperationIsMutatingQueries.ts +0 -26
  330. package/src/service-operation/ServiceOperationKey.ts +0 -20
  331. package/src/service-operation/ServiceOperationMutationFn.ts +0 -49
  332. package/src/service-operation/ServiceOperationQueryFn.ts +0 -71
  333. package/src/service-operation/ServiceOperationRefetchQueries.ts +0 -19
  334. package/src/service-operation/ServiceOperationRemoveQueries.ts +0 -18
  335. package/src/service-operation/ServiceOperationResetQueries.ts +0 -19
  336. package/src/service-operation/ServiceOperationSetInfiniteQueryData.ts +0 -18
  337. package/src/service-operation/ServiceOperationSetQueriesData.ts +0 -25
  338. package/src/service-operation/ServiceOperationSetQueryData.ts +0 -14
  339. package/src/service-operation/ServiceOperationUseInfiniteQuery.ts +0 -77
  340. package/src/service-operation/ServiceOperationUseIsFetchingQueries.ts +0 -18
  341. package/src/service-operation/ServiceOperationUseIsMutating.ts +0 -26
  342. package/src/service-operation/ServiceOperationUseMutation.ts +0 -74
  343. package/src/service-operation/ServiceOperationUseMutationState.ts +0 -107
  344. package/src/service-operation/ServiceOperationUseQueries.ts +0 -57
  345. package/src/service-operation/ServiceOperationUseQuery.ts +0 -50
  346. package/src/service-operation/ServiceOperationUseSuspenseInfiniteQuery.ts +0 -43
  347. package/src/service-operation/ServiceOperationUseSuspenseQueries.ts +0 -55
  348. package/src/service-operation/ServiceOperationUseSuspenseQuery.ts +0 -26
  349. package/src/service-operation/index.ts +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"useQuery.js","sources":["../../../src/callbacks/useQuery.ts"],"sourcesContent":["'use client';\n\nimport type { DefaultError } from '@tanstack/query-core';\nimport type { UseQueryResult } from '@tanstack/react-query';\nimport type { OperationSchema } from '../lib/requestFn.js';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { ServiceOperationQuery } from '../service-operation/ServiceOperation.js';\nimport { useQuery as useQueryTanstack } from '@tanstack/react-query';\nimport { useComposeUseQueryOptions } from '../lib/useComposeUseQueryOptions.js';\n\nexport const useQuery: <TData = unknown, TError = DefaultError>(\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema,\n args: Parameters<\n ServiceOperationQuery<OperationSchema, unknown, unknown>['useQuery']\n >\n) => UseQueryResult<TData, TError> = (qraftOptions, schema, args) => {\n return useQueryTanstack(\n // @ts-expect-error - Too complex to type\n ...useComposeUseQueryOptions(qraftOptions, schema, args, false)\n ) as never;\n};\n"],"names":["useQuery","qraftOptions","schema","args","useQueryTanstack","useComposeUseQueryOptions"],"mappings":";;;;AAUaA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAMwB,CAACC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAcC,CAAQC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAC1D,CAAA,CAAA,CAAA,CAAA,OAAOC;KAEFC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA0BJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAQC,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAE7D,CAAA,CAAA;;"}
1
+ {"version":3,"file":"useQuery.js","sources":["../../../src/callbacks/useQuery.ts"],"sourcesContent":["'use client';\n\nimport type {\n OperationSchema,\n ServiceOperationUseQuery,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport type { DefaultError } from '@tanstack/query-core';\nimport type { UseQueryResult } from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport { useQuery as useQueryTanstack } from '@tanstack/react-query';\nimport { useComposeUseQueryOptions } from '../lib/useComposeUseQueryOptions.js';\n\nexport const useQuery: <TData = unknown, TError = DefaultError>(\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema,\n args: Parameters<\n ServiceOperationUseQuery<\n OperationSchema,\n unknown,\n unknown,\n DefaultError\n >['useQuery']\n >\n) => UseQueryResult<TData, TError> = (qraftOptions, schema, args) => {\n return useQueryTanstack(\n // @ts-expect-error - Too complex to type\n ...useComposeUseQueryOptions(qraftOptions, schema, args, false)\n ) as never;\n};\n"],"names":["useQuery","qraftOptions","schema","args","useQueryTanstack","useComposeUseQueryOptions"],"mappings":";;;;AAYaA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAWwB,CAACC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAcC,CAAQC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAC1D,CAAA,CAAA,CAAA,CAAA,OAAOC;KAEFC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA0BJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAQC,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAE7D,CAAA,CAAA;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSuspenseInfiniteQuery.js","sources":["../../../src/callbacks/useSuspenseInfiniteQuery.ts"],"sourcesContent":["'use client';\n\nimport type { DefaultError, InfiniteData } from '@tanstack/query-core';\nimport type { UseSuspenseInfiniteQueryResult } from '@tanstack/react-query';\nimport type { OperationSchema } from '../lib/requestFn.js';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { ServiceOperationQuery } from '../service-operation/ServiceOperation.js';\nimport { useSuspenseInfiniteQuery as useSuspenseInfiniteQueryTanstack } from '@tanstack/react-query';\nimport { useComposeUseQueryOptions } from '../lib/useComposeUseQueryOptions.js';\n\nexport const useSuspenseInfiniteQuery: <\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n>(\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema,\n args: Parameters<\n ServiceOperationQuery<\n OperationSchema,\n unknown,\n unknown\n >['useSuspenseInfiniteQuery']\n >\n) => UseSuspenseInfiniteQueryResult<TData, TError> = (\n qraftOptions,\n schema,\n args\n) => {\n return useSuspenseInfiniteQueryTanstack(\n // @ts-expect-error - Too complex to type\n ...useComposeUseQueryOptions(qraftOptions, schema, args, true)\n ) as never;\n};\n"],"names":["useSuspenseInfiniteQuery","qraftOptions","schema","args","useSuspenseInfiniteQueryTanstack","useComposeUseQueryOptions"],"mappings":";;;;AAUaA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAcwC,CACnDC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EACAC,CACAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAEA,CAAA,CAAA,CAAA,CAAA,OAAOC;KAEFC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA0BJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAQC,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAE7D,CAAA,CAAA;;"}
1
+ {"version":3,"file":"useSuspenseInfiniteQuery.js","sources":["../../../src/callbacks/useSuspenseInfiniteQuery.ts"],"sourcesContent":["'use client';\n\nimport type {\n OperationSchema,\n ServiceOperationUseSuspenseInfiniteQuery,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport type { DefaultError, InfiniteData } from '@tanstack/query-core';\nimport type { UseSuspenseInfiniteQueryResult } from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport { useSuspenseInfiniteQuery as useSuspenseInfiniteQueryTanstack } from '@tanstack/react-query';\nimport { useComposeUseQueryOptions } from '../lib/useComposeUseQueryOptions.js';\n\nexport const useSuspenseInfiniteQuery: <\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n>(\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema,\n args: Parameters<\n ServiceOperationUseSuspenseInfiniteQuery<\n OperationSchema,\n unknown,\n unknown,\n DefaultError\n >['useSuspenseInfiniteQuery']\n >\n) => UseSuspenseInfiniteQueryResult<TData, TError> = (\n qraftOptions,\n schema,\n args\n) => {\n return useSuspenseInfiniteQueryTanstack(\n // @ts-expect-error - Too complex to type\n ...useComposeUseQueryOptions(qraftOptions, schema, args, true)\n ) as never;\n};\n"],"names":["useSuspenseInfiniteQuery","qraftOptions","schema","args","useSuspenseInfiniteQueryTanstack","useComposeUseQueryOptions"],"mappings":";;;;AAYaA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAewC,CACnDC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EACAC,CACAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAEA,CAAA,CAAA,CAAA,CAAA,OAAOC;KAEFC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA0BJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAQC,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAE7D,CAAA,CAAA;;"}
@@ -7,6 +7,7 @@ const useSuspenseQueries = (qraftOptions, schema, args)=>{
7
7
  const [options] = args;
8
8
  return useSuspenseQueries$1({
9
9
  ...options,
10
+ // @ts-expect-error - Too complex to type
10
11
  queries: options.queries.map((queryOptions)=>{
11
12
  const optionsWithQueryKey = 'parameters' in queryOptions ? (()=>{
12
13
  const queryOptionsCopy = Object.assign({
@@ -1 +1 @@
1
- {"version":3,"file":"useSuspenseQueries.js","sources":["../../../src/callbacks/useSuspenseQueries.ts"],"sourcesContent":["'use client';\n\nimport type { SuspenseQueriesResults } from '@tanstack/react-query';\nimport type { OperationSchema } from '../lib/requestFn.js';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { ServiceOperationQuery } from '../service-operation/ServiceOperation.js';\nimport { useSuspenseQueries as useSuspenseQueriesTanstack } from '@tanstack/react-query';\nimport { composeQueryKey } from '../lib/composeQueryKey.js';\nimport { requestFnResponseResolver } from '../lib/requestFnResponseResolver.js';\n\nexport const useSuspenseQueries: (\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema,\n args: Parameters<\n ServiceOperationQuery<\n OperationSchema,\n unknown,\n unknown\n >['useSuspenseQueries']\n >\n) => SuspenseQueriesResults<never> = (qraftOptions, schema, args) => {\n const [options] = args;\n\n return useSuspenseQueriesTanstack(\n {\n ...options,\n queries: options.queries.map((queryOptions) => {\n const optionsWithQueryKey =\n 'parameters' in queryOptions\n ? (() => {\n const queryOptionsCopy = Object.assign(\n {\n queryKey: composeQueryKey(schema, queryOptions.parameters),\n },\n queryOptions\n );\n delete queryOptionsCopy.parameters;\n return queryOptionsCopy;\n })()\n : queryOptions;\n\n return {\n ...optionsWithQueryKey,\n queryFn:\n optionsWithQueryKey.queryFn ??\n function ({ queryKey: [, queryParams], signal, meta }) {\n return qraftOptions\n .requestFn(schema, {\n parameters: queryParams as never,\n baseUrl: qraftOptions.baseUrl,\n signal,\n meta,\n })\n .then(requestFnResponseResolver, requestFnResponseResolver);\n },\n };\n }),\n },\n qraftOptions.queryClient\n ) as never;\n};\n"],"names":["useSuspenseQueries","qraftOptions","schema","args","options","useSuspenseQueriesTanstack","queries","map","queryOptions","optionsWithQueryKey","queryOptionsCopy","Object","assign","queryKey","composeQueryKey","parameters","queryFn","queryParams","signal","meta","requestFn","baseUrl","then","requestFnResponseResolver","queryClient"],"mappings":"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"}
1
+ {"version":3,"file":"useSuspenseQueries.js","sources":["../../../src/callbacks/useSuspenseQueries.ts"],"sourcesContent":["'use client';\n\nimport type {\n OperationSchema,\n ServiceOperationUseSuspenseQueries,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport type { DefaultError } from '@tanstack/query-core';\nimport type { SuspenseQueriesResults } from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport { useSuspenseQueries as useSuspenseQueriesTanstack } from '@tanstack/react-query';\nimport { composeQueryKey } from '../lib/composeQueryKey.js';\nimport { requestFnResponseResolver } from '../lib/requestFnResponseResolver.js';\n\nexport const useSuspenseQueries: (\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema,\n args: Parameters<\n ServiceOperationUseSuspenseQueries<\n OperationSchema,\n unknown,\n unknown,\n DefaultError\n >['useSuspenseQueries']\n >\n) => SuspenseQueriesResults<never> = (qraftOptions, schema, args) => {\n const [options] = args;\n\n return useSuspenseQueriesTanstack(\n {\n ...options,\n // @ts-expect-error - Too complex to type\n queries: options.queries.map((queryOptions) => {\n const optionsWithQueryKey =\n 'parameters' in queryOptions\n ? (() => {\n const queryOptionsCopy = Object.assign(\n {\n queryKey: composeQueryKey(schema, queryOptions.parameters),\n },\n queryOptions\n );\n delete queryOptionsCopy.parameters;\n return queryOptionsCopy;\n })()\n : queryOptions;\n\n return {\n ...optionsWithQueryKey,\n queryFn:\n optionsWithQueryKey.queryFn ??\n function ({ queryKey: [, queryParams], signal, meta }) {\n return qraftOptions\n .requestFn(schema, {\n parameters: queryParams as never,\n baseUrl: qraftOptions.baseUrl,\n signal,\n meta,\n })\n .then(requestFnResponseResolver, requestFnResponseResolver);\n },\n };\n }),\n },\n qraftOptions.queryClient\n ) as never;\n};\n"],"names":["useSuspenseQueries","qraftOptions","schema","args","options","useSuspenseQueriesTanstack","queries","map","queryOptions","optionsWithQueryKey","queryOptionsCopy","Object","assign","queryKey","composeQueryKey","parameters","queryFn","queryParams","signal","meta","requestFn","baseUrl","then","requestFnResponseResolver","queryClient"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSuspenseQuery.js","sources":["../../../src/callbacks/useSuspenseQuery.ts"],"sourcesContent":["'use client';\n\nimport type { DefaultError } from '@tanstack/query-core';\nimport type { UseQueryResult } from '@tanstack/react-query';\nimport type { OperationSchema } from '../lib/requestFn.js';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { ServiceOperationQuery } from '../service-operation/ServiceOperation.js';\nimport { useSuspenseQuery as useSuspenseQueryTanstack } from '@tanstack/react-query';\nimport { useComposeUseQueryOptions } from '../lib/useComposeUseQueryOptions.js';\n\nexport const useSuspenseQuery: <\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n>(\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema,\n args: Parameters<\n ServiceOperationQuery<OperationSchema, unknown, unknown>['useSuspenseQuery']\n >\n) => UseQueryResult<TData, TError> = (qraftOptions, schema, args) => {\n return useSuspenseQueryTanstack(\n // @ts-expect-error - Too complex to type\n ...useComposeUseQueryOptions(qraftOptions, schema, args, false)\n ) as never;\n};\n"],"names":["useSuspenseQuery","qraftOptions","schema","args","useSuspenseQueryTanstack","useComposeUseQueryOptions"],"mappings":";;;;AAUaA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAUwB,CAACC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAcC,CAAQC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAC1D,CAAA,CAAA,CAAA,CAAA,OAAOC;KAEFC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA0BJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAQC,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAE7D,CAAA,CAAA;;"}
1
+ {"version":3,"file":"useSuspenseQuery.js","sources":["../../../src/callbacks/useSuspenseQuery.ts"],"sourcesContent":["'use client';\n\nimport type {\n OperationSchema,\n ServiceOperationUseSuspenseQuery,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport type { DefaultError } from '@tanstack/query-core';\nimport type { UseQueryResult } from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport { useSuspenseQuery as useSuspenseQueryTanstack } from '@tanstack/react-query';\nimport { useComposeUseQueryOptions } from '../lib/useComposeUseQueryOptions.js';\n\nexport const useSuspenseQuery: <\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n>(\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema,\n args: Parameters<\n ServiceOperationUseSuspenseQuery<\n OperationSchema,\n unknown,\n unknown,\n DefaultError\n >['useSuspenseQuery']\n >\n) => UseQueryResult<TData, TError> = (qraftOptions, schema, args) => {\n return useSuspenseQueryTanstack(\n // @ts-expect-error - Too complex to type\n ...useComposeUseQueryOptions(qraftOptions, schema, args, false)\n ) as never;\n};\n"],"names":["useSuspenseQuery","qraftOptions","schema","args","useSuspenseQueryTanstack","useComposeUseQueryOptions"],"mappings":";;;;AAYaA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAewB,CAACC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAcC,CAAQC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAC1D,CAAA,CAAA,CAAA,CAAA,OAAOC;KAEFC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA0BJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAQC,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAE7D,CAAA,CAAA;;"}
@@ -17,15 +17,14 @@ import { shelfMerge } from './shelfMerge.js';
17
17
  if (options.queryKey && parameters) {
18
18
  throw new Error('callQueryClientMethodWithQueryKey: options.queryKey and options.parameters are mutually exclusive');
19
19
  }
20
- const queryFn = queryFnOption ?? // @ts-expect-error - Too complex union to type
21
- function({ queryKey: [, queryParams], signal, meta, pageParam }) {
20
+ const queryFn = queryFnOption ?? (requestFn ? function({ queryKey: [, queryParams], signal, meta, pageParam }) {
22
21
  return requestFn(schema, {
23
22
  parameters: infinite ? shelfMerge(2, queryParams, pageParam) : queryParams,
24
23
  baseUrl,
25
24
  signal,
26
25
  meta
27
26
  }).then(requestFnResponseResolver, requestFnResponseResolver);
28
- };
27
+ } : undefined);
29
28
  // @ts-expect-error - Too complex union to type
30
29
  return queryClient[queryFilterMethod]({
31
30
  ...options,
@@ -1 +1 @@
1
- {"version":3,"file":"callQueryClientFetchMethod.js","sources":["../../../src/lib/callQueryClientFetchMethod.ts"],"sourcesContent":["import type { QueryClient } from '@tanstack/query-core';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { OperationSchema, RequestFn } from './requestFn.js';\nimport { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';\nimport { composeQueryKey } from './composeQueryKey.js';\nimport { requestFnResponseResolver } from './requestFnResponseResolver.js';\nimport { shelfMerge } from './shelfMerge.js';\n\n/**\n * Calls a query client fetch method with parameters and options,\n * and automatically composes the `QueryKey` based on the schema and parameters.\n */\nexport function callQueryClientMethodWithQueryKey<\n QFMethod extends QueryKeyMethods,\n>(\n qraftOptions: CreateAPIQueryClientOptions,\n queryFilterMethod: QFMethod,\n schema: OperationSchema,\n infinite: boolean,\n args: QueryClientMethodArgs<QFMethod>\n): ReturnType<(typeof QueryClient.prototype)[QFMethod]> {\n const {\n requestFn: requestFnOption,\n baseUrl: baseUrlOption,\n queryFn: queryFnOption,\n parameters,\n ...options\n } = args[0] ?? {};\n\n const queryClient = qraftOptions.queryClient;\n const baseUrl = baseUrlOption ?? qraftOptions.baseUrl;\n\n if (queryFnOption && requestFnOption) {\n throw new Error(\n 'callQueryClientMethodWithQueryKey: options.queryFn and options.requestFn are mutually exclusive'\n );\n }\n\n const requestFn = requestFnOption ?? qraftOptions.requestFn;\n\n if (options.queryKey && parameters) {\n throw new Error(\n 'callQueryClientMethodWithQueryKey: options.queryKey and options.parameters are mutually exclusive'\n );\n }\n\n const queryFn =\n queryFnOption ??\n // @ts-expect-error - Too complex union to type\n function ({ queryKey: [, queryParams], signal, meta, pageParam }) {\n return requestFn(schema, {\n parameters: infinite\n ? (shelfMerge(2, queryParams, pageParam) as never)\n : queryParams,\n baseUrl,\n signal,\n meta,\n }).then(requestFnResponseResolver, requestFnResponseResolver);\n };\n\n // @ts-expect-error - Too complex union to type\n return queryClient[queryFilterMethod]({\n ...options,\n queryFn,\n queryKey:\n options.queryKey ??\n (infinite\n ? composeInfiniteQueryKey(schema, parameters)\n : composeQueryKey(schema, parameters)),\n });\n}\n\ntype QueryClientMethodArgs<QMethod extends keyof QueryClientPrototype> = [\n options: Parameters<QueryClientPrototype[QMethod]>[0] & {\n parameters?: unknown;\n baseUrl?: string;\n requestFn?: RequestFn<unknown, unknown>;\n },\n queryClient: QueryClient,\n];\n\ntype QueryKeyMethods =\n | QueryKeyMethod<'fetchQuery'>\n | QueryKeyMethod<'prefetchQuery'>\n | QueryKeyMethod<'fetchInfiniteQuery'>\n | QueryKeyMethod<'prefetchInfiniteQuery'>;\n\ntype QueryClientPrototype = typeof QueryClient.prototype;\n\ntype QueryKeyMethod<QFMethod extends keyof typeof QueryClient.prototype> =\n QFMethod;\n"],"names":["callQueryClientMethodWithQueryKey","qraftOptions","queryFilterMethod","schema","infinite","args","requestFn","requestFnOption","baseUrl","baseUrlOption","queryFn","queryFnOption","parameters","options","queryClient","Error","queryKey","queryParams","signal","meta","pageParam","shelfMerge","then","requestFnResponseResolver","composeInfiniteQueryKey","composeQueryKey"],"mappings":";;;;;AAQA;;;IAIO,SAASA,iCAAAA,CAGdC,YAAyC,EACzCC,iBAA2B,EAC3BC,MAAuB,EACvBC,QAAiB,EACjBC,IAAqC,EAAA;AAErC,IAAA,MAAM,EACJC,SAAWC,EAAAA,eAAe,EAC1BC,OAASC,EAAAA,aAAa,EACtBC,OAASC,EAAAA,aAAa,EACtBC,UAAU,EACV,GAAGC,OACJ,EAAA,GAAGR,IAAI,CAAC,CAAA,CAAE,IAAI,EAAC,CAAA;IAEhB,MAAMS,WAAAA,GAAcb,aAAaa,WAAW,CAAA;IAC5C,MAAMN,OAAAA,GAAUC,aAAiBR,IAAAA,YAAAA,CAAaO,OAAO,CAAA;AAErD,IAAA,IAAIG,iBAAiBJ,eAAiB,EAAA;AACpC,QAAA,MAAM,IAAIQ,KACR,CAAA,iGAAA,CAAA,CAAA;AAEJ,KAAA;IAEA,MAAMT,SAAAA,GAAYC,eAAmBN,IAAAA,YAAAA,CAAaK,SAAS,CAAA;IAE3D,IAAIO,OAAAA,CAAQG,QAAQ,IAAIJ,UAAY,EAAA;AAClC,QAAA,MAAM,IAAIG,KACR,CAAA,mGAAA,CAAA,CAAA;AAEJ,KAAA;IAEA,MAAML,OAAAA,GACJC;IAEA,SAAU,EAAEK,QAAU,EAAA,GAAGC,WAAY,CAAA,EAAEC,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,EAAA;AAC9D,QAAA,OAAOd,UAAUH,MAAQ,EAAA;AACvBS,YAAAA,UAAAA,EAAYR,QACPiB,GAAAA,UAAAA,CAAW,CAAGJ,EAAAA,WAAAA,EAAaG,SAC5BH,CAAAA,GAAAA,WAAAA;AACJT,YAAAA,OAAAA;AACAU,YAAAA,MAAAA;AACAC,YAAAA,IAAAA;SACCG,CAAAA,CAAAA,IAAI,CAACC,yBAA2BA,EAAAA,yBAAAA,CAAAA,CAAAA;AACrC,KAAA,CAAA;;IAGF,OAAOT,WAAW,CAACZ,iBAAAA,CAAkB,CAAC;AACpC,QAAA,GAAGW,OAAO;AACVH,QAAAA,OAAAA;QACAM,QACEH,EAAAA,OAAAA,CAAQG,QAAQ,KACfZ,QAAAA,GACGoB,wBAAwBrB,MAAQS,EAAAA,UAAAA,CAAAA,GAChCa,eAAgBtB,CAAAA,MAAAA,EAAQS,UAAU,CAAA,CAAA;AAC1C,KAAA,CAAA,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"callQueryClientFetchMethod.js","sources":["../../../src/lib/callQueryClientFetchMethod.ts"],"sourcesContent":["import type { QueryClient } from '@tanstack/query-core';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { OperationSchema, RequestFn } from './requestFn.js';\nimport { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';\nimport { composeQueryKey } from './composeQueryKey.js';\nimport { requestFnResponseResolver } from './requestFnResponseResolver.js';\nimport { shelfMerge } from './shelfMerge.js';\n\n/**\n * Calls a query client fetch method with parameters and options,\n * and automatically composes the `QueryKey` based on the schema and parameters.\n */\nexport function callQueryClientMethodWithQueryKey<\n QFMethod extends QueryKeyMethods,\n>(\n qraftOptions: CreateAPIQueryClientOptions,\n queryFilterMethod: QFMethod,\n schema: OperationSchema,\n infinite: boolean,\n args: QueryClientMethodArgs<QFMethod>\n): ReturnType<(typeof QueryClient.prototype)[QFMethod]> {\n const {\n requestFn: requestFnOption,\n baseUrl: baseUrlOption,\n queryFn: queryFnOption,\n parameters,\n ...options\n } = args[0] ?? {};\n\n const queryClient = qraftOptions.queryClient;\n const baseUrl = baseUrlOption ?? qraftOptions.baseUrl;\n\n if (queryFnOption && requestFnOption) {\n throw new Error(\n 'callQueryClientMethodWithQueryKey: options.queryFn and options.requestFn are mutually exclusive'\n );\n }\n\n const requestFn = requestFnOption ?? qraftOptions.requestFn;\n\n if (options.queryKey && parameters) {\n throw new Error(\n 'callQueryClientMethodWithQueryKey: options.queryKey and options.parameters are mutually exclusive'\n );\n }\n\n const queryFn =\n queryFnOption ??\n (requestFn\n ? // @ts-expect-error - Too complex union to type\n function ({ queryKey: [, queryParams], signal, meta, pageParam }) {\n return requestFn(schema, {\n parameters: infinite\n ? (shelfMerge(2, queryParams, pageParam) as never)\n : queryParams,\n baseUrl,\n signal,\n meta,\n }).then(requestFnResponseResolver, requestFnResponseResolver);\n }\n : undefined);\n\n // @ts-expect-error - Too complex union to type\n return queryClient[queryFilterMethod]({\n ...options,\n queryFn,\n queryKey:\n options.queryKey ??\n (infinite\n ? composeInfiniteQueryKey(schema, parameters)\n : composeQueryKey(schema, parameters)),\n });\n}\n\ntype QueryClientMethodArgs<QMethod extends keyof QueryClientPrototype> = [\n options: Parameters<QueryClientPrototype[QMethod]>[0] & {\n parameters?: unknown;\n baseUrl?: string;\n requestFn?: RequestFn<unknown, unknown>;\n },\n queryClient: QueryClient,\n];\n\ntype QueryKeyMethods =\n | QueryKeyMethod<'fetchQuery'>\n | QueryKeyMethod<'prefetchQuery'>\n | QueryKeyMethod<'fetchInfiniteQuery'>\n | QueryKeyMethod<'prefetchInfiniteQuery'>;\n\ntype QueryClientPrototype = typeof QueryClient.prototype;\n\ntype QueryKeyMethod<QFMethod extends keyof typeof QueryClient.prototype> =\n QFMethod;\n"],"names":["callQueryClientMethodWithQueryKey","qraftOptions","queryFilterMethod","schema","infinite","args","requestFn","requestFnOption","baseUrl","baseUrlOption","queryFn","queryFnOption","parameters","options","queryClient","Error","queryKey","queryParams","signal","meta","pageParam","shelfMerge","then","requestFnResponseResolver","undefined","composeInfiniteQueryKey","composeQueryKey"],"mappings":";;;;;AAQA;;;IAIO,SAASA,iCAAAA,CAGdC,YAAyC,EACzCC,iBAA2B,EAC3BC,MAAuB,EACvBC,QAAiB,EACjBC,IAAqC,EAAA;AAErC,IAAA,MAAM,EACJC,SAAWC,EAAAA,eAAe,EAC1BC,OAASC,EAAAA,aAAa,EACtBC,OAASC,EAAAA,aAAa,EACtBC,UAAU,EACV,GAAGC,OACJ,EAAA,GAAGR,IAAI,CAAC,CAAA,CAAE,IAAI,EAAC,CAAA;IAEhB,MAAMS,WAAAA,GAAcb,aAAaa,WAAW,CAAA;IAC5C,MAAMN,OAAAA,GAAUC,aAAiBR,IAAAA,YAAAA,CAAaO,OAAO,CAAA;AAErD,IAAA,IAAIG,iBAAiBJ,eAAiB,EAAA;AACpC,QAAA,MAAM,IAAIQ,KACR,CAAA,iGAAA,CAAA,CAAA;AAEJ,KAAA;IAEA,MAAMT,SAAAA,GAAYC,eAAmBN,IAAAA,YAAAA,CAAaK,SAAS,CAAA;IAE3D,IAAIO,OAAAA,CAAQG,QAAQ,IAAIJ,UAAY,EAAA;AAClC,QAAA,MAAM,IAAIG,KACR,CAAA,mGAAA,CAAA,CAAA;AAEJ,KAAA;AAEA,IAAA,MAAML,OACJC,GAAAA,aAAAA,KACCL,SAAAA,GAEG,SAAU,EAAEU,QAAAA,EAAU,GAAGC,WAAAA,CAAY,EAAEC,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,EAAA;AAC9D,QAAA,OAAOd,UAAUH,MAAQ,EAAA;AACvBS,YAAAA,UAAAA,EAAYR,QACPiB,GAAAA,UAAAA,CAAW,CAAGJ,EAAAA,WAAAA,EAAaG,SAC5BH,CAAAA,GAAAA,WAAAA;AACJT,YAAAA,OAAAA;AACAU,YAAAA,MAAAA;AACAC,YAAAA,IAAAA;SACCG,CAAAA,CAAAA,IAAI,CAACC,yBAA2BA,EAAAA,yBAAAA,CAAAA,CAAAA;AACrC,KAAA,GACAC,SAAQ,CAAA,CAAA;;IAGd,OAAOV,WAAW,CAACZ,iBAAAA,CAAkB,CAAC;AACpC,QAAA,GAAGW,OAAO;AACVH,QAAAA,OAAAA;QACAM,QACEH,EAAAA,OAAAA,CAAQG,QAAQ,KACfZ,QAAAA,GACGqB,wBAAwBtB,MAAQS,EAAAA,UAAAA,CAAAA,GAChCc,eAAgBvB,CAAAA,MAAAA,EAAQS,UAAU,CAAA,CAAA;AAC1C,KAAA,CAAA,CAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"composeBaseQueryKey.js","sources":["../../../src/lib/composeBaseQueryKey.ts"],"sourcesContent":["import type {\n ServiceOperationInfiniteQueryKey,\n ServiceOperationQueryKey,\n} from '../service-operation/ServiceOperationKey.js';\nimport type { OperationSchema } from './requestFn.js';\n\nexport function composeBaseQueryKey<TSchema extends OperationSchema, TParams>(\n schema: TSchema,\n parameters: TParams | undefined,\n infinite: undefined\n): [TSchema, TParams];\nexport function composeBaseQueryKey<TSchema extends OperationSchema, TParams>(\n schema: TSchema,\n parameters: TParams | undefined,\n infinite: true\n): ServiceOperationInfiniteQueryKey<TSchema, TParams>;\nexport function composeBaseQueryKey<TSchema extends OperationSchema, TParams>(\n schema: TSchema,\n parameters: TParams | undefined,\n infinite: false\n): ServiceOperationQueryKey<TSchema, TParams>;\nexport function composeBaseQueryKey<TSchema extends OperationSchema, TParams>(\n schema: TSchema,\n parameters: TParams | undefined,\n infinite: boolean | undefined\n):\n | ServiceOperationQueryKey<TSchema, TParams>\n | ServiceOperationInfiniteQueryKey<TSchema, TParams>\n | [TSchema, TParams] {\n return [\n typeof infinite === 'boolean' ? { ...schema, infinite } : schema,\n parameters ?? ({} as TParams),\n ];\n}\n"],"names":["composeBaseQueryKey","schema","parameters","infinite"],"mappings":"AAqBO,SAASA,mBACdC,CAAAA,MAAe,EACfC,UAA+B,EAC/BC,QAA6B,EAAA;IAK7B,OAAO;AACL,QAAA,OAAOA,aAAa,SAAY,GAAA;AAAE,YAAA,GAAGF,MAAM;AAAEE,YAAAA,QAAAA;SAAaF,GAAAA,MAAAA;AAC1DC,QAAAA,UAAAA,IAAe,EAAC;AACjB,KAAA,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"composeBaseQueryKey.js","sources":["../../../src/lib/composeBaseQueryKey.ts"],"sourcesContent":["import type {\n ServiceOperationInfiniteQueryKey,\n ServiceOperationQueryKey,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport type { OperationSchema } from './requestFn.js';\n\nexport function composeBaseQueryKey<TSchema extends OperationSchema, TParams>(\n schema: TSchema,\n parameters: TParams | undefined,\n infinite: undefined\n): [TSchema, TParams];\nexport function composeBaseQueryKey<TSchema extends OperationSchema, TParams>(\n schema: TSchema,\n parameters: TParams | undefined,\n infinite: true\n): ServiceOperationInfiniteQueryKey<TSchema, TParams>;\nexport function composeBaseQueryKey<TSchema extends OperationSchema, TParams>(\n schema: TSchema,\n parameters: TParams | undefined,\n infinite: false\n): ServiceOperationQueryKey<TSchema, TParams>;\nexport function composeBaseQueryKey<TSchema extends OperationSchema, TParams>(\n schema: TSchema,\n parameters: TParams | undefined,\n infinite: boolean | undefined\n):\n | ServiceOperationQueryKey<TSchema, TParams>\n | ServiceOperationInfiniteQueryKey<TSchema, TParams>\n | [TSchema, TParams] {\n return [\n typeof infinite === 'boolean' ? { ...schema, infinite } : schema,\n parameters ?? ({} as TParams),\n ];\n}\n"],"names":["composeBaseQueryKey","schema","parameters","infinite"],"mappings":"AAqBO,SAASA,mBACdC,CAAAA,MAAe,EACfC,UAA+B,EAC/BC,QAA6B,EAAA;IAK7B,OAAO;AACL,QAAA,OAAOA,aAAa,SAAY,GAAA;AAAE,YAAA,GAAGF,MAAM;AAAEE,YAAAA,QAAAA;SAAaF,GAAAA,MAAAA;AAC1DC,QAAAA,UAAAA,IAAe,EAAC;AACjB,KAAA,CAAA;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"composeInfiniteQueryKey.js","sources":["../../../src/lib/composeInfiniteQueryKey.ts"],"sourcesContent":["import type { ServiceOperationInfiniteQueryKey } from '../service-operation/ServiceOperationKey.js';\nimport type { OperationSchema } from './requestFn.js';\nimport { composeBaseQueryKey } from './composeBaseQueryKey.js';\n\nexport function composeInfiniteQueryKey<\n TSchema extends OperationSchema,\n TParams,\n>(\n schema: TSchema,\n parameters: TParams | undefined\n): ServiceOperationInfiniteQueryKey<TSchema, TParams> {\n return composeBaseQueryKey(schema, parameters, true);\n}\n"],"names":["composeInfiniteQueryKey","schema","parameters","composeBaseQueryKey"],"mappings":";;AAIO,SAASA,uBAAAA,CAIdC,MAAe,EACfC,UAA+B,EAAA;IAE/B,OAAOC,mBAAAA,CAAoBF,QAAQC,UAAY,EAAA,IAAA,CAAA,CAAA;AACjD;;;;"}
1
+ {"version":3,"file":"composeInfiniteQueryKey.js","sources":["../../../src/lib/composeInfiniteQueryKey.ts"],"sourcesContent":["import type { ServiceOperationInfiniteQueryKey } from '@openapi-qraft/tanstack-query-react-types';\nimport type { OperationSchema } from './requestFn.js';\nimport { composeBaseQueryKey } from './composeBaseQueryKey.js';\n\nexport function composeInfiniteQueryKey<\n TSchema extends OperationSchema,\n TParams,\n>(\n schema: TSchema,\n parameters: TParams | undefined\n): ServiceOperationInfiniteQueryKey<TSchema, TParams> {\n return composeBaseQueryKey(schema, parameters, true);\n}\n"],"names":["composeInfiniteQueryKey","schema","parameters","composeBaseQueryKey"],"mappings":";;AAIO,SAASA,uBAAAA,CAIdC,MAAe,EACfC,UAA+B,EAAA;IAE/B,OAAOC,mBAAAA,CAAoBF,QAAQC,UAAY,EAAA,IAAA,CAAA,CAAA;AACjD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"composeMutationKey.js","sources":["../../../src/lib/composeMutationKey.ts"],"sourcesContent":["import type { ServiceOperationMutationKey } from '../service-operation/ServiceOperationKey.js';\nimport type { OperationSchema } from './requestFn.js';\n\n/**\n * Omit `body` or `requestBody` from mutation parameters if exists\n * and return the rest of the parameters\n */\nexport function composeMutationKey<TSchema extends OperationSchema>(\n schema: TSchema,\n parameters: undefined\n): ServiceOperationMutationKey<TSchema, undefined>;\nexport function composeMutationKey<TSchema extends OperationSchema, TParams>(\n schema: TSchema,\n parameters: TParams\n): ServiceOperationMutationKey<TSchema, TParams>;\nexport function composeMutationKey<\n TSchema extends OperationSchema,\n TParams = unknown,\n>(schema: TSchema, parameters: TParams | undefined) {\n return parameters === undefined\n ? [{ url: schema.url, method: schema.method }, {}]\n : [\n {\n url: schema.url,\n method: schema.method,\n },\n omitMutationPayload(parameters),\n ];\n}\n\nexport function omitMutationPayload<T>(params: T) {\n if (!params || typeof params !== 'object')\n throw new Error('`params` must be object');\n\n if ('body' in params || 'requestBody' in params) {\n const {\n body: _,\n requestBody: __,\n ...paramsRest\n } = params as Record<'body' | 'requestBody', unknown>;\n return paramsRest;\n }\n\n return params as Omit<T, 'body' | 'requestBody'>;\n}\n"],"names":["composeMutationKey","schema","parameters","undefined","url","method","omitMutationPayload","params","Error","body","_","requestBody","__","paramsRest"],"mappings":"AAeO,SAASA,kBAAAA,CAGdC,MAAe,EAAEC,UAA+B,EAAA;AAChD,IAAA,OAAOA,eAAeC,SAClB,GAAA;AAAC,QAAA;AAAEC,YAAAA,GAAAA,EAAKH,OAAOG,GAAG;AAAEC,YAAAA,MAAAA,EAAQJ,OAAOI,MAAM;AAAC,SAAA;QAAG,EAAC;KAAE,GAChD;AACE,QAAA;AACED,YAAAA,GAAAA,EAAKH,OAAOG,GAAG;AACfC,YAAAA,MAAAA,EAAQJ,OAAOI,MAAM;AACvB,SAAA;QACAC,mBAAoBJ,CAAAA,UAAAA,CAAAA;AACrB,KAAA,CAAA;AACP,CAAA;AAEO,SAASI,oBAAuBC,MAAS,EAAA;AAC9C,IAAA,IAAI,CAACA,MAAU,IAAA,OAAOA,WAAW,QAC/B,EAAA,MAAM,IAAIC,KAAM,CAAA,yBAAA,CAAA,CAAA;IAElB,IAAI,MAAA,IAAUD,MAAU,IAAA,aAAA,IAAiBA,MAAQ,EAAA;QAC/C,MAAM,EACJE,MAAMC,CAAC,EACPC,aAAaC,EAAE,EACf,GAAGC,UAAAA,EACJ,GAAGN,MAAAA,CAAAA;QACJ,OAAOM,UAAAA,CAAAA;AACT,KAAA;IAEA,OAAON,MAAAA,CAAAA;AACT;;;;"}
1
+ {"version":3,"file":"composeMutationKey.js","sources":["../../../src/lib/composeMutationKey.ts"],"sourcesContent":["import type { ServiceOperationMutationKey } from '@openapi-qraft/tanstack-query-react-types';\nimport type { OperationSchema } from './requestFn.js';\n\n/**\n * Omit `body` or `requestBody` from mutation parameters if exists\n * and return the rest of the parameters\n */\nexport function composeMutationKey<TSchema extends OperationSchema>(\n schema: TSchema,\n parameters: undefined\n): ServiceOperationMutationKey<TSchema, undefined>;\nexport function composeMutationKey<TSchema extends OperationSchema, TParams>(\n schema: TSchema,\n parameters: TParams\n): ServiceOperationMutationKey<TSchema, TParams>;\nexport function composeMutationKey<\n TSchema extends OperationSchema,\n TParams = unknown,\n>(schema: TSchema, parameters: TParams | undefined) {\n return parameters === undefined\n ? [{ url: schema.url, method: schema.method }, {}]\n : [\n {\n url: schema.url,\n method: schema.method,\n },\n omitMutationPayload(parameters),\n ];\n}\n\nexport function omitMutationPayload<T>(params: T) {\n if (!params || typeof params !== 'object')\n throw new Error('`params` must be object');\n\n if ('body' in params || 'requestBody' in params) {\n const {\n body: _,\n requestBody: __,\n ...paramsRest\n } = params as Record<'body' | 'requestBody', unknown>;\n return paramsRest;\n }\n\n return params as Omit<T, 'body' | 'requestBody'>;\n}\n"],"names":["composeMutationKey","schema","parameters","undefined","url","method","omitMutationPayload","params","Error","body","_","requestBody","__","paramsRest"],"mappings":"AAeO,SAASA,kBAAAA,CAGdC,MAAe,EAAEC,UAA+B,EAAA;AAChD,IAAA,OAAOA,eAAeC,SAClB,GAAA;AAAC,QAAA;AAAEC,YAAAA,GAAAA,EAAKH,OAAOG,GAAG;AAAEC,YAAAA,MAAAA,EAAQJ,OAAOI,MAAM;AAAC,SAAA;QAAG,EAAC;KAAE,GAChD;AACE,QAAA;AACED,YAAAA,GAAAA,EAAKH,OAAOG,GAAG;AACfC,YAAAA,MAAAA,EAAQJ,OAAOI,MAAM;AACvB,SAAA;QACAC,mBAAoBJ,CAAAA,UAAAA,CAAAA;AACrB,KAAA,CAAA;AACP,CAAA;AAEO,SAASI,oBAAuBC,MAAS,EAAA;AAC9C,IAAA,IAAI,CAACA,MAAU,IAAA,OAAOA,WAAW,QAC/B,EAAA,MAAM,IAAIC,KAAM,CAAA,yBAAA,CAAA,CAAA;IAElB,IAAI,MAAA,IAAUD,MAAU,IAAA,aAAA,IAAiBA,MAAQ,EAAA;QAC/C,MAAM,EACJE,MAAMC,CAAC,EACPC,aAAaC,EAAE,EACf,GAAGC,UAAAA,EACJ,GAAGN,MAAAA,CAAAA;QACJ,OAAOM,UAAAA,CAAAA;AACT,KAAA;IAEA,OAAON,MAAAA,CAAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"composeQueryKey.js","sources":["../../../src/lib/composeQueryKey.ts"],"sourcesContent":["import type { ServiceOperationQueryKey } from '../service-operation/ServiceOperationKey.js';\nimport type { OperationSchema } from './requestFn.js';\nimport { composeBaseQueryKey } from './composeBaseQueryKey.js';\n\nexport function composeQueryKey<TSchema extends OperationSchema, TParams>(\n schema: TSchema,\n parameters: TParams | undefined\n): ServiceOperationQueryKey<TSchema, TParams> {\n return composeBaseQueryKey(schema, parameters, false);\n}\n"],"names":["composeQueryKey","schema","parameters","composeBaseQueryKey"],"mappings":";;AAIO,SAASA,eAAAA,CACdC,MAAe,EACfC,UAA+B,EAAA;IAE/B,OAAOC,mBAAAA,CAAoBF,QAAQC,UAAY,EAAA,KAAA,CAAA,CAAA;AACjD;;;;"}
1
+ {"version":3,"file":"composeQueryKey.js","sources":["../../../src/lib/composeQueryKey.ts"],"sourcesContent":["import type { ServiceOperationQueryKey } from '@openapi-qraft/tanstack-query-react-types';\nimport type { OperationSchema } from './requestFn.js';\nimport { composeBaseQueryKey } from './composeBaseQueryKey.js';\n\nexport function composeQueryKey<TSchema extends OperationSchema, TParams>(\n schema: TSchema,\n parameters: TParams | undefined\n): ServiceOperationQueryKey<TSchema, TParams> {\n return composeBaseQueryKey(schema, parameters, false);\n}\n"],"names":["composeQueryKey","schema","parameters","composeBaseQueryKey"],"mappings":";;AAIO,SAASA,eAAAA,CACdC,MAAe,EACfC,UAA+B,EAAA;IAE/B,OAAOC,mBAAAA,CAAoBF,QAAQC,UAAY,EAAA,KAAA,CAAA,CAAA;AACjD;;;;"}
@@ -1,3 +1,5 @@
1
+ import { processResponse, resolveResponse } from './responseUtils.js';
2
+
1
3
  /**
2
4
  * This function is used to make a request to a specified endpoint.
3
5
  *
@@ -19,7 +21,7 @@
19
21
  }
20
22
  /**
21
23
  * This function is used to make a request to a specified endpoint.
22
- * It's needed to create a custom `requestFn` with a custom `urlSerializer`
24
+ * It's necessary to create a custom `requestFn` with a custom `urlSerializer`
23
25
  * and `bodySerializer`, with the tree-shaking of the default `requestFn`
24
26
  * and its serializers.
25
27
  *
@@ -34,17 +36,14 @@
34
36
  * @throws {error: object|string, response: Response} Throws an error if the request fails. The error includes the error message and the response from the server.
35
37
  */ async function baseRequestFn(requestSchema, requestInfo, options) {
36
38
  const { parameters, headers, body, ...requestInfoRest } = requestInfo;
37
- const requestBody = options.bodySerializer(requestSchema, requestInfo);
39
+ const requestPayload = options.bodySerializer(requestSchema, body);
38
40
  const baseFetch = options.fetch ?? fetch;
39
41
  return baseFetch(options.urlSerializer(requestSchema, requestInfo), {
40
42
  method: requestSchema.method.toUpperCase(),
41
- body: requestBody,
43
+ body: requestPayload?.body,
42
44
  headers: mergeHeaders({
43
- Accept: 'application/json',
44
- 'Content-Type': requestSchema.mediaType ?? getBodyContentType(body)
45
- }, headers, parameters?.header, requestBody instanceof FormData ? {
46
- 'Content-Type': null
47
- } : undefined),
45
+ Accept: 'application/json'
46
+ }, requestPayload?.headers, headers, parameters?.header),
48
47
  ...requestInfoRest
49
48
  }).then(processResponse).catch(resolveResponse);
50
49
  }
@@ -119,23 +118,68 @@ function mergeHeaders(...allHeaders) {
119
118
  }
120
119
  return headers;
121
120
  }
122
- function bodySerializer(schema, info) {
123
- if (info.body === undefined) return;
124
- if (schema.method === 'get' || schema.method === 'head' || schema.method === 'options') return;
125
- if (schema.mediaType?.includes('/form-data')) return getRequestBodyFormData(info);
126
- if (!schema.mediaType?.includes('/json') && (typeof info.body === 'string' || info.body instanceof Blob || info.body instanceof FormData)) {
127
- return info.body;
121
+ function bodySerializer(schema, body) {
122
+ if (schema.method === 'get' || schema.method === 'head' || schema.method === 'options') return undefined;
123
+ if (body === undefined || body === null) return undefined;
124
+ if (typeof body === 'string') {
125
+ return {
126
+ body,
127
+ headers: {
128
+ 'Content-Type': // prefer text/* media type
129
+ schema.mediaType?.find((mediaType)=>mediaType.includes('text/')) ?? // prefer JSON media type, assume that body is serialized as JSON
130
+ schema.mediaType?.find((mediaType)=>mediaType.includes('/json')) ?? 'text/plain'
131
+ }
132
+ };
133
+ }
134
+ if (body instanceof FormData) {
135
+ return {
136
+ body,
137
+ headers: {
138
+ // remove `Content-Type` if the serialized body is FormData;
139
+ // the browser will correctly set Content-Type & boundary expression
140
+ 'Content-Type': null
141
+ }
142
+ };
143
+ }
144
+ if (body instanceof Blob) {
145
+ return {
146
+ body,
147
+ headers: {
148
+ 'Content-Type': body.type || schema.mediaType?.find((mediaType)=>!(mediaType.includes('text/') && mediaType.includes('/form-data') && mediaType.includes('/json'))) || 'application/octet-stream'
149
+ }
150
+ };
151
+ }
152
+ let jsonMediaType = null;
153
+ let formDataMediaType = null;
154
+ if (schema.mediaType) {
155
+ for(let i = 0; i < schema.mediaType.length; i++){
156
+ const mediaType = schema.mediaType[i];
157
+ if (mediaType.includes('/json')) jsonMediaType = mediaType;
158
+ else if (mediaType.includes('/form-data')) formDataMediaType = mediaType;
159
+ }
160
+ }
161
+ if (formDataMediaType) {
162
+ if (!jsonMediaType || // Prefer FormData serialization if one of the fields is a Blob
163
+ Object.values(body).some((value)=>value instanceof Blob)) {
164
+ return {
165
+ body: getRequestBodyFormData(body),
166
+ headers: {
167
+ // remove `Content-Type` if the serialized body is FormData;
168
+ // the browser will correctly set Content-Type & boundary expression
169
+ 'Content-Type': null
170
+ }
171
+ };
172
+ }
128
173
  }
129
- return JSON.stringify(info.body);
174
+ return {
175
+ body: JSON.stringify(body),
176
+ headers: {
177
+ 'Content-Type': jsonMediaType ?? 'application/json'
178
+ }
179
+ };
130
180
  }
131
- function getRequestBodyFormData({ body }) {
181
+ function getRequestBodyFormData(body) {
132
182
  if (body instanceof FormData) return body;
133
- if (body === null) return;
134
- if (body instanceof Blob) throw new Error('Blob not supported in form-data');
135
- if (body instanceof ArrayBuffer) throw new Error('ArrayBuffer not supported in form-data');
136
- if (body instanceof URLSearchParams) throw new Error('URLSearchParams not supported in form-data');
137
- if (body instanceof ReadableStream) throw new Error('ReadableStream not supported in form-data');
138
- if (typeof body === 'string') throw new Error('String not supported in form-data');
139
183
  if (typeof body !== 'object') throw new Error(`Unsupported body type ${typeof body} in form-data.`);
140
184
  const formData = new FormData();
141
185
  const process = (key, value)=>{
@@ -154,47 +198,6 @@ function getRequestBodyFormData({ body }) {
154
198
  });
155
199
  return formData;
156
200
  }
157
- function getBodyContentType(body) {
158
- if (!body) return;
159
- if (body instanceof Blob) return body.type || 'application/octet-stream';
160
- if (typeof body === 'string') return 'text/plain';
161
- if (!(body instanceof FormData)) return 'application/json';
162
- }
163
- async function processResponse(response) {
164
- if (response.status === 204 || response.headers.get('Content-Length') === '0') return response.ok ? {
165
- data: {},
166
- response
167
- } : {
168
- error: {},
169
- response
170
- };
171
- if (isJsonResponse(response)) {
172
- // clone response before parsing every time to allow multiple reads
173
- const jsonResponse = response.clone().json();
174
- return resolveResponse(response, response.ok ? jsonResponse : Promise.reject(await jsonResponse));
175
- }
176
- const jsonResponse = new Promise((resolve, reject)=>// attempt to parse JSON for successful responses, otherwise fail
177
- response.clone().text().then(JSON.parse).then(resolve, reject));
178
- return resolveResponse(response, response.ok ? jsonResponse : Promise.reject(await jsonResponse));
179
- }
180
- function isJsonResponse(response) {
181
- const contentType = response.headers.get('Content-Type')?.toLowerCase();
182
- return contentType?.includes('/json') || contentType?.includes('+json');
183
- }
184
- function resolveResponse(responseToReturn, responsePromise) {
185
- if (!responsePromise) return Promise.reject({
186
- error: responseToReturn,
187
- response: undefined,
188
- data: undefined
189
- });
190
- return responsePromise.then((data)=>({
191
- data,
192
- response: responseToReturn
193
- })).catch((error)=>({
194
- error,
195
- response: responseToReturn
196
- }));
197
- }
198
201
 
199
202
  export { baseRequestFn, bodySerializer, mergeHeaders, requestFn, urlSerializer };
200
203
  //# sourceMappingURL=requestFn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"requestFn.js","sources":["../../../src/lib/requestFn.ts"],"sourcesContent":["/**\n * This function is used to make a request to a specified endpoint.\n *\n * @template T The expected return type of the request.\n *\n * @param schema The schema of the operation to be performed. It includes the OpenAPI path, HTTP method and media type.\n * @param requestInfo The information required to make the request. It includes parameters, headers, body, etc.\n * @param [options] Optional. Additional options for the request. It includes custom urlSerializer, bodySerializer, and fetch function.\n *\n * @returns {Promise<T>} Returns a promise that resolves with the response of the request.\n *\n * @throws {error: object|string, response: Response} Throws an error if the request fails. The error includes the error message and the response from the server.\n */\nexport async function requestFn<TData, TError>(\n schema: OperationSchema,\n requestInfo: RequestFnInfo,\n options?: RequestFnOptions\n): Promise<RequestFnResponse<TData, TError>> {\n return baseRequestFn<TData, TError>(schema, requestInfo, {\n urlSerializer,\n bodySerializer,\n ...options,\n });\n}\n\n/**\n * This function is used to make a request to a specified endpoint.\n * It's needed to create a custom `requestFn` with a custom `urlSerializer`\n * and `bodySerializer`, with the tree-shaking of the default `requestFn`\n * and its serializers.\n *\n * @template T The expected return type of the request.\n *\n * @param requestSchema The schema of the operation to be performed. It includes the OpenAPI path, HTTP method and media type.\n * @param requestInfo The information required to make the request. It includes parameters, headers, body, etc.\n * @param options The options for the request. It includes urlSerializer, bodySerializer, and fetch function. The 'urlSerializer' and 'bodySerializer' are required.\n *\n * @returns {Promise<T>} Returns a promise that resolves with the response of the request.\n *\n * @throws {error: object|string, response: Response} Throws an error if the request fails. The error includes the error message and the response from the server.\n */\nexport async function baseRequestFn<TData, TError>(\n requestSchema: OperationSchema,\n requestInfo: RequestFnInfo,\n options: WithRequired<RequestFnOptions, 'urlSerializer' | 'bodySerializer'>\n): Promise<RequestFnResponse<TData, TError>> {\n const { parameters, headers, body, ...requestInfoRest } = requestInfo;\n\n const requestBody = options.bodySerializer(requestSchema, requestInfo);\n\n const baseFetch = options.fetch ?? fetch;\n\n return baseFetch(options.urlSerializer(requestSchema, requestInfo), {\n method: requestSchema.method.toUpperCase(),\n body: requestBody,\n headers: mergeHeaders(\n {\n Accept: 'application/json',\n 'Content-Type': requestSchema.mediaType ?? getBodyContentType(body),\n },\n headers,\n parameters?.header,\n requestBody instanceof FormData\n ? // remove `Content-Type` if the serialized body is FormData; the browser will correctly set Content-Type & boundary expression\n { 'Content-Type': null }\n : undefined\n ),\n ...requestInfoRest,\n })\n .then(processResponse as typeof processResponse<TData, TError>)\n .catch(resolveResponse as typeof resolveResponse<TData, TError>);\n}\n\n/**\n * Serializes the given schema and request payload into a URL string.\n *\n * This function is implemented according to the URI Template standard\n * defined in RFC 6570. It supports the expansion of path and query parameters,\n * correctly handling empty arrays, `null`, and `undefined` values by ignoring\n * them during the expansion process, as specified by the standard.\n *\n * For more information, refer to the official documentation:\n * https://datatracker.ietf.org/doc/html/rfc6570\n *\n * @param schema - The operation schema containing the URL template and method.\n * @param info - The request payload including baseUrl, path parameters, and query parameters.\n * @returns The fully constructed URL string.\n */\nexport function urlSerializer(\n schema: OperationSchema,\n info: RequestFnPayload\n): string {\n const path = schema.url.replace(\n /{(.*?)}/g,\n (substring: string, group: string) => {\n if (\n info.parameters?.path &&\n Object.prototype.hasOwnProperty.call(info.parameters.path, group)\n ) {\n return encodeURI(String(info.parameters?.path[group]));\n }\n return substring;\n }\n );\n\n const baseUrl = info.baseUrl ?? '';\n\n if (info.parameters?.query) {\n return `${baseUrl}${path}${getQueryString(info.parameters.query)}`;\n }\n\n return `${baseUrl}${path}`;\n}\n\nfunction getQueryString(params: Record<string, any>): string {\n const qs: string[] = [];\n\n const append = (key: string, value: any) => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n };\n\n const process = (key: string, value: any) => {\n if (typeof value === 'undefined' || value === null) return;\n\n if (Array.isArray(value)) {\n value.forEach((v) => {\n process(key, v);\n });\n } else if (typeof value === 'object') {\n Object.entries(value).forEach(([k, v]) => {\n process(`${key}[${k}]`, v);\n });\n } else {\n append(key, value);\n }\n };\n\n Object.entries(params).forEach(([key, value]) => {\n process(key, value);\n });\n\n if (qs.length > 0) {\n return `?${qs.join('&')}`;\n }\n\n return '';\n}\n\nexport function mergeHeaders(...allHeaders: (HeadersOptions | undefined)[]) {\n const headers = new Headers();\n\n for (const headerSet of allHeaders) {\n if (!headerSet || typeof headerSet !== 'object') {\n continue;\n }\n\n const headersIterator =\n headerSet instanceof Headers\n ? headerSet.entries()\n : Object.entries(headerSet);\n\n for (const [headerKey, headerValue] of headersIterator) {\n if (headerValue === null) {\n headers.delete(headerKey);\n } else if (headerValue !== undefined) {\n headers.set(headerKey, headerValue);\n }\n }\n }\n\n return headers;\n}\n\nexport function bodySerializer(\n schema: OperationSchema,\n info: RequestFnPayload\n) {\n if (info.body === undefined) return;\n\n if (\n schema.method === 'get' ||\n schema.method === 'head' ||\n schema.method === 'options'\n )\n return;\n\n if (schema.mediaType?.includes('/form-data'))\n return getRequestBodyFormData(info);\n\n if (\n !schema.mediaType?.includes('/json') &&\n (typeof info.body === 'string' ||\n info.body instanceof Blob ||\n info.body instanceof FormData)\n ) {\n return info.body;\n }\n\n return JSON.stringify(info.body);\n}\n\nfunction getRequestBodyFormData({\n body,\n}: Pick<RequestFnPayload, 'body'>): FormData | undefined {\n if (body instanceof FormData) return body;\n if (body === null) return;\n\n if (body instanceof Blob) throw new Error('Blob not supported in form-data');\n if (body instanceof ArrayBuffer)\n throw new Error('ArrayBuffer not supported in form-data');\n if (body instanceof URLSearchParams)\n throw new Error('URLSearchParams not supported in form-data');\n if (body instanceof ReadableStream)\n throw new Error('ReadableStream not supported in form-data');\n if (typeof body === 'string')\n throw new Error('String not supported in form-data');\n if (typeof body !== 'object')\n throw new Error(`Unsupported body type ${typeof body} in form-data.`);\n\n const formData = new FormData();\n\n const process = (key: string, value: any) => {\n if (typeof value === 'string' || value instanceof Blob) {\n formData.append(key, value);\n } else {\n formData.append(key, JSON.stringify(value));\n }\n };\n\n Object.entries(body)\n .filter(([_, value]) => typeof value !== 'undefined' && value !== null)\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach((v) => process(key, v));\n } else {\n process(key, value);\n }\n });\n\n return formData;\n}\n\nfunction getBodyContentType(body: RequestFnPayload['body']) {\n if (!body) return;\n if (body instanceof Blob) return body.type || 'application/octet-stream';\n if (typeof body === 'string') return 'text/plain';\n if (!(body instanceof FormData)) return 'application/json';\n}\n\nasync function processResponse<TData, TError>(\n response: Response\n): Promise<RequestFnResponse<TData, TError>> {\n if (response.status === 204 || response.headers.get('Content-Length') === '0')\n return (\n response.ok ? { data: {}, response } : { error: {}, response }\n ) as RequestFnResponse<TData, TError>;\n\n if (isJsonResponse(response)) {\n // clone response before parsing every time to allow multiple reads\n const jsonResponse = response.clone().json();\n return resolveResponse(\n response,\n response.ok ? jsonResponse : Promise.reject(await jsonResponse)\n );\n }\n\n const jsonResponse = new Promise<TData>((resolve, reject) =>\n // attempt to parse JSON for successful responses, otherwise fail\n response.clone().text().then(JSON.parse).then(resolve, reject)\n );\n\n return resolveResponse(\n response,\n response.ok ? jsonResponse : Promise.reject(await jsonResponse)\n );\n}\n\nfunction isJsonResponse(response: Response) {\n const contentType = response.headers.get('Content-Type')?.toLowerCase();\n return contentType?.includes('/json') || contentType?.includes('+json');\n}\n\nfunction resolveResponse<TData, TError>(\n error: Error\n): Promise<RequestFnResponse<TData, TError>>;\nfunction resolveResponse<TData, TError>(\n responseToReturn: Response,\n responsePromise: Promise<TData>\n): Promise<RequestFnResponse<TData, TError>>;\nfunction resolveResponse<TData, TError>(\n responseToReturn: Response | Error,\n responsePromise?: Promise<TData>\n): Promise<RequestFnResponse<TData, TError>> {\n if (!responsePromise)\n return Promise.reject({\n error: responseToReturn,\n response: undefined,\n data: undefined,\n });\n\n return responsePromise\n .then(\n (data) =>\n ({ data, response: responseToReturn }) as RequestFnResponse<\n TData,\n TError\n >\n )\n .catch(\n (error) =>\n ({ error, response: responseToReturn }) as RequestFnResponse<\n TData,\n TError\n >\n );\n}\n\n// To have definitely typed headers without a conversion to stings\nexport type HeadersOptions =\n | HeadersInit\n | Record<string, string | number | boolean | null | undefined>;\n\nexport interface OperationSchema {\n /**\n * Operation path\n * @example /user/{id}\n */\n readonly url: string; //todo::rename to `path`\n\n /**\n * Operation method\n */\n readonly method:\n | 'get'\n | 'put'\n | 'post'\n | 'patch'\n | 'delete'\n | 'options'\n | 'head'\n | 'trace';\n\n /**\n * Media type of the request body\n * @example application/json\n */\n readonly mediaType?: string;\n\n readonly security?: string[];\n}\n\nexport interface RequestFnPayload {\n /**\n * Base URL to use for the request\n * @example 'https://api.example.com'\n */\n baseUrl?: string;\n\n /**\n * OpenAPI parameters\n * @example\n * ```ts\n * { path: {id: 1}, query: {search: 'hello'} }\n * ```\n */\n readonly parameters?: {\n readonly path?: Record<string, any>;\n readonly header?: Record<string, any>;\n readonly query?: Record<string, any>;\n };\n\n /**\n * Request body\n * @example { name: 'John' }\n */\n readonly body?: BodyInit | Record<string, unknown> | null;\n\n /**\n * Tanstack Query Meta\n */\n meta?: Record<string, unknown>;\n\n /** An AbortSignal to set request's signal. */\n signal?: AbortSignal | null;\n}\n\nexport interface RequestFnInfo\n extends RequestFnPayload,\n Omit<RequestInit, 'headers' | 'method' | 'body' | 'signal'> {\n /**\n * Request headers\n * @example { 'X-Auth': '123' }\n */\n readonly headers?: HeadersOptions;\n}\n\nexport interface RequestFnOptions {\n urlSerializer?: typeof urlSerializer;\n bodySerializer?: typeof bodySerializer;\n fetch?: typeof fetch;\n}\n\nexport type RequestFn<TData, TError> = typeof requestFn<TData, TError>;\n\nexport type RequestFnResponse<TData, TError> =\n | {\n data?: TData;\n response: Response;\n error?: never;\n }\n | {\n // server error\n error?: TError | Error;\n response: Response;\n data?: never;\n }\n | {\n // network error\n error?: Error;\n data?: never;\n response?: never;\n };\n\ntype WithRequired<T, K extends keyof T> = T & {\n [_ in K]: {};\n};\n"],"names":["requestFn","schema","requestInfo","options","baseRequestFn","urlSerializer","bodySerializer","requestSchema","parameters","headers","body","requestInfoRest","requestBody","baseFetch","fetch","method","toUpperCase","mergeHeaders","Accept","mediaType","getBodyContentType","header","FormData","undefined","then","processResponse","catch","resolveResponse","info","path","url","replace","substring","group","Object","prototype","hasOwnProperty","call","encodeURI","String","baseUrl","query","getQueryString","params","qs","append","key","value","push","encodeURIComponent","process","Array","isArray","forEach","v","entries","k","length","join","allHeaders","Headers","headerSet","headersIterator","headerKey","headerValue","delete","set","includes","getRequestBodyFormData","Blob","JSON","stringify","Error","ArrayBuffer","URLSearchParams","ReadableStream","formData","filter","_","type","response","status","get","ok","data","error","isJsonResponse","jsonResponse","clone","json","Promise","reject","resolve","text","parse","contentType","toLowerCase","responseToReturn","responsePromise"],"mappings":"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"}
1
+ {"version":3,"file":"requestFn.js","sources":["../../../src/lib/requestFn.ts"],"sourcesContent":["import type {\n HeadersOptions,\n OperationSchema,\n RequestFnInfo,\n RequestFnOptions,\n RequestFnResponse,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport { processResponse, resolveResponse } from './responseUtils.js';\n\n/**\n * This function is used to make a request to a specified endpoint.\n *\n * @template T The expected return type of the request.\n *\n * @param schema The schema of the operation to be performed. It includes the OpenAPI path, HTTP method and media type.\n * @param requestInfo The information required to make the request. It includes parameters, headers, body, etc.\n * @param [options] Optional. Additional options for the request. It includes custom urlSerializer, bodySerializer, and fetch function.\n *\n * @returns {Promise<T>} Returns a promise that resolves with the response of the request.\n *\n * @throws {error: object|string, response: Response} Throws an error if the request fails. The error includes the error message and the response from the server.\n */\nexport async function requestFn<TData, TError>(\n schema: OperationSchema,\n requestInfo: RequestFnInfo,\n options?: RequestFnOptions\n): Promise<RequestFnResponse<TData, TError>> {\n return baseRequestFn<TData, TError>(schema, requestInfo, {\n urlSerializer,\n bodySerializer,\n ...options,\n });\n}\n\n/**\n * This function is used to make a request to a specified endpoint.\n * It's necessary to create a custom `requestFn` with a custom `urlSerializer`\n * and `bodySerializer`, with the tree-shaking of the default `requestFn`\n * and its serializers.\n *\n * @template T The expected return type of the request.\n *\n * @param requestSchema The schema of the operation to be performed. It includes the OpenAPI path, HTTP method and media type.\n * @param requestInfo The information required to make the request. It includes parameters, headers, body, etc.\n * @param options The options for the request. It includes urlSerializer, bodySerializer, and fetch function. The 'urlSerializer' and 'bodySerializer' are required.\n *\n * @returns {Promise<T>} Returns a promise that resolves with the response of the request.\n *\n * @throws {error: object|string, response: Response} Throws an error if the request fails. The error includes the error message and the response from the server.\n */\nexport async function baseRequestFn<TData, TError>(\n requestSchema: OperationSchema,\n requestInfo: RequestFnInfo,\n options: WithRequired<RequestFnOptions, 'urlSerializer' | 'bodySerializer'>\n): Promise<RequestFnResponse<TData, TError>> {\n const { parameters, headers, body, ...requestInfoRest } = requestInfo;\n\n const requestPayload = options.bodySerializer(requestSchema, body);\n\n const baseFetch = options.fetch ?? fetch;\n\n return baseFetch(options.urlSerializer(requestSchema, requestInfo), {\n method: requestSchema.method.toUpperCase(),\n body: requestPayload?.body,\n headers: mergeHeaders(\n { Accept: 'application/json' },\n requestPayload?.headers,\n headers,\n parameters?.header\n ),\n ...requestInfoRest,\n })\n .then(processResponse as typeof processResponse<TData, TError>)\n .catch(resolveResponse as typeof resolveResponse<TData, TError>);\n}\n\n/**\n * Serializes the given schema and request payload into a URL string.\n *\n * This function is implemented according to the URI Template standard\n * defined in RFC 6570. It supports the expansion of path and query parameters,\n * correctly handling empty arrays, `null`, and `undefined` values by ignoring\n * them during the expansion process, as specified by the standard.\n *\n * For more information, refer to the official documentation:\n * https://datatracker.ietf.org/doc/html/rfc6570\n *\n * @param schema - The operation schema containing the URL template and method.\n * @param info - The request payload including baseUrl, path parameters, and query parameters.\n * @returns The fully constructed URL string.\n */\nexport function urlSerializer(\n schema: OperationSchema,\n info: Pick<RequestFnInfo, 'baseUrl' | 'parameters'>\n): string {\n const path = schema.url.replace(\n /{(.*?)}/g,\n (substring: string, group: string) => {\n if (\n info.parameters?.path &&\n Object.prototype.hasOwnProperty.call(info.parameters.path, group)\n ) {\n return encodeURI(String(info.parameters?.path[group]));\n }\n return substring;\n }\n );\n\n const baseUrl = info.baseUrl ?? '';\n\n if (info.parameters?.query) {\n return `${baseUrl}${path}${getQueryString(info.parameters.query)}`;\n }\n\n return `${baseUrl}${path}`;\n}\n\nfunction getQueryString(params: Record<string, any>): string {\n const qs: string[] = [];\n\n const append = (key: string, value: any) => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n };\n\n const process = (key: string, value: any) => {\n if (typeof value === 'undefined' || value === null) return;\n\n if (Array.isArray(value)) {\n value.forEach((v) => {\n process(key, v);\n });\n } else if (typeof value === 'object') {\n Object.entries(value).forEach(([k, v]) => {\n process(`${key}[${k}]`, v);\n });\n } else {\n append(key, value);\n }\n };\n\n Object.entries(params).forEach(([key, value]) => {\n process(key, value);\n });\n\n if (qs.length > 0) {\n return `?${qs.join('&')}`;\n }\n\n return '';\n}\n\nexport function mergeHeaders(...allHeaders: (HeadersOptions | undefined)[]) {\n const headers = new Headers();\n\n for (const headerSet of allHeaders) {\n if (!headerSet || typeof headerSet !== 'object') {\n continue;\n }\n\n const headersIterator =\n headerSet instanceof Headers\n ? headerSet.entries()\n : Object.entries(headerSet);\n\n for (const [headerKey, headerValue] of headersIterator) {\n if (headerValue === null) {\n headers.delete(headerKey);\n } else if (headerValue !== undefined) {\n headers.set(headerKey, headerValue);\n }\n }\n }\n\n return headers;\n}\n\nexport function bodySerializer(\n schema: OperationSchema,\n body: RequestFnInfo['body']\n) {\n if (\n schema.method === 'get' ||\n schema.method === 'head' ||\n schema.method === 'options'\n )\n return undefined;\n\n if (body === undefined || body === null) return undefined;\n\n if (typeof body === 'string') {\n return {\n body,\n headers: {\n 'Content-Type':\n // prefer text/* media type\n schema.mediaType?.find((mediaType) => mediaType.includes('text/')) ??\n // prefer JSON media type, assume that body is serialized as JSON\n schema.mediaType?.find((mediaType) => mediaType.includes('/json')) ??\n 'text/plain',\n },\n };\n }\n\n if (body instanceof FormData) {\n return {\n body,\n headers: {\n // remove `Content-Type` if the serialized body is FormData;\n // the browser will correctly set Content-Type & boundary expression\n 'Content-Type': null,\n },\n };\n }\n\n if (body instanceof Blob) {\n return {\n body,\n headers: {\n 'Content-Type':\n body.type ||\n schema.mediaType?.find(\n (mediaType) =>\n !(\n mediaType.includes('text/') &&\n mediaType.includes('/form-data') &&\n mediaType.includes('/json')\n )\n ) ||\n 'application/octet-stream',\n },\n };\n }\n\n let jsonMediaType: string | null = null;\n let formDataMediaType: string | null = null;\n\n if (schema.mediaType) {\n for (let i = 0; i < schema.mediaType.length; i++) {\n const mediaType = schema.mediaType[i];\n if (mediaType.includes('/json')) jsonMediaType = mediaType;\n else if (mediaType.includes('/form-data')) formDataMediaType = mediaType;\n }\n }\n\n if (formDataMediaType) {\n if (\n !jsonMediaType ||\n // Prefer FormData serialization if one of the fields is a Blob\n Object.values(body).some((value) => value instanceof Blob)\n ) {\n return {\n body: getRequestBodyFormData(body),\n headers: {\n // remove `Content-Type` if the serialized body is FormData;\n // the browser will correctly set Content-Type & boundary expression\n 'Content-Type': null,\n },\n };\n }\n }\n\n return {\n body: JSON.stringify(body),\n headers: {\n 'Content-Type': jsonMediaType ?? 'application/json',\n },\n };\n}\n\nfunction getRequestBodyFormData(\n body: NonNullable<RequestFnInfo['body']>\n): FormData {\n if (body instanceof FormData) return body;\n if (typeof body !== 'object')\n throw new Error(`Unsupported body type ${typeof body} in form-data.`);\n\n const formData = new FormData();\n\n const process = (key: string, value: any) => {\n if (typeof value === 'string' || value instanceof Blob) {\n formData.append(key, value);\n } else {\n formData.append(key, JSON.stringify(value));\n }\n };\n\n Object.entries(body)\n .filter(([_, value]) => typeof value !== 'undefined' && value !== null)\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach((v) => process(key, v));\n } else {\n process(key, value);\n }\n });\n\n return formData;\n}\n\ntype WithRequired<T, K extends keyof T> = T & {\n [_ in K]: {};\n};\n\nexport type {\n RequestFn,\n RequestFnResponse,\n HeadersOptions,\n RequestFnOptions,\n RequestFnInfo,\n OperationSchema,\n} from '@openapi-qraft/tanstack-query-react-types';\n\n/**\n * @deprecated use `RequestFnInfo` instead\n */\nexport type RequestFnPayload = RequestFnInfo;\n"],"names":["requestFn","schema","requestInfo","options","baseRequestFn","urlSerializer","bodySerializer","requestSchema","parameters","headers","body","requestInfoRest","requestPayload","baseFetch","fetch","method","toUpperCase","mergeHeaders","Accept","header","then","processResponse","catch","resolveResponse","info","path","url","replace","substring","group","Object","prototype","hasOwnProperty","call","encodeURI","String","baseUrl","query","getQueryString","params","qs","append","key","value","push","encodeURIComponent","process","Array","isArray","forEach","v","entries","k","length","join","allHeaders","Headers","headerSet","headersIterator","headerKey","headerValue","delete","undefined","set","mediaType","find","includes","FormData","Blob","type","jsonMediaType","formDataMediaType","i","values","some","getRequestBodyFormData","JSON","stringify","Error","formData","filter","_"],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Processes the response from the server.
3
+ * @beta
4
+ */ async function processResponse(response) {
5
+ if (response.status === 204 || response.headers.get('Content-Length') === '0') return response.ok ? {
6
+ data: {},
7
+ response
8
+ } : {
9
+ error: {},
10
+ response
11
+ };
12
+ if (isJsonResponse(response)) {
13
+ // clone response before parsing every time to allow multiple reads
14
+ const jsonResponse = response.clone().json();
15
+ return resolveResponse(response, response.ok ? jsonResponse : Promise.reject(await jsonResponse));
16
+ }
17
+ const jsonResponse = new Promise((resolve, reject)=>// attempt to parse JSON for successful responses, otherwise fail
18
+ response.clone().text().then(JSON.parse).then(resolve, reject));
19
+ return resolveResponse(response, response.ok ? jsonResponse : Promise.reject(await jsonResponse));
20
+ }
21
+ function resolveResponse(responseToReturn, responsePromise) {
22
+ if (!responsePromise) return Promise.reject({
23
+ error: responseToReturn,
24
+ response: undefined,
25
+ data: undefined
26
+ });
27
+ return responsePromise.then((data)=>({
28
+ data,
29
+ response: responseToReturn
30
+ })).catch((error)=>({
31
+ error,
32
+ response: responseToReturn
33
+ }));
34
+ }
35
+ function isJsonResponse(response) {
36
+ const contentType = response.headers.get('Content-Type')?.toLowerCase();
37
+ return contentType?.includes('/json') || contentType?.includes('+json');
38
+ }
39
+
40
+ export { processResponse, resolveResponse };
41
+ //# sourceMappingURL=responseUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responseUtils.js","sources":["../../../src/lib/responseUtils.ts"],"sourcesContent":["import type { RequestFnResponse } from '@openapi-qraft/tanstack-query-react-types';\n\n/**\n * Processes the response from the server.\n * @beta\n */\nexport async function processResponse<TData, TError>(\n response: Response\n): Promise<RequestFnResponse<TData, TError>> {\n if (response.status === 204 || response.headers.get('Content-Length') === '0')\n return (\n response.ok ? { data: {}, response } : { error: {}, response }\n ) as RequestFnResponse<TData, TError>;\n\n if (isJsonResponse(response)) {\n // clone response before parsing every time to allow multiple reads\n const jsonResponse = response.clone().json();\n return resolveResponse(\n response,\n response.ok ? jsonResponse : Promise.reject(await jsonResponse)\n );\n }\n\n const jsonResponse = new Promise<TData>((resolve, reject) =>\n // attempt to parse JSON for successful responses, otherwise fail\n response.clone().text().then(JSON.parse).then(resolve, reject)\n );\n\n return resolveResponse(\n response,\n response.ok ? jsonResponse : Promise.reject(await jsonResponse)\n );\n}\n\n/**\n * Resolves the response from the server.\n * @beta\n */\nexport function resolveResponse<TData, TError>(\n error: Error\n): Promise<RequestFnResponse<TData, TError>>;\nexport function resolveResponse<TData, TError>(\n responseToReturn: Response,\n responsePromise: Promise<TData>\n): Promise<RequestFnResponse<TData, TError>>;\nexport function resolveResponse<TData, TError>(\n responseToReturn: Response | Error,\n responsePromise?: Promise<TData>\n): Promise<RequestFnResponse<TData, TError>> {\n if (!responsePromise)\n return Promise.reject({\n error: responseToReturn,\n response: undefined,\n data: undefined,\n });\n\n return responsePromise\n .then(\n (data) =>\n ({ data, response: responseToReturn }) as RequestFnResponse<\n TData,\n TError\n >\n )\n .catch(\n (error) =>\n ({ error, response: responseToReturn }) as RequestFnResponse<\n TData,\n TError\n >\n );\n}\n\nfunction isJsonResponse(response: Response) {\n const contentType = response.headers.get('Content-Type')?.toLowerCase();\n return contentType?.includes('/json') || contentType?.includes('+json');\n}\n"],"names":["processResponse","response","status","headers","get","ok","data","error","isJsonResponse","jsonResponse","clone","json","resolveResponse","Promise","reject","resolve","text","then","JSON","parse","responseToReturn","responsePromise","undefined","catch","contentType","toLowerCase","includes"],"mappings":"AAEA;;;IAIO,eAAeA,eAAAA,CACpBC,QAAkB,EAAA;AAElB,IAAA,IAAIA,QAASC,CAAAA,MAAM,KAAK,GAAA,IAAOD,SAASE,OAAO,CAACC,GAAG,CAAC,gBAAsB,CAAA,KAAA,GAAA,EACxE,OACEH,QAAAA,CAASI,EAAE,GAAG;AAAEC,QAAAA,IAAAA,EAAM,EAAC;AAAGL,QAAAA,QAAAA;KAAa,GAAA;AAAEM,QAAAA,KAAAA,EAAO,EAAC;AAAGN,QAAAA,QAAAA;AAAS,KAAA,CAAA;AAGjE,IAAA,IAAIO,eAAeP,QAAW,CAAA,EAAA;;AAE5B,QAAA,MAAMQ,YAAeR,GAAAA,QAAAA,CAASS,KAAK,EAAA,CAAGC,IAAI,EAAA,CAAA;QAC1C,OAAOC,eAAAA,CACLX,UACAA,QAASI,CAAAA,EAAE,GAAGI,YAAeI,GAAAA,OAAAA,CAAQC,MAAM,CAAC,MAAML,YAAAA,CAAAA,CAAAA,CAAAA;AAEtD,KAAA;AAEA,IAAA,MAAMA,eAAe,IAAII,OAAAA,CAAe,CAACE,OAAAA,EAASD;QAEhDb,QAASS,CAAAA,KAAK,EAAGM,CAAAA,IAAI,EAAGC,CAAAA,IAAI,CAACC,IAAAA,CAAKC,KAAK,CAAA,CAAEF,IAAI,CAACF,OAASD,EAAAA,MAAAA,CAAAA,CAAAA,CAAAA;IAGzD,OAAOF,eAAAA,CACLX,UACAA,QAASI,CAAAA,EAAE,GAAGI,YAAeI,GAAAA,OAAAA,CAAQC,MAAM,CAAC,MAAML,YAAAA,CAAAA,CAAAA,CAAAA;AAEtD,CAAA;AAaO,SAASG,eAAAA,CACdQ,gBAAkC,EAClCC,eAAgC,EAAA;AAEhC,IAAA,IAAI,CAACA,eAAAA,EACH,OAAOR,OAAAA,CAAQC,MAAM,CAAC;QACpBP,KAAOa,EAAAA,gBAAAA;QACPnB,QAAUqB,EAAAA,SAAAA;QACVhB,IAAMgB,EAAAA,SAAAA;AACR,KAAA,CAAA,CAAA;AAEF,IAAA,OAAOD,eACJJ,CAAAA,IAAI,CACH,CAACX,QACE;AAAEA,YAAAA,IAAAA;YAAML,QAAUmB,EAAAA,gBAAAA;AAAiB,SAAA,CAKvCG,CAAAA,CAAAA,KAAK,CACJ,CAAChB,SACE;AAAEA,YAAAA,KAAAA;YAAON,QAAUmB,EAAAA,gBAAAA;SAAiB,CAAA,CAAA,CAAA;AAK7C,CAAA;AAEA,SAASZ,eAAeP,QAAkB,EAAA;AACxC,IAAA,MAAMuB,cAAcvB,QAASE,CAAAA,OAAO,CAACC,GAAG,CAAC,cAAiBqB,CAAAA,EAAAA,WAAAA,EAAAA,CAAAA;AAC1D,IAAA,OAAOD,WAAaE,EAAAA,QAAAA,CAAS,OAAYF,CAAAA,IAAAA,WAAAA,EAAaE,QAAS,CAAA,OAAA,CAAA,CAAA;AACjE;;;;"}
@@ -9,8 +9,7 @@ import { shelfMerge } from './shelfMerge.js';
9
9
  * @internal
10
10
  */ function useComposeUseQueryOptions(qraftOptions, schema, args, infinite) {
11
11
  const [parameters, options] = args;
12
- const queryFn = options?.queryFn ?? // @ts-expect-error - Too complex to type
13
- function({ queryKey: [, queryParams], signal, meta, pageParam }) {
12
+ const queryFn = options?.queryFn ?? function({ queryKey: [, queryParams], signal, meta, pageParam }) {
14
13
  return qraftOptions.requestFn(schema, {
15
14
  // @ts-expect-error - Too complex to type
16
15
  parameters: infinite ? shelfMerge(2, queryParams, pageParam) : queryParams,
@@ -1 +1 @@
1
- {"version":3,"file":"useComposeUseQueryOptions.js","sources":["../../../src/lib/useComposeUseQueryOptions.ts"],"sourcesContent":["'use client';\n\nimport type { QueryClient } from '@tanstack/query-core';\nimport type { UseQueryOptions } from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { ServiceOperationQueryKey } from '../service-operation/ServiceOperationKey.js';\nimport type { OperationSchema } from './requestFn.js';\nimport { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';\nimport { composeQueryKey } from './composeQueryKey.js';\nimport { requestFnResponseResolver } from './requestFnResponseResolver.js';\nimport { shelfMerge } from './shelfMerge.js';\n\n/**\n * Composes the options for useQuery, useInfiniteQuery, useSuspenseQuery, and useSuspenseQueries.\n * @internal\n */\nexport function useComposeUseQueryOptions(\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema,\n args: UseQueryOptionsArgs,\n infinite: boolean\n): never {\n const [parameters, options] = args;\n\n const queryFn =\n options?.queryFn ??\n // @ts-expect-error - Too complex to type\n function ({ queryKey: [, queryParams], signal, meta, pageParam }) {\n return qraftOptions\n .requestFn(schema, {\n // @ts-expect-error - Too complex to type\n parameters: infinite\n ? (shelfMerge(2, queryParams, pageParam) as never)\n : queryParams,\n baseUrl: qraftOptions.baseUrl,\n signal,\n meta,\n })\n .then(requestFnResponseResolver, requestFnResponseResolver);\n };\n\n const queryKey = Array.isArray(parameters)\n ? (parameters as ServiceOperationQueryKey<OperationSchema, unknown>)\n : infinite\n ? composeInfiniteQueryKey(schema, parameters)\n : composeQueryKey(schema, parameters);\n\n return [{ ...options, queryFn, queryKey }, qraftOptions.queryClient] as never;\n}\n\ntype UseQueryOptionsArgs = [\n parameters: unknown,\n options?: UseQueryOptions,\n queryClient?: QueryClient,\n];\n"],"names":["useComposeUseQueryOptions","qraftOptions","schema","args","infinite","parameters","options","queryFn","queryKey","queryParams","signal","meta","pageParam","requestFn","shelfMerge","baseUrl","then","requestFnResponseResolver","Array","isArray","composeInfiniteQueryKey","composeQueryKey","queryClient"],"mappings":"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"}
1
+ {"version":3,"file":"useComposeUseQueryOptions.js","sources":["../../../src/lib/useComposeUseQueryOptions.ts"],"sourcesContent":["'use client';\n\nimport type { ServiceOperationQueryKey } from '@openapi-qraft/tanstack-query-react-types';\nimport type { QueryClient } from '@tanstack/query-core';\nimport type { UseQueryOptions } from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { OperationSchema } from './requestFn.js';\nimport { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';\nimport { composeQueryKey } from './composeQueryKey.js';\nimport { requestFnResponseResolver } from './requestFnResponseResolver.js';\nimport { shelfMerge } from './shelfMerge.js';\n\n/**\n * Composes the options for useQuery, useInfiniteQuery, useSuspenseQuery, and useSuspenseQueries.\n * @internal\n */\nexport function useComposeUseQueryOptions(\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema,\n args: UseQueryOptionsArgs,\n infinite: boolean\n): never {\n const [parameters, options] = args;\n\n const queryFn =\n options?.queryFn ??\n function ({ queryKey: [, queryParams], signal, meta, pageParam }) {\n return qraftOptions\n .requestFn(schema, {\n // @ts-expect-error - Too complex to type\n parameters: infinite\n ? (shelfMerge(2, queryParams, pageParam) as never)\n : queryParams,\n baseUrl: qraftOptions.baseUrl,\n signal,\n meta,\n })\n .then(requestFnResponseResolver, requestFnResponseResolver);\n };\n\n const queryKey = Array.isArray(parameters)\n ? (parameters as ServiceOperationQueryKey<OperationSchema, unknown>)\n : infinite\n ? composeInfiniteQueryKey(schema, parameters)\n : composeQueryKey(schema, parameters);\n\n return [{ ...options, queryFn, queryKey }, qraftOptions.queryClient] as never;\n}\n\ntype UseQueryOptionsArgs = [\n parameters: unknown,\n options?: UseQueryOptions,\n queryClient?: QueryClient,\n];\n"],"names":["useComposeUseQueryOptions","qraftOptions","schema","args","infinite","parameters","options","queryFn","queryKey","queryParams","signal","meta","pageParam","requestFn","shelfMerge","baseUrl","then","requestFnResponseResolver","Array","isArray","composeInfiniteQueryKey","composeQueryKey","queryClient"],"mappings":"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"}
@@ -12,7 +12,7 @@ function qraftAPIClient(services, callbacks, options) {
12
12
  const serviceOperation = getByPath(services, path);
13
13
  if (!isServiceOperation(serviceOperation)) throw new Error(`Service operation not found: ${path.join('.')}`);
14
14
  if (callbackName !== 'operationInvokeFn' && callbackName !== 'getQueryKey' && callbackName !== 'getMutationKey') {
15
- if (!('queryClient' in options && options.queryClient)) throw new Error(`'qraft.<service>.<operation>.${String(callbackName)}()' requires 'queryClient' in options.`);
15
+ if (!options || !('queryClient' in options && options.queryClient)) throw new Error(`'qraft.<service>.<operation>.${String(callbackName)}()' requires 'queryClient' in options.`);
16
16
  }
17
17
  // @ts-expect-error - Too complex union type
18
18
  return callbacks[callbackName](options, serviceOperation.schema, args);