@openapi-qraft/react 1.11.0-beta.3 → 1.11.0-beta.4
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 +6 -0
- package/dist/cjs/QraftContext.cjs +9 -0
- package/dist/cjs/QraftContext.cjs.map +1 -0
- package/dist/cjs/Unstable_QraftSecureRequestFn.cjs +193 -0
- package/dist/cjs/Unstable_QraftSecureRequestFn.cjs.map +1 -0
- package/dist/cjs/callbacks/cancelQueries.cjs +10 -0
- package/dist/cjs/callbacks/cancelQueries.cjs.map +1 -0
- package/dist/cjs/callbacks/fetchInfiniteQuery.cjs +10 -0
- package/dist/cjs/callbacks/fetchInfiniteQuery.cjs.map +1 -0
- package/dist/cjs/callbacks/fetchQuery.cjs +10 -0
- package/dist/cjs/callbacks/fetchQuery.cjs.map +1 -0
- package/dist/cjs/callbacks/getInfiniteQueryData.cjs +10 -0
- package/dist/cjs/callbacks/getInfiniteQueryData.cjs.map +1 -0
- package/dist/cjs/callbacks/getInfiniteQueryKey.cjs +10 -0
- package/dist/cjs/callbacks/getInfiniteQueryKey.cjs.map +1 -0
- package/dist/cjs/callbacks/getInfiniteQueryState.cjs +10 -0
- package/dist/cjs/callbacks/getInfiniteQueryState.cjs.map +1 -0
- package/dist/cjs/callbacks/getMutationKey.cjs +10 -0
- package/dist/cjs/callbacks/getMutationKey.cjs.map +1 -0
- package/dist/cjs/callbacks/getQueriesData.cjs +10 -0
- package/dist/cjs/callbacks/getQueriesData.cjs.map +1 -0
- package/dist/cjs/callbacks/getQueryData.cjs +10 -0
- package/dist/cjs/callbacks/getQueryData.cjs.map +1 -0
- package/dist/cjs/callbacks/getQueryKey.cjs +10 -0
- package/dist/cjs/callbacks/getQueryKey.cjs.map +1 -0
- package/dist/cjs/callbacks/getQueryState.cjs +10 -0
- package/dist/cjs/callbacks/getQueryState.cjs.map +1 -0
- package/dist/cjs/callbacks/index.cjs +76 -0
- package/dist/cjs/callbacks/index.cjs.map +1 -0
- package/dist/cjs/callbacks/invalidateQueries.cjs +10 -0
- package/dist/cjs/callbacks/invalidateQueries.cjs.map +1 -0
- package/dist/cjs/callbacks/isFetching.cjs +10 -0
- package/dist/cjs/callbacks/isFetching.cjs.map +1 -0
- package/dist/cjs/callbacks/isMutating.cjs +10 -0
- package/dist/cjs/callbacks/isMutating.cjs.map +1 -0
- package/dist/cjs/callbacks/mutationFn.cjs +12 -0
- package/dist/cjs/callbacks/mutationFn.cjs.map +1 -0
- package/dist/cjs/callbacks/operationInvokeFn.cjs +22 -0
- package/dist/cjs/callbacks/operationInvokeFn.cjs.map +1 -0
- package/dist/cjs/callbacks/prefetchInfiniteQuery.cjs +10 -0
- package/dist/cjs/callbacks/prefetchInfiniteQuery.cjs.map +1 -0
- package/dist/cjs/callbacks/prefetchQuery.cjs +10 -0
- package/dist/cjs/callbacks/prefetchQuery.cjs.map +1 -0
- package/dist/cjs/callbacks/queryFn.cjs +13 -0
- package/dist/cjs/callbacks/queryFn.cjs.map +1 -0
- package/dist/cjs/callbacks/refetchQueries.cjs +10 -0
- package/dist/cjs/callbacks/refetchQueries.cjs.map +1 -0
- package/dist/cjs/callbacks/removeQueries.cjs +10 -0
- package/dist/cjs/callbacks/removeQueries.cjs.map +1 -0
- package/dist/cjs/callbacks/resetQueries.cjs +10 -0
- package/dist/cjs/callbacks/resetQueries.cjs.map +1 -0
- package/dist/cjs/callbacks/setInfiniteQueryData.cjs +10 -0
- package/dist/cjs/callbacks/setInfiniteQueryData.cjs.map +1 -0
- package/dist/cjs/callbacks/setQueriesData.cjs +10 -0
- package/dist/cjs/callbacks/setQueriesData.cjs.map +1 -0
- package/dist/cjs/callbacks/setQueryData.cjs +10 -0
- package/dist/cjs/callbacks/setQueryData.cjs.map +1 -0
- package/dist/cjs/callbacks/useInfiniteQuery.cjs +13 -0
- package/dist/cjs/callbacks/useInfiniteQuery.cjs.map +1 -0
- package/dist/cjs/callbacks/useIsFetching.cjs +14 -0
- package/dist/cjs/callbacks/useIsFetching.cjs.map +1 -0
- package/dist/cjs/callbacks/useIsMutating.cjs +14 -0
- package/dist/cjs/callbacks/useIsMutating.cjs.map +1 -0
- package/dist/cjs/callbacks/useMutation.cjs +37 -0
- package/dist/cjs/callbacks/useMutation.cjs.map +1 -0
- package/dist/cjs/callbacks/useMutationState.cjs +17 -0
- package/dist/cjs/callbacks/useMutationState.cjs.map +1 -0
- package/dist/cjs/callbacks/useQueries.cjs +41 -0
- package/dist/cjs/callbacks/useQueries.cjs.map +1 -0
- package/dist/cjs/callbacks/useQuery.cjs +13 -0
- package/dist/cjs/callbacks/useQuery.cjs.map +1 -0
- package/dist/cjs/callbacks/useSuspenseInfiniteQuery.cjs +13 -0
- package/dist/cjs/callbacks/useSuspenseInfiniteQuery.cjs.map +1 -0
- package/dist/cjs/callbacks/useSuspenseQueries.cjs +41 -0
- package/dist/cjs/callbacks/useSuspenseQueries.cjs.map +1 -0
- package/dist/cjs/callbacks/useSuspenseQuery.cjs +13 -0
- package/dist/cjs/callbacks/useSuspenseQuery.cjs.map +1 -0
- package/dist/cjs/index.cjs +22 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/lib/callQueryClientFetchMethod.cjs +47 -0
- package/dist/cjs/lib/callQueryClientFetchMethod.cjs.map +1 -0
- package/dist/cjs/lib/callQueryClientMethodWithMutationFilters.cjs +19 -0
- package/dist/cjs/lib/callQueryClientMethodWithMutationFilters.cjs.map +1 -0
- package/dist/cjs/lib/callQueryClientMethodWithQueryFilters.cjs +19 -0
- package/dist/cjs/lib/callQueryClientMethodWithQueryFilters.cjs.map +1 -0
- package/dist/cjs/lib/callQueryClientMethodWithQueryKey.cjs +20 -0
- package/dist/cjs/lib/callQueryClientMethodWithQueryKey.cjs.map +1 -0
- package/dist/cjs/lib/composeBaseQueryKey.cjs +14 -0
- package/dist/cjs/lib/composeBaseQueryKey.cjs.map +1 -0
- package/dist/cjs/lib/composeInfiniteQueryKey.cjs +10 -0
- package/dist/cjs/lib/composeInfiniteQueryKey.cjs.map +1 -0
- package/dist/cjs/lib/composeMutationFilters.cjs +36 -0
- package/dist/cjs/lib/composeMutationFilters.cjs.map +1 -0
- package/dist/cjs/lib/composeMutationKey.cjs +29 -0
- package/dist/cjs/lib/composeMutationKey.cjs.map +1 -0
- package/dist/cjs/lib/composeQueryFilters.cjs +38 -0
- package/dist/cjs/lib/composeQueryFilters.cjs.map +1 -0
- package/dist/cjs/lib/composeQueryKey.cjs +10 -0
- package/dist/cjs/lib/composeQueryKey.cjs.map +1 -0
- package/dist/cjs/lib/createRecursiveProxy.cjs +35 -0
- package/dist/cjs/lib/createRecursiveProxy.cjs.map +1 -0
- package/dist/cjs/lib/jwt-decode/index.cjs +62 -0
- package/dist/cjs/lib/jwt-decode/index.cjs.map +1 -0
- package/dist/cjs/lib/requestFn.cjs +181 -0
- package/dist/cjs/lib/requestFn.cjs.map +1 -0
- package/dist/cjs/lib/shelfMerge.cjs +30 -0
- package/dist/cjs/lib/shelfMerge.cjs.map +1 -0
- package/dist/cjs/lib/useComposeUseQueryOptions.cjs +40 -0
- package/dist/cjs/lib/useComposeUseQueryOptions.cjs.map +1 -0
- package/dist/cjs/lib/useQueryClient.cjs +18 -0
- package/dist/cjs/lib/useQueryClient.cjs.map +1 -0
- package/dist/cjs/qraftAPIClient.cjs +48 -0
- package/dist/cjs/qraftAPIClient.cjs.map +1 -0
- package/dist/esm/QraftContext.js +7 -7
- package/dist/esm/QraftContext.js.map +1 -1
- package/dist/esm/Unstable_QraftSecureRequestFn.js +174 -176
- package/dist/esm/Unstable_QraftSecureRequestFn.js.map +1 -1
- package/dist/esm/callbacks/cancelQueries.js +6 -10
- package/dist/esm/callbacks/cancelQueries.js.map +1 -1
- package/dist/esm/callbacks/fetchInfiniteQuery.js +7 -12
- package/dist/esm/callbacks/fetchInfiniteQuery.js.map +1 -1
- package/dist/esm/callbacks/fetchQuery.js +7 -12
- package/dist/esm/callbacks/fetchQuery.js.map +1 -1
- package/dist/esm/callbacks/getInfiniteQueryData.js +6 -11
- package/dist/esm/callbacks/getInfiniteQueryData.js.map +1 -1
- package/dist/esm/callbacks/getInfiniteQueryKey.js +7 -7
- package/dist/esm/callbacks/getInfiniteQueryKey.js.map +1 -1
- package/dist/esm/callbacks/getInfiniteQueryState.js +6 -11
- package/dist/esm/callbacks/getInfiniteQueryState.js.map +1 -1
- package/dist/esm/callbacks/getMutationKey.js +7 -7
- package/dist/esm/callbacks/getMutationKey.js.map +1 -1
- package/dist/esm/callbacks/getQueriesData.js +6 -10
- package/dist/esm/callbacks/getQueriesData.js.map +1 -1
- package/dist/esm/callbacks/getQueryData.js +6 -11
- package/dist/esm/callbacks/getQueryData.js.map +1 -1
- package/dist/esm/callbacks/getQueryKey.js +7 -7
- package/dist/esm/callbacks/getQueryKey.js.map +1 -1
- package/dist/esm/callbacks/getQueryState.js +6 -11
- package/dist/esm/callbacks/getQueryState.js.map +1 -1
- package/dist/esm/callbacks/index.js +36 -73
- package/dist/esm/callbacks/index.js.map +1 -1
- package/dist/esm/callbacks/invalidateQueries.js +6 -10
- package/dist/esm/callbacks/invalidateQueries.js.map +1 -1
- package/dist/esm/callbacks/isFetching.js +6 -10
- package/dist/esm/callbacks/isFetching.js.map +1 -1
- package/dist/esm/callbacks/isMutating.js +6 -10
- package/dist/esm/callbacks/isMutating.js.map +1 -1
- package/dist/esm/callbacks/mutationFn.js +9 -10
- package/dist/esm/callbacks/mutationFn.js.map +1 -1
- package/dist/esm/callbacks/operationInvokeFn.js +19 -16
- package/dist/esm/callbacks/operationInvokeFn.js.map +1 -1
- package/dist/esm/callbacks/prefetchInfiniteQuery.js +7 -12
- package/dist/esm/callbacks/prefetchInfiniteQuery.js.map +1 -1
- package/dist/esm/callbacks/prefetchQuery.js +7 -12
- package/dist/esm/callbacks/prefetchQuery.js.map +1 -1
- package/dist/esm/callbacks/queryFn.js +10 -14
- package/dist/esm/callbacks/queryFn.js.map +1 -1
- package/dist/esm/callbacks/refetchQueries.js +6 -10
- package/dist/esm/callbacks/refetchQueries.js.map +1 -1
- package/dist/esm/callbacks/removeQueries.js +6 -10
- package/dist/esm/callbacks/removeQueries.js.map +1 -1
- package/dist/esm/callbacks/resetQueries.js +6 -10
- package/dist/esm/callbacks/resetQueries.js.map +1 -1
- package/dist/esm/callbacks/setInfiniteQueryData.js +6 -11
- package/dist/esm/callbacks/setInfiniteQueryData.js.map +1 -1
- package/dist/esm/callbacks/setQueriesData.js +6 -10
- package/dist/esm/callbacks/setQueriesData.js.map +1 -1
- package/dist/esm/callbacks/setQueryData.js +6 -11
- package/dist/esm/callbacks/setQueryData.js.map +1 -1
- package/dist/esm/callbacks/useInfiniteQuery.js +10 -13
- package/dist/esm/callbacks/useInfiniteQuery.js.map +1 -1
- package/dist/esm/callbacks/useIsFetching.js +11 -14
- package/dist/esm/callbacks/useIsFetching.js.map +1 -1
- package/dist/esm/callbacks/useIsMutating.js +11 -16
- package/dist/esm/callbacks/useIsMutating.js.map +1 -1
- package/dist/esm/callbacks/useMutation.js +34 -43
- package/dist/esm/callbacks/useMutation.js.map +1 -1
- package/dist/esm/callbacks/useMutationState.js +14 -19
- package/dist/esm/callbacks/useMutationState.js.map +1 -1
- package/dist/esm/callbacks/useQueries.js +38 -46
- package/dist/esm/callbacks/useQueries.js.map +1 -1
- package/dist/esm/callbacks/useQuery.js +10 -13
- package/dist/esm/callbacks/useQuery.js.map +1 -1
- package/dist/esm/callbacks/useSuspenseInfiniteQuery.js +10 -13
- package/dist/esm/callbacks/useSuspenseInfiniteQuery.js.map +1 -1
- package/dist/esm/callbacks/useSuspenseQueries.js +38 -46
- package/dist/esm/callbacks/useSuspenseQueries.js.map +1 -1
- package/dist/esm/callbacks/useSuspenseQuery.js +10 -13
- package/dist/esm/callbacks/useSuspenseQuery.js.map +1 -1
- package/dist/esm/index.js +7 -29
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/callQueryClientFetchMethod.js +41 -41
- package/dist/esm/lib/callQueryClientFetchMethod.js.map +1 -1
- package/dist/esm/lib/callQueryClientMethodWithMutationFilters.js +16 -17
- package/dist/esm/lib/callQueryClientMethodWithMutationFilters.js.map +1 -1
- package/dist/esm/lib/callQueryClientMethodWithQueryFilters.js +16 -17
- package/dist/esm/lib/callQueryClientMethodWithQueryFilters.js.map +1 -1
- package/dist/esm/lib/callQueryClientMethodWithQueryKey.js +17 -16
- package/dist/esm/lib/callQueryClientMethodWithQueryKey.js.map +1 -1
- package/dist/esm/lib/composeBaseQueryKey.js +10 -8
- package/dist/esm/lib/composeBaseQueryKey.js.map +1 -1
- package/dist/esm/lib/composeInfiniteQueryKey.js +6 -6
- package/dist/esm/lib/composeInfiniteQueryKey.js.map +1 -1
- package/dist/esm/lib/composeMutationFilters.js +31 -28
- package/dist/esm/lib/composeMutationFilters.js.map +1 -1
- package/dist/esm/lib/composeMutationKey.js +22 -23
- package/dist/esm/lib/composeMutationKey.js.map +1 -1
- package/dist/esm/lib/composeQueryFilters.js +33 -30
- package/dist/esm/lib/composeQueryFilters.js.map +1 -1
- package/dist/esm/lib/composeQueryKey.js +6 -6
- package/dist/esm/lib/composeQueryKey.js.map +1 -1
- package/dist/esm/lib/createRecursiveProxy.js +30 -22
- package/dist/esm/lib/createRecursiveProxy.js.map +1 -1
- package/dist/esm/lib/jwt-decode/index.js +49 -56
- package/dist/esm/lib/jwt-decode/index.js.map +1 -1
- package/dist/esm/lib/requestFn.js +156 -155
- package/dist/esm/lib/requestFn.js.map +1 -1
- package/dist/esm/lib/shelfMerge.js +27 -28
- package/dist/esm/lib/shelfMerge.js.map +1 -1
- package/dist/esm/lib/useComposeUseQueryOptions.js +37 -31
- package/dist/esm/lib/useComposeUseQueryOptions.js.map +1 -1
- package/dist/esm/lib/useQueryClient.js +15 -15
- package/dist/esm/lib/useQueryClient.js.map +1 -1
- package/dist/esm/qraftAPIClient.js +40 -47
- package/dist/esm/qraftAPIClient.js.map +1 -1
- package/package.json +9 -15
- package/dist/cjs/QraftContext.js +0 -31
- package/dist/cjs/QraftContext.js.map +0 -1
- package/dist/cjs/ServiceOperation.js +0 -17
- package/dist/cjs/ServiceOperation.js.map +0 -1
- package/dist/cjs/Unstable_QraftSecureRequestFn.js +0 -214
- package/dist/cjs/Unstable_QraftSecureRequestFn.js.map +0 -1
- package/dist/cjs/callbacks/cancelQueries.js +0 -36
- package/dist/cjs/callbacks/cancelQueries.js.map +0 -1
- package/dist/cjs/callbacks/fetchInfiniteQuery.js +0 -37
- package/dist/cjs/callbacks/fetchInfiniteQuery.js.map +0 -1
- package/dist/cjs/callbacks/fetchQuery.js +0 -37
- package/dist/cjs/callbacks/fetchQuery.js.map +0 -1
- package/dist/cjs/callbacks/getInfiniteQueryData.js +0 -37
- package/dist/cjs/callbacks/getInfiniteQueryData.js.map +0 -1
- package/dist/cjs/callbacks/getInfiniteQueryKey.js +0 -32
- package/dist/cjs/callbacks/getInfiniteQueryKey.js.map +0 -1
- package/dist/cjs/callbacks/getInfiniteQueryState.js +0 -37
- package/dist/cjs/callbacks/getInfiniteQueryState.js.map +0 -1
- package/dist/cjs/callbacks/getMutationKey.js +0 -32
- package/dist/cjs/callbacks/getMutationKey.js.map +0 -1
- package/dist/cjs/callbacks/getQueriesData.js +0 -36
- package/dist/cjs/callbacks/getQueriesData.js.map +0 -1
- package/dist/cjs/callbacks/getQueryData.js +0 -37
- package/dist/cjs/callbacks/getQueryData.js.map +0 -1
- package/dist/cjs/callbacks/getQueryKey.js +0 -32
- package/dist/cjs/callbacks/getQueryKey.js.map +0 -1
- package/dist/cjs/callbacks/getQueryState.js +0 -37
- package/dist/cjs/callbacks/getQueryState.js.map +0 -1
- package/dist/cjs/callbacks/index.js +0 -131
- package/dist/cjs/callbacks/index.js.map +0 -1
- package/dist/cjs/callbacks/invalidateQueries.js +0 -36
- package/dist/cjs/callbacks/invalidateQueries.js.map +0 -1
- package/dist/cjs/callbacks/isFetching.js +0 -36
- package/dist/cjs/callbacks/isFetching.js.map +0 -1
- package/dist/cjs/callbacks/isMutating.js +0 -36
- package/dist/cjs/callbacks/isMutating.js.map +0 -1
- package/dist/cjs/callbacks/mutationFn.js +0 -35
- package/dist/cjs/callbacks/mutationFn.js.map +0 -1
- package/dist/cjs/callbacks/operationInvokeFn.js +0 -41
- package/dist/cjs/callbacks/operationInvokeFn.js.map +0 -1
- package/dist/cjs/callbacks/prefetchInfiniteQuery.js +0 -37
- package/dist/cjs/callbacks/prefetchInfiniteQuery.js.map +0 -1
- package/dist/cjs/callbacks/prefetchQuery.js +0 -37
- package/dist/cjs/callbacks/prefetchQuery.js.map +0 -1
- package/dist/cjs/callbacks/queryFn.js +0 -39
- package/dist/cjs/callbacks/queryFn.js.map +0 -1
- package/dist/cjs/callbacks/refetchQueries.js +0 -36
- package/dist/cjs/callbacks/refetchQueries.js.map +0 -1
- package/dist/cjs/callbacks/removeQueries.js +0 -36
- package/dist/cjs/callbacks/removeQueries.js.map +0 -1
- package/dist/cjs/callbacks/resetQueries.js +0 -36
- package/dist/cjs/callbacks/resetQueries.js.map +0 -1
- package/dist/cjs/callbacks/setInfiniteQueryData.js +0 -37
- package/dist/cjs/callbacks/setInfiniteQueryData.js.map +0 -1
- package/dist/cjs/callbacks/setQueriesData.js +0 -36
- package/dist/cjs/callbacks/setQueriesData.js.map +0 -1
- package/dist/cjs/callbacks/setQueryData.js +0 -37
- package/dist/cjs/callbacks/setQueryData.js.map +0 -1
- package/dist/cjs/callbacks/useInfiniteQuery.js +0 -36
- package/dist/cjs/callbacks/useInfiniteQuery.js.map +0 -1
- package/dist/cjs/callbacks/useIsFetching.js +0 -39
- package/dist/cjs/callbacks/useIsFetching.js.map +0 -1
- package/dist/cjs/callbacks/useIsMutating.js +0 -39
- package/dist/cjs/callbacks/useIsMutating.js.map +0 -1
- package/dist/cjs/callbacks/useMutation.js +0 -66
- package/dist/cjs/callbacks/useMutation.js.map +0 -1
- package/dist/cjs/callbacks/useMutationState.js +0 -42
- package/dist/cjs/callbacks/useMutationState.js.map +0 -1
- package/dist/cjs/callbacks/useQueries.js +0 -69
- package/dist/cjs/callbacks/useQueries.js.map +0 -1
- package/dist/cjs/callbacks/useQuery.js +0 -36
- package/dist/cjs/callbacks/useQuery.js.map +0 -1
- package/dist/cjs/callbacks/useSuspenseInfiniteQuery.js +0 -36
- package/dist/cjs/callbacks/useSuspenseInfiniteQuery.js.map +0 -1
- package/dist/cjs/callbacks/useSuspenseQueries.js +0 -69
- package/dist/cjs/callbacks/useSuspenseQueries.js.map +0 -1
- package/dist/cjs/callbacks/useSuspenseQuery.js +0 -36
- package/dist/cjs/callbacks/useSuspenseQuery.js.map +0 -1
- package/dist/cjs/index.js +0 -63
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/lib/PartialParameters.type.js +0 -17
- package/dist/cjs/lib/PartialParameters.type.js.map +0 -1
- package/dist/cjs/lib/callQueryClientFetchMethod.js +0 -69
- package/dist/cjs/lib/callQueryClientFetchMethod.js.map +0 -1
- package/dist/cjs/lib/callQueryClientMethodWithMutationFilters.js +0 -42
- package/dist/cjs/lib/callQueryClientMethodWithMutationFilters.js.map +0 -1
- package/dist/cjs/lib/callQueryClientMethodWithQueryFilters.js +0 -42
- package/dist/cjs/lib/callQueryClientMethodWithQueryFilters.js.map +0 -1
- package/dist/cjs/lib/callQueryClientMethodWithQueryKey.js +0 -41
- package/dist/cjs/lib/callQueryClientMethodWithQueryKey.js.map +0 -1
- package/dist/cjs/lib/composeBaseQueryKey.js +0 -34
- package/dist/cjs/lib/composeBaseQueryKey.js.map +0 -1
- package/dist/cjs/lib/composeInfiniteQueryKey.js +0 -32
- package/dist/cjs/lib/composeInfiniteQueryKey.js.map +0 -1
- package/dist/cjs/lib/composeMutationFilters.js +0 -55
- package/dist/cjs/lib/composeMutationFilters.js.map +0 -1
- package/dist/cjs/lib/composeMutationKey.js +0 -52
- package/dist/cjs/lib/composeMutationKey.js.map +0 -1
- package/dist/cjs/lib/composeQueryFilters.js +0 -57
- package/dist/cjs/lib/composeQueryFilters.js.map +0 -1
- package/dist/cjs/lib/composeQueryKey.js +0 -32
- package/dist/cjs/lib/composeQueryKey.js.map +0 -1
- package/dist/cjs/lib/createRecursiveProxy.js +0 -49
- package/dist/cjs/lib/createRecursiveProxy.js.map +0 -1
- package/dist/cjs/lib/jwt-decode/index.js +0 -91
- package/dist/cjs/lib/jwt-decode/index.js.map +0 -1
- package/dist/cjs/lib/requestFn.js +0 -202
- package/dist/cjs/lib/requestFn.js.map +0 -1
- package/dist/cjs/lib/shelfMerge.js +0 -53
- package/dist/cjs/lib/shelfMerge.js.map +0 -1
- package/dist/cjs/lib/useComposeUseQueryOptions.js +0 -56
- package/dist/cjs/lib/useComposeUseQueryOptions.js.map +0 -1
- package/dist/cjs/lib/useQueryClient.js +0 -38
- package/dist/cjs/lib/useQueryClient.js.map +0 -1
- package/dist/cjs/qraftAPIClient.js +0 -77
- package/dist/cjs/qraftAPIClient.js.map +0 -1
- package/dist/cjs/service-operation/OperationInfiniteData.js +0 -17
- package/dist/cjs/service-operation/OperationInfiniteData.js.map +0 -1
- package/dist/cjs/service-operation/QueryFilters.js +0 -17
- package/dist/cjs/service-operation/QueryFilters.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperation.js +0 -17
- package/dist/cjs/service-operation/ServiceOperation.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationCancelQueries.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationCancelQueries.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationFetchInfiniteQuery.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationFetchInfiniteQuery.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationFetchQuery.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationFetchQuery.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationGetInfiniteQueryData.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationGetInfiniteQueryData.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationGetQueriesData.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationGetQueriesData.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationGetQueryData.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationGetQueryData.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationGetQueryState.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationGetQueryState.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationInvalidateQueries.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationInvalidateQueries.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationIsFetchingQueries.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationIsFetchingQueries.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationIsMutatingQueries.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationIsMutatingQueries.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationKey.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationKey.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationMutationFn.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationMutationFn.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationQueryFn.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationQueryFn.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationRefetchQueries.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationRefetchQueries.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationRemoveQueries.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationRemoveQueries.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationResetQueries.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationResetQueries.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationSetInfiniteQueryData.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationSetInfiniteQueryData.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationSetQueriesData.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationSetQueriesData.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationSetQueryData.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationSetQueryData.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationUseInfiniteQuery.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationUseInfiniteQuery.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationUseIsFetchingQueries.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationUseIsFetchingQueries.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationUseIsMutating.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationUseIsMutating.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationUseMutation.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationUseMutation.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationUseMutationState.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationUseMutationState.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationUseQueries.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationUseQueries.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationUseQuery.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationUseQuery.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationUseSuspenseInfiniteQuery.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationUseSuspenseInfiniteQuery.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationUseSuspenseQueries.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationUseSuspenseQueries.js.map +0 -1
- package/dist/cjs/service-operation/ServiceOperationUseSuspenseQueryQuery.js +0 -17
- package/dist/cjs/service-operation/ServiceOperationUseSuspenseQueryQuery.js.map +0 -1
- package/dist/cjs/service-operation/index.js +0 -17
- package/dist/cjs/service-operation/index.js.map +0 -1
- package/dist/esm/ServiceOperation.js +0 -1
- package/dist/esm/ServiceOperation.js.map +0 -1
- package/dist/esm/lib/PartialParameters.type.js +0 -1
- package/dist/esm/lib/PartialParameters.type.js.map +0 -1
- package/dist/esm/service-operation/OperationInfiniteData.js +0 -1
- package/dist/esm/service-operation/OperationInfiniteData.js.map +0 -1
- package/dist/esm/service-operation/QueryFilters.js +0 -1
- package/dist/esm/service-operation/QueryFilters.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperation.js +0 -1
- package/dist/esm/service-operation/ServiceOperation.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationCancelQueries.js +0 -1
- package/dist/esm/service-operation/ServiceOperationCancelQueries.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationFetchInfiniteQuery.js +0 -1
- package/dist/esm/service-operation/ServiceOperationFetchInfiniteQuery.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationFetchQuery.js +0 -1
- package/dist/esm/service-operation/ServiceOperationFetchQuery.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationGetInfiniteQueryData.js +0 -1
- package/dist/esm/service-operation/ServiceOperationGetInfiniteQueryData.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationGetQueriesData.js +0 -1
- package/dist/esm/service-operation/ServiceOperationGetQueriesData.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationGetQueryData.js +0 -1
- package/dist/esm/service-operation/ServiceOperationGetQueryData.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationGetQueryState.js +0 -1
- package/dist/esm/service-operation/ServiceOperationGetQueryState.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationInvalidateQueries.js +0 -1
- package/dist/esm/service-operation/ServiceOperationInvalidateQueries.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationIsFetchingQueries.js +0 -1
- package/dist/esm/service-operation/ServiceOperationIsFetchingQueries.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationIsMutatingQueries.js +0 -1
- package/dist/esm/service-operation/ServiceOperationIsMutatingQueries.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationKey.js +0 -1
- package/dist/esm/service-operation/ServiceOperationKey.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationMutationFn.js +0 -1
- package/dist/esm/service-operation/ServiceOperationMutationFn.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationQueryFn.js +0 -1
- package/dist/esm/service-operation/ServiceOperationQueryFn.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationRefetchQueries.js +0 -1
- package/dist/esm/service-operation/ServiceOperationRefetchQueries.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationRemoveQueries.js +0 -1
- package/dist/esm/service-operation/ServiceOperationRemoveQueries.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationResetQueries.js +0 -1
- package/dist/esm/service-operation/ServiceOperationResetQueries.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationSetInfiniteQueryData.js +0 -1
- package/dist/esm/service-operation/ServiceOperationSetInfiniteQueryData.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationSetQueriesData.js +0 -1
- package/dist/esm/service-operation/ServiceOperationSetQueriesData.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationSetQueryData.js +0 -1
- package/dist/esm/service-operation/ServiceOperationSetQueryData.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationUseInfiniteQuery.js +0 -1
- package/dist/esm/service-operation/ServiceOperationUseInfiniteQuery.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationUseIsFetchingQueries.js +0 -1
- package/dist/esm/service-operation/ServiceOperationUseIsFetchingQueries.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationUseIsMutating.js +0 -1
- package/dist/esm/service-operation/ServiceOperationUseIsMutating.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationUseMutation.js +0 -1
- package/dist/esm/service-operation/ServiceOperationUseMutation.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationUseMutationState.js +0 -1
- package/dist/esm/service-operation/ServiceOperationUseMutationState.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationUseQueries.js +0 -1
- package/dist/esm/service-operation/ServiceOperationUseQueries.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationUseQuery.js +0 -1
- package/dist/esm/service-operation/ServiceOperationUseQuery.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationUseSuspenseInfiniteQuery.js +0 -1
- package/dist/esm/service-operation/ServiceOperationUseSuspenseInfiniteQuery.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationUseSuspenseQueries.js +0 -1
- package/dist/esm/service-operation/ServiceOperationUseSuspenseQueries.js.map +0 -1
- package/dist/esm/service-operation/ServiceOperationUseSuspenseQueryQuery.js +0 -1
- package/dist/esm/service-operation/ServiceOperationUseSuspenseQueryQuery.js.map +0 -1
- package/dist/esm/service-operation/index.js +0 -1
- package/dist/esm/service-operation/index.js.map +0 -1
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* This function is used to make a request to a specified endpoint.
|
|
5
|
+
*
|
|
6
|
+
* @template T The expected return type of the request.
|
|
7
|
+
*
|
|
8
|
+
* @param schema The schema of the operation to be performed. It includes the OpenAPI path, HTTP method and media type.
|
|
9
|
+
* @param requestInfo The information required to make the request. It includes parameters, headers, body, etc.
|
|
10
|
+
* @param [options] Optional. Additional options for the request. It includes custom urlSerializer, bodySerializer, and fetch function.
|
|
11
|
+
*
|
|
12
|
+
* @returns {Promise<T>} Returns a promise that resolves with the response of the request.
|
|
13
|
+
*
|
|
14
|
+
* @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.
|
|
15
|
+
*/ async function requestFn(schema, requestInfo, options) {
|
|
16
|
+
return baseRequestFn(schema, requestInfo, {
|
|
17
|
+
urlSerializer,
|
|
18
|
+
bodySerializer,
|
|
19
|
+
...options
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* This function is used to make a request to a specified endpoint.
|
|
24
|
+
* It's needed to create a custom `requestFn` with a custom `urlSerializer`
|
|
25
|
+
* and `bodySerializer`, with the tree-shaking of the default `requestFn`
|
|
26
|
+
* and its serializers.
|
|
27
|
+
*
|
|
28
|
+
* @template T The expected return type of the request.
|
|
29
|
+
*
|
|
30
|
+
* @param requestSchema The schema of the operation to be performed. It includes the OpenAPI path, HTTP method and media type.
|
|
31
|
+
* @param requestInfo The information required to make the request. It includes parameters, headers, body, etc.
|
|
32
|
+
* @param options The options for the request. It includes urlSerializer, bodySerializer, and fetch function. The 'urlSerializer' and 'bodySerializer' are required.
|
|
33
|
+
*
|
|
34
|
+
* @returns {Promise<T>} Returns a promise that resolves with the response of the request.
|
|
35
|
+
*
|
|
36
|
+
* @throws {error: object|string, response: Response} Throws an error if the request fails. The error includes the error message and the response from the server.
|
|
37
|
+
*/ async function baseRequestFn(requestSchema, requestInfo, options) {
|
|
38
|
+
const { parameters, headers, body, ...requestInfoRest } = requestInfo;
|
|
39
|
+
const requestBody = options.bodySerializer(requestSchema, requestInfo);
|
|
40
|
+
const baseFetch = options.fetch ?? fetch;
|
|
41
|
+
const response = await baseFetch(options.urlSerializer(requestSchema, requestInfo), {
|
|
42
|
+
method: requestSchema.method.toUpperCase(),
|
|
43
|
+
body: requestBody,
|
|
44
|
+
headers: mergeHeaders({
|
|
45
|
+
Accept: 'application/json',
|
|
46
|
+
'Content-Type': requestSchema.mediaType ?? getBodyContentType(body)
|
|
47
|
+
}, headers, parameters?.header, requestBody instanceof FormData ? {
|
|
48
|
+
'Content-Type': null
|
|
49
|
+
} : undefined),
|
|
50
|
+
...requestInfoRest
|
|
51
|
+
});
|
|
52
|
+
// clone response to allow multiple reads
|
|
53
|
+
const clonedResponse = response.clone();
|
|
54
|
+
if (!response.ok) {
|
|
55
|
+
throw await getResponseBody(clonedResponse);
|
|
56
|
+
}
|
|
57
|
+
return await getResponseBody(clonedResponse);
|
|
58
|
+
}
|
|
59
|
+
function urlSerializer(schema, info) {
|
|
60
|
+
const path = schema.url.replace(/{(.*?)}/g, (substring, group)=>{
|
|
61
|
+
if (info.parameters?.path && Object.prototype.hasOwnProperty.call(info.parameters.path, group)) {
|
|
62
|
+
return encodeURI(String(info.parameters?.path[group]));
|
|
63
|
+
}
|
|
64
|
+
return substring;
|
|
65
|
+
});
|
|
66
|
+
const baseUrl = info.baseUrl ?? '';
|
|
67
|
+
if (info.parameters?.query) {
|
|
68
|
+
return `${baseUrl}${path}${getQueryString(info.parameters.query)}`;
|
|
69
|
+
}
|
|
70
|
+
return `${baseUrl}${path}`;
|
|
71
|
+
}
|
|
72
|
+
function getQueryString(params) {
|
|
73
|
+
const qs = [];
|
|
74
|
+
const append = (key, value)=>{
|
|
75
|
+
qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
|
|
76
|
+
};
|
|
77
|
+
const process1 = (key, value)=>{
|
|
78
|
+
if (typeof value === 'undefined' || value === null) return;
|
|
79
|
+
if (Array.isArray(value)) {
|
|
80
|
+
value.forEach((v)=>{
|
|
81
|
+
process1(key, v);
|
|
82
|
+
});
|
|
83
|
+
} else if (typeof value === 'object') {
|
|
84
|
+
Object.entries(value).forEach(([k, v])=>{
|
|
85
|
+
process1(`${key}[${k}]`, v);
|
|
86
|
+
});
|
|
87
|
+
} else {
|
|
88
|
+
append(key, value);
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
Object.entries(params).forEach(([key, value])=>{
|
|
92
|
+
process1(key, value);
|
|
93
|
+
});
|
|
94
|
+
if (qs.length > 0) {
|
|
95
|
+
return `?${qs.join('&')}`;
|
|
96
|
+
}
|
|
97
|
+
return '';
|
|
98
|
+
}
|
|
99
|
+
function mergeHeaders(...allHeaders) {
|
|
100
|
+
const headers = new Headers();
|
|
101
|
+
for (const headerSet of allHeaders){
|
|
102
|
+
if (!headerSet || typeof headerSet !== 'object') {
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
const headersIterator = headerSet instanceof Headers ? headerSet.entries() : Object.entries(headerSet);
|
|
106
|
+
for (const [headerKey, headerValue] of headersIterator){
|
|
107
|
+
if (headerValue === null) {
|
|
108
|
+
headers.delete(headerKey);
|
|
109
|
+
} else if (headerValue !== undefined) {
|
|
110
|
+
headers.set(headerKey, headerValue);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return headers;
|
|
115
|
+
}
|
|
116
|
+
function bodySerializer(schema, info) {
|
|
117
|
+
if (info.body === undefined) return;
|
|
118
|
+
if (schema.method === 'get' || schema.method === 'head' || schema.method === 'options') return;
|
|
119
|
+
if (schema.mediaType?.includes('/form-data')) return getRequestBodyFormData(info);
|
|
120
|
+
if (!schema.mediaType?.includes('/json') && (typeof info.body === 'string' || info.body instanceof Blob || info.body instanceof FormData)) {
|
|
121
|
+
return info.body;
|
|
122
|
+
}
|
|
123
|
+
return JSON.stringify(info.body);
|
|
124
|
+
}
|
|
125
|
+
function getRequestBodyFormData({ body }) {
|
|
126
|
+
if (body instanceof FormData) return body;
|
|
127
|
+
if (body === null) return;
|
|
128
|
+
if (body instanceof Blob) throw new Error('Blob not supported in form-data');
|
|
129
|
+
if (body instanceof ArrayBuffer) throw new Error('ArrayBuffer not supported in form-data');
|
|
130
|
+
if (body instanceof URLSearchParams) throw new Error('URLSearchParams not supported in form-data');
|
|
131
|
+
if (body instanceof ReadableStream) throw new Error('ReadableStream not supported in form-data');
|
|
132
|
+
if (typeof body === 'string') throw new Error('String not supported in form-data');
|
|
133
|
+
if (typeof body !== 'object') throw new Error(`Unsupported body type ${typeof body} in form-data.`);
|
|
134
|
+
const formData = new FormData();
|
|
135
|
+
const process1 = (key, value)=>{
|
|
136
|
+
if (typeof value === 'string' || value instanceof Blob) {
|
|
137
|
+
formData.append(key, value);
|
|
138
|
+
} else {
|
|
139
|
+
formData.append(key, JSON.stringify(value));
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
Object.entries(body).filter(([_, value])=>typeof value !== 'undefined' && value !== null).forEach(([key, value])=>{
|
|
143
|
+
if (Array.isArray(value)) {
|
|
144
|
+
value.forEach((v)=>process1(key, v));
|
|
145
|
+
} else {
|
|
146
|
+
process1(key, value);
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
return formData;
|
|
150
|
+
}
|
|
151
|
+
function getBodyContentType(body) {
|
|
152
|
+
if (!body) return;
|
|
153
|
+
if (body instanceof Blob) return body.type || 'application/octet-stream';
|
|
154
|
+
if (typeof body === 'string') return 'text/plain';
|
|
155
|
+
if (!(body instanceof FormData)) return 'application/json';
|
|
156
|
+
}
|
|
157
|
+
async function getResponseBody(response) {
|
|
158
|
+
if (response.status === 204 || response.headers.get('Content-Length') === '0') return undefined;
|
|
159
|
+
const contentType = response.headers.get('Content-Type')?.toLowerCase();
|
|
160
|
+
const isJSON = contentType?.includes('/json') || contentType?.includes('+json');
|
|
161
|
+
if (isJSON) {
|
|
162
|
+
// attempt to parse JSON for successful responses, otherwise fail
|
|
163
|
+
if (response.ok) return response.json();
|
|
164
|
+
const errorFallbackResponse = response.clone(); // clone to allow multiple reads
|
|
165
|
+
return response.json().catch(()=>{
|
|
166
|
+
if (process.env.NODE_ENV === 'development') {
|
|
167
|
+
console.warn('Failed to parse response body as JSON. Falling back to .text()');
|
|
168
|
+
}
|
|
169
|
+
// falling back to .text() when necessary for error messages
|
|
170
|
+
return errorFallbackResponse.text();
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
return response.text();
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
exports.baseRequestFn = baseRequestFn;
|
|
177
|
+
exports.bodySerializer = bodySerializer;
|
|
178
|
+
exports.mergeHeaders = mergeHeaders;
|
|
179
|
+
exports.requestFn = requestFn;
|
|
180
|
+
exports.urlSerializer = urlSerializer;
|
|
181
|
+
//# sourceMappingURL=requestFn.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestFn.cjs","sources":["../../../src/lib/requestFn.ts"],"sourcesContent":["/**\n * This function is used to make a request to a specified endpoint.\n *\n * @template T The expected return type of the request.\n *\n * @param schema The schema of the operation to be performed. It includes the OpenAPI path, HTTP method and media type.\n * @param requestInfo The information required to make the request. It includes parameters, headers, body, etc.\n * @param [options] Optional. Additional options for the request. It includes custom urlSerializer, bodySerializer, and fetch function.\n *\n * @returns {Promise<T>} Returns a promise that resolves with the response of the request.\n *\n * @throws {error: object|string, response: Response} Throws an error if the request fails. The error includes the error message and the response from the server.\n */\nexport async function requestFn<T>(\n schema: OperationSchema,\n requestInfo: RequestFnInfo,\n options?: RequestFnOptions\n): Promise<T> {\n return baseRequestFn(schema, requestInfo, {\n urlSerializer,\n bodySerializer,\n ...options,\n });\n}\n\n/**\n * This function is used to make a request to a specified endpoint.\n * It's needed to create a custom `requestFn` with a custom `urlSerializer`\n * and `bodySerializer`, with the tree-shaking of the default `requestFn`\n * and its serializers.\n *\n * @template T The expected return type of the request.\n *\n * @param requestSchema The schema of the operation to be performed. It includes the OpenAPI path, HTTP method and media type.\n * @param requestInfo The information required to make the request. It includes parameters, headers, body, etc.\n * @param options The options for the request. It includes urlSerializer, bodySerializer, and fetch function. The 'urlSerializer' and 'bodySerializer' are required.\n *\n * @returns {Promise<T>} Returns a promise that resolves with the response of the request.\n *\n * @throws {error: object|string, response: Response} Throws an error if the request fails. The error includes the error message and the response from the server.\n */\nexport async function baseRequestFn<T>(\n requestSchema: OperationSchema,\n requestInfo: RequestFnInfo,\n options: WithRequired<RequestFnOptions, 'urlSerializer' | 'bodySerializer'>\n): Promise<T> {\n const { parameters, headers, body, ...requestInfoRest } = requestInfo;\n\n const requestBody = options.bodySerializer(requestSchema, requestInfo);\n\n const baseFetch = options.fetch ?? fetch;\n\n const response = await baseFetch(\n options.urlSerializer(requestSchema, requestInfo),\n {\n method: requestSchema.method.toUpperCase(),\n body: requestBody,\n headers: mergeHeaders(\n {\n Accept: 'application/json',\n 'Content-Type': requestSchema.mediaType ?? getBodyContentType(body),\n },\n headers,\n parameters?.header,\n requestBody instanceof FormData\n ? // remove `Content-Type` if serialized body is FormData; browser will correctly set Content-Type & boundary expression\n { 'Content-Type': null }\n : undefined\n ),\n ...requestInfoRest,\n }\n );\n\n // clone response to allow multiple reads\n const clonedResponse = response.clone();\n\n if (!response.ok) {\n throw await getResponseBody(clonedResponse);\n }\n\n return (await getResponseBody(clonedResponse)) as T;\n}\n\nexport function urlSerializer(\n schema: OperationSchema,\n info: RequestFnPayload\n): string {\n const path = schema.url.replace(\n /{(.*?)}/g,\n (substring: string, group: string) => {\n if (\n info.parameters?.path &&\n Object.prototype.hasOwnProperty.call(info.parameters.path, group)\n ) {\n return encodeURI(String(info.parameters?.path[group]));\n }\n return substring;\n }\n );\n\n const baseUrl = info.baseUrl ?? '';\n\n if (info.parameters?.query) {\n return `${baseUrl}${path}${getQueryString(info.parameters.query)}`;\n }\n\n return `${baseUrl}${path}`;\n}\n\nfunction getQueryString(params: Record<string, any>): string {\n const qs: string[] = [];\n\n const append = (key: string, value: any) => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n };\n\n const process = (key: string, value: any) => {\n if (typeof value === 'undefined' || value === null) return;\n\n if (Array.isArray(value)) {\n value.forEach((v) => {\n process(key, v);\n });\n } else if (typeof value === 'object') {\n Object.entries(value).forEach(([k, v]) => {\n process(`${key}[${k}]`, v);\n });\n } else {\n append(key, value);\n }\n };\n\n Object.entries(params).forEach(([key, value]) => {\n process(key, value);\n });\n\n if (qs.length > 0) {\n return `?${qs.join('&')}`;\n }\n\n return '';\n}\n\nexport function mergeHeaders(...allHeaders: (HeadersOptions | undefined)[]) {\n const headers = new Headers();\n\n for (const headerSet of allHeaders) {\n if (!headerSet || typeof headerSet !== 'object') {\n continue;\n }\n\n const headersIterator =\n headerSet instanceof Headers\n ? headerSet.entries()\n : Object.entries(headerSet);\n\n for (const [headerKey, headerValue] of headersIterator) {\n if (headerValue === null) {\n headers.delete(headerKey);\n } else if (headerValue !== undefined) {\n headers.set(headerKey, headerValue);\n }\n }\n }\n\n return headers;\n}\n\nexport function bodySerializer(\n schema: OperationSchema,\n info: RequestFnPayload\n) {\n if (info.body === undefined) return;\n\n if (\n schema.method === 'get' ||\n schema.method === 'head' ||\n schema.method === 'options'\n )\n return;\n\n if (schema.mediaType?.includes('/form-data'))\n return getRequestBodyFormData(info);\n\n if (\n !schema.mediaType?.includes('/json') &&\n (typeof info.body === 'string' ||\n info.body instanceof Blob ||\n info.body instanceof FormData)\n ) {\n return info.body;\n }\n\n return JSON.stringify(info.body);\n}\n\nfunction getRequestBodyFormData({\n body,\n}: Pick<RequestFnPayload, 'body'>): FormData | undefined {\n if (body instanceof FormData) return body;\n if (body === null) return;\n\n if (body instanceof Blob) throw new Error('Blob not supported in form-data');\n if (body instanceof ArrayBuffer)\n throw new Error('ArrayBuffer not supported in form-data');\n if (body instanceof URLSearchParams)\n throw new Error('URLSearchParams not supported in form-data');\n if (body instanceof ReadableStream)\n throw new Error('ReadableStream not supported in form-data');\n if (typeof body === 'string')\n throw new Error('String not supported in form-data');\n if (typeof body !== 'object')\n throw new Error(`Unsupported body type ${typeof body} in form-data.`);\n\n const formData = new FormData();\n\n const process = (key: string, value: any) => {\n if (typeof value === 'string' || value instanceof Blob) {\n formData.append(key, value);\n } else {\n formData.append(key, JSON.stringify(value));\n }\n };\n\n Object.entries(body)\n .filter(([_, value]) => typeof value !== 'undefined' && value !== null)\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach((v) => process(key, v));\n } else {\n process(key, value);\n }\n });\n\n return formData;\n}\n\nfunction getBodyContentType(body: RequestFnPayload['body']) {\n if (!body) return;\n if (body instanceof Blob) return body.type || 'application/octet-stream';\n if (typeof body === 'string') return 'text/plain';\n if (!(body instanceof FormData)) return 'application/json';\n}\n\nasync function getResponseBody<T>(response: Response): Promise<T | undefined> {\n if (response.status === 204 || response.headers.get('Content-Length') === '0')\n return undefined;\n\n const contentType = response.headers.get('Content-Type')?.toLowerCase();\n const isJSON =\n contentType?.includes('/json') || contentType?.includes('+json');\n\n if (isJSON) {\n // attempt to parse JSON for successful responses, otherwise fail\n if (response.ok) return response.json();\n\n const errorFallbackResponse = response.clone(); // clone to allow multiple reads\n\n return response.json().catch(() => {\n if (process.env.NODE_ENV === 'development') {\n console.warn(\n 'Failed to parse response body as JSON. Falling back to .text()'\n );\n }\n // falling back to .text() when necessary for error messages\n return errorFallbackResponse.text();\n });\n }\n\n return response.text() as Promise<T>;\n}\n\n// To have definitely typed headers without a conversion to stings\nexport type HeadersOptions =\n | HeadersInit\n | Record<string, string | number | boolean | null | undefined>;\n\nexport interface OperationSchema {\n /**\n * Operation path\n * @example /user/{id}\n */\n readonly url: string; //todo::rename to `path`\n\n /**\n * Operation method\n */\n readonly method:\n | 'get'\n | 'put'\n | 'post'\n | 'patch'\n | 'delete'\n | 'options'\n | 'head'\n | 'trace';\n\n /**\n * Media type of the request body\n * @example application/json\n */\n readonly mediaType?: string;\n\n readonly security?: string[];\n}\n\nexport interface RequestFnPayload {\n /**\n * Base URL to use for the request\n * @example 'https://api.example.com'\n */\n baseUrl: string | undefined;\n\n /**\n * OpenAPI parameters\n * @example\n * ```ts\n * { path: {id: 1}, query: {search: 'hello'} }\n * ```\n */\n readonly parameters?: {\n readonly path?: Record<string, any>;\n readonly header?: Record<string, any>;\n readonly query?: Record<string, any>;\n };\n\n /**\n * Request body\n * @example { name: 'John' }\n */\n readonly body?: BodyInit | Record<string, unknown> | null;\n\n /**\n * Tanstack Query Meta\n */\n meta?: Record<string, unknown>;\n\n /** An AbortSignal to set request's signal. */\n signal?: AbortSignal | null;\n}\n\nexport interface RequestFnInfo\n extends RequestFnPayload,\n Omit<RequestInit, 'headers' | 'method' | 'body' | 'signal'> {\n /**\n * Request headers\n * @example { 'X-Auth': '123' }\n */\n readonly headers?: HeadersOptions;\n}\n\nexport interface RequestFnOptions {\n urlSerializer?: typeof urlSerializer;\n bodySerializer?: typeof bodySerializer;\n fetch?: typeof fetch;\n}\n\nexport type RequestFn<T> = typeof requestFn<T>;\n\ntype WithRequired<T, K extends keyof T> = T & {\n [_ in K]: {};\n};\n"],"names":["requestFn","schema","requestInfo","options","baseRequestFn","urlSerializer","bodySerializer","requestSchema","parameters","headers","body","requestInfoRest","requestBody","baseFetch","fetch","response","method","toUpperCase","mergeHeaders","Accept","mediaType","getBodyContentType","header","FormData","undefined","clonedResponse","clone","ok","getResponseBody","info","path","url","replace","substring","group","Object","prototype","hasOwnProperty","call","encodeURI","String","baseUrl","query","getQueryString","params","qs","append","key","value","push","encodeURIComponent","process","Array","isArray","forEach","v","entries","k","length","join","allHeaders","Headers","headerSet","headersIterator","headerKey","headerValue","delete","set","includes","getRequestBodyFormData","Blob","JSON","stringify","Error","ArrayBuffer","URLSearchParams","ReadableStream","formData","filter","_","type","status","get","contentType","toLowerCase","isJSON","json","errorFallbackResponse","catch","env","NODE_ENV","console","warn","text"],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Merges objects with provided depth
|
|
5
|
+
* @param depth
|
|
6
|
+
* @param args
|
|
7
|
+
*/ function shelfMerge(depth = 2, ...args) {
|
|
8
|
+
return args.reduce((acc, arg)=>{
|
|
9
|
+
if (!arg || typeof arg !== 'object') return acc;
|
|
10
|
+
Object.entries(arg).forEach(([key, value])=>{
|
|
11
|
+
if (typeof value !== 'object') {
|
|
12
|
+
acc[key] = value;
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (Array.isArray(value)) {
|
|
16
|
+
acc[key] = value;
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (depth > 1) {
|
|
20
|
+
acc[key] = shelfMerge(depth - 1, acc[key], value);
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
acc[key] = value;
|
|
24
|
+
});
|
|
25
|
+
return acc;
|
|
26
|
+
}, {});
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
exports.shelfMerge = shelfMerge;
|
|
30
|
+
//# sourceMappingURL=shelfMerge.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shelfMerge.cjs","sources":["../../../src/lib/shelfMerge.ts"],"sourcesContent":["/**\n * Merges objects with provided depth\n * @param depth\n * @param args\n */\nexport function shelfMerge<T>(depth = 2, ...args: T[]): T {\n return args.reduce((acc, arg) => {\n if (!arg || typeof arg !== 'object') return acc;\n\n Object.entries(arg).forEach(([key, value]) => {\n if (typeof value !== 'object') {\n acc[key as never] = value as never;\n return;\n }\n\n if (Array.isArray(value)) {\n acc[key as never] = value as never;\n return;\n }\n\n if (depth > 1) {\n acc[key as never] = shelfMerge(\n depth - 1,\n acc[key as never],\n value\n ) as never;\n return;\n }\n\n acc[key as never] = value as never;\n });\n\n return acc;\n }, {} as T);\n}\n"],"names":["shelfMerge","depth","args","reduce","acc","arg","Object","entries","forEach","key","value","Array","isArray"],"mappings":";;AAAA;;;;AAIC,IACM,SAASA,UAAAA,CAAcC,QAAQ,CAAC,EAAE,GAAGC,IAAS,EAAA;AACnD,IAAA,OAAOA,IAAKC,CAAAA,MAAM,CAAC,CAACC,GAAKC,EAAAA,GAAAA,GAAAA;AACvB,QAAA,IAAI,CAACA,GAAAA,IAAO,OAAOA,GAAAA,KAAQ,UAAU,OAAOD,GAAAA,CAAAA;QAE5CE,MAAOC,CAAAA,OAAO,CAACF,GAAKG,CAAAA,CAAAA,OAAO,CAAC,CAAC,CAACC,KAAKC,KAAM,CAAA,GAAA;YACvC,IAAI,OAAOA,UAAU,QAAU,EAAA;gBAC7BN,GAAG,CAACK,IAAa,GAAGC,KAAAA,CAAAA;AACpB,gBAAA,OAAA;AACF,aAAA;YAEA,IAAIC,KAAAA,CAAMC,OAAO,CAACF,KAAQ,CAAA,EAAA;gBACxBN,GAAG,CAACK,IAAa,GAAGC,KAAAA,CAAAA;AACpB,gBAAA,OAAA;AACF,aAAA;AAEA,YAAA,IAAIT,QAAQ,CAAG,EAAA;gBACbG,GAAG,CAACK,IAAa,GAAGT,UAAAA,CAClBC,QAAQ,CACRG,EAAAA,GAAG,CAACK,GAAAA,CAAa,EACjBC,KAAAA,CAAAA,CAAAA;AAEF,gBAAA,OAAA;AACF,aAAA;YAEAN,GAAG,CAACK,IAAa,GAAGC,KAAAA,CAAAA;AACtB,SAAA,CAAA,CAAA;QAEA,OAAON,GAAAA,CAAAA;AACT,KAAA,EAAG,EAAC,CAAA,CAAA;AACN;;;;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var QraftContext = require('../QraftContext.cjs');
|
|
6
|
+
var composeInfiniteQueryKey = require('./composeInfiniteQueryKey.cjs');
|
|
7
|
+
var composeQueryKey = require('./composeQueryKey.cjs');
|
|
8
|
+
var shelfMerge = require('./shelfMerge.cjs');
|
|
9
|
+
var useQueryClient = require('./useQueryClient.cjs');
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Composes the options for useQuery, useInfiniteQuery, useSuspenseQuery, and useSuspenseQueries.
|
|
13
|
+
* @internal
|
|
14
|
+
*/ function useComposeUseQueryOptions(qraftOptions, schema, args, infinite) {
|
|
15
|
+
const [parameters, options, queryClient] = args;
|
|
16
|
+
const contextValue = react.useContext(qraftOptions?.context ?? QraftContext.QraftContext);
|
|
17
|
+
if (!contextValue?.requestFn) throw new Error(`QraftContext.requestFn not found`);
|
|
18
|
+
const queryFn = options?.queryFn ?? // @ts-expect-error - Too complex to type
|
|
19
|
+
function({ queryKey: [, queryParams], signal, meta, pageParam }) {
|
|
20
|
+
return contextValue.requestFn(schema, {
|
|
21
|
+
// @ts-expect-error - Too complex to type
|
|
22
|
+
parameters: infinite ? shelfMerge.shelfMerge(2, queryParams, pageParam) : queryParams,
|
|
23
|
+
baseUrl: contextValue.baseUrl,
|
|
24
|
+
signal,
|
|
25
|
+
meta
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
const queryKey = Array.isArray(parameters) ? parameters : infinite ? composeInfiniteQueryKey.composeInfiniteQueryKey(schema, parameters) : composeQueryKey.composeQueryKey(schema, parameters);
|
|
29
|
+
return [
|
|
30
|
+
{
|
|
31
|
+
...options,
|
|
32
|
+
queryFn,
|
|
33
|
+
queryKey
|
|
34
|
+
},
|
|
35
|
+
useQueryClient.useQueryClient(qraftOptions, queryClient)
|
|
36
|
+
];
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
exports.useComposeUseQueryOptions = useComposeUseQueryOptions;
|
|
40
|
+
//# sourceMappingURL=useComposeUseQueryOptions.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useComposeUseQueryOptions.cjs","sources":["../../../src/lib/useComposeUseQueryOptions.ts"],"sourcesContent":["'use client';\n\nimport { useContext } from 'react';\n\nimport type { QueryClient } from '@tanstack/query-core';\nimport type { UseQueryOptions } from '@tanstack/react-query';\n\nimport type { QraftClientOptions } from '../qraftAPIClient.js';\nimport { QraftContext } from '../QraftContext.js';\nimport type { ServiceOperationQueryKey } from '../service-operation/ServiceOperationKey.js';\nimport { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';\nimport { composeQueryKey } from './composeQueryKey.js';\nimport type { OperationSchema } from './requestFn.js';\nimport { shelfMerge } from './shelfMerge.js';\nimport { useQueryClient } from './useQueryClient.js';\n\n/**\n * Composes the options for useQuery, useInfiniteQuery, useSuspenseQuery, and useSuspenseQueries.\n * @internal\n */\nexport function useComposeUseQueryOptions(\n qraftOptions: QraftClientOptions | undefined,\n schema: OperationSchema,\n args: UseQueryOptionsArgs,\n infinite: boolean\n): never {\n const [parameters, options, queryClient] = args;\n\n const contextValue = useContext(qraftOptions?.context ?? QraftContext);\n if (!contextValue?.requestFn)\n throw new Error(`QraftContext.requestFn not found`);\n\n const queryFn =\n options?.queryFn ??\n // @ts-expect-error - Too complex to type\n function ({ queryKey: [, queryParams], signal, meta, pageParam }) {\n return contextValue.requestFn(schema, {\n // @ts-expect-error - Too complex to type\n parameters: infinite\n ? (shelfMerge(2, queryParams, pageParam) as never)\n : queryParams,\n baseUrl: contextValue.baseUrl,\n signal,\n meta,\n });\n };\n\n const queryKey = Array.isArray(parameters)\n ? (parameters as ServiceOperationQueryKey<OperationSchema, unknown>)\n : infinite\n ? composeInfiniteQueryKey(schema, parameters)\n : composeQueryKey(schema, parameters);\n\n return [\n { ...options, queryFn, queryKey },\n useQueryClient(qraftOptions, queryClient),\n ] as never;\n}\n\ntype UseQueryOptionsArgs = [\n parameters: unknown,\n options?: UseQueryOptions,\n queryClient?: QueryClient,\n];\n"],"names":["useComposeUseQueryOptions","qraftOptions","schema","args","infinite","parameters","options","queryClient","contextValue","useContext","context","QraftContext","requestFn","Error","queryFn","queryKey","queryParams","signal","meta","pageParam","shelfMerge","baseUrl","Array","isArray","composeInfiniteQueryKey","composeQueryKey","useQueryClient"],"mappings":";;;;;;;;;;AAgBA,CAAA,CAAA,CAAA;;;CAIO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASA,CACdC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA4C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC5CC,MAAuB,CACvBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAyB,CACzBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAiB,CAAA,CAAA,CAAA;AAEjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAACC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASC,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAY,CAAGJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;CAE3C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAeC,CAAWR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcS,CAAWC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;IACzD,CAAI,CAAA,CAAA,CAAA,CAACH,cAAcI,SACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAIC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAA,CAAC,CAAgC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA;IAEpD,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACJR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASQ,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;IAET,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAEC,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAGC,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAEC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAEC,CAAAA,CAAAA,CAAAA,CAAAA,CAAI,CAAEC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,EAAE,CAAA,CAAA,CAAA;QAC9D,OAAOX,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAaI,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAACV,MAAQ,CAAA,CAAA,CAAA;;AAEpCG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYD,CACPgB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAW,CAAGJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAaG,CAC5BH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AACJK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASb,aAAaa,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC7BJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AACAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;CAEF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWO,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAClB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC1BA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACDD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACEoB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAwBtB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAChCoB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAgBvB,CAAQG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;IAE9B,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAGC,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAEQ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAChCW,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAezB,CAAcM,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,WAAAA,CAAAA;AAC9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACH,CAAA;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var reactQuery = require('@tanstack/react-query');
|
|
6
|
+
var QraftContext = require('../QraftContext.cjs');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Get the QueryClient from the QraftContext or the provided QueryClient argument.
|
|
10
|
+
* @param qraftOptions if `queryClient` is not provided, will be taken from context
|
|
11
|
+
* @param queryClient If not provided, will be taken this instance
|
|
12
|
+
*/ function useQueryClient(qraftOptions, queryClient) {
|
|
13
|
+
const queryClientByContext = react.useContext(qraftOptions?.context ?? QraftContext.QraftContext)?.queryClient;
|
|
14
|
+
return reactQuery.useQueryClient(queryClient ?? queryClientByContext);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
exports.useQueryClient = useQueryClient;
|
|
18
|
+
//# sourceMappingURL=useQueryClient.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useQueryClient.cjs","sources":["../../../src/lib/useQueryClient.ts"],"sourcesContent":["'use client';\n\nimport { useContext } from 'react';\n\nimport {\n QueryClient,\n useQueryClient as useQueryClientTanstack,\n} from '@tanstack/react-query';\n\nimport type { QraftClientOptions } from '../qraftAPIClient.js';\nimport { QraftContext } from '../QraftContext.js';\n\n/**\n * Get the QueryClient from the QraftContext or the provided QueryClient argument.\n * @param qraftOptions if `queryClient` is not provided, will be taken from context\n * @param queryClient If not provided, will be taken this instance\n */\nexport function useQueryClient(\n qraftOptions: QraftClientOptions | undefined,\n queryClient: QueryClient | undefined\n) {\n const queryClientByContext = useContext(\n qraftOptions?.context ?? QraftContext\n )?.queryClient;\n\n return useQueryClientTanstack(queryClient ?? queryClientByContext);\n}\n"],"names":["useQueryClient","qraftOptions","queryClient","queryClientByContext","useContext","context","QraftContext","useQueryClientTanstack"],"mappings":";;;;;;;AAYA,CAAA,CAAA,CAAA;;;;AAIC,CAAA,CAAA,CAAA,CACM,SAASA,CACdC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA4C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC5CC,WAAoC,CAAA,CAAA,CAAA;AAEpC,CAAA,CAAA,CAAA,CAAA,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAuBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC3BH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACxBJ,CAAAA,CAAAA,CAAAA,WAAAA,CAAAA;AAEH,CAAA,CAAA,CAAA,CAAA,OAAOK,0BAAuBL,WAAeC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAC/C,CAAA;;"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var createRecursiveProxy = require('./lib/createRecursiveProxy.cjs');
|
|
4
|
+
|
|
5
|
+
const qraftAPIClient = (services, callbacks, options)=>{
|
|
6
|
+
return createRecursiveProxy.createRecursiveProxy(function getCallback(getPath, key) {
|
|
7
|
+
if (getPath.length !== 2 || key !== 'schema') return; // todo::maybe return callback?
|
|
8
|
+
const serviceOperation = getByPath(services, getPath);
|
|
9
|
+
if (!isServiceOperation(serviceOperation)) throw new Error(`Service operation not found: ${getPath.join('.')}`);
|
|
10
|
+
return serviceOperation.schema;
|
|
11
|
+
}, function applyCallback(applyPath, args) {
|
|
12
|
+
const { path, callbackName } = extractCallbackDetails(applyPath);
|
|
13
|
+
if (!(callbackName in callbacks)) throw new Error(`Function ${callbackName} is not supported`);
|
|
14
|
+
const serviceOperation = getByPath(services, path);
|
|
15
|
+
if (!isServiceOperation(serviceOperation)) throw new Error(`Service operation not found: ${path.join('.')}`);
|
|
16
|
+
return callbacks[callbackName](options, serviceOperation.schema, args);
|
|
17
|
+
}, []);
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Extracts Callback details from the applyPath
|
|
21
|
+
* @param applyPath
|
|
22
|
+
*/ function extractCallbackDetails(applyPath) {
|
|
23
|
+
// <service>.<operation>()
|
|
24
|
+
if (applyPath.length === 2) {
|
|
25
|
+
return {
|
|
26
|
+
path: applyPath,
|
|
27
|
+
callbackName: 'operationInvokeFn'
|
|
28
|
+
};
|
|
29
|
+
} else {
|
|
30
|
+
// <service>.<operation>.<method>()
|
|
31
|
+
return {
|
|
32
|
+
path: applyPath.slice(0, -1),
|
|
33
|
+
// The last arg is for instance `.useMutation` or `.useQuery()`
|
|
34
|
+
callbackName: applyPath[applyPath.length - 1]
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function isServiceOperation(input) {
|
|
39
|
+
return input !== null && typeof input === 'object' && 'schema' in input;
|
|
40
|
+
}
|
|
41
|
+
function getByPath(obj, path) {
|
|
42
|
+
return path.reduce((acc, key)=>{
|
|
43
|
+
if (acc && typeof acc === 'object' && key in acc) return acc[key];
|
|
44
|
+
}, obj);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
exports.qraftAPIClient = qraftAPIClient;
|
|
48
|
+
//# sourceMappingURL=qraftAPIClient.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qraftAPIClient.cjs","sources":["../../src/qraftAPIClient.ts"],"sourcesContent":["import type { Context } from 'react';\n\nimport type * as operationInvokeModule from './callbacks/operationInvokeFn.js';\nimport { createRecursiveProxy } from './lib/createRecursiveProxy.js';\nimport type { OperationSchema } from './lib/requestFn.js';\nimport type { QraftContextValue } from './QraftContext.js';\n\nexport interface QraftClientOptions {\n context?: Context<QraftContextValue>;\n}\n\nexport const qraftAPIClient = <\n Services extends ServicesBaseDeclaration<Services>,\n Callbacks extends ServicesCallbacks,\n>(\n services: ServicesDeclaration<Services>,\n callbacks: Callbacks,\n options?: QraftClientOptions\n): Services => {\n return createRecursiveProxy(\n function getCallback(getPath, key) {\n if (getPath.length !== 2 || key !== 'schema') return; // todo::maybe return callback?\n\n const serviceOperation = getByPath(services, getPath);\n if (!isServiceOperation(serviceOperation))\n throw new Error(`Service operation not found: ${getPath.join('.')}`);\n return serviceOperation.schema;\n },\n function applyCallback(applyPath, args) {\n const { path, callbackName } = extractCallbackDetails(applyPath);\n\n if (!(callbackName in callbacks))\n throw new Error(`Function ${callbackName} is not supported`);\n\n const serviceOperation = getByPath(services, path);\n\n if (!isServiceOperation(serviceOperation))\n throw new Error(`Service operation not found: ${path.join('.')}`);\n\n return callbacks[callbackName as keyof Callbacks](\n options,\n serviceOperation.schema,\n args\n );\n },\n []\n ) as never;\n};\n\n/**\n * Extracts Callback details from the applyPath\n * @param applyPath\n */\nfunction extractCallbackDetails(applyPath: string[]) {\n // <service>.<operation>()\n if (applyPath.length === 2) {\n return {\n path: applyPath,\n callbackName: 'operationInvokeFn' satisfies Extract<\n keyof typeof operationInvokeModule,\n 'operationInvokeFn'\n >,\n };\n } else {\n // <service>.<operation>.<method>()\n return {\n path: applyPath.slice(0, -1),\n // The last arg is for instance `.useMutation` or `.useQuery()`\n callbackName: applyPath[applyPath.length - 1],\n };\n }\n}\n\nfunction isServiceOperation(\n input: unknown\n): input is { schema: OperationSchema } {\n return input !== null && typeof input === 'object' && 'schema' in input;\n}\n\nfunction getByPath(obj: Record<string, unknown>, path: string[]) {\n return path.reduce<unknown>((acc, key) => {\n if (acc && typeof acc === 'object' && key in acc)\n return acc[key as keyof typeof acc];\n }, obj);\n}\n\ntype ServicesBaseDeclaration<Services> = {\n [service in keyof Services]: {\n [method in keyof Services[service]]: { schema: OperationSchema };\n };\n};\n\ntype ServicesDeclaration<Services extends ServicesBaseDeclaration<Services>> = {\n [service in keyof Services]: {\n [method in keyof Services[service]]: {\n schema: Services[service][method]['schema'];\n };\n };\n};\n\ntype ServicesCallbacks = Record<string, (...rest: any[]) => unknown>;\n"],"names":["qraftAPIClient","services","callbacks","options","createRecursiveProxy","getCallback","getPath","key","length","serviceOperation","getByPath","isServiceOperation","Error","join","schema","applyCallback","applyPath","args","path","callbackName","extractCallbackDetails","slice","input","obj","reduce","acc"],"mappings":";;;;AAWaA,MAAAA,cAAAA,GAAiB,CAI5BC,QAAAA,EACAC,SACAC,EAAAA,OAAAA,GAAAA;AAEA,IAAA,OAAOC,yCACL,CAAA,SAASC,WAAYC,CAAAA,OAAO,EAAEC,GAAG,EAAA;AAC/B,QAAA,IAAID,QAAQE,MAAM,KAAK,KAAKD,GAAQ,KAAA,QAAA,EAAU;QAE9C,MAAME,gBAAAA,GAAmBC,UAAUT,QAAUK,EAAAA,OAAAA,CAAAA,CAAAA;AAC7C,QAAA,IAAI,CAACK,kBAAAA,CAAmBF,gBACtB,CAAA,EAAA,MAAM,IAAIG,KAAAA,CAAM,CAAC,6BAA6B,EAAEN,OAAAA,CAAQO,IAAI,CAAC,KAAK,CAAC,CAAA,CAAA;AACrE,QAAA,OAAOJ,iBAAiBK,MAAM,CAAA;AAChC,KAAA,EACA,SAASC,aAAAA,CAAcC,SAAS,EAAEC,IAAI,EAAA;AACpC,QAAA,MAAM,EAAEC,IAAI,EAAEC,YAAY,EAAE,GAAGC,sBAAuBJ,CAAAA,SAAAA,CAAAA,CAAAA;AAEtD,QAAA,IAAI,EAAEG,YAAgBjB,IAAAA,SAAQ,CAC5B,EAAA,MAAM,IAAIU,KAAAA,CAAM,CAAC,SAAS,EAAEO,YAAAA,CAAa,iBAAiB,CAAC,CAAA,CAAA;QAE7D,MAAMV,gBAAAA,GAAmBC,UAAUT,QAAUiB,EAAAA,IAAAA,CAAAA,CAAAA;AAE7C,QAAA,IAAI,CAACP,kBAAAA,CAAmBF,gBACtB,CAAA,EAAA,MAAM,IAAIG,KAAAA,CAAM,CAAC,6BAA6B,EAAEM,IAAAA,CAAKL,IAAI,CAAC,KAAK,CAAC,CAAA,CAAA;AAElE,QAAA,OAAOX,SAAS,CAACiB,YAAAA,CAAgC,CAC/ChB,OACAM,EAAAA,gBAAAA,CAAiBK,MAAM,EACvBG,IAAAA,CAAAA,CAAAA;AAEJ,KAAA,EACA,EAAE,CAAA,CAAA;AAEN,EAAE;AAEF;;;IAIA,SAASG,uBAAuBJ,SAAmB,EAAA;;IAEjD,IAAIA,SAAAA,CAAUR,MAAM,KAAK,CAAG,EAAA;QAC1B,OAAO;YACLU,IAAMF,EAAAA,SAAAA;YACNG,YAAc,EAAA,mBAAA;AAIhB,SAAA,CAAA;KACK,MAAA;;QAEL,OAAO;AACLD,YAAAA,IAAAA,EAAMF,SAAUK,CAAAA,KAAK,CAAC,CAAA,EAAG,CAAC,CAAA,CAAA;;AAE1BF,YAAAA,YAAAA,EAAcH,SAAS,CAACA,SAAUR,CAAAA,MAAM,GAAG,CAAE,CAAA;AAC/C,SAAA,CAAA;AACF,KAAA;AACF,CAAA;AAEA,SAASG,mBACPW,KAAc,EAAA;AAEd,IAAA,OAAOA,KAAU,KAAA,IAAA,IAAQ,OAAOA,KAAAA,KAAU,YAAY,QAAYA,IAAAA,KAAAA,CAAAA;AACpE,CAAA;AAEA,SAASZ,SAAAA,CAAUa,GAA4B,EAAEL,IAAc,EAAA;AAC7D,IAAA,OAAOA,IAAKM,CAAAA,MAAM,CAAU,CAACC,GAAKlB,EAAAA,GAAAA,GAAAA;QAChC,IAAIkB,GAAAA,IAAO,OAAOA,GAAQ,KAAA,QAAA,IAAYlB,OAAOkB,GAC3C,EAAA,OAAOA,GAAG,CAAClB,GAAwB,CAAA,CAAA;KACpCgB,EAAAA,GAAAA,CAAAA,CAAAA;AACL;;;;"}
|
package/dist/esm/QraftContext.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import { createContext } from
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
};
|
|
7
|
-
//# sourceMappingURL=QraftContext.js.map
|
|
1
|
+
'use client';
|
|
2
|
+
import { createContext } from 'react';
|
|
3
|
+
|
|
4
|
+
const QraftContext = createContext(undefined);
|
|
5
|
+
|
|
6
|
+
export { QraftContext };
|
|
7
|
+
//# sourceMappingURL=QraftContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/QraftContext.ts"],"sourcesContent":["'use client';\n\nimport { createContext } from 'react';\n\nimport type { QueryClient } from '@tanstack/react-query';\n\nimport type { OperationSchema, RequestFnPayload } from './lib/requestFn.js';\n\ninterface QraftContextValueBase {\n /**\n * Base URL to use for the request\n * @example 'https://api.example.com'\n */\n baseUrl?: string;\n\n /**\n * The `requestFn` will be invoked with every request.\n */\n requestFn<T>(\n requestSchema: OperationSchema,\n requestInfo: RequestFnPayload\n ): Promise<T>;\n\n /** The QueryClient to use in Hooks */\n queryClient?: QueryClient;\n}\n\nexport type QraftContextValue = QraftContextValueBase | undefined;\n\nexport const QraftContext = createContext<QraftContextValue>(undefined);\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"QraftContext.js","sources":["../../src/QraftContext.ts"],"sourcesContent":["'use client';\n\nimport { createContext } from 'react';\n\nimport type { QueryClient } from '@tanstack/react-query';\n\nimport type { OperationSchema, RequestFnPayload } from './lib/requestFn.js';\n\ninterface QraftContextValueBase {\n /**\n * Base URL to use for the request\n * @example 'https://api.example.com'\n */\n baseUrl?: string;\n\n /**\n * The `requestFn` will be invoked with every request.\n */\n requestFn<T>(\n requestSchema: OperationSchema,\n requestInfo: RequestFnPayload\n ): Promise<T>;\n\n /** The QueryClient to use in Hooks */\n queryClient?: QueryClient;\n}\n\nexport type QraftContextValue = QraftContextValueBase | undefined;\n\nexport const QraftContext = createContext<QraftContextValue>(undefined);\n"],"names":["QraftContext","createContext","undefined"],"mappings":";;;AA6BO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMA,CAAeC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAiCC,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;"}
|