@openapi-qraft/react 1.10.1 → 1.11.0-beta.1

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 (374) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/index.cjs +1267 -0
  3. package/dist/cjs/index.cjs.map +1 -0
  4. package/dist/cjs/index.d.cts +1035 -0
  5. package/dist/esm/index.d.ts +1035 -0
  6. package/dist/esm/index.js +1220 -0
  7. package/dist/esm/index.js.map +1 -0
  8. package/package.json +22 -17
  9. package/src/callbacks/index.ts +35 -0
  10. package/src/index.ts +15 -1
  11. package/dist/QraftContext.d.ts +0 -20
  12. package/dist/QraftContext.d.ts.map +0 -1
  13. package/dist/QraftContext.js +0 -4
  14. package/dist/QraftContext.js.map +0 -1
  15. package/dist/ServiceOperation.d.ts +0 -44
  16. package/dist/ServiceOperation.d.ts.map +0 -1
  17. package/dist/ServiceOperation.js +0 -2
  18. package/dist/ServiceOperation.js.map +0 -1
  19. package/dist/Unstable_QraftSecureRequestFn.d.ts +0 -81
  20. package/dist/Unstable_QraftSecureRequestFn.d.ts.map +0 -1
  21. package/dist/Unstable_QraftSecureRequestFn.js +0 -187
  22. package/dist/Unstable_QraftSecureRequestFn.js.map +0 -1
  23. package/dist/callbacks/cancelQueries.d.ts +0 -5
  24. package/dist/callbacks/cancelQueries.d.ts.map +0 -1
  25. package/dist/callbacks/cancelQueries.js +0 -5
  26. package/dist/callbacks/cancelQueries.js.map +0 -1
  27. package/dist/callbacks/fetchInfiniteQuery.d.ts +0 -7
  28. package/dist/callbacks/fetchInfiniteQuery.d.ts.map +0 -1
  29. package/dist/callbacks/fetchInfiniteQuery.js +0 -5
  30. package/dist/callbacks/fetchInfiniteQuery.js.map +0 -1
  31. package/dist/callbacks/fetchQuery.d.ts +0 -7
  32. package/dist/callbacks/fetchQuery.d.ts.map +0 -1
  33. package/dist/callbacks/fetchQuery.js +0 -5
  34. package/dist/callbacks/fetchQuery.js.map +0 -1
  35. package/dist/callbacks/getInfiniteQueryData.d.ts +0 -6
  36. package/dist/callbacks/getInfiniteQueryData.d.ts.map +0 -1
  37. package/dist/callbacks/getInfiniteQueryData.js +0 -5
  38. package/dist/callbacks/getInfiniteQueryData.js.map +0 -1
  39. package/dist/callbacks/getInfiniteQueryKey.d.ts +0 -5
  40. package/dist/callbacks/getInfiniteQueryKey.d.ts.map +0 -1
  41. package/dist/callbacks/getInfiniteQueryKey.js +0 -5
  42. package/dist/callbacks/getInfiniteQueryKey.js.map +0 -1
  43. package/dist/callbacks/getInfiniteQueryState.d.ts +0 -5
  44. package/dist/callbacks/getInfiniteQueryState.d.ts.map +0 -1
  45. package/dist/callbacks/getInfiniteQueryState.js +0 -5
  46. package/dist/callbacks/getInfiniteQueryState.js.map +0 -1
  47. package/dist/callbacks/getMutationKey.d.ts +0 -5
  48. package/dist/callbacks/getMutationKey.d.ts.map +0 -1
  49. package/dist/callbacks/getMutationKey.js +0 -5
  50. package/dist/callbacks/getMutationKey.js.map +0 -1
  51. package/dist/callbacks/getQueriesData.d.ts +0 -5
  52. package/dist/callbacks/getQueriesData.d.ts.map +0 -1
  53. package/dist/callbacks/getQueriesData.js +0 -5
  54. package/dist/callbacks/getQueriesData.js.map +0 -1
  55. package/dist/callbacks/getQueryData.d.ts +0 -5
  56. package/dist/callbacks/getQueryData.d.ts.map +0 -1
  57. package/dist/callbacks/getQueryData.js +0 -5
  58. package/dist/callbacks/getQueryData.js.map +0 -1
  59. package/dist/callbacks/getQueryKey.d.ts +0 -5
  60. package/dist/callbacks/getQueryKey.d.ts.map +0 -1
  61. package/dist/callbacks/getQueryKey.js +0 -5
  62. package/dist/callbacks/getQueryKey.js.map +0 -1
  63. package/dist/callbacks/getQueryState.d.ts +0 -5
  64. package/dist/callbacks/getQueryState.d.ts.map +0 -1
  65. package/dist/callbacks/getQueryState.js +0 -5
  66. package/dist/callbacks/getQueryState.js.map +0 -1
  67. package/dist/callbacks/invalidateQueries.d.ts +0 -5
  68. package/dist/callbacks/invalidateQueries.d.ts.map +0 -1
  69. package/dist/callbacks/invalidateQueries.js +0 -5
  70. package/dist/callbacks/invalidateQueries.js.map +0 -1
  71. package/dist/callbacks/isFetching.d.ts +0 -5
  72. package/dist/callbacks/isFetching.d.ts.map +0 -1
  73. package/dist/callbacks/isFetching.js +0 -5
  74. package/dist/callbacks/isFetching.js.map +0 -1
  75. package/dist/callbacks/isMutating.d.ts +0 -5
  76. package/dist/callbacks/isMutating.d.ts.map +0 -1
  77. package/dist/callbacks/isMutating.js +0 -5
  78. package/dist/callbacks/isMutating.js.map +0 -1
  79. package/dist/callbacks/mutationFn.d.ts +0 -4
  80. package/dist/callbacks/mutationFn.d.ts.map +0 -1
  81. package/dist/callbacks/mutationFn.js +0 -8
  82. package/dist/callbacks/mutationFn.js.map +0 -1
  83. package/dist/callbacks/operationInvokeFn.d.ts +0 -9
  84. package/dist/callbacks/operationInvokeFn.d.ts.map +0 -1
  85. package/dist/callbacks/operationInvokeFn.js +0 -21
  86. package/dist/callbacks/operationInvokeFn.js.map +0 -1
  87. package/dist/callbacks/prefetchInfiniteQuery.d.ts +0 -7
  88. package/dist/callbacks/prefetchInfiniteQuery.d.ts.map +0 -1
  89. package/dist/callbacks/prefetchInfiniteQuery.js +0 -5
  90. package/dist/callbacks/prefetchInfiniteQuery.js.map +0 -1
  91. package/dist/callbacks/prefetchQuery.d.ts +0 -7
  92. package/dist/callbacks/prefetchQuery.d.ts.map +0 -1
  93. package/dist/callbacks/prefetchQuery.js +0 -5
  94. package/dist/callbacks/prefetchQuery.js.map +0 -1
  95. package/dist/callbacks/queryFn.d.ts +0 -7
  96. package/dist/callbacks/queryFn.d.ts.map +0 -1
  97. package/dist/callbacks/queryFn.js +0 -11
  98. package/dist/callbacks/queryFn.js.map +0 -1
  99. package/dist/callbacks/refetchQueries.d.ts +0 -5
  100. package/dist/callbacks/refetchQueries.d.ts.map +0 -1
  101. package/dist/callbacks/refetchQueries.js +0 -5
  102. package/dist/callbacks/refetchQueries.js.map +0 -1
  103. package/dist/callbacks/removeQueries.d.ts +0 -5
  104. package/dist/callbacks/removeQueries.d.ts.map +0 -1
  105. package/dist/callbacks/removeQueries.js +0 -5
  106. package/dist/callbacks/removeQueries.js.map +0 -1
  107. package/dist/callbacks/resetQueries.d.ts +0 -5
  108. package/dist/callbacks/resetQueries.d.ts.map +0 -1
  109. package/dist/callbacks/resetQueries.js +0 -5
  110. package/dist/callbacks/resetQueries.js.map +0 -1
  111. package/dist/callbacks/setInfiniteQueryData.d.ts +0 -6
  112. package/dist/callbacks/setInfiniteQueryData.d.ts.map +0 -1
  113. package/dist/callbacks/setInfiniteQueryData.js +0 -5
  114. package/dist/callbacks/setInfiniteQueryData.js.map +0 -1
  115. package/dist/callbacks/setQueriesData.d.ts +0 -5
  116. package/dist/callbacks/setQueriesData.d.ts.map +0 -1
  117. package/dist/callbacks/setQueriesData.js +0 -5
  118. package/dist/callbacks/setQueriesData.js.map +0 -1
  119. package/dist/callbacks/setQueryData.d.ts +0 -5
  120. package/dist/callbacks/setQueryData.d.ts.map +0 -1
  121. package/dist/callbacks/setQueryData.js +0 -5
  122. package/dist/callbacks/setQueryData.js.map +0 -1
  123. package/dist/callbacks/useInfiniteQuery.d.ts +0 -7
  124. package/dist/callbacks/useInfiniteQuery.d.ts.map +0 -1
  125. package/dist/callbacks/useInfiniteQuery.js +0 -9
  126. package/dist/callbacks/useInfiniteQuery.js.map +0 -1
  127. package/dist/callbacks/useIsFetching.d.ts +0 -5
  128. package/dist/callbacks/useIsFetching.d.ts.map +0 -1
  129. package/dist/callbacks/useIsFetching.js +0 -9
  130. package/dist/callbacks/useIsFetching.js.map +0 -1
  131. package/dist/callbacks/useIsMutating.d.ts +0 -7
  132. package/dist/callbacks/useIsMutating.d.ts.map +0 -1
  133. package/dist/callbacks/useIsMutating.js +0 -9
  134. package/dist/callbacks/useIsMutating.js.map +0 -1
  135. package/dist/callbacks/useMutation.d.ts +0 -7
  136. package/dist/callbacks/useMutation.d.ts.map +0 -1
  137. package/dist/callbacks/useMutation.js +0 -42
  138. package/dist/callbacks/useMutation.js.map +0 -1
  139. package/dist/callbacks/useMutationState.d.ts +0 -7
  140. package/dist/callbacks/useMutationState.d.ts.map +0 -1
  141. package/dist/callbacks/useMutationState.js +0 -12
  142. package/dist/callbacks/useMutationState.js.map +0 -1
  143. package/dist/callbacks/useQueries.d.ts +0 -6
  144. package/dist/callbacks/useQueries.d.ts.map +0 -1
  145. package/dist/callbacks/useQueries.js +0 -40
  146. package/dist/callbacks/useQueries.js.map +0 -1
  147. package/dist/callbacks/useQuery.d.ts +0 -7
  148. package/dist/callbacks/useQuery.d.ts.map +0 -1
  149. package/dist/callbacks/useQuery.js +0 -9
  150. package/dist/callbacks/useQuery.js.map +0 -1
  151. package/dist/callbacks/useSuspenseInfiniteQuery.d.ts +0 -7
  152. package/dist/callbacks/useSuspenseInfiniteQuery.d.ts.map +0 -1
  153. package/dist/callbacks/useSuspenseInfiniteQuery.js +0 -9
  154. package/dist/callbacks/useSuspenseInfiniteQuery.js.map +0 -1
  155. package/dist/callbacks/useSuspenseQueries.d.ts +0 -6
  156. package/dist/callbacks/useSuspenseQueries.d.ts.map +0 -1
  157. package/dist/callbacks/useSuspenseQueries.js +0 -40
  158. package/dist/callbacks/useSuspenseQueries.js.map +0 -1
  159. package/dist/callbacks/useSuspenseQuery.d.ts +0 -7
  160. package/dist/callbacks/useSuspenseQuery.d.ts.map +0 -1
  161. package/dist/callbacks/useSuspenseQuery.js +0 -9
  162. package/dist/callbacks/useSuspenseQuery.js.map +0 -1
  163. package/dist/index.d.ts +0 -5
  164. package/dist/index.d.ts.map +0 -1
  165. package/dist/index.js +0 -5
  166. package/dist/index.js.map +0 -1
  167. package/dist/lib/PartialParameters.type.d.ts +0 -13
  168. package/dist/lib/PartialParameters.type.d.ts.map +0 -1
  169. package/dist/lib/PartialParameters.type.js +0 -2
  170. package/dist/lib/PartialParameters.type.js.map +0 -1
  171. package/dist/lib/callQueryClientFetchMethod.d.ts +0 -20
  172. package/dist/lib/callQueryClientFetchMethod.d.ts.map +0 -1
  173. package/dist/lib/callQueryClientFetchMethod.js +0 -48
  174. package/dist/lib/callQueryClientFetchMethod.js.map +0 -1
  175. package/dist/lib/callQueryClientMethodWithMutationFilters.d.ts +0 -11
  176. package/dist/lib/callQueryClientMethodWithMutationFilters.d.ts.map +0 -1
  177. package/dist/lib/callQueryClientMethodWithMutationFilters.js +0 -18
  178. package/dist/lib/callQueryClientMethodWithMutationFilters.js.map +0 -1
  179. package/dist/lib/callQueryClientMethodWithQueryFilters.d.ts +0 -11
  180. package/dist/lib/callQueryClientMethodWithQueryFilters.d.ts.map +0 -1
  181. package/dist/lib/callQueryClientMethodWithQueryFilters.js +0 -18
  182. package/dist/lib/callQueryClientMethodWithQueryFilters.js.map +0 -1
  183. package/dist/lib/callQueryClientMethodWithQueryKey.d.ts +0 -11
  184. package/dist/lib/callQueryClientMethodWithQueryKey.d.ts.map +0 -1
  185. package/dist/lib/callQueryClientMethodWithQueryKey.js +0 -22
  186. package/dist/lib/callQueryClientMethodWithQueryKey.js.map +0 -1
  187. package/dist/lib/composeBaseQueryKey.d.ts +0 -6
  188. package/dist/lib/composeBaseQueryKey.d.ts.map +0 -1
  189. package/dist/lib/composeBaseQueryKey.js +0 -7
  190. package/dist/lib/composeBaseQueryKey.js.map +0 -1
  191. package/dist/lib/composeInfiniteQueryKey.d.ts +0 -4
  192. package/dist/lib/composeInfiniteQueryKey.d.ts.map +0 -1
  193. package/dist/lib/composeInfiniteQueryKey.js +0 -5
  194. package/dist/lib/composeInfiniteQueryKey.js.map +0 -1
  195. package/dist/lib/composeMutationFilters.d.ts +0 -11
  196. package/dist/lib/composeMutationFilters.d.ts.map +0 -1
  197. package/dist/lib/composeMutationFilters.js +0 -32
  198. package/dist/lib/composeMutationFilters.js.map +0 -1
  199. package/dist/lib/composeMutationKey.d.ts +0 -10
  200. package/dist/lib/composeMutationKey.d.ts.map +0 -1
  201. package/dist/lib/composeMutationKey.js +0 -21
  202. package/dist/lib/composeMutationKey.js.map +0 -1
  203. package/dist/lib/composeQueryFilters.d.ts +0 -14
  204. package/dist/lib/composeQueryFilters.d.ts.map +0 -1
  205. package/dist/lib/composeQueryFilters.js +0 -38
  206. package/dist/lib/composeQueryFilters.js.map +0 -1
  207. package/dist/lib/composeQueryKey.d.ts +0 -4
  208. package/dist/lib/composeQueryKey.d.ts.map +0 -1
  209. package/dist/lib/composeQueryKey.js +0 -5
  210. package/dist/lib/composeQueryKey.js.map +0 -1
  211. package/dist/lib/createRecursiveProxy.d.ts +0 -15
  212. package/dist/lib/createRecursiveProxy.d.ts.map +0 -1
  213. package/dist/lib/createRecursiveProxy.js +0 -36
  214. package/dist/lib/createRecursiveProxy.js.map +0 -1
  215. package/dist/lib/jwt-decode/index.d.ts +0 -29
  216. package/dist/lib/jwt-decode/index.d.ts.map +0 -1
  217. package/dist/lib/jwt-decode/index.js +0 -61
  218. package/dist/lib/jwt-decode/index.js.map +0 -1
  219. package/dist/lib/jwt-decode/index.test.d.ts +0 -2
  220. package/dist/lib/jwt-decode/index.test.d.ts.map +0 -1
  221. package/dist/lib/jwt-decode/index.test.js +0 -99
  222. package/dist/lib/jwt-decode/index.test.js.map +0 -1
  223. package/dist/lib/requestFn.d.ts +0 -100
  224. package/dist/lib/requestFn.d.ts.map +0 -1
  225. package/dist/lib/requestFn.js +0 -209
  226. package/dist/lib/requestFn.js.map +0 -1
  227. package/dist/lib/shelfMerge.d.ts +0 -7
  228. package/dist/lib/shelfMerge.d.ts.map +0 -1
  229. package/dist/lib/shelfMerge.js +0 -28
  230. package/dist/lib/shelfMerge.js.map +0 -1
  231. package/dist/lib/useComposeUseQueryOptions.d.ts +0 -16
  232. package/dist/lib/useComposeUseQueryOptions.d.ts.map +0 -1
  233. package/dist/lib/useComposeUseQueryOptions.js +0 -40
  234. package/dist/lib/useComposeUseQueryOptions.js.map +0 -1
  235. package/dist/lib/useQueryClient.d.ts +0 -9
  236. package/dist/lib/useQueryClient.d.ts.map +0 -1
  237. package/dist/lib/useQueryClient.js +0 -14
  238. package/dist/lib/useQueryClient.js.map +0 -1
  239. package/dist/qraftAPIClient.d.ts +0 -24
  240. package/dist/qraftAPIClient.d.ts.map +0 -1
  241. package/dist/qraftAPIClient.js +0 -50
  242. package/dist/qraftAPIClient.js.map +0 -1
  243. package/dist/service-operation/OperationInfiniteData.d.ts +0 -4
  244. package/dist/service-operation/OperationInfiniteData.d.ts.map +0 -1
  245. package/dist/service-operation/OperationInfiniteData.js +0 -2
  246. package/dist/service-operation/OperationInfiniteData.js.map +0 -1
  247. package/dist/service-operation/QueryFilters.d.ts +0 -123
  248. package/dist/service-operation/QueryFilters.d.ts.map +0 -1
  249. package/dist/service-operation/QueryFilters.js +0 -2
  250. package/dist/service-operation/QueryFilters.js.map +0 -1
  251. package/dist/service-operation/ServiceOperation.d.ts +0 -53
  252. package/dist/service-operation/ServiceOperation.d.ts.map +0 -1
  253. package/dist/service-operation/ServiceOperation.js +0 -2
  254. package/dist/service-operation/ServiceOperation.js.map +0 -1
  255. package/dist/service-operation/ServiceOperationCancelQueries.d.ts +0 -20
  256. package/dist/service-operation/ServiceOperationCancelQueries.d.ts.map +0 -1
  257. package/dist/service-operation/ServiceOperationCancelQueries.js +0 -2
  258. package/dist/service-operation/ServiceOperationCancelQueries.js.map +0 -1
  259. package/dist/service-operation/ServiceOperationFetchInfiniteQuery.d.ts +0 -58
  260. package/dist/service-operation/ServiceOperationFetchInfiniteQuery.d.ts.map +0 -1
  261. package/dist/service-operation/ServiceOperationFetchInfiniteQuery.js +0 -2
  262. package/dist/service-operation/ServiceOperationFetchInfiniteQuery.js.map +0 -1
  263. package/dist/service-operation/ServiceOperationFetchQuery.d.ts +0 -49
  264. package/dist/service-operation/ServiceOperationFetchQuery.d.ts.map +0 -1
  265. package/dist/service-operation/ServiceOperationFetchQuery.js +0 -2
  266. package/dist/service-operation/ServiceOperationFetchQuery.js.map +0 -1
  267. package/dist/service-operation/ServiceOperationGetInfiniteQueryData.d.ts +0 -10
  268. package/dist/service-operation/ServiceOperationGetInfiniteQueryData.d.ts.map +0 -1
  269. package/dist/service-operation/ServiceOperationGetInfiniteQueryData.js +0 -2
  270. package/dist/service-operation/ServiceOperationGetInfiniteQueryData.js.map +0 -1
  271. package/dist/service-operation/ServiceOperationGetQueriesData.d.ts +0 -18
  272. package/dist/service-operation/ServiceOperationGetQueriesData.d.ts.map +0 -1
  273. package/dist/service-operation/ServiceOperationGetQueriesData.js +0 -2
  274. package/dist/service-operation/ServiceOperationGetQueriesData.js.map +0 -1
  275. package/dist/service-operation/ServiceOperationGetQueryData.d.ts +0 -9
  276. package/dist/service-operation/ServiceOperationGetQueryData.d.ts.map +0 -1
  277. package/dist/service-operation/ServiceOperationGetQueryData.js +0 -2
  278. package/dist/service-operation/ServiceOperationGetQueryData.js.map +0 -1
  279. package/dist/service-operation/ServiceOperationGetQueryState.d.ts +0 -11
  280. package/dist/service-operation/ServiceOperationGetQueryState.d.ts.map +0 -1
  281. package/dist/service-operation/ServiceOperationGetQueryState.js +0 -2
  282. package/dist/service-operation/ServiceOperationGetQueryState.js.map +0 -1
  283. package/dist/service-operation/ServiceOperationInvalidateQueries.d.ts +0 -26
  284. package/dist/service-operation/ServiceOperationInvalidateQueries.d.ts.map +0 -1
  285. package/dist/service-operation/ServiceOperationInvalidateQueries.js +0 -2
  286. package/dist/service-operation/ServiceOperationInvalidateQueries.js.map +0 -1
  287. package/dist/service-operation/ServiceOperationIsFetchingQueries.d.ts +0 -19
  288. package/dist/service-operation/ServiceOperationIsFetchingQueries.d.ts.map +0 -1
  289. package/dist/service-operation/ServiceOperationIsFetchingQueries.js +0 -2
  290. package/dist/service-operation/ServiceOperationIsFetchingQueries.js.map +0 -1
  291. package/dist/service-operation/ServiceOperationIsMutatingQueries.d.ts +0 -19
  292. package/dist/service-operation/ServiceOperationIsMutatingQueries.d.ts.map +0 -1
  293. package/dist/service-operation/ServiceOperationIsMutatingQueries.js +0 -2
  294. package/dist/service-operation/ServiceOperationIsMutatingQueries.js.map +0 -1
  295. package/dist/service-operation/ServiceOperationKey.d.ts +0 -16
  296. package/dist/service-operation/ServiceOperationKey.d.ts.map +0 -1
  297. package/dist/service-operation/ServiceOperationKey.js +0 -2
  298. package/dist/service-operation/ServiceOperationKey.js.map +0 -1
  299. package/dist/service-operation/ServiceOperationMutationFn.d.ts +0 -47
  300. package/dist/service-operation/ServiceOperationMutationFn.d.ts.map +0 -1
  301. package/dist/service-operation/ServiceOperationMutationFn.js +0 -2
  302. package/dist/service-operation/ServiceOperationMutationFn.js.map +0 -1
  303. package/dist/service-operation/ServiceOperationQueryFn.d.ts +0 -79
  304. package/dist/service-operation/ServiceOperationQueryFn.d.ts.map +0 -1
  305. package/dist/service-operation/ServiceOperationQueryFn.js +0 -2
  306. package/dist/service-operation/ServiceOperationQueryFn.js.map +0 -1
  307. package/dist/service-operation/ServiceOperationRefetchQueries.d.ts +0 -30
  308. package/dist/service-operation/ServiceOperationRefetchQueries.d.ts.map +0 -1
  309. package/dist/service-operation/ServiceOperationRefetchQueries.js +0 -2
  310. package/dist/service-operation/ServiceOperationRefetchQueries.js.map +0 -1
  311. package/dist/service-operation/ServiceOperationRemoveQueries.d.ts +0 -19
  312. package/dist/service-operation/ServiceOperationRemoveQueries.d.ts.map +0 -1
  313. package/dist/service-operation/ServiceOperationRemoveQueries.js +0 -2
  314. package/dist/service-operation/ServiceOperationRemoveQueries.js.map +0 -1
  315. package/dist/service-operation/ServiceOperationResetQueries.d.ts +0 -20
  316. package/dist/service-operation/ServiceOperationResetQueries.d.ts.map +0 -1
  317. package/dist/service-operation/ServiceOperationResetQueries.js +0 -2
  318. package/dist/service-operation/ServiceOperationResetQueries.js.map +0 -1
  319. package/dist/service-operation/ServiceOperationSetInfiniteQueryData.d.ts +0 -10
  320. package/dist/service-operation/ServiceOperationSetInfiniteQueryData.d.ts.map +0 -1
  321. package/dist/service-operation/ServiceOperationSetInfiniteQueryData.js +0 -2
  322. package/dist/service-operation/ServiceOperationSetInfiniteQueryData.js.map +0 -1
  323. package/dist/service-operation/ServiceOperationSetQueriesData.d.ts +0 -20
  324. package/dist/service-operation/ServiceOperationSetQueriesData.d.ts.map +0 -1
  325. package/dist/service-operation/ServiceOperationSetQueriesData.js +0 -2
  326. package/dist/service-operation/ServiceOperationSetQueriesData.js.map +0 -1
  327. package/dist/service-operation/ServiceOperationSetQueryData.d.ts +0 -19
  328. package/dist/service-operation/ServiceOperationSetQueryData.d.ts.map +0 -1
  329. package/dist/service-operation/ServiceOperationSetQueryData.js +0 -2
  330. package/dist/service-operation/ServiceOperationSetQueryData.js.map +0 -1
  331. package/dist/service-operation/ServiceOperationUseInfiniteQuery.d.ts +0 -14
  332. package/dist/service-operation/ServiceOperationUseInfiniteQuery.d.ts.map +0 -1
  333. package/dist/service-operation/ServiceOperationUseInfiniteQuery.js +0 -2
  334. package/dist/service-operation/ServiceOperationUseInfiniteQuery.js.map +0 -1
  335. package/dist/service-operation/ServiceOperationUseIsFetchingQueries.d.ts +0 -9
  336. package/dist/service-operation/ServiceOperationUseIsFetchingQueries.d.ts.map +0 -1
  337. package/dist/service-operation/ServiceOperationUseIsFetchingQueries.js +0 -2
  338. package/dist/service-operation/ServiceOperationUseIsFetchingQueries.js.map +0 -1
  339. package/dist/service-operation/ServiceOperationUseIsMutating.d.ts +0 -9
  340. package/dist/service-operation/ServiceOperationUseIsMutating.d.ts.map +0 -1
  341. package/dist/service-operation/ServiceOperationUseIsMutating.js +0 -2
  342. package/dist/service-operation/ServiceOperationUseIsMutating.js.map +0 -1
  343. package/dist/service-operation/ServiceOperationUseMutation.d.ts +0 -17
  344. package/dist/service-operation/ServiceOperationUseMutation.d.ts.map +0 -1
  345. package/dist/service-operation/ServiceOperationUseMutation.js +0 -2
  346. package/dist/service-operation/ServiceOperationUseMutation.js.map +0 -1
  347. package/dist/service-operation/ServiceOperationUseMutationState.d.ts +0 -46
  348. package/dist/service-operation/ServiceOperationUseMutationState.d.ts.map +0 -1
  349. package/dist/service-operation/ServiceOperationUseMutationState.js +0 -2
  350. package/dist/service-operation/ServiceOperationUseMutationState.js.map +0 -1
  351. package/dist/service-operation/ServiceOperationUseQueries.d.ts +0 -20
  352. package/dist/service-operation/ServiceOperationUseQueries.d.ts.map +0 -1
  353. package/dist/service-operation/ServiceOperationUseQueries.js +0 -2
  354. package/dist/service-operation/ServiceOperationUseQueries.js.map +0 -1
  355. package/dist/service-operation/ServiceOperationUseQuery.d.ts +0 -12
  356. package/dist/service-operation/ServiceOperationUseQuery.d.ts.map +0 -1
  357. package/dist/service-operation/ServiceOperationUseQuery.js +0 -2
  358. package/dist/service-operation/ServiceOperationUseQuery.js.map +0 -1
  359. package/dist/service-operation/ServiceOperationUseSuspenseInfiniteQuery.d.ts +0 -12
  360. package/dist/service-operation/ServiceOperationUseSuspenseInfiniteQuery.d.ts.map +0 -1
  361. package/dist/service-operation/ServiceOperationUseSuspenseInfiniteQuery.js +0 -2
  362. package/dist/service-operation/ServiceOperationUseSuspenseInfiniteQuery.js.map +0 -1
  363. package/dist/service-operation/ServiceOperationUseSuspenseQueries.d.ts +0 -18
  364. package/dist/service-operation/ServiceOperationUseSuspenseQueries.d.ts.map +0 -1
  365. package/dist/service-operation/ServiceOperationUseSuspenseQueries.js +0 -2
  366. package/dist/service-operation/ServiceOperationUseSuspenseQueries.js.map +0 -1
  367. package/dist/service-operation/ServiceOperationUseSuspenseQueryQuery.d.ts +0 -10
  368. package/dist/service-operation/ServiceOperationUseSuspenseQueryQuery.d.ts.map +0 -1
  369. package/dist/service-operation/ServiceOperationUseSuspenseQueryQuery.js +0 -2
  370. package/dist/service-operation/ServiceOperationUseSuspenseQueryQuery.js.map +0 -1
  371. package/dist/service-operation/index.d.ts +0 -2
  372. package/dist/service-operation/index.d.ts.map +0 -1
  373. package/dist/service-operation/index.js +0 -2
  374. package/dist/service-operation/index.js.map +0 -1
