@openapi-qraft/react 1.14.0-beta.5 → 2.0.0-next.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 +42 -0
- package/dist/cjs/Unstable_QraftSecureRequestFn.cjs.map +1 -1
- package/dist/cjs/callbacks/cancelQueries.cjs +1 -1
- package/dist/cjs/callbacks/cancelQueries.cjs.map +1 -1
- package/dist/cjs/callbacks/fetchInfiniteQuery.cjs +2 -2
- package/dist/cjs/callbacks/fetchInfiniteQuery.cjs.map +1 -1
- package/dist/cjs/callbacks/fetchQuery.cjs +2 -2
- package/dist/cjs/callbacks/fetchQuery.cjs.map +1 -1
- package/dist/cjs/callbacks/getInfiniteQueryData.cjs +3 -2
- package/dist/cjs/callbacks/getInfiniteQueryData.cjs.map +1 -1
- package/dist/cjs/callbacks/getInfiniteQueryKey.cjs +1 -1
- package/dist/cjs/callbacks/getInfiniteQueryKey.cjs.map +1 -1
- package/dist/cjs/callbacks/getInfiniteQueryState.cjs +3 -2
- package/dist/cjs/callbacks/getInfiniteQueryState.cjs.map +1 -1
- package/dist/cjs/callbacks/getMutationKey.cjs +1 -1
- package/dist/cjs/callbacks/getMutationKey.cjs.map +1 -1
- package/dist/cjs/callbacks/getQueriesData.cjs +2 -2
- package/dist/cjs/callbacks/getQueriesData.cjs.map +1 -1
- package/dist/cjs/callbacks/getQueryData.cjs +3 -2
- package/dist/cjs/callbacks/getQueryData.cjs.map +1 -1
- package/dist/cjs/callbacks/getQueryKey.cjs +1 -1
- package/dist/cjs/callbacks/getQueryKey.cjs.map +1 -1
- package/dist/cjs/callbacks/getQueryState.cjs +3 -2
- package/dist/cjs/callbacks/getQueryState.cjs.map +1 -1
- package/dist/cjs/callbacks/index.cjs +0 -4
- package/dist/cjs/callbacks/index.cjs.map +1 -1
- package/dist/cjs/callbacks/invalidateQueries.cjs +1 -1
- package/dist/cjs/callbacks/invalidateQueries.cjs.map +1 -1
- package/dist/cjs/callbacks/isFetching.cjs +1 -1
- package/dist/cjs/callbacks/isFetching.cjs.map +1 -1
- package/dist/cjs/callbacks/isMutating.cjs +2 -2
- package/dist/cjs/callbacks/isMutating.cjs.map +1 -1
- package/dist/cjs/callbacks/operationInvokeFn.cjs +7 -5
- package/dist/cjs/callbacks/operationInvokeFn.cjs.map +1 -1
- package/dist/cjs/callbacks/prefetchInfiniteQuery.cjs +2 -2
- package/dist/cjs/callbacks/prefetchInfiniteQuery.cjs.map +1 -1
- package/dist/cjs/callbacks/prefetchQuery.cjs +2 -2
- package/dist/cjs/callbacks/prefetchQuery.cjs.map +1 -1
- package/dist/cjs/callbacks/refetchQueries.cjs +1 -1
- package/dist/cjs/callbacks/refetchQueries.cjs.map +1 -1
- package/dist/cjs/callbacks/removeQueries.cjs +2 -2
- package/dist/cjs/callbacks/removeQueries.cjs.map +1 -1
- package/dist/cjs/callbacks/resetQueries.cjs +1 -1
- package/dist/cjs/callbacks/resetQueries.cjs.map +1 -1
- package/dist/cjs/callbacks/setInfiniteQueryData.cjs +2 -1
- package/dist/cjs/callbacks/setInfiniteQueryData.cjs.map +1 -1
- package/dist/cjs/callbacks/setQueriesData.cjs +2 -2
- package/dist/cjs/callbacks/setQueriesData.cjs.map +1 -1
- package/dist/cjs/callbacks/setQueryData.cjs +3 -2
- package/dist/cjs/callbacks/setQueryData.cjs.map +1 -1
- package/dist/cjs/callbacks/useInfiniteQuery.cjs.map +1 -1
- package/dist/cjs/callbacks/useIsFetching.cjs +2 -3
- package/dist/cjs/callbacks/useIsFetching.cjs.map +1 -1
- package/dist/cjs/callbacks/useIsMutating.cjs +2 -3
- package/dist/cjs/callbacks/useIsMutating.cjs.map +1 -1
- package/dist/cjs/callbacks/useMutation.cjs +10 -14
- package/dist/cjs/callbacks/useMutation.cjs.map +1 -1
- package/dist/cjs/callbacks/useMutationState.cjs +2 -3
- package/dist/cjs/callbacks/useMutationState.cjs.map +1 -1
- package/dist/cjs/callbacks/useQueries.cjs +6 -10
- package/dist/cjs/callbacks/useQueries.cjs.map +1 -1
- package/dist/cjs/callbacks/useQuery.cjs.map +1 -1
- package/dist/cjs/callbacks/useSuspenseInfiniteQuery.cjs.map +1 -1
- package/dist/cjs/callbacks/useSuspenseQueries.cjs +6 -10
- package/dist/cjs/callbacks/useSuspenseQueries.cjs.map +1 -1
- package/dist/cjs/callbacks/useSuspenseQuery.cjs.map +1 -1
- package/dist/cjs/index.cjs +0 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/lib/callQueryClientFetchMethod.cjs +15 -22
- package/dist/cjs/lib/callQueryClientFetchMethod.cjs.map +1 -1
- package/dist/cjs/lib/callQueryClientMethodWithMutationFilters.cjs +4 -6
- package/dist/cjs/lib/callQueryClientMethodWithMutationFilters.cjs.map +1 -1
- package/dist/cjs/lib/callQueryClientMethodWithQueryFilters.cjs +4 -6
- package/dist/cjs/lib/callQueryClientMethodWithQueryFilters.cjs.map +1 -1
- package/dist/cjs/lib/callQueryClientMethodWithQueryKey.cjs +4 -6
- package/dist/cjs/lib/callQueryClientMethodWithQueryKey.cjs.map +1 -1
- package/dist/cjs/lib/requestFn.cjs +42 -31
- package/dist/cjs/lib/requestFn.cjs.map +1 -1
- package/dist/cjs/lib/requestFnResponseResolver.cjs +9 -0
- package/dist/cjs/lib/requestFnResponseResolver.cjs.map +1 -0
- package/dist/cjs/lib/useComposeUseQueryOptions.cjs +6 -10
- package/dist/cjs/lib/useComposeUseQueryOptions.cjs.map +1 -1
- package/dist/cjs/qraftAPIClient.cjs +13 -3
- package/dist/cjs/qraftAPIClient.cjs.map +1 -1
- package/dist/esm/Unstable_QraftSecureRequestFn.js.map +1 -1
- package/dist/esm/callbacks/cancelQueries.js +1 -1
- package/dist/esm/callbacks/cancelQueries.js.map +1 -1
- package/dist/esm/callbacks/fetchInfiniteQuery.js +2 -2
- package/dist/esm/callbacks/fetchInfiniteQuery.js.map +1 -1
- package/dist/esm/callbacks/fetchQuery.js +2 -2
- package/dist/esm/callbacks/fetchQuery.js.map +1 -1
- package/dist/esm/callbacks/getInfiniteQueryData.js +3 -2
- package/dist/esm/callbacks/getInfiniteQueryData.js.map +1 -1
- package/dist/esm/callbacks/getInfiniteQueryKey.js +1 -1
- package/dist/esm/callbacks/getInfiniteQueryKey.js.map +1 -1
- package/dist/esm/callbacks/getInfiniteQueryState.js +3 -2
- package/dist/esm/callbacks/getInfiniteQueryState.js.map +1 -1
- package/dist/esm/callbacks/getMutationKey.js +1 -1
- package/dist/esm/callbacks/getMutationKey.js.map +1 -1
- package/dist/esm/callbacks/getQueriesData.js +2 -2
- package/dist/esm/callbacks/getQueriesData.js.map +1 -1
- package/dist/esm/callbacks/getQueryData.js +3 -2
- package/dist/esm/callbacks/getQueryData.js.map +1 -1
- package/dist/esm/callbacks/getQueryKey.js +1 -1
- package/dist/esm/callbacks/getQueryKey.js.map +1 -1
- package/dist/esm/callbacks/getQueryState.js +3 -2
- package/dist/esm/callbacks/getQueryState.js.map +1 -1
- package/dist/esm/callbacks/index.js +0 -2
- package/dist/esm/callbacks/index.js.map +1 -1
- package/dist/esm/callbacks/invalidateQueries.js +1 -1
- package/dist/esm/callbacks/invalidateQueries.js.map +1 -1
- package/dist/esm/callbacks/isFetching.js +1 -1
- package/dist/esm/callbacks/isFetching.js.map +1 -1
- package/dist/esm/callbacks/isMutating.js +2 -2
- package/dist/esm/callbacks/isMutating.js.map +1 -1
- package/dist/esm/callbacks/operationInvokeFn.js +7 -5
- package/dist/esm/callbacks/operationInvokeFn.js.map +1 -1
- package/dist/esm/callbacks/prefetchInfiniteQuery.js +2 -2
- package/dist/esm/callbacks/prefetchInfiniteQuery.js.map +1 -1
- package/dist/esm/callbacks/prefetchQuery.js +2 -2
- package/dist/esm/callbacks/prefetchQuery.js.map +1 -1
- package/dist/esm/callbacks/refetchQueries.js +1 -1
- package/dist/esm/callbacks/refetchQueries.js.map +1 -1
- package/dist/esm/callbacks/removeQueries.js +2 -2
- package/dist/esm/callbacks/removeQueries.js.map +1 -1
- package/dist/esm/callbacks/resetQueries.js +1 -1
- package/dist/esm/callbacks/resetQueries.js.map +1 -1
- package/dist/esm/callbacks/setInfiniteQueryData.js +2 -1
- package/dist/esm/callbacks/setInfiniteQueryData.js.map +1 -1
- package/dist/esm/callbacks/setQueriesData.js +2 -2
- package/dist/esm/callbacks/setQueriesData.js.map +1 -1
- package/dist/esm/callbacks/setQueryData.js +3 -2
- package/dist/esm/callbacks/setQueryData.js.map +1 -1
- package/dist/esm/callbacks/useInfiniteQuery.js.map +1 -1
- package/dist/esm/callbacks/useIsFetching.js +2 -3
- package/dist/esm/callbacks/useIsFetching.js.map +1 -1
- package/dist/esm/callbacks/useIsMutating.js +2 -3
- package/dist/esm/callbacks/useIsMutating.js.map +1 -1
- package/dist/esm/callbacks/useMutation.js +10 -14
- package/dist/esm/callbacks/useMutation.js.map +1 -1
- package/dist/esm/callbacks/useMutationState.js +2 -3
- package/dist/esm/callbacks/useMutationState.js.map +1 -1
- package/dist/esm/callbacks/useQueries.js +6 -10
- package/dist/esm/callbacks/useQueries.js.map +1 -1
- package/dist/esm/callbacks/useQuery.js.map +1 -1
- package/dist/esm/callbacks/useSuspenseInfiniteQuery.js.map +1 -1
- package/dist/esm/callbacks/useSuspenseQueries.js +6 -10
- package/dist/esm/callbacks/useSuspenseQueries.js.map +1 -1
- package/dist/esm/callbacks/useSuspenseQuery.js.map +1 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/callQueryClientFetchMethod.js +15 -22
- package/dist/esm/lib/callQueryClientFetchMethod.js.map +1 -1
- package/dist/esm/lib/callQueryClientMethodWithMutationFilters.js +4 -6
- package/dist/esm/lib/callQueryClientMethodWithMutationFilters.js.map +1 -1
- package/dist/esm/lib/callQueryClientMethodWithQueryFilters.js +4 -6
- package/dist/esm/lib/callQueryClientMethodWithQueryFilters.js.map +1 -1
- package/dist/esm/lib/callQueryClientMethodWithQueryKey.js +4 -6
- package/dist/esm/lib/callQueryClientMethodWithQueryKey.js.map +1 -1
- package/dist/esm/lib/requestFn.js +42 -31
- package/dist/esm/lib/requestFn.js.map +1 -1
- package/dist/esm/lib/requestFnResponseResolver.js +7 -0
- package/dist/esm/lib/requestFnResponseResolver.js.map +1 -0
- package/dist/esm/lib/useComposeUseQueryOptions.js +6 -10
- package/dist/esm/lib/useComposeUseQueryOptions.js.map +1 -1
- package/dist/esm/qraftAPIClient.js +13 -3
- package/dist/esm/qraftAPIClient.js.map +1 -1
- package/dist/types/Unstable_QraftSecureRequestFn.d.ts +2 -2
- package/dist/types/Unstable_QraftSecureRequestFn.d.ts.map +1 -1
- package/dist/types/callbacks/cancelQueries.d.ts +3 -3
- package/dist/types/callbacks/cancelQueries.d.ts.map +1 -1
- package/dist/types/callbacks/fetchInfiniteQuery.d.ts +3 -3
- package/dist/types/callbacks/fetchInfiniteQuery.d.ts.map +1 -1
- package/dist/types/callbacks/fetchQuery.d.ts +3 -3
- package/dist/types/callbacks/fetchQuery.d.ts.map +1 -1
- package/dist/types/callbacks/getInfiniteQueryData.d.ts +2 -2
- package/dist/types/callbacks/getInfiniteQueryData.d.ts.map +1 -1
- package/dist/types/callbacks/getInfiniteQueryKey.d.ts +2 -2
- package/dist/types/callbacks/getInfiniteQueryKey.d.ts.map +1 -1
- package/dist/types/callbacks/getInfiniteQueryState.d.ts +2 -2
- package/dist/types/callbacks/getInfiniteQueryState.d.ts.map +1 -1
- package/dist/types/callbacks/getMutationKey.d.ts +3 -3
- package/dist/types/callbacks/getMutationKey.d.ts.map +1 -1
- package/dist/types/callbacks/getQueriesData.d.ts +3 -3
- package/dist/types/callbacks/getQueriesData.d.ts.map +1 -1
- package/dist/types/callbacks/getQueryData.d.ts +2 -2
- package/dist/types/callbacks/getQueryData.d.ts.map +1 -1
- package/dist/types/callbacks/getQueryKey.d.ts +3 -3
- package/dist/types/callbacks/getQueryKey.d.ts.map +1 -1
- package/dist/types/callbacks/getQueryState.d.ts +2 -2
- package/dist/types/callbacks/getQueryState.d.ts.map +1 -1
- package/dist/types/callbacks/index.d.ts +0 -2
- package/dist/types/callbacks/index.d.ts.map +1 -1
- package/dist/types/callbacks/invalidateQueries.d.ts +3 -3
- package/dist/types/callbacks/invalidateQueries.d.ts.map +1 -1
- package/dist/types/callbacks/isFetching.d.ts +3 -3
- package/dist/types/callbacks/isFetching.d.ts.map +1 -1
- package/dist/types/callbacks/isMutating.d.ts +3 -3
- package/dist/types/callbacks/isMutating.d.ts.map +1 -1
- package/dist/types/callbacks/operationInvokeFn.d.ts +5 -5
- package/dist/types/callbacks/operationInvokeFn.d.ts.map +1 -1
- package/dist/types/callbacks/prefetchInfiniteQuery.d.ts +3 -3
- package/dist/types/callbacks/prefetchInfiniteQuery.d.ts.map +1 -1
- package/dist/types/callbacks/prefetchQuery.d.ts +3 -3
- package/dist/types/callbacks/prefetchQuery.d.ts.map +1 -1
- package/dist/types/callbacks/refetchQueries.d.ts +3 -3
- package/dist/types/callbacks/refetchQueries.d.ts.map +1 -1
- package/dist/types/callbacks/removeQueries.d.ts +3 -3
- package/dist/types/callbacks/removeQueries.d.ts.map +1 -1
- package/dist/types/callbacks/resetQueries.d.ts +3 -3
- package/dist/types/callbacks/resetQueries.d.ts.map +1 -1
- package/dist/types/callbacks/setInfiniteQueryData.d.ts +4 -4
- package/dist/types/callbacks/setInfiniteQueryData.d.ts.map +1 -1
- package/dist/types/callbacks/setQueriesData.d.ts +3 -3
- package/dist/types/callbacks/setQueriesData.d.ts.map +1 -1
- package/dist/types/callbacks/setQueryData.d.ts +3 -3
- package/dist/types/callbacks/setQueryData.d.ts.map +1 -1
- package/dist/types/callbacks/useInfiniteQuery.d.ts +2 -2
- package/dist/types/callbacks/useInfiniteQuery.d.ts.map +1 -1
- package/dist/types/callbacks/useIsFetching.d.ts +2 -2
- package/dist/types/callbacks/useIsFetching.d.ts.map +1 -1
- package/dist/types/callbacks/useIsMutating.d.ts +4 -4
- package/dist/types/callbacks/useIsMutating.d.ts.map +1 -1
- package/dist/types/callbacks/useMutation.d.ts +3 -3
- package/dist/types/callbacks/useMutation.d.ts.map +1 -1
- package/dist/types/callbacks/useMutationState.d.ts +4 -4
- package/dist/types/callbacks/useMutationState.d.ts.map +1 -1
- package/dist/types/callbacks/useQueries.d.ts +4 -4
- package/dist/types/callbacks/useQueries.d.ts.map +1 -1
- package/dist/types/callbacks/useQuery.d.ts +2 -2
- package/dist/types/callbacks/useQuery.d.ts.map +1 -1
- package/dist/types/callbacks/useSuspenseInfiniteQuery.d.ts +2 -2
- package/dist/types/callbacks/useSuspenseInfiniteQuery.d.ts.map +1 -1
- package/dist/types/callbacks/useSuspenseQueries.d.ts +4 -4
- package/dist/types/callbacks/useSuspenseQueries.d.ts.map +1 -1
- package/dist/types/callbacks/useSuspenseQuery.d.ts +2 -2
- package/dist/types/callbacks/useSuspenseQuery.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/callQueryClientFetchMethod.d.ts +3 -2
- package/dist/types/lib/callQueryClientFetchMethod.d.ts.map +1 -1
- package/dist/types/lib/callQueryClientMethodWithMutationFilters.d.ts +2 -1
- package/dist/types/lib/callQueryClientMethodWithMutationFilters.d.ts.map +1 -1
- package/dist/types/lib/callQueryClientMethodWithQueryFilters.d.ts +2 -1
- package/dist/types/lib/callQueryClientMethodWithQueryFilters.d.ts.map +1 -1
- package/dist/types/lib/callQueryClientMethodWithQueryKey.d.ts +2 -1
- package/dist/types/lib/callQueryClientMethodWithQueryKey.d.ts.map +1 -1
- package/dist/types/lib/requestFn.d.ts +17 -4
- package/dist/types/lib/requestFn.d.ts.map +1 -1
- package/dist/types/lib/requestFnResponseResolver.d.ts +3 -0
- package/dist/types/lib/requestFnResponseResolver.d.ts.map +1 -0
- package/dist/types/lib/useComposeUseQueryOptions.d.ts +2 -2
- package/dist/types/lib/useComposeUseQueryOptions.d.ts.map +1 -1
- package/dist/types/qraftAPIClient.d.ts +40 -9
- package/dist/types/qraftAPIClient.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperation.d.ts +2 -2
- package/dist/types/service-operation/ServiceOperation.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationCancelQueries.d.ts +2 -13
- package/dist/types/service-operation/ServiceOperationCancelQueries.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationFetchInfiniteQuery.d.ts +10 -7
- package/dist/types/service-operation/ServiceOperationFetchInfiniteQuery.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationFetchQuery.d.ts +19 -10
- package/dist/types/service-operation/ServiceOperationFetchQuery.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationGetInfiniteQueryData.d.ts +3 -3
- package/dist/types/service-operation/ServiceOperationGetInfiniteQueryData.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationGetQueriesData.d.ts +3 -4
- package/dist/types/service-operation/ServiceOperationGetQueriesData.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationGetQueryData.d.ts +3 -3
- package/dist/types/service-operation/ServiceOperationGetQueryData.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationGetQueryState.d.ts +3 -3
- package/dist/types/service-operation/ServiceOperationGetQueryState.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationInvalidateQueries.d.ts +2 -13
- package/dist/types/service-operation/ServiceOperationInvalidateQueries.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationIsFetchingQueries.d.ts +2 -12
- package/dist/types/service-operation/ServiceOperationIsFetchingQueries.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationIsMutatingQueries.d.ts +2 -12
- package/dist/types/service-operation/ServiceOperationIsMutatingQueries.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationMutationFn.d.ts +16 -33
- package/dist/types/service-operation/ServiceOperationMutationFn.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationQueryFn.d.ts +7 -49
- package/dist/types/service-operation/ServiceOperationQueryFn.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationRefetchQueries.d.ts +2 -23
- package/dist/types/service-operation/ServiceOperationRefetchQueries.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationRemoveQueries.d.ts +2 -12
- package/dist/types/service-operation/ServiceOperationRemoveQueries.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationResetQueries.d.ts +2 -13
- package/dist/types/service-operation/ServiceOperationResetQueries.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationSetInfiniteQueryData.d.ts +2 -2
- package/dist/types/service-operation/ServiceOperationSetInfiniteQueryData.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationSetQueriesData.d.ts +3 -14
- package/dist/types/service-operation/ServiceOperationSetQueriesData.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationSetQueryData.d.ts +2 -12
- package/dist/types/service-operation/ServiceOperationSetQueryData.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationUseInfiniteQuery.d.ts +6 -5
- package/dist/types/service-operation/ServiceOperationUseInfiniteQuery.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationUseIsFetchingQueries.d.ts +2 -2
- package/dist/types/service-operation/ServiceOperationUseIsFetchingQueries.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationUseIsMutating.d.ts +2 -2
- package/dist/types/service-operation/ServiceOperationUseIsMutating.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationUseMutation.d.ts +4 -4
- package/dist/types/service-operation/ServiceOperationUseMutation.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationUseMutationState.d.ts +2 -2
- package/dist/types/service-operation/ServiceOperationUseMutationState.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationUseQueries.d.ts +2 -2
- package/dist/types/service-operation/ServiceOperationUseQueries.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationUseQuery.d.ts +5 -5
- package/dist/types/service-operation/ServiceOperationUseQuery.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationUseSuspenseInfiniteQuery.d.ts +2 -2
- package/dist/types/service-operation/ServiceOperationUseSuspenseInfiniteQuery.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationUseSuspenseQueries.d.ts +2 -2
- package/dist/types/service-operation/ServiceOperationUseSuspenseQueries.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationUseSuspenseQuery.d.ts +2 -2
- package/dist/types/service-operation/ServiceOperationUseSuspenseQuery.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/Unstable_QraftSecureRequestFn.ts +3 -2
- package/src/callbacks/cancelQueries.ts +5 -4
- package/src/callbacks/fetchInfiniteQuery.ts +10 -5
- package/src/callbacks/fetchQuery.ts +8 -5
- package/src/callbacks/getInfiniteQueryData.ts +5 -3
- package/src/callbacks/getInfiniteQueryKey.ts +2 -2
- package/src/callbacks/getInfiniteQueryState.ts +5 -3
- package/src/callbacks/getMutationKey.ts +3 -3
- package/src/callbacks/getQueriesData.ts +4 -3
- package/src/callbacks/getQueryData.ts +5 -3
- package/src/callbacks/getQueryKey.ts +3 -3
- package/src/callbacks/getQueryState.ts +5 -3
- package/src/callbacks/index.ts +0 -2
- package/src/callbacks/invalidateQueries.ts +5 -4
- package/src/callbacks/isFetching.ts +5 -4
- package/src/callbacks/isMutating.ts +5 -4
- package/src/callbacks/operationInvokeFn.ts +23 -13
- package/src/callbacks/prefetchInfiniteQuery.ts +10 -5
- package/src/callbacks/prefetchQuery.ts +6 -5
- package/src/callbacks/refetchQueries.ts +5 -4
- package/src/callbacks/removeQueries.ts +5 -4
- package/src/callbacks/resetQueries.ts +5 -4
- package/src/callbacks/setInfiniteQueryData.ts +8 -6
- package/src/callbacks/setQueriesData.ts +5 -4
- package/src/callbacks/setQueryData.ts +7 -5
- package/src/callbacks/useInfiniteQuery.ts +2 -2
- package/src/callbacks/useIsFetching.ts +4 -5
- package/src/callbacks/useIsMutating.ts +7 -10
- package/src/callbacks/useMutation.ts +22 -29
- package/src/callbacks/useMutationState.ts +7 -10
- package/src/callbacks/useQueries.ts +16 -23
- package/src/callbacks/useQuery.ts +2 -2
- package/src/callbacks/useSuspenseInfiniteQuery.ts +2 -2
- package/src/callbacks/useSuspenseQueries.ts +16 -23
- package/src/callbacks/useSuspenseQuery.ts +2 -2
- package/src/index.ts +10 -2
- package/src/lib/callQueryClientFetchMethod.ts +39 -37
- package/src/lib/callQueryClientMethodWithMutationFilters.ts +5 -9
- package/src/lib/callQueryClientMethodWithQueryFilters.ts +5 -9
- package/src/lib/callQueryClientMethodWithQueryKey.ts +10 -10
- package/src/lib/requestFn.ts +104 -55
- package/src/lib/requestFnResponseResolver.ts +8 -0
- package/src/lib/urlSerializer.test.ts +0 -1
- package/src/lib/useComposeUseQueryOptions.ts +16 -24
- package/src/qraftAPIClient.ts +236 -31
- package/src/service-operation/ServiceOperation.ts +2 -2
- package/src/service-operation/ServiceOperationCancelQueries.ts +4 -37
- package/src/service-operation/ServiceOperationFetchInfiniteQuery.ts +12 -11
- package/src/service-operation/ServiceOperationFetchQuery.ts +40 -23
- package/src/service-operation/ServiceOperationGetInfiniteQueryData.ts +5 -4
- package/src/service-operation/ServiceOperationGetQueriesData.ts +5 -6
- package/src/service-operation/ServiceOperationGetQueryData.ts +5 -4
- package/src/service-operation/ServiceOperationGetQueryState.ts +3 -9
- package/src/service-operation/ServiceOperationInvalidateQueries.ts +10 -34
- package/src/service-operation/ServiceOperationIsFetchingQueries.ts +3 -24
- package/src/service-operation/ServiceOperationIsMutatingQueries.ts +2 -37
- package/src/service-operation/ServiceOperationMutationFn.ts +32 -75
- package/src/service-operation/ServiceOperationQueryFn.ts +15 -121
- package/src/service-operation/ServiceOperationRefetchQueries.ts +4 -58
- package/src/service-operation/ServiceOperationRemoveQueries.ts +3 -24
- package/src/service-operation/ServiceOperationResetQueries.ts +4 -37
- package/src/service-operation/ServiceOperationSetInfiniteQueryData.ts +1 -7
- package/src/service-operation/ServiceOperationSetQueriesData.ts +3 -32
- package/src/service-operation/ServiceOperationSetQueryData.ts +3 -31
- package/src/service-operation/ServiceOperationUseInfiniteQuery.ts +13 -11
- package/src/service-operation/ServiceOperationUseIsFetchingQueries.ts +3 -4
- package/src/service-operation/ServiceOperationUseIsMutating.ts +2 -3
- package/src/service-operation/ServiceOperationUseMutation.ts +6 -8
- package/src/service-operation/ServiceOperationUseMutationState.ts +17 -21
- package/src/service-operation/ServiceOperationUseQueries.ts +6 -10
- package/src/service-operation/ServiceOperationUseQuery.ts +7 -9
- package/src/service-operation/ServiceOperationUseSuspenseInfiniteQuery.ts +1 -3
- package/src/service-operation/ServiceOperationUseSuspenseQueries.ts +9 -12
- package/src/service-operation/ServiceOperationUseSuspenseQuery.ts +2 -3
- package/dist/cjs/QraftContext.cjs +0 -9
- package/dist/cjs/QraftContext.cjs.map +0 -1
- package/dist/cjs/callbacks/mutationFn.cjs +0 -12
- package/dist/cjs/callbacks/mutationFn.cjs.map +0 -1
- package/dist/cjs/callbacks/queryFn.cjs +0 -13
- package/dist/cjs/callbacks/queryFn.cjs.map +0 -1
- package/dist/cjs/lib/useQueryClient.cjs +0 -18
- package/dist/cjs/lib/useQueryClient.cjs.map +0 -1
- package/dist/esm/QraftContext.js +0 -7
- package/dist/esm/QraftContext.js.map +0 -1
- package/dist/esm/callbacks/mutationFn.js +0 -10
- package/dist/esm/callbacks/mutationFn.js.map +0 -1
- package/dist/esm/callbacks/queryFn.js +0 -11
- package/dist/esm/callbacks/queryFn.js.map +0 -1
- package/dist/esm/lib/useQueryClient.js +0 -16
- package/dist/esm/lib/useQueryClient.js.map +0 -1
- package/dist/types/QraftContext.d.ts +0 -20
- package/dist/types/QraftContext.d.ts.map +0 -1
- package/dist/types/ServiceOperation.d.ts +0 -44
- package/dist/types/ServiceOperation.d.ts.map +0 -1
- package/dist/types/callbacks/mutationFn.d.ts +0 -4
- package/dist/types/callbacks/mutationFn.d.ts.map +0 -1
- package/dist/types/callbacks/queryFn.d.ts +0 -7
- package/dist/types/callbacks/queryFn.d.ts.map +0 -1
- package/dist/types/lib/useQueryClient.d.ts +0 -9
- package/dist/types/lib/useQueryClient.d.ts.map +0 -1
- package/src/QraftContext.ts +0 -28
- package/src/ServiceOperation.ts +0 -66
- package/src/callbacks/mutationFn.ts +0 -22
- package/src/callbacks/queryFn.ts +0 -26
- package/src/lib/useQueryClient.ts +0 -25
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { QueryClient } from '@tanstack/query-core';
|
|
2
|
+
import type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';
|
|
2
3
|
import type { OperationSchema, RequestFn } from './requestFn.js';
|
|
3
4
|
import { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';
|
|
4
5
|
import { composeQueryKey } from './composeQueryKey.js';
|
|
6
|
+
import { requestFnResponseResolver } from './requestFnResponseResolver.js';
|
|
5
7
|
import { shelfMerge } from './shelfMerge.js';
|
|
6
8
|
|
|
7
9
|
/**
|
|
@@ -11,68 +13,68 @@ import { shelfMerge } from './shelfMerge.js';
|
|
|
11
13
|
export function callQueryClientMethodWithQueryKey<
|
|
12
14
|
QFMethod extends QueryKeyMethods,
|
|
13
15
|
>(
|
|
16
|
+
qraftOptions: CreateAPIQueryClientOptions,
|
|
14
17
|
queryFilterMethod: QFMethod,
|
|
15
18
|
schema: OperationSchema,
|
|
16
19
|
infinite: boolean,
|
|
17
20
|
args: QueryClientMethodArgs<QFMethod>
|
|
18
21
|
): ReturnType<(typeof QueryClient.prototype)[QFMethod]> {
|
|
19
|
-
const
|
|
22
|
+
const {
|
|
23
|
+
requestFn: requestFnOption,
|
|
24
|
+
baseUrl: baseUrlOption,
|
|
25
|
+
queryFn: queryFnOption,
|
|
26
|
+
parameters,
|
|
27
|
+
...options
|
|
28
|
+
} = args[0] ?? {};
|
|
20
29
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
throw new Error(
|
|
24
|
-
`queryClient is invalid, ${queryFilterMethod} method does not exist`
|
|
25
|
-
);
|
|
30
|
+
const queryClient = qraftOptions.queryClient;
|
|
31
|
+
const baseUrl = baseUrlOption ?? qraftOptions.baseUrl;
|
|
26
32
|
|
|
27
|
-
if (
|
|
33
|
+
if (queryFnOption && requestFnOption) {
|
|
28
34
|
throw new Error(
|
|
29
|
-
'callQueryClientMethodWithQueryKey: options.
|
|
35
|
+
'callQueryClientMethodWithQueryKey: options.queryFn and options.requestFn are mutually exclusive'
|
|
30
36
|
);
|
|
31
37
|
}
|
|
32
38
|
|
|
33
|
-
|
|
39
|
+
const requestFn = requestFnOption ?? qraftOptions.requestFn;
|
|
40
|
+
|
|
41
|
+
if (options.queryKey && parameters) {
|
|
34
42
|
throw new Error(
|
|
35
|
-
'callQueryClientMethodWithQueryKey: options.
|
|
43
|
+
'callQueryClientMethodWithQueryKey: options.queryKey and options.parameters are mutually exclusive'
|
|
36
44
|
);
|
|
37
45
|
}
|
|
38
46
|
|
|
39
47
|
const queryFn =
|
|
40
|
-
|
|
41
|
-
(requestFn
|
|
42
|
-
? // @ts-expect-error - Not inferring the correct type for `queryFn`
|
|
43
|
-
function ({ queryKey: [, queryParams], signal, meta, pageParam }) {
|
|
44
|
-
return requestFn(schema, {
|
|
45
|
-
parameters: infinite
|
|
46
|
-
? (shelfMerge(2, queryParams, pageParam) as never)
|
|
47
|
-
: queryParams,
|
|
48
|
-
baseUrl,
|
|
49
|
-
signal,
|
|
50
|
-
meta,
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
: undefined);
|
|
54
|
-
|
|
55
|
-
if (parameters) {
|
|
48
|
+
queryFnOption ??
|
|
56
49
|
// @ts-expect-error - Too complex union to type
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
50
|
+
function ({ queryKey: [, queryParams], signal, meta, pageParam }) {
|
|
51
|
+
return requestFn(schema, {
|
|
52
|
+
parameters: infinite
|
|
53
|
+
? (shelfMerge(2, queryParams, pageParam) as never)
|
|
54
|
+
: queryParams,
|
|
55
|
+
baseUrl,
|
|
56
|
+
signal,
|
|
57
|
+
meta,
|
|
58
|
+
}).then(requestFnResponseResolver, requestFnResponseResolver);
|
|
59
|
+
};
|
|
66
60
|
|
|
67
61
|
// @ts-expect-error - Too complex union to type
|
|
68
|
-
return queryClient[queryFilterMethod]({
|
|
62
|
+
return queryClient[queryFilterMethod]({
|
|
63
|
+
...options,
|
|
64
|
+
queryFn,
|
|
65
|
+
queryKey:
|
|
66
|
+
options.queryKey ??
|
|
67
|
+
(infinite
|
|
68
|
+
? composeInfiniteQueryKey(schema, parameters)
|
|
69
|
+
: composeQueryKey(schema, parameters)),
|
|
70
|
+
});
|
|
69
71
|
}
|
|
70
72
|
|
|
71
73
|
type QueryClientMethodArgs<QMethod extends keyof QueryClientPrototype> = [
|
|
72
74
|
options: Parameters<QueryClientPrototype[QMethod]>[0] & {
|
|
73
75
|
parameters?: unknown;
|
|
74
76
|
baseUrl?: string;
|
|
75
|
-
requestFn?: RequestFn<unknown>;
|
|
77
|
+
requestFn?: RequestFn<unknown, unknown>;
|
|
76
78
|
},
|
|
77
79
|
queryClient: QueryClient,
|
|
78
80
|
];
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { QueryClient } from '@tanstack/query-core';
|
|
2
|
+
import type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';
|
|
2
3
|
import type { OperationSchema } from './requestFn.js';
|
|
3
4
|
import { composeMutationFilters } from './composeMutationFilters.js';
|
|
4
5
|
|
|
@@ -9,24 +10,19 @@ import { composeMutationFilters } from './composeMutationFilters.js';
|
|
|
9
10
|
export function callQueryClientMethodWithMutationFilters<
|
|
10
11
|
QFMethod extends QueryFilterMethods,
|
|
11
12
|
>(
|
|
13
|
+
qraftOptions: CreateAPIQueryClientOptions,
|
|
12
14
|
queryFilterMethod: QFMethod,
|
|
13
15
|
schema: OperationSchema,
|
|
14
16
|
args: [...Parameters<(typeof QueryClient.prototype)[QFMethod]>, QueryClient]
|
|
15
17
|
): ReturnType<(typeof QueryClient.prototype)[QFMethod]> {
|
|
16
|
-
const filters = args
|
|
17
|
-
const queryClient =
|
|
18
|
-
|
|
19
|
-
if (!queryClient) throw new Error('queryClient is required');
|
|
20
|
-
if (!queryClient[queryFilterMethod])
|
|
21
|
-
throw new Error(
|
|
22
|
-
`queryClient is invalid, ${queryFilterMethod} method does not exist`
|
|
23
|
-
);
|
|
18
|
+
const filters = args[0];
|
|
19
|
+
const queryClient = qraftOptions.queryClient;
|
|
24
20
|
|
|
25
21
|
// @ts-expect-error - Too complex to type
|
|
26
22
|
return queryClient[queryFilterMethod](
|
|
27
23
|
composeMutationFilters(schema, filters as never),
|
|
28
24
|
// @ts-expect-error - Argument types are too complex
|
|
29
|
-
...args.slice(1,
|
|
25
|
+
...args.slice(1, args.length)
|
|
30
26
|
);
|
|
31
27
|
}
|
|
32
28
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { QueryClient } from '@tanstack/query-core';
|
|
2
|
+
import type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';
|
|
2
3
|
import type { OperationSchema } from './requestFn.js';
|
|
3
4
|
import { composeQueryFilters } from './composeQueryFilters.js';
|
|
4
5
|
|
|
@@ -9,24 +10,19 @@ import { composeQueryFilters } from './composeQueryFilters.js';
|
|
|
9
10
|
export function callQueryClientMethodWithQueryFilters<
|
|
10
11
|
QFMethod extends QueryFilterMethods,
|
|
11
12
|
>(
|
|
13
|
+
qraftOptions: CreateAPIQueryClientOptions,
|
|
12
14
|
queryFilterMethod: QFMethod,
|
|
13
15
|
schema: OperationSchema,
|
|
14
16
|
args: [...Parameters<(typeof QueryClient.prototype)[QFMethod]>, QueryClient]
|
|
15
17
|
): ReturnType<(typeof QueryClient.prototype)[QFMethod]> {
|
|
16
|
-
const filters = args
|
|
17
|
-
const queryClient =
|
|
18
|
-
|
|
19
|
-
if (!queryClient) throw new Error('queryClient is required');
|
|
20
|
-
if (!queryClient[queryFilterMethod])
|
|
21
|
-
throw new Error(
|
|
22
|
-
`queryClient is invalid, ${queryFilterMethod} method does not exist`
|
|
23
|
-
);
|
|
18
|
+
const filters = args[0];
|
|
19
|
+
const queryClient = qraftOptions.queryClient;
|
|
24
20
|
|
|
25
21
|
// @ts-expect-error - Too complex to type
|
|
26
22
|
return queryClient[queryFilterMethod](
|
|
27
23
|
composeQueryFilters(schema, filters as never),
|
|
28
24
|
// @ts-expect-error - Argument types are too complex
|
|
29
|
-
...args.slice(1,
|
|
25
|
+
...args.slice(1, args.length)
|
|
30
26
|
);
|
|
31
27
|
}
|
|
32
28
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { QueryClient } from '@tanstack/query-core';
|
|
2
|
+
import type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';
|
|
2
3
|
import type { OperationSchema } from './requestFn.js';
|
|
3
4
|
import { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';
|
|
4
5
|
import { composeQueryKey } from './composeQueryKey.js';
|
|
@@ -10,19 +11,13 @@ import { composeQueryKey } from './composeQueryKey.js';
|
|
|
10
11
|
export function callQueryClientMethodWithQueryKey<
|
|
11
12
|
QFMethod extends QueryKeyMethods,
|
|
12
13
|
>(
|
|
13
|
-
|
|
14
|
+
qraftOptions: CreateAPIQueryClientOptions,
|
|
15
|
+
queryClientMethod: QFMethod,
|
|
14
16
|
schema: OperationSchema,
|
|
15
17
|
infinite: boolean,
|
|
16
18
|
args: [...Parameters<(typeof QueryClient.prototype)[QFMethod]>, QueryClient]
|
|
17
19
|
): ReturnType<(typeof QueryClient.prototype)[QFMethod]> {
|
|
18
|
-
const parameters = args
|
|
19
|
-
const queryClient = args[args.length - 1] as QueryClient | undefined;
|
|
20
|
-
|
|
21
|
-
if (!queryClient) throw new Error('queryClient is required');
|
|
22
|
-
if (!queryClient[queryFilterMethod])
|
|
23
|
-
throw new Error(
|
|
24
|
-
`queryClient is invalid, ${queryFilterMethod} method does not exist`
|
|
25
|
-
);
|
|
20
|
+
const parameters = args[0];
|
|
26
21
|
|
|
27
22
|
const queryKey = Array.isArray(parameters)
|
|
28
23
|
? parameters
|
|
@@ -30,8 +25,13 @@ export function callQueryClientMethodWithQueryKey<
|
|
|
30
25
|
? composeInfiniteQueryKey(schema, parameters)
|
|
31
26
|
: composeQueryKey(schema, parameters);
|
|
32
27
|
|
|
28
|
+
const queryClient = qraftOptions.queryClient;
|
|
29
|
+
|
|
33
30
|
// @ts-expect-error - Too complex to type
|
|
34
|
-
return queryClient[
|
|
31
|
+
return queryClient[queryClientMethod](
|
|
32
|
+
queryKey,
|
|
33
|
+
...args.slice(1, args.length)
|
|
34
|
+
);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
type QueryKeyMethod<QFMethod extends keyof typeof QueryClient.prototype> =
|
package/src/lib/requestFn.ts
CHANGED
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
*
|
|
12
12
|
* @throws {error: object|string, response: Response} Throws an error if the request fails. The error includes the error message and the response from the server.
|
|
13
13
|
*/
|
|
14
|
-
export async function requestFn<
|
|
14
|
+
export async function requestFn<TData, TError>(
|
|
15
15
|
schema: OperationSchema,
|
|
16
16
|
requestInfo: RequestFnInfo,
|
|
17
17
|
options?: RequestFnOptions
|
|
18
|
-
): Promise<
|
|
19
|
-
return baseRequestFn(schema, requestInfo, {
|
|
18
|
+
): Promise<RequestFnResponse<TData, TError>> {
|
|
19
|
+
return baseRequestFn<TData, TError>(schema, requestInfo, {
|
|
20
20
|
urlSerializer,
|
|
21
21
|
bodySerializer,
|
|
22
22
|
...options,
|
|
@@ -39,46 +39,36 @@ export async function requestFn<T>(
|
|
|
39
39
|
*
|
|
40
40
|
* @throws {error: object|string, response: Response} Throws an error if the request fails. The error includes the error message and the response from the server.
|
|
41
41
|
*/
|
|
42
|
-
export async function baseRequestFn<
|
|
42
|
+
export async function baseRequestFn<TData, TError>(
|
|
43
43
|
requestSchema: OperationSchema,
|
|
44
44
|
requestInfo: RequestFnInfo,
|
|
45
45
|
options: WithRequired<RequestFnOptions, 'urlSerializer' | 'bodySerializer'>
|
|
46
|
-
): Promise<
|
|
46
|
+
): Promise<RequestFnResponse<TData, TError>> {
|
|
47
47
|
const { parameters, headers, body, ...requestInfoRest } = requestInfo;
|
|
48
48
|
|
|
49
49
|
const requestBody = options.bodySerializer(requestSchema, requestInfo);
|
|
50
50
|
|
|
51
51
|
const baseFetch = options.fetch ?? fetch;
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
);
|
|
73
|
-
|
|
74
|
-
// clone response to allow multiple reads
|
|
75
|
-
const clonedResponse = response.clone();
|
|
76
|
-
|
|
77
|
-
if (!response.ok) {
|
|
78
|
-
throw await getResponseBody(clonedResponse);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
return (await getResponseBody(clonedResponse)) as T;
|
|
53
|
+
return baseFetch(options.urlSerializer(requestSchema, requestInfo), {
|
|
54
|
+
method: requestSchema.method.toUpperCase(),
|
|
55
|
+
body: requestBody,
|
|
56
|
+
headers: mergeHeaders(
|
|
57
|
+
{
|
|
58
|
+
Accept: 'application/json',
|
|
59
|
+
'Content-Type': requestSchema.mediaType ?? getBodyContentType(body),
|
|
60
|
+
},
|
|
61
|
+
headers,
|
|
62
|
+
parameters?.header,
|
|
63
|
+
requestBody instanceof FormData
|
|
64
|
+
? // remove `Content-Type` if the serialized body is FormData; the browser will correctly set Content-Type & boundary expression
|
|
65
|
+
{ 'Content-Type': null }
|
|
66
|
+
: undefined
|
|
67
|
+
),
|
|
68
|
+
...requestInfoRest,
|
|
69
|
+
})
|
|
70
|
+
.then(processResponse as typeof processResponse<TData, TError>)
|
|
71
|
+
.catch(resolveResponse as typeof resolveResponse<TData, TError>);
|
|
82
72
|
}
|
|
83
73
|
|
|
84
74
|
/**
|
|
@@ -257,32 +247,72 @@ function getBodyContentType(body: RequestFnPayload['body']) {
|
|
|
257
247
|
if (!(body instanceof FormData)) return 'application/json';
|
|
258
248
|
}
|
|
259
249
|
|
|
260
|
-
async function
|
|
250
|
+
async function processResponse<TData, TError>(
|
|
251
|
+
response: Response
|
|
252
|
+
): Promise<RequestFnResponse<TData, TError>> {
|
|
261
253
|
if (response.status === 204 || response.headers.get('Content-Length') === '0')
|
|
262
|
-
return
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
254
|
+
return (
|
|
255
|
+
response.ok ? { data: {}, response } : { error: {}, response }
|
|
256
|
+
) as RequestFnResponse<TData, TError>;
|
|
257
|
+
|
|
258
|
+
if (isJsonResponse(response)) {
|
|
259
|
+
// clone response before parsing every time to allow multiple reads
|
|
260
|
+
const jsonResponse = response.clone().json();
|
|
261
|
+
return resolveResponse(
|
|
262
|
+
response,
|
|
263
|
+
response.ok ? jsonResponse : Promise.reject(await jsonResponse)
|
|
264
|
+
);
|
|
265
|
+
}
|
|
267
266
|
|
|
268
|
-
|
|
267
|
+
const jsonResponse = new Promise<TData>((resolve, reject) =>
|
|
269
268
|
// attempt to parse JSON for successful responses, otherwise fail
|
|
270
|
-
|
|
269
|
+
response.clone().text().then(JSON.parse).then(resolve, reject)
|
|
270
|
+
);
|
|
271
271
|
|
|
272
|
-
|
|
272
|
+
return resolveResponse(
|
|
273
|
+
response,
|
|
274
|
+
response.ok ? jsonResponse : Promise.reject(await jsonResponse)
|
|
275
|
+
);
|
|
276
|
+
}
|
|
273
277
|
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
278
|
+
function isJsonResponse(response: Response) {
|
|
279
|
+
const contentType = response.headers.get('Content-Type')?.toLowerCase();
|
|
280
|
+
return contentType?.includes('/json') || contentType?.includes('+json');
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
function resolveResponse<TData, TError>(
|
|
284
|
+
error: Error
|
|
285
|
+
): Promise<RequestFnResponse<TData, TError>>;
|
|
286
|
+
function resolveResponse<TData, TError>(
|
|
287
|
+
responseToReturn: Response,
|
|
288
|
+
responsePromise: Promise<TData>
|
|
289
|
+
): Promise<RequestFnResponse<TData, TError>>;
|
|
290
|
+
function resolveResponse<TData, TError>(
|
|
291
|
+
responseToReturn: Response | Error,
|
|
292
|
+
responsePromise?: Promise<TData>
|
|
293
|
+
): Promise<RequestFnResponse<TData, TError>> {
|
|
294
|
+
if (!responsePromise)
|
|
295
|
+
return Promise.reject({
|
|
296
|
+
error: responseToReturn,
|
|
297
|
+
response: undefined,
|
|
298
|
+
data: undefined,
|
|
282
299
|
});
|
|
283
|
-
}
|
|
284
300
|
|
|
285
|
-
return
|
|
301
|
+
return responsePromise
|
|
302
|
+
.then(
|
|
303
|
+
(data) =>
|
|
304
|
+
({ data, response: responseToReturn }) as RequestFnResponse<
|
|
305
|
+
TData,
|
|
306
|
+
TError
|
|
307
|
+
>
|
|
308
|
+
)
|
|
309
|
+
.catch(
|
|
310
|
+
(error) =>
|
|
311
|
+
({ error, response: responseToReturn }) as RequestFnResponse<
|
|
312
|
+
TData,
|
|
313
|
+
TError
|
|
314
|
+
>
|
|
315
|
+
);
|
|
286
316
|
}
|
|
287
317
|
|
|
288
318
|
// To have definitely typed headers without a conversion to stings
|
|
@@ -324,7 +354,7 @@ export interface RequestFnPayload {
|
|
|
324
354
|
* Base URL to use for the request
|
|
325
355
|
* @example 'https://api.example.com'
|
|
326
356
|
*/
|
|
327
|
-
baseUrl
|
|
357
|
+
baseUrl?: string;
|
|
328
358
|
|
|
329
359
|
/**
|
|
330
360
|
* OpenAPI parameters
|
|
@@ -370,7 +400,26 @@ export interface RequestFnOptions {
|
|
|
370
400
|
fetch?: typeof fetch;
|
|
371
401
|
}
|
|
372
402
|
|
|
373
|
-
export type RequestFn<
|
|
403
|
+
export type RequestFn<TData, TError> = typeof requestFn<TData, TError>;
|
|
404
|
+
|
|
405
|
+
export type RequestFnResponse<TData, TError> =
|
|
406
|
+
| {
|
|
407
|
+
data?: TData;
|
|
408
|
+
response: Response;
|
|
409
|
+
error?: never;
|
|
410
|
+
}
|
|
411
|
+
| {
|
|
412
|
+
// server error
|
|
413
|
+
error?: TError | Error;
|
|
414
|
+
response: Response;
|
|
415
|
+
data?: never;
|
|
416
|
+
}
|
|
417
|
+
| {
|
|
418
|
+
// network error
|
|
419
|
+
error?: Error;
|
|
420
|
+
data?: never;
|
|
421
|
+
response?: never;
|
|
422
|
+
};
|
|
374
423
|
|
|
375
424
|
type WithRequired<T, K extends keyof T> = T & {
|
|
376
425
|
[_ in K]: {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { RequestFnResponse } from './requestFn.js';
|
|
2
|
+
|
|
3
|
+
export function requestFnResponseResolver<TData, TError>(
|
|
4
|
+
requestFnResponse: RequestFnResponse<TData, TError>
|
|
5
|
+
): TData | undefined {
|
|
6
|
+
if ('error' in requestFnResponse) throw requestFnResponse.error;
|
|
7
|
+
return requestFnResponse.data;
|
|
8
|
+
}
|
|
@@ -2,46 +2,41 @@
|
|
|
2
2
|
|
|
3
3
|
import type { QueryClient } from '@tanstack/query-core';
|
|
4
4
|
import type { UseQueryOptions } from '@tanstack/react-query';
|
|
5
|
-
import type {
|
|
5
|
+
import type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';
|
|
6
6
|
import type { ServiceOperationQueryKey } from '../service-operation/ServiceOperationKey.js';
|
|
7
7
|
import type { OperationSchema } from './requestFn.js';
|
|
8
|
-
import { useContext } from 'react';
|
|
9
|
-
import { QraftContext } from '../QraftContext.js';
|
|
10
8
|
import { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';
|
|
11
9
|
import { composeQueryKey } from './composeQueryKey.js';
|
|
10
|
+
import { requestFnResponseResolver } from './requestFnResponseResolver.js';
|
|
12
11
|
import { shelfMerge } from './shelfMerge.js';
|
|
13
|
-
import { useQueryClient } from './useQueryClient.js';
|
|
14
12
|
|
|
15
13
|
/**
|
|
16
14
|
* Composes the options for useQuery, useInfiniteQuery, useSuspenseQuery, and useSuspenseQueries.
|
|
17
15
|
* @internal
|
|
18
16
|
*/
|
|
19
17
|
export function useComposeUseQueryOptions(
|
|
20
|
-
qraftOptions:
|
|
18
|
+
qraftOptions: CreateAPIQueryClientOptions,
|
|
21
19
|
schema: OperationSchema,
|
|
22
20
|
args: UseQueryOptionsArgs,
|
|
23
21
|
infinite: boolean
|
|
24
22
|
): never {
|
|
25
|
-
const [parameters, options
|
|
26
|
-
|
|
27
|
-
const contextValue = useContext(qraftOptions?.context ?? QraftContext);
|
|
23
|
+
const [parameters, options] = args;
|
|
28
24
|
|
|
29
25
|
const queryFn =
|
|
30
26
|
options?.queryFn ??
|
|
31
27
|
// @ts-expect-error - Too complex to type
|
|
32
28
|
function ({ queryKey: [, queryParams], signal, meta, pageParam }) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
});
|
|
29
|
+
return qraftOptions
|
|
30
|
+
.requestFn(schema, {
|
|
31
|
+
// @ts-expect-error - Too complex to type
|
|
32
|
+
parameters: infinite
|
|
33
|
+
? (shelfMerge(2, queryParams, pageParam) as never)
|
|
34
|
+
: queryParams,
|
|
35
|
+
baseUrl: qraftOptions.baseUrl,
|
|
36
|
+
signal,
|
|
37
|
+
meta,
|
|
38
|
+
})
|
|
39
|
+
.then(requestFnResponseResolver, requestFnResponseResolver);
|
|
45
40
|
};
|
|
46
41
|
|
|
47
42
|
const queryKey = Array.isArray(parameters)
|
|
@@ -50,10 +45,7 @@ export function useComposeUseQueryOptions(
|
|
|
50
45
|
? composeInfiniteQueryKey(schema, parameters)
|
|
51
46
|
: composeQueryKey(schema, parameters);
|
|
52
47
|
|
|
53
|
-
return [
|
|
54
|
-
{ ...options, queryFn, queryKey },
|
|
55
|
-
useQueryClient(qraftOptions, queryClient),
|
|
56
|
-
] as never;
|
|
48
|
+
return [{ ...options, queryFn, queryKey }, qraftOptions.queryClient] as never;
|
|
57
49
|
}
|
|
58
50
|
|
|
59
51
|
type UseQueryOptionsArgs = [
|