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