@@ -0,0 +1,1267 @@
1
+ "use client";
2
+ "use strict";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/index.ts
22
+ var src_exports = {};
23
+ __export(src_exports, {
24
+ QraftContext: () => QraftContext,
25
+ Unstable_QraftSecureRequestFn: () => QraftSecureRequestFn,
26
+ baseRequestFn: () => baseRequestFn,
27
+ bodySerializer: () => bodySerializer,
28
+ cancelQueries: () => cancelQueries,
29
+ createSecureRequestFn: () => createSecureRequestFn,
30
+ fetchInfiniteQuery: () => fetchInfiniteQuery,
31
+ fetchQuery: () => fetchQuery,
32
+ getInfiniteQueryData: () => getInfiniteQueryData,
33
+ getInfiniteQueryKey: () => getInfiniteQueryKey,
34
+ getInfiniteQueryState: () => getInfiniteQueryState,
35
+ getMutationKey: () => getMutationKey,
36
+ getQueriesData: () => getQueriesData,
37
+ getQueryData: () => getQueryData,
38
+ getQueryKey: () => getQueryKey,
39
+ getQueryState: () => getQueryState,
40
+ invalidateQueries: () => invalidateQueries,
41
+ isFetching: () => isFetching,
42
+ isMutating: () => isMutating,
43
+ mergeHeaders: () => mergeHeaders,
44
+ mutationFn: () => mutationFn,
45
+ operationInvokeFn: () => operationInvokeFn,
46
+ prefetchInfiniteQuery: () => prefetchInfiniteQuery,
47
+ prefetchQuery: () => prefetchQuery,
48
+ qraftAPIClient: () => qraftAPIClient,
49
+ queryFn: () => queryFn,
50
+ refetchQueries: () => refetchQueries,
51
+ removeQueries: () => removeQueries,
52
+ requestFn: () => requestFn,
53
+ resetQueries: () => resetQueries,
54
+ setInfiniteQueryData: () => setInfiniteQueryData,
55
+ setQueriesData: () => setQueriesData,
56
+ setQueryData: () => setQueryData,
57
+ urlSerializer: () => urlSerializer,
58
+ useInfiniteQuery: () => useInfiniteQuery,
59
+ useIsFetching: () => useIsFetching,
60
+ useIsMutating: () => useIsMutating,
61
+ useMutation: () => useMutation,
62
+ useMutationState: () => useMutationState,
63
+ useQueries: () => useQueries,
64
+ useQuery: () => useQuery,
65
+ useSecuritySchemeAuth: () => useSecuritySchemeAuth,
66
+ useSuspenseInfiniteQuery: () => useSuspenseInfiniteQuery,
67
+ useSuspenseQueries: () => useSuspenseQueries,
68
+ useSuspenseQuery: () => useSuspenseQuery
69
+ });
70
+ module.exports = __toCommonJS(src_exports);
71
+
72
+ // src/lib/createRecursiveProxy.ts
73
+ function createRecursiveProxy(getCallback, applyCallback, path) {
74
+ return new Proxy(noop, {
75
+ get(_obj, key) {
76
+ if (typeof key !== "string" || key === "then") {
77
+ return void 0;
78
+ }
79
+ return getCallback(path, key) ?? createRecursiveProxy(getCallback, applyCallback, [...path, key]);
80
+ },
81
+ apply(_1, _2, args) {
82
+ const functionName = path[path.length - 1];
83
+ const isCall = functionName === "call";
84
+ const isApply = isCall ? false : functionName === "apply";
85
+ return applyCallback(
86
+ isApply || isCall ? path.slice(0, -1) : path,
87
+ isApply ? args.length >= 2 ? args[1] : [] : isCall ? args.slice(1) : args
88
+ );
89
+ }
90
+ });
91
+ }
92
+ function noop() {
93
+ }
94
+
95
+ // src/qraftAPIClient.ts
96
+ var qraftAPIClient = (services, callbacks, options) => {
97
+ return createRecursiveProxy(
98
+ function getCallback(getPath, key) {
99
+ if (getPath.length !== 2 || key !== "schema") return;
100
+ const serviceOperation = getByPath(services, getPath);
101
+ if (!isServiceOperation(serviceOperation))
102
+ throw new Error(`Service operation not found: ${getPath.join(".")}`);
103
+ return serviceOperation.schema;
104
+ },
105
+ function applyCallback(applyPath, args) {
106
+ const { path, callbackName } = extractCallbackDetails(applyPath);
107
+ if (!(callbackName in callbacks))
108
+ throw new Error(`Function ${callbackName} is not supported`);
109
+ const serviceOperation = getByPath(services, path);
110
+ if (!isServiceOperation(serviceOperation))
111
+ throw new Error(`Service operation not found: ${path.join(".")}`);
112
+ return callbacks[callbackName](
113
+ options,
114
+ serviceOperation.schema,
115
+ args
116
+ );
117
+ },
118
+ []
119
+ );
120
+ };
121
+ function extractCallbackDetails(applyPath) {
122
+ if (applyPath.length === 2) {
123
+ return {
124
+ path: applyPath,
125
+ callbackName: "operationInvokeFn"
126
+ };
127
+ } else {
128
+ return {
129
+ path: applyPath.slice(0, -1),
130
+ // The last arg is for instance `.useMutation` or `.useQuery()`
131
+ callbackName: applyPath[applyPath.length - 1]
132
+ };
133
+ }
134
+ }
135
+ function isServiceOperation(input) {
136
+ return input !== null && typeof input === "object" && "schema" in input;
137
+ }
138
+ function getByPath(obj, path) {
139
+ return path.reduce((acc, key) => {
140
+ if (acc && typeof acc === "object" && key in acc)
141
+ return acc[key];
142
+ }, obj);
143
+ }
144
+
145
+ // src/QraftContext.ts
146
+ var import_react = require("react");
147
+ var QraftContext = (0, import_react.createContext)(void 0);
148
+
149
+ // src/lib/requestFn.ts
150
+ async function requestFn(schema, requestInfo, options) {
151
+ return baseRequestFn(schema, requestInfo, {
152
+ urlSerializer,
153
+ bodySerializer,
154
+ ...options
155
+ });
156
+ }
157
+ async function baseRequestFn(requestSchema, requestInfo, options) {
158
+ const { parameters, headers, body, ...requestInfoRest } = requestInfo;
159
+ const requestBody = options.bodySerializer(requestSchema, requestInfo);
160
+ const baseFetch = options.fetch ?? fetch;
161
+ const response = await baseFetch(
162
+ options.urlSerializer(requestSchema, requestInfo),
163
+ {
164
+ method: requestSchema.method.toUpperCase(),
165
+ body: requestBody,
166
+ headers: mergeHeaders(
167
+ {
168
+ Accept: "application/json",
169
+ "Content-Type": requestSchema.mediaType ?? getBodyContentType(body)
170
+ },
171
+ headers,
172
+ parameters?.header,
173
+ requestBody instanceof FormData ? (
174
+ // remove `Content-Type` if serialized body is FormData; browser will correctly set Content-Type & boundary expression
175
+ { "Content-Type": null }
176
+ ) : void 0
177
+ ),
178
+ ...requestInfoRest
179
+ }
180
+ );
181
+ const clonedResponse = response.clone();
182
+ if (!response.ok) {
183
+ throw await getResponseBody(clonedResponse);
184
+ }
185
+ return await getResponseBody(clonedResponse);
186
+ }
187
+ function urlSerializer(schema, info) {
188
+ const path = schema.url.replace(
189
+ /{(.*?)}/g,
190
+ (substring, group) => {
191
+ if (info.parameters?.path && Object.prototype.hasOwnProperty.call(info.parameters.path, group)) {
192
+ return encodeURI(String(info.parameters?.path[group]));
193
+ }
194
+ return substring;
195
+ }
196
+ );
197
+ const baseUrl = info.baseUrl ?? "";
198
+ if (info.parameters?.query) {
199
+ return `${baseUrl}${path}${getQueryString(info.parameters.query)}`;
200
+ }
201
+ return `${baseUrl}${path}`;
202
+ }
203
+ function getQueryString(params) {
204
+ const qs = [];
205
+ const append = (key, value) => {
206
+ qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
207
+ };
208
+ const process2 = (key, value) => {
209
+ if (typeof value === "undefined" || value === null) return;
210
+ if (Array.isArray(value)) {
211
+ value.forEach((v) => {
212
+ process2(key, v);
213
+ });
214
+ } else if (typeof value === "object") {
215
+ Object.entries(value).forEach(([k, v]) => {
216
+ process2(`${key}[${k}]`, v);
217
+ });
218
+ } else {
219
+ append(key, value);
220
+ }
221
+ };
222
+ Object.entries(params).forEach(([key, value]) => {
223
+ process2(key, value);
224
+ });
225
+ if (qs.length > 0) {
226
+ return `?${qs.join("&")}`;
227
+ }
228
+ return "";
229
+ }
230
+ function mergeHeaders(...allHeaders) {
231
+ const headers = new Headers();
232
+ for (const headerSet of allHeaders) {
233
+ if (!headerSet || typeof headerSet !== "object") {
234
+ continue;
235
+ }
236
+ const headersIterator = headerSet instanceof Headers ? headerSet.entries() : Object.entries(headerSet);
237
+ for (const [headerKey, headerValue] of headersIterator) {
238
+ if (headerValue === null) {
239
+ headers.delete(headerKey);
240
+ } else if (headerValue !== void 0) {
241
+ headers.set(headerKey, headerValue);
242
+ }
243
+ }
244
+ }
245
+ return headers;
246
+ }
247
+ function bodySerializer(schema, info) {
248
+ if (info.body === void 0) return;
249
+ if (schema.method === "get" || schema.method === "head" || schema.method === "options")
250
+ return;
251
+ if (schema.mediaType?.includes("/form-data"))
252
+ return getRequestBodyFormData(info);
253
+ if (!schema.mediaType?.includes("/json") && (typeof info.body === "string" || info.body instanceof Blob || info.body instanceof FormData)) {
254
+ return info.body;
255
+ }
256
+ return JSON.stringify(info.body);
257
+ }
258
+ function getRequestBodyFormData({
259
+ body
260
+ }) {
261
+ if (body instanceof FormData) return body;
262
+ if (body === null) return;
263
+ if (body instanceof Blob) throw new Error("Blob not supported in form-data");
264
+ if (body instanceof ArrayBuffer)
265
+ throw new Error("ArrayBuffer not supported in form-data");
266
+ if (body instanceof URLSearchParams)
267
+ throw new Error("URLSearchParams not supported in form-data");
268
+ if (body instanceof ReadableStream)
269
+ throw new Error("ReadableStream not supported in form-data");
270
+ if (typeof body === "string")
271
+ throw new Error("String not supported in form-data");
272
+ if (typeof body !== "object")
273
+ throw new Error(`Unsupported body type ${typeof body} in form-data.`);
274
+ const formData = new FormData();
275
+ const process2 = (key, value) => {
276
+ if (typeof value === "string" || value instanceof Blob) {
277
+ formData.append(key, value);
278
+ } else {
279
+ formData.append(key, JSON.stringify(value));
280
+ }
281
+ };
282
+ Object.entries(body).filter(([_, value]) => typeof value !== "undefined" && value !== null).forEach(([key, value]) => {
283
+ if (Array.isArray(value)) {
284
+ value.forEach((v) => process2(key, v));
285
+ } else {
286
+ process2(key, value);
287
+ }
288
+ });
289
+ return formData;
290
+ }
291
+ function getBodyContentType(body) {
292
+ if (!body) return;
293
+ if (body instanceof Blob) return body.type || "application/octet-stream";
294
+ if (typeof body === "string") return "text/plain";
295
+ if (!(body instanceof FormData)) return "application/json";
296
+ }
297
+ async function getResponseBody(response) {
298
+ if (response.status === 204 || response.headers.get("Content-Length") === "0")
299
+ return void 0;
300
+ const contentType = response.headers.get("Content-Type")?.toLowerCase();
301
+ const isJSON = contentType?.includes("/json") || contentType?.includes("+json");
302
+ if (isJSON) {
303
+ if (response.ok) return response.json();
304
+ const errorFallbackResponse = response.clone();
305
+ return response.json().catch(() => {
306
+ if (process.env.NODE_ENV === "development") {
307
+ console.warn(
308
+ "Failed to parse response body as JSON. Falling back to .text()"
309
+ );
310
+ }
311
+ return errorFallbackResponse.text();
312
+ });
313
+ }
314
+ return response.text();
315
+ }
316
+
317
+ // src/lib/composeBaseQueryKey.ts
318
+ function composeBaseQueryKey(schema, parameters, infinite) {
319
+ return [
320
+ typeof infinite === "boolean" ? { ...schema, infinite } : schema,
321
+ parameters ?? {}
322
+ ];
323
+ }
324
+
325
+ // src/lib/composeInfiniteQueryKey.ts
326
+ function composeInfiniteQueryKey(schema, parameters) {
327
+ return composeBaseQueryKey(schema, parameters, true);
328
+ }
329
+
330
+ // src/lib/composeQueryKey.ts
331
+ function composeQueryKey(schema, parameters) {
332
+ return composeBaseQueryKey(schema, parameters, false);
333
+ }
334
+
335
+ // src/lib/callQueryClientMethodWithQueryKey.ts
336
+ function callQueryClientMethodWithQueryKey(queryFilterMethod, schema, infinite, args) {
337
+ const parameters = args.length > 1 ? args[0] : void 0;
338
+ const queryClient = args[args.length - 1];
339
+ if (!queryClient) throw new Error("queryClient is required");
340
+ if (!queryClient[queryFilterMethod])
341
+ throw new Error(
342
+ `queryClient is invalid, ${queryFilterMethod} method does not exist`
343
+ );
344
+ const queryKey = Array.isArray(parameters) ? parameters : infinite ? composeInfiniteQueryKey(schema, parameters) : composeQueryKey(schema, parameters);
345
+ return queryClient[queryFilterMethod](queryKey, ...args.slice(1, -1));
346
+ }
347
+
348
+ // src/callbacks/getInfiniteQueryData.ts
349
+ function getInfiniteQueryData(_, schema, args) {
350
+ return callQueryClientMethodWithQueryKey(
351
+ "getQueryData",
352
+ schema,
353
+ true,
354
+ args
355
+ );
356
+ }
357
+
358
+ // src/callbacks/getInfiniteQueryKey.ts
359
+ var getInfiniteQueryKey = (qraftOptions, schema, args) => {
360
+ return composeInfiniteQueryKey(schema, args[0]);
361
+ };
362
+
363
+ // src/lib/composeMutationKey.ts
364
+ function composeMutationKey(schema, parameters) {
365
+ return parameters === void 0 ? [{ url: schema.url, method: schema.method }, {}] : [
366
+ {
367
+ url: schema.url,
368
+ method: schema.method
369
+ },
370
+ omitMutationPayload(parameters)
371
+ ];
372
+ }
373
+ function omitMutationPayload(params) {
374
+ if (!params || typeof params !== "object")
375
+ throw new Error("`params` must be object");
376
+ if ("body" in params || "requestBody" in params) {
377
+ const {
378
+ body: _,
379
+ requestBody: __,
380
+ ...paramsRest
381
+ } = params;
382
+ return paramsRest;
383
+ }
384
+ return params;
385
+ }
386
+
387
+ // src/callbacks/getMutationKey.ts
388
+ var getMutationKey = (qraftOptions, schema, args) => {
389
+ return composeMutationKey(schema, args[0]);
390
+ };
391
+
392
+ // src/callbacks/getQueryData.ts
393
+ function getQueryData(_, schema, args) {
394
+ return callQueryClientMethodWithQueryKey(
395
+ "getQueryData",
396
+ schema,
397
+ false,
398
+ args
399
+ );
400
+ }
401
+
402
+ // src/lib/composeQueryFilters.ts
403
+ function composeQueryFilters(schema, filters) {
404
+ if (!filters) {
405
+ return {
406
+ queryKey: composeBaseQueryKey(schema, void 0, void 0)
407
+ };
408
+ }
409
+ if ("queryKey" in filters && "parameters" in filters) {
410
+ throw new Error(
411
+ `'composeQueryFilters': 'queryKey' and 'parameters' cannot be used together`
412
+ );
413
+ }
414
+ const { infinite, parameters, ...filtersRest } = filters;
415
+ if ("queryKey" in filtersRest) {
416
+ return filtersRest;
417
+ }
418
+ if (parameters) {
419
+ Object.assign(filtersRest, {
420
+ queryKey: infinite ? composeInfiniteQueryKey(schema, parameters) : composeQueryKey(schema, parameters)
421
+ });
422
+ return filtersRest;
423
+ }
424
+ return {
425
+ ...filtersRest,
426
+ queryKey: infinite ? composeInfiniteQueryKey(schema, void 0) : composeQueryKey(schema, void 0)
427
+ };
428
+ }
429
+
430
+ // src/lib/callQueryClientMethodWithQueryFilters.ts
431
+ function callQueryClientMethodWithQueryFilters(queryFilterMethod, schema, args) {
432
+ const filters = args.length > 1 ? args[0] : void 0;
433
+ const queryClient = args[args.length - 1];
434
+ if (!queryClient) throw new Error("queryClient is required");
435
+ if (!queryClient[queryFilterMethod])
436
+ throw new Error(
437
+ `queryClient is invalid, ${queryFilterMethod} method does not exist`
438
+ );
439
+ return queryClient[queryFilterMethod](
440
+ composeQueryFilters(schema, filters),
441
+ ...args.slice(1, -1)
442
+ );
443
+ }
444
+
445
+ // src/callbacks/getQueriesData.ts
446
+ function getQueriesData(_, schema, args) {
447
+ return callQueryClientMethodWithQueryFilters(
448
+ "getQueriesData",
449
+ schema,
450
+ args
451
+ );
452
+ }
453
+
454
+ // src/callbacks/getQueryKey.ts
455
+ var getQueryKey = (qraftOptions, schema, args) => {
456
+ return composeQueryKey(schema, args[0]);
457
+ };
458
+
459
+ // src/callbacks/mutationFn.ts
460
+ var mutationFn = (qraftOptions, schema, args) => {
461
+ const [client, options] = args;
462
+ return client(schema, {
463
+ parameters: options?.parameters,
464
+ body: options?.body
465
+ });
466
+ };
467
+
468
+ // src/callbacks/queryFn.ts
469
+ var queryFn = (_, schema, args) => {
470
+ const [options, client] = args;
471
+ return client(
472
+ options && "queryKey" in options ? options.queryKey[0] : schema,
473
+ {
474
+ parameters: options && "queryKey" in options ? options.queryKey[1] : options.parameters,
475
+ meta: options.meta,
476
+ signal: options.signal
477
+ }
478
+ );
479
+ };
480
+
481
+ // src/callbacks/setInfiniteQueryData.ts
482
+ function setInfiniteQueryData(qraftOptions, schema, args) {
483
+ return callQueryClientMethodWithQueryKey(
484
+ "setQueryData",
485
+ schema,
486
+ true,
487
+ args
488
+ );
489
+ }
490
+
491
+ // src/callbacks/setQueryData.ts
492
+ function setQueryData(_, schema, args) {
493
+ return callQueryClientMethodWithQueryKey(
494
+ "setQueryData",
495
+ schema,
496
+ false,
497
+ args
498
+ );
499
+ }
500
+
501
+ // src/callbacks/setQueriesData.ts
502
+ function setQueriesData(_, schema, args) {
503
+ return callQueryClientMethodWithQueryFilters(
504
+ "setQueriesData",
505
+ schema,
506
+ args
507
+ );
508
+ }
509
+
510
+ // src/callbacks/useInfiniteQuery.ts
511
+ var import_react_query2 = require("@tanstack/react-query");
512
+
513
+ // src/lib/useComposeUseQueryOptions.ts
514
+ var import_react3 = require("react");
515
+
516
+ // src/lib/shelfMerge.ts
517
+ function shelfMerge(depth = 2, ...args) {
518
+ return args.reduce((acc, arg) => {
519
+ if (!arg || typeof arg !== "object") return acc;
520
+ Object.entries(arg).forEach(([key, value]) => {
521
+ if (typeof value !== "object") {
522
+ acc[key] = value;
523
+ return;
524
+ }
525
+ if (Array.isArray(value)) {
526
+ acc[key] = value;
527
+ return;
528
+ }
529
+ if (depth > 1) {
530
+ acc[key] = shelfMerge(
531
+ depth - 1,
532
+ acc[key],
533
+ value
534
+ );
535
+ return;
536
+ }
537
+ acc[key] = value;
538
+ });
539
+ return acc;
540
+ }, {});
541
+ }
542
+
543
+ // src/lib/useQueryClient.ts
544
+ var import_react2 = require("react");
545
+ var import_react_query = require("@tanstack/react-query");
546
+ function useQueryClient(qraftOptions, queryClient) {
547
+ const queryClientByContext = (0, import_react2.useContext)(
548
+ qraftOptions?.context ?? QraftContext
549
+ )?.queryClient;
550
+ return (0, import_react_query.useQueryClient)(queryClient ?? queryClientByContext);
551
+ }
552
+
553
+ // src/lib/useComposeUseQueryOptions.ts
554
+ function useComposeUseQueryOptions(qraftOptions, schema, args, infinite) {
555
+ const [parameters, options, queryClient] = args;
556
+ const contextValue = (0, import_react3.useContext)(qraftOptions?.context ?? QraftContext);
557
+ if (!contextValue?.requestFn)
558
+ throw new Error(`QraftContext.requestFn not found`);
559
+ const queryFn2 = options?.queryFn ?? // @ts-expect-error - Too complex to type
560
+ function({ queryKey: [, queryParams], signal, meta, pageParam }) {
561
+ return contextValue.requestFn(schema, {
562
+ // @ts-expect-error - Too complex to type
563
+ parameters: infinite ? shelfMerge(2, queryParams, pageParam) : queryParams,
564
+ baseUrl: contextValue.baseUrl,
565
+ signal,
566
+ meta
567
+ });
568
+ };
569
+ const queryKey = Array.isArray(parameters) ? parameters : infinite ? composeInfiniteQueryKey(schema, parameters) : composeQueryKey(schema, parameters);
570
+ return [
571
+ { ...options, queryFn: queryFn2, queryKey },
572
+ useQueryClient(qraftOptions, queryClient)
573
+ ];
574
+ }
575
+
576
+ // src/callbacks/useInfiniteQuery.ts
577
+ var useInfiniteQuery = (qraftOptions, schema, args) => {
578
+ return (0, import_react_query2.useInfiniteQuery)(
579
+ ...useComposeUseQueryOptions(qraftOptions, schema, args, true)
580
+ );
581
+ };
582
+
583
+ // src/callbacks/useMutation.ts
584
+ var import_react4 = require("react");
585
+ var import_react_query3 = require("@tanstack/react-query");
586
+ var useMutation = (qraftOptions, schema, args) => {
587
+ const [parameters, options, queryClientByArg] = args;
588
+ if (parameters && typeof parameters === "object" && options && "mutationKey" in options)
589
+ throw new Error(
590
+ `'useMutation': parameters and 'options.mutationKey' cannot be used together`
591
+ );
592
+ const contextValue = (0, import_react4.useContext)(qraftOptions?.context ?? QraftContext);
593
+ if (!contextValue?.requestFn)
594
+ throw new Error(`QraftContext.request not found`);
595
+ const mutationKey = options && "mutationKey" in options ? options.mutationKey : composeMutationKey(schema, parameters);
596
+ return (0, import_react_query3.useMutation)(
597
+ {
598
+ ...options,
599
+ mutationKey,
600
+ mutationFn: options?.mutationFn ?? (parameters ? function(bodyPayload) {
601
+ return contextValue.requestFn(schema, {
602
+ parameters,
603
+ baseUrl: contextValue.baseUrl,
604
+ body: bodyPayload
605
+ });
606
+ } : function(parametersAndBodyPayload) {
607
+ const { body, ...parameters2 } = parametersAndBodyPayload;
608
+ return contextValue.requestFn(schema, {
609
+ parameters: parameters2,
610
+ baseUrl: contextValue.baseUrl,
611
+ body
612
+ });
613
+ })
614
+ },
615
+ useQueryClient(qraftOptions, queryClientByArg)
616
+ );
617
+ };
618
+
619
+ // src/callbacks/useQuery.ts
620
+ var import_react_query4 = require("@tanstack/react-query");
621
+ var useQuery = (qraftOptions, schema, args) => {
622
+ return (0, import_react_query4.useQuery)(
623
+ ...useComposeUseQueryOptions(qraftOptions, schema, args, false)
624
+ );
625
+ };
626
+
627
+ // src/callbacks/useSuspenseQuery.ts
628
+ var import_react_query5 = require("@tanstack/react-query");
629
+ var useSuspenseQuery = (qraftOptions, schema, args) => {
630
+ return (0, import_react_query5.useSuspenseQuery)(
631
+ ...useComposeUseQueryOptions(qraftOptions, schema, args, false)
632
+ );
633
+ };
634
+
635
+ // src/callbacks/useSuspenseInfiniteQuery.ts
636
+ var import_react_query6 = require("@tanstack/react-query");
637
+ var useSuspenseInfiniteQuery = (qraftOptions, schema, args) => {
638
+ return (0, import_react_query6.useSuspenseInfiniteQuery)(
639
+ ...useComposeUseQueryOptions(qraftOptions, schema, args, true)
640
+ );
641
+ };
642
+
643
+ // src/callbacks/useMutationState.ts
644
+ var import_react_query7 = require("@tanstack/react-query");
645
+
646
+ // src/lib/composeMutationFilters.ts
647
+ function composeMutationFilters(schema, filters) {
648
+ if (!filters) {
649
+ return {
650
+ mutationKey: composeMutationKey(schema, void 0)
651
+ };
652
+ }
653
+ if (filters && "mutationKey" in filters && "parameters" in filters) {
654
+ throw new Error(
655
+ `'composeMutationFilters': 'mutationKey' and 'parameters' cannot be used together`
656
+ );
657
+ }
658
+ if ("mutationKey" in filters) {
659
+ return filters;
660
+ }
661
+ if ("parameters" in filters) {
662
+ const { parameters, ...filtersWithoutParameters } = filters;
663
+ Object.assign(filtersWithoutParameters, {
664
+ mutationKey: composeMutationKey(schema, parameters)
665
+ });
666
+ return filtersWithoutParameters;
667
+ }
668
+ return {
669
+ ...filters,
670
+ mutationKey: composeMutationKey(schema, void 0)
671
+ };
672
+ }
673
+
674
+ // src/callbacks/useMutationState.ts
675
+ var useMutationState = (qraftOptions, schema, args) => {
676
+ const [options, queryClientByArg] = args;
677
+ return (0, import_react_query7.useMutationState)(
678
+ {
679
+ ...options,
680
+ filters: composeMutationFilters(schema, options?.filters)
681
+ },
682
+ useQueryClient(qraftOptions, queryClientByArg)
683
+ );
684
+ };
685
+
686
+ // src/callbacks/useIsMutating.ts
687
+ var import_react_query8 = require("@tanstack/react-query");
688
+ var useIsMutating = (qraftOptions, schema, args) => {
689
+ const [filters, queryClientByArg] = args;
690
+ return (0, import_react_query8.useIsMutating)(
691
+ composeMutationFilters(schema, filters),
692
+ useQueryClient(qraftOptions, queryClientByArg)
693
+ );
694
+ };
695
+
696
+ // src/callbacks/useQueries.ts
697
+ var import_react5 = require("react");
698
+ var import_react_query9 = require("@tanstack/react-query");
699
+ var useQueries = (qraftOptions, schema, args) => {
700
+ const [options, queryClientByArg] = args;
701
+ const contextValue = (0, import_react5.useContext)(qraftOptions?.context ?? QraftContext);
702
+ if (!contextValue?.requestFn)
703
+ throw new Error(`QraftContext.requestFn not found`);
704
+ return (0, import_react_query9.useQueries)(
705
+ {
706
+ ...options,
707
+ queries: options.queries.map((queryOptions) => {
708
+ const optionsWithQueryKey = "parameters" in queryOptions ? (() => {
709
+ const queryOptionsCopy = Object.assign(
710
+ {
711
+ queryKey: composeQueryKey(schema, queryOptions.parameters)
712
+ },
713
+ queryOptions
714
+ );
715
+ delete queryOptionsCopy.parameters;
716
+ return queryOptionsCopy;
717
+ })() : queryOptions;
718
+ return {
719
+ ...optionsWithQueryKey,
720
+ queryFn: optionsWithQueryKey.queryFn ?? function({ queryKey: [, queryParams], signal, meta }) {
721
+ return contextValue.requestFn(schema, {
722
+ parameters: queryParams,
723
+ baseUrl: contextValue.baseUrl,
724
+ signal,
725
+ meta
726
+ });
727
+ }
728
+ };
729
+ })
730
+ },
731
+ useQueryClient(qraftOptions, queryClientByArg)
732
+ );
733
+ };
734
+
735
+ // src/callbacks/useSuspenseQueries.ts
736
+ var import_react6 = require("react");
737
+ var import_react_query10 = require("@tanstack/react-query");
738
+ var useSuspenseQueries = (qraftOptions, schema, args) => {
739
+ const [options, queryClientByArg] = args;
740
+ const contextValue = (0, import_react6.useContext)(qraftOptions?.context ?? QraftContext);
741
+ if (!contextValue?.requestFn)
742
+ throw new Error(`QraftContext.requestFn not found`);
743
+ return (0, import_react_query10.useSuspenseQueries)(
744
+ {
745
+ ...options,
746
+ queries: options.queries.map((queryOptions) => {
747
+ const optionsWithQueryKey = "parameters" in queryOptions ? (() => {
748
+ const queryOptionsCopy = Object.assign(
749
+ {
750
+ queryKey: composeQueryKey(schema, queryOptions.parameters)
751
+ },
752
+ queryOptions
753
+ );
754
+ delete queryOptionsCopy.parameters;
755
+ return queryOptionsCopy;
756
+ })() : queryOptions;
757
+ return {
758
+ ...optionsWithQueryKey,
759
+ queryFn: optionsWithQueryKey.queryFn ?? function({ queryKey: [, queryParams], signal, meta }) {
760
+ return contextValue.requestFn(schema, {
761
+ parameters: queryParams,
762
+ baseUrl: contextValue.baseUrl,
763
+ signal,
764
+ meta
765
+ });
766
+ }
767
+ };
768
+ })
769
+ },
770
+ useQueryClient(qraftOptions, queryClientByArg)
771
+ );
772
+ };
773
+
774
+ // src/callbacks/invalidateQueries.ts
775
+ function invalidateQueries(qraftOptions, schema, args) {
776
+ return callQueryClientMethodWithQueryFilters(
777
+ "invalidateQueries",
778
+ schema,
779
+ args
780
+ );
781
+ }
782
+
783
+ // src/callbacks/cancelQueries.ts
784
+ function cancelQueries(qraftOptions, schema, args) {
785
+ return callQueryClientMethodWithQueryFilters(
786
+ "cancelQueries",
787
+ schema,
788
+ args
789
+ );
790
+ }
791
+
792
+ // src/callbacks/resetQueries.ts
793
+ function resetQueries(qraftOptions, schema, args) {
794
+ return callQueryClientMethodWithQueryFilters(
795
+ "resetQueries",
796
+ schema,
797
+ args
798
+ );
799
+ }
800
+
801
+ // src/callbacks/removeQueries.ts
802
+ function removeQueries(_, schema, args) {
803
+ return callQueryClientMethodWithQueryFilters(
804
+ "removeQueries",
805
+ schema,
806
+ args
807
+ );
808
+ }
809
+
810
+ // src/callbacks/refetchQueries.ts
811
+ function refetchQueries(qraftOptions, schema, args) {
812
+ return callQueryClientMethodWithQueryFilters(
813
+ "refetchQueries",
814
+ schema,
815
+ args
816
+ );
817
+ }
818
+
819
+ // src/callbacks/isFetching.ts
820
+ function isFetching(qraftOptions, schema, args) {
821
+ return callQueryClientMethodWithQueryFilters(
822
+ "isFetching",
823
+ schema,
824
+ args
825
+ );
826
+ }
827
+
828
+ // src/lib/callQueryClientMethodWithMutationFilters.ts
829
+ function callQueryClientMethodWithMutationFilters(queryFilterMethod, schema, args) {
830
+ const filters = args.length > 1 ? args[0] : void 0;
831
+ const queryClient = args[args.length - 1];
832
+ if (!queryClient) throw new Error("queryClient is required");
833
+ if (!queryClient[queryFilterMethod])
834
+ throw new Error(
835
+ `queryClient is invalid, ${queryFilterMethod} method does not exist`
836
+ );
837
+ return queryClient[queryFilterMethod](
838
+ composeMutationFilters(schema, filters),
839
+ ...args.slice(1, -1)
840
+ );
841
+ }
842
+
843
+ // src/callbacks/isMutating.ts
844
+ function isMutating(_, schema, args) {
845
+ return callQueryClientMethodWithMutationFilters(
846
+ "isMutating",
847
+ schema,
848
+ args
849
+ );
850
+ }
851
+
852
+ // src/callbacks/useIsFetching.ts
853
+ var import_react_query11 = require("@tanstack/react-query");
854
+ var useIsFetching = (qraftOptions, schema, args) => {
855
+ const [filters, queryClientByArg] = args;
856
+ return (0, import_react_query11.useIsFetching)(
857
+ composeQueryFilters(schema, filters),
858
+ useQueryClient(qraftOptions, queryClientByArg)
859
+ );
860
+ };
861
+
862
+ // src/lib/callQueryClientFetchMethod.ts
863
+ function callQueryClientMethodWithQueryKey2(queryFilterMethod, schema, infinite, args) {
864
+ const [{ requestFn: requestFn2, baseUrl, parameters, ...options }, queryClient] = args;
865
+ if (!queryClient) throw new Error("queryClient is required");
866
+ if (!queryClient[queryFilterMethod])
867
+ throw new Error(
868
+ `queryClient is invalid, ${queryFilterMethod} method does not exist`
869
+ );
870
+ if (options.queryKey && parameters) {
871
+ throw new Error(
872
+ "callQueryClientMethodWithQueryKey: options.queryKey and options.parameters are mutually exclusive"
873
+ );
874
+ }
875
+ if (options.queryFn && requestFn2) {
876
+ throw new Error(
877
+ "callQueryClientMethodWithQueryKey: options.queryFn and requestFn are mutually exclusive"
878
+ );
879
+ }
880
+ const queryFn2 = options.queryFn ?? (requestFn2 ? (
881
+ // @ts-expect-error - Not inferring the correct type for `queryFn`
882
+ function({ queryKey: [, queryParams], signal, meta, pageParam }) {
883
+ return requestFn2(schema, {
884
+ parameters: infinite ? shelfMerge(2, queryParams, pageParam) : queryParams,
885
+ baseUrl,
886
+ signal,
887
+ meta
888
+ });
889
+ }
890
+ ) : void 0);
891
+ if (parameters) {
892
+ return queryClient[queryFilterMethod]({
893
+ ...options,
894
+ // Event if queryFn is undefined, it will override the default queryFn from `setQueryDefaults(...)`
895
+ ...queryFn2 ? { queryFn: queryFn2 } : {},
896
+ queryKey: infinite ? composeInfiniteQueryKey(schema, parameters) : composeQueryKey(schema, parameters)
897
+ });
898
+ }
899
+ return queryClient[queryFilterMethod]({ ...options, queryFn: queryFn2 });
900
+ }
901
+
902
+ // src/callbacks/fetchQuery.ts
903
+ var fetchQuery = (_, schema, args) => {
904
+ return callQueryClientMethodWithQueryKey2(
905
+ "fetchQuery",
906
+ schema,
907
+ false,
908
+ args
909
+ );
910
+ };
911
+
912
+ // src/callbacks/prefetchQuery.ts
913
+ var prefetchQuery = (_, schema, args) => {
914
+ return callQueryClientMethodWithQueryKey2(
915
+ "prefetchQuery",
916
+ schema,
917
+ false,
918
+ args
919
+ );
920
+ };
921
+
922
+ // src/callbacks/fetchInfiniteQuery.ts
923
+ var fetchInfiniteQuery = (_, schema, args) => {
924
+ return callQueryClientMethodWithQueryKey2(
925
+ "fetchInfiniteQuery",
926
+ schema,
927
+ true,
928
+ args
929
+ );
930
+ };
931
+
932
+ // src/callbacks/prefetchInfiniteQuery.ts
933
+ var prefetchInfiniteQuery = (_, schema, args) => {
934
+ return callQueryClientMethodWithQueryKey2(
935
+ "prefetchInfiniteQuery",
936
+ schema,
937
+ true,
938
+ args
939
+ );
940
+ };
941
+
942
+ // src/callbacks/getQueryState.ts
943
+ function getQueryState(_, schema, args) {
944
+ return callQueryClientMethodWithQueryKey(
945
+ "getQueryState",
946
+ schema,
947
+ false,
948
+ args
949
+ );
950
+ }
951
+
952
+ // src/callbacks/getInfiniteQueryState.ts
953
+ function getInfiniteQueryState(_, schema, args) {
954
+ return callQueryClientMethodWithQueryKey(
955
+ "getQueryState",
956
+ schema,
957
+ true,
958
+ args
959
+ );
960
+ }
961
+
962
+ // src/callbacks/operationInvokeFn.ts
963
+ var operationInvokeFn = (_, schema, args) => {
964
+ const queryOperationMethods = ["get", "head", "options"];
965
+ const isQueryOperationType = queryOperationMethods.includes(
966
+ schema.method
967
+ );
968
+ const [options, client] = args;
969
+ const invokeSchema = isQueryOperationType && "queryKey" in options ? options.queryKey[0] : schema;
970
+ const invokeParameters = isQueryOperationType && "queryKey" in options ? options.queryKey[1] : "parameters" in options ? options.parameters : void 0;
971
+ return client(invokeSchema, {
972
+ ...options,
973
+ parameters: invokeParameters
974
+ });
975
+ };
976
+
977
+ // src/Unstable_QraftSecureRequestFn.ts
978
+ var import_react7 = require("react");
979
+ var import_react_query12 = require("@tanstack/react-query");
980
+
981
+ // src/lib/jwt-decode/index.ts
982
+ var InvalidTokenError = class extends Error {
983
+ };
984
+ InvalidTokenError.prototype.name = "InvalidTokenError";
985
+ function b64DecodeUnicode(data) {
986
+ if (typeof atob === "function")
987
+ return decodeURIComponent(Array.from(atob(data), byteToPercent).join(""));
988
+ return Buffer.from(data, "base64").toString("utf-8");
989
+ }
990
+ function base64UrlDecode(str) {
991
+ let output = str.replace(/-/g, "+").replace(/_/g, "/");
992
+ switch (output.length % 4) {
993
+ case 0:
994
+ break;
995
+ case 2:
996
+ output += "==";
997
+ break;
998
+ case 3:
999
+ output += "=";
1000
+ break;
1001
+ default:
1002
+ throw new Error("base64 string is not of the correct length");
1003
+ }
1004
+ try {
1005
+ return b64DecodeUnicode(output);
1006
+ } catch (err) {
1007
+ return atob(output);
1008
+ }
1009
+ }
1010
+ function jwtDecode(token, options) {
1011
+ if (typeof token !== "string") {
1012
+ throw new InvalidTokenError("Invalid token specified: must be a string");
1013
+ }
1014
+ options ||= {};
1015
+ const pos = options.header === true ? 0 : 1;
1016
+ const part = token.split(".")[pos];
1017
+ if (typeof part !== "string") {
1018
+ throw new InvalidTokenError(
1019
+ `Invalid token specified: missing part #${pos + 1}`
1020
+ );
1021
+ }
1022
+ let decoded;
1023
+ try {
1024
+ decoded = base64UrlDecode(part);
1025
+ } catch (e) {
1026
+ throw new InvalidTokenError(
1027
+ `Invalid token specified: invalid base64 for part #${pos + 1} (${e.message})`
1028
+ );
1029
+ }
1030
+ try {
1031
+ return JSON.parse(decoded);
1032
+ } catch (e) {
1033
+ throw new InvalidTokenError(
1034
+ `Invalid token specified: invalid json for part #${pos + 1} (${e.message})`
1035
+ );
1036
+ }
1037
+ }
1038
+ function byteToPercent(b) {
1039
+ return `%${`00${b.charCodeAt(0).toString(16)}`.slice(-2)}`;
1040
+ }
1041
+
1042
+ // src/Unstable_QraftSecureRequestFn.ts
1043
+ function QraftSecureRequestFn({
1044
+ children,
1045
+ requestFn: requestFn2,
1046
+ securitySchemes,
1047
+ queryClient: inQueryClient
1048
+ }) {
1049
+ const queryClient = (0, import_react7.useMemo)(
1050
+ () => inQueryClient ?? new import_react_query12.QueryClient({
1051
+ defaultOptions: {
1052
+ queries: {
1053
+ staleTime: 3e5,
1054
+ gcTime: 3e5,
1055
+ refetchOnWindowFocus: false,
1056
+ refetchOnMount: false,
1057
+ refetchOnReconnect: false
1058
+ }
1059
+ }
1060
+ }),
1061
+ [inQueryClient]
1062
+ );
1063
+ (0, import_react7.useEffect)(() => {
1064
+ queryClient.mount();
1065
+ return () => {
1066
+ return void queryClient.unmount();
1067
+ };
1068
+ }, [queryClient]);
1069
+ const secureRequestFn = useSecuritySchemeAuth({
1070
+ securitySchemes,
1071
+ requestFn: requestFn2,
1072
+ queryClient
1073
+ });
1074
+ return (0, import_react7.createElement)(import_react7.Fragment, {
1075
+ children: children(secureRequestFn)
1076
+ });
1077
+ }
1078
+ var useSecuritySchemeAuth = ({
1079
+ securitySchemes,
1080
+ requestFn: requestFn2,
1081
+ queryClient
1082
+ }) => {
1083
+ (0, import_react_query12.useQueries)(
1084
+ {
1085
+ queries: Object.entries(securitySchemes).map(([securitySchemeName]) => {
1086
+ const queryKey = [securitySchemeName];
1087
+ return {
1088
+ enabled: Boolean(queryClient.getQueryData(queryKey)),
1089
+ queryKey,
1090
+ queryFn: ({
1091
+ signal
1092
+ }) => {
1093
+ const securitySchemeHandler = securitySchemes[securitySchemeName];
1094
+ return securitySchemeHandler({ signal, isRefreshing: true });
1095
+ }
1096
+ };
1097
+ })
1098
+ },
1099
+ queryClient
1100
+ );
1101
+ return (0, import_react7.useMemo)(
1102
+ () => createSecureRequestFn(securitySchemes, requestFn2, queryClient),
1103
+ [securitySchemes, requestFn2, queryClient]
1104
+ );
1105
+ };
1106
+ function createSecureRequestFn(securitySchemes, requestFn2, queryClient) {
1107
+ return async function secureRequestFn(schema, requestInfo, options) {
1108
+ const availableSecuritySchemes = Object.keys(securitySchemes);
1109
+ const securitySchemeName = schema.security?.find(
1110
+ (security) => availableSecuritySchemes.includes(security)
1111
+ );
1112
+ if (!securitySchemeName) {
1113
+ return requestFn2(schema, requestInfo, options);
1114
+ }
1115
+ const securitySchemeHandler = securitySchemes[securitySchemeName];
1116
+ return requestFn2(
1117
+ schema,
1118
+ await createSecureRequestInfo(
1119
+ securitySchemeHandler,
1120
+ [securitySchemeName],
1121
+ requestInfo,
1122
+ queryClient
1123
+ ),
1124
+ options
1125
+ );
1126
+ };
1127
+ }
1128
+ function getJwtTokenRefreshInterval(token) {
1129
+ const parsedToken = jwtDecode(token);
1130
+ if (!parsedToken.iat || !parsedToken.exp) {
1131
+ throw new Error("JWT token must contain both 'iat' and 'exp' fields.");
1132
+ }
1133
+ return (parsedToken.exp - parsedToken.iat) * 1e3;
1134
+ }
1135
+ async function createSecureRequestInfo(handler, queryKey, requestInfo, queryClient) {
1136
+ const prevSecurityResult = queryClient.getQueryData(queryKey);
1137
+ const securityResult = await queryClient.fetchQuery({
1138
+ queryKey,
1139
+ queryFn: ({ signal }) => handler({
1140
+ signal,
1141
+ isRefreshing: Boolean(prevSecurityResult)
1142
+ })
1143
+ });
1144
+ if (!shallowEqualObjects(securityResult, prevSecurityResult)) {
1145
+ const securityRefreshInterval = getSecurityRefreshInterval(securityResult);
1146
+ if (securityRefreshInterval !== void 0 && securityRefreshInterval > 0) {
1147
+ queryClient.removeQueries({ queryKey, exact: true });
1148
+ setSecurityQueryDefaults(queryClient, queryKey, securityRefreshInterval);
1149
+ queryClient.setQueryData(queryKey, securityResult);
1150
+ }
1151
+ }
1152
+ const securityParameters = createSecureRequestParameters(securityResult);
1153
+ if (!securityParameters) return requestInfo;
1154
+ return {
1155
+ ...requestInfo,
1156
+ parameters: {
1157
+ ...requestInfo.parameters,
1158
+ [securityParameters.in]: {
1159
+ [securityParameters.name]: securityParameters.value,
1160
+ ...requestInfo.parameters?.[securityParameters.in]
1161
+ }
1162
+ }
1163
+ };
1164
+ }
1165
+ function setSecurityQueryDefaults(queryClient, queryKey, refreshInterval) {
1166
+ queryClient.setQueryDefaults(queryKey, {
1167
+ // stale the token 90% before it expires
1168
+ staleTime: isFinite(refreshInterval) ? refreshInterval * 0.9 : refreshInterval,
1169
+ // garbage collect the token after it expires
1170
+ gcTime: isFinite(refreshInterval) ? refreshInterval : refreshInterval,
1171
+ // refetch the token 80% before it expires
1172
+ refetchInterval: isFinite(refreshInterval) ? refreshInterval * 0.8 : refreshInterval,
1173
+ // always refetch the token, even in the background
1174
+ refetchIntervalInBackground: true
1175
+ });
1176
+ }
1177
+ function createSecureRequestParameters(securityResult) {
1178
+ if (typeof securityResult === "string" || "token" in securityResult) {
1179
+ return {
1180
+ in: "header",
1181
+ name: "Authorization",
1182
+ value: `Bearer ${typeof securityResult === "string" ? securityResult : securityResult.token}`
1183
+ };
1184
+ }
1185
+ if ("credentials" in securityResult) {
1186
+ return {
1187
+ in: "header",
1188
+ name: "Authorization",
1189
+ value: `Basic ${securityResult.credentials}`
1190
+ };
1191
+ }
1192
+ if ("in" in securityResult && securityResult.in !== "cookie") {
1193
+ return securityResult;
1194
+ }
1195
+ throw new Error(
1196
+ 'Security scheme must be a string, an object with a token property, an object with a credentials property, or an object with an in property that is not equal to "cookie".'
1197
+ );
1198
+ }
1199
+ function getSecurityRefreshInterval(securityResult) {
1200
+ if (typeof securityResult === "string") {
1201
+ return getJwtTokenRefreshInterval(securityResult);
1202
+ }
1203
+ if ("refreshInterval" in securityResult) {
1204
+ return securityResult.refreshInterval;
1205
+ }
1206
+ }
1207
+ function shallowEqualObjects(newObj, prevObj) {
1208
+ if (typeof newObj !== typeof prevObj) return false;
1209
+ if (typeof newObj === "string") return newObj === prevObj;
1210
+ if (typeof newObj !== "object" || newObj === null || typeof prevObj !== "object" || prevObj === null || prevObj === void 0)
1211
+ return false;
1212
+ if (Object.keys(newObj).length !== Object.keys(prevObj).length) return false;
1213
+ for (const key in newObj) {
1214
+ if (!Object.prototype.hasOwnProperty.call(newObj, key)) return false;
1215
+ if (newObj[key] !== prevObj[key]) return false;
1216
+ }
1217
+ return true;
1218
+ }
1219
+ // Annotate the CommonJS export names for ESM import in node:
1220
+ 0 && (module.exports = {
1221
+ QraftContext,
1222
+ Unstable_QraftSecureRequestFn,
1223
+ baseRequestFn,
1224
+ bodySerializer,
1225
+ cancelQueries,
1226
+ createSecureRequestFn,
1227
+ fetchInfiniteQuery,
1228
+ fetchQuery,
1229
+ getInfiniteQueryData,
1230
+ getInfiniteQueryKey,
1231
+ getInfiniteQueryState,
1232
+ getMutationKey,
1233
+ getQueriesData,
1234
+ getQueryData,
1235
+ getQueryKey,
1236
+ getQueryState,
1237
+ invalidateQueries,
1238
+ isFetching,
1239
+ isMutating,
1240
+ mergeHeaders,
1241
+ mutationFn,
1242
+ operationInvokeFn,
1243
+ prefetchInfiniteQuery,
1244
+ prefetchQuery,
1245
+ qraftAPIClient,
1246
+ queryFn,
1247
+ refetchQueries,
1248
+ removeQueries,
1249
+ requestFn,
1250
+ resetQueries,
1251
+ setInfiniteQueryData,
1252
+ setQueriesData,
1253
+ setQueryData,
1254
+ urlSerializer,
1255
+ useInfiniteQuery,
1256
+ useIsFetching,
1257
+ useIsMutating,
1258
+ useMutation,
1259
+ useMutationState,
1260
+ useQueries,
1261
+ useQuery,
1262
+ useSecuritySchemeAuth,
1263
+ useSuspenseInfiniteQuery,
1264
+ useSuspenseQueries,
1265
+ useSuspenseQuery
1266
+ });
1267
+ //# sourceMappingURL=index.cjs.map