@apollo/client 4.0.0-rc.5 → 4.0.0-rc.7
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 +153 -0
- package/README.md +40 -40
- package/__cjs/cache/core/cache.cjs +14 -13
- package/__cjs/cache/core/cache.cjs.map +1 -1
- package/__cjs/cache/core/cache.d.cts +77 -71
- package/__cjs/cache/core/types/Cache.cjs +0 -4
- package/__cjs/cache/core/types/Cache.cjs.map +1 -1
- package/__cjs/cache/core/types/Cache.d.cts +200 -15
- package/__cjs/cache/{core/types/DataProxy.cjs → deprecated.cjs} +1 -1
- package/__cjs/cache/deprecated.cjs.map +1 -0
- package/__cjs/cache/deprecated.d.cts +6 -0
- package/__cjs/cache/index.cjs.map +1 -1
- package/__cjs/cache/index.d.cts +2 -2
- package/__cjs/cache/inmemory/entityStore.cjs +25 -28
- package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
- package/__cjs/cache/inmemory/entityStore.d.cts +17 -16
- package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
- package/__cjs/cache/inmemory/inMemoryCache.d.cts +4 -4
- package/__cjs/cache/inmemory/key-extractor.cjs +1 -1
- package/__cjs/cache/inmemory/policies.cjs +4 -4
- package/__cjs/cache/inmemory/policies.cjs.map +1 -1
- package/__cjs/cache/inmemory/policies.d.cts +3 -2
- package/__cjs/cache/inmemory/readFromStore.cjs +2 -2
- package/__cjs/cache/inmemory/writeToStore.cjs +4 -4
- package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
- package/__cjs/cache/inmemory/writeToStore.d.cts +1 -1
- package/__cjs/core/ApolloClient.cjs +94 -112
- package/__cjs/core/ApolloClient.cjs.map +1 -1
- package/__cjs/core/ApolloClient.d.cts +758 -182
- package/__cjs/core/ObservableQuery.cjs +10 -10
- package/__cjs/core/ObservableQuery.cjs.map +1 -1
- package/__cjs/core/ObservableQuery.d.cts +131 -112
- package/__cjs/core/QueryInfo.cjs.map +1 -1
- package/__cjs/core/QueryInfo.d.cts +8 -7
- package/__cjs/core/QueryManager.cjs +15 -15
- package/__cjs/core/QueryManager.cjs.map +1 -1
- package/__cjs/core/QueryManager.d.cts +20 -20
- package/__cjs/core/deprecated.cjs +3 -0
- package/__cjs/core/deprecated.cjs.map +1 -0
- package/__cjs/core/deprecated.d.cts +29 -0
- package/__cjs/core/index.cjs.map +1 -1
- package/__cjs/core/index.d.cts +10 -6
- package/__cjs/core/types.d.cts +69 -157
- package/__cjs/core/watchQueryOptions.d.cts +8 -297
- package/__cjs/dev/setErrorMessageHandler.cjs.map +1 -1
- package/__cjs/dev/setErrorMessageHandler.d.cts +4 -4
- package/__cjs/errors/CombinedGraphQLErrors.cjs +64 -11
- package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
- package/__cjs/errors/CombinedGraphQLErrors.d.cts +168 -14
- package/__cjs/errors/CombinedProtocolErrors.cjs +54 -1
- package/__cjs/errors/CombinedProtocolErrors.cjs.map +1 -1
- package/__cjs/errors/CombinedProtocolErrors.d.cts +132 -2
- package/__cjs/errors/LinkError.cjs +45 -2
- package/__cjs/errors/LinkError.cjs.map +1 -1
- package/__cjs/errors/LinkError.d.cts +45 -2
- package/__cjs/errors/LocalStateError.cjs +35 -5
- package/__cjs/errors/LocalStateError.cjs.map +1 -1
- package/__cjs/errors/LocalStateError.d.cts +41 -5
- package/__cjs/errors/ServerError.cjs +51 -8
- package/__cjs/errors/ServerError.cjs.map +1 -1
- package/__cjs/errors/ServerError.d.cts +71 -11
- package/__cjs/errors/ServerParseError.cjs +46 -8
- package/__cjs/errors/ServerParseError.cjs.map +1 -1
- package/__cjs/errors/ServerParseError.d.cts +72 -16
- package/__cjs/errors/UnconventionalError.cjs +46 -2
- package/__cjs/errors/UnconventionalError.cjs.map +1 -1
- package/__cjs/errors/UnconventionalError.d.cts +46 -2
- package/__cjs/incremental/handlers/defer20220824.cjs.map +1 -1
- package/__cjs/incremental/handlers/defer20220824.d.cts +4 -4
- package/__cjs/incremental/handlers/notImplemented.cjs +1 -1
- package/__cjs/incremental/handlers/notImplemented.cjs.map +1 -1
- package/__cjs/incremental/handlers/notImplemented.d.cts +2 -2
- package/__cjs/incremental/types.d.cts +4 -4
- package/__cjs/invariantErrorCodes.cjs +81 -85
- package/__cjs/link/batch/batchLink.cjs +3 -9
- package/__cjs/link/batch/batchLink.cjs.map +1 -1
- package/__cjs/link/batch/batchLink.d.cts +2 -3
- package/__cjs/link/batch/batching.cjs +1 -1
- package/__cjs/link/batch/batching.cjs.map +1 -1
- package/__cjs/link/batch/batching.d.cts +7 -7
- package/__cjs/link/batch-http/batchHttpLink.cjs +8 -5
- package/__cjs/link/batch-http/batchHttpLink.cjs.map +1 -1
- package/__cjs/link/batch-http/batchHttpLink.d.cts +1 -2
- package/__cjs/link/client-awareness/ClientAwarenessLink.cjs.map +1 -1
- package/__cjs/link/client-awareness/ClientAwarenessLink.d.cts +4 -4
- package/__cjs/link/context/index.cjs +1 -1
- package/__cjs/link/context/index.cjs.map +1 -1
- package/__cjs/link/context/index.d.cts +4 -5
- package/__cjs/link/core/ApolloLink.cjs +227 -55
- package/__cjs/link/core/ApolloLink.cjs.map +1 -1
- package/__cjs/link/core/ApolloLink.d.cts +355 -9
- package/__cjs/link/core/concat.cjs +4 -0
- package/__cjs/link/core/concat.cjs.map +1 -1
- package/__cjs/link/core/concat.d.cts +4 -0
- package/__cjs/link/core/deprecated.cjs +3 -0
- package/__cjs/link/core/deprecated.cjs.map +1 -0
- package/__cjs/link/core/deprecated.d.cts +10 -0
- package/__cjs/link/core/empty.cjs +4 -0
- package/__cjs/link/core/empty.cjs.map +1 -1
- package/__cjs/link/core/empty.d.cts +4 -0
- package/__cjs/link/core/from.cjs +4 -0
- package/__cjs/link/core/from.cjs.map +1 -1
- package/__cjs/link/core/from.d.cts +4 -0
- package/__cjs/link/core/split.cjs +4 -0
- package/__cjs/link/core/split.cjs.map +1 -1
- package/__cjs/link/core/split.d.cts +4 -0
- package/__cjs/link/core/types.d.cts +2 -33
- package/__cjs/link/error/index.cjs.map +1 -1
- package/__cjs/link/error/index.d.cts +20 -6
- package/__cjs/link/http/BaseHttpLink.cjs +2 -2
- package/__cjs/link/http/BaseHttpLink.cjs.map +1 -1
- package/__cjs/link/http/HttpLink.cjs +4 -1
- package/__cjs/link/http/HttpLink.cjs.map +1 -1
- package/__cjs/link/http/HttpLink.d.cts +3 -3
- package/__cjs/link/http/checkFetcher.cjs +1 -1
- package/__cjs/link/http/parseAndCheckHttpResponse.cjs +41 -26
- package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
- package/__cjs/link/http/parseAndCheckHttpResponse.d.cts +2 -2
- package/__cjs/link/http/selectHttpOptionsAndBody.cjs.map +1 -1
- package/__cjs/link/http/selectHttpOptionsAndBody.d.cts +3 -3
- package/__cjs/link/http/selectURI.cjs.map +1 -1
- package/__cjs/link/http/selectURI.d.cts +2 -2
- package/__cjs/link/http/serializeFetchParameter.cjs +1 -1
- package/__cjs/link/index.cjs.map +1 -1
- package/__cjs/link/index.d.cts +2 -1
- package/__cjs/link/persisted-queries/index.cjs +2 -2
- package/__cjs/link/persisted-queries/index.cjs.map +1 -1
- package/__cjs/link/persisted-queries/index.d.cts +11 -12
- package/__cjs/link/retry/delayFunction.cjs.map +1 -1
- package/__cjs/link/retry/delayFunction.d.cts +3 -3
- package/__cjs/link/retry/retryFunction.cjs.map +1 -1
- package/__cjs/link/retry/retryFunction.d.cts +4 -4
- package/__cjs/link/retry/retryLink.cjs +2 -2
- package/__cjs/link/retry/retryLink.cjs.map +1 -1
- package/__cjs/link/retry/retryLink.d.cts +1 -2
- package/__cjs/link/schema/index.cjs.map +1 -1
- package/__cjs/link/schema/index.d.cts +2 -3
- package/__cjs/link/subscriptions/index.cjs.map +1 -1
- package/__cjs/link/subscriptions/index.d.cts +1 -2
- package/__cjs/link/utils/createOperation.cjs +12 -4
- package/__cjs/link/utils/createOperation.cjs.map +1 -1
- package/__cjs/link/utils/createOperation.d.cts +2 -2
- package/__cjs/link/utils/index.cjs +1 -5
- package/__cjs/link/utils/index.cjs.map +1 -1
- package/__cjs/link/utils/index.d.cts +0 -2
- package/__cjs/link/ws/index.cjs.map +1 -1
- package/__cjs/link/ws/index.d.cts +1 -2
- package/__cjs/local-state/LocalState.cjs +55 -9
- package/__cjs/local-state/LocalState.cjs.map +1 -1
- package/__cjs/local-state/LocalState.d.cts +94 -0
- package/__cjs/masking/GraphQLCodegenDataMasking.d.cts +6 -7
- package/__cjs/masking/internal/types.d.cts +70 -70
- package/__cjs/masking/maskDefinition.cjs +2 -2
- package/__cjs/masking/maskFragment.cjs +2 -2
- package/__cjs/masking/maskOperation.cjs +1 -1
- package/__cjs/masking/utils.cjs +3 -3
- package/__cjs/react/context/ApolloContext.cjs +1 -1
- package/__cjs/react/context/ApolloProvider.cjs +1 -1
- package/__cjs/react/hooks/internal/useDeepMemo.cjs +0 -3
- package/__cjs/react/hooks/internal/useDeepMemo.cjs.map +1 -1
- package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs.map +1 -1
- package/__cjs/react/hooks/internal/validateSuspenseHookOptions.d.cts +2 -2
- package/__cjs/react/hooks/internal/wrapHook.cjs +1 -0
- package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
- package/__cjs/react/hooks/internal/wrapHook.d.cts +8 -7
- package/__cjs/react/hooks/useApolloClient.cjs +2 -2
- package/__cjs/react/hooks/useApolloClient.cjs.map +1 -1
- package/__cjs/react/hooks/useApolloClient.d.cts +2 -2
- package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useBackgroundQuery.d.cts +850 -90
- package/__cjs/react/hooks/useFragment.cjs +7 -0
- package/__cjs/react/hooks/useFragment.cjs.map +1 -1
- package/__cjs/react/hooks/useFragment.d.cts +53 -2
- package/__cjs/react/hooks/useLazyQuery.cjs +0 -38
- package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useLazyQuery.d.cts +317 -165
- package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useLoadableQuery.d.cts +153 -175
- package/__cjs/react/hooks/useMutation.cjs +6 -7
- package/__cjs/react/hooks/useMutation.cjs.map +1 -1
- package/__cjs/react/hooks/useMutation.d.cts +87 -65
- package/__cjs/react/hooks/useQuery.cjs +1 -35
- package/__cjs/react/hooks/useQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useQuery.d.cts +207 -103
- package/__cjs/react/hooks/useQueryRefHandlers.cjs +2 -1
- package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
- package/__cjs/react/hooks/useQueryRefHandlers.d.cts +34 -5
- package/__cjs/react/hooks/useReactiveVar.cjs +2 -1
- package/__cjs/react/hooks/useReactiveVar.cjs.map +1 -1
- package/__cjs/react/hooks/useReactiveVar.d.cts +2 -1
- package/__cjs/react/hooks/useReadQuery.cjs +29 -0
- package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useReadQuery.d.cts +92 -16
- package/__cjs/react/hooks/useSubscription.cjs +8 -9
- package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
- package/__cjs/react/hooks/useSubscription.d.cts +108 -33
- package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
- package/__cjs/react/hooks/useSuspenseFragment.d.cts +61 -29
- package/__cjs/react/hooks/useSuspenseQuery.cjs +4 -1
- package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useSuspenseQuery.d.cts +471 -69
- package/__cjs/react/index.cjs +1 -3
- package/__cjs/react/index.cjs.map +1 -1
- package/__cjs/react/index.d.cts +0 -1
- package/__cjs/react/index.react-server.cjs +1 -3
- package/__cjs/react/index.react-server.cjs.map +1 -1
- package/__cjs/react/index.react-server.d.cts +0 -1
- package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -1
- package/__cjs/react/internal/cache/FragmentReference.d.cts +2 -3
- package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
- package/__cjs/react/internal/cache/QueryReference.d.cts +14 -12
- package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
- package/__cjs/react/internal/cache/SuspenseCache.d.cts +2 -2
- package/__cjs/react/internal/cache/getSuspenseCache.cjs.map +1 -1
- package/__cjs/react/internal/cache/getSuspenseCache.d.cts +6 -4
- package/__cjs/react/internal/index.cjs +1 -0
- package/__cjs/react/internal/index.cjs.map +1 -1
- package/__cjs/react/internal/index.d.cts +1 -1
- package/__cjs/react/internal/types.d.cts +3 -3
- package/__cjs/react/query-preloader/createQueryPreloader.cjs +1 -1
- package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
- package/__cjs/react/query-preloader/createQueryPreloader.d.cts +60 -51
- package/__cjs/react/ssr/prerenderStatic.cjs +5 -4
- package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -1
- package/__cjs/react/ssr/prerenderStatic.d.cts +11 -9
- package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -1
- package/__cjs/react/types/deprecated.d.cts +1 -1
- package/__cjs/react/types/types.documentation.d.cts +15 -15
- package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
- package/__cjs/testing/core/mocking/mockLink.d.cts +8 -8
- package/__cjs/testing/core/mocking/mockSubscriptionLink.cjs.map +1 -1
- package/__cjs/testing/core/mocking/mockSubscriptionLink.d.cts +3 -4
- package/__cjs/testing/core/types/deprecated.d.cts +3 -2
- package/__cjs/testing/react/MockedProvider.cjs.map +1 -1
- package/__cjs/testing/react/MockedProvider.d.cts +2 -3
- package/__cjs/utilities/HKT.d.cts +8 -7
- package/__cjs/utilities/caching/sizes.cjs +3 -3
- package/__cjs/utilities/caching/sizes.cjs.map +1 -1
- package/__cjs/utilities/caching/sizes.d.cts +4 -6
- package/__cjs/utilities/graphql/DocumentTransform.cjs +2 -2
- package/__cjs/utilities/graphql/DocumentTransform.cjs.map +1 -1
- package/__cjs/utilities/index.cjs +2 -3
- package/__cjs/utilities/index.cjs.map +1 -1
- package/__cjs/utilities/index.d.cts +1 -2
- package/__cjs/utilities/{shared → internal}/canonicalStringify.cjs +5 -7
- package/__cjs/utilities/internal/canonicalStringify.cjs.map +1 -0
- package/__cjs/utilities/{shared → internal}/canonicalStringify.d.cts +1 -1
- package/__cjs/utilities/internal/checkDocument.cjs +2 -2
- package/__cjs/utilities/internal/checkDocument.cjs.map +1 -1
- package/__cjs/utilities/internal/createFragmentMap.cjs.map +1 -1
- package/__cjs/{core → utilities/internal}/equalByQuery.cjs +13 -7
- package/__cjs/utilities/internal/equalByQuery.cjs.map +1 -0
- package/__cjs/utilities/internal/equalByQuery.d.cts +5 -0
- package/__cjs/utilities/internal/getFragmentQueryDocument.cjs +13 -3
- package/__cjs/utilities/internal/getFragmentQueryDocument.cjs.map +1 -1
- package/__cjs/utilities/internal/getFragmentQueryDocument.d.cts +13 -3
- package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
- package/__cjs/utilities/internal/getStoreKeyName.cjs +1 -2
- package/__cjs/utilities/internal/getStoreKeyName.cjs.map +1 -1
- package/__cjs/utilities/internal/index.cjs +6 -2
- package/__cjs/utilities/internal/index.cjs.map +1 -1
- package/__cjs/utilities/internal/index.d.cts +2 -0
- package/__cjs/utilities/internal/mergeOptions.cjs.map +1 -1
- package/__cjs/utilities/internal/mergeOptions.d.cts +2 -2
- package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -1
- package/__cjs/utilities/internal/toQueryResult.d.cts +2 -2
- package/__cjs/utilities/internal/types/DocumentationTypes.d.cts +32 -26
- package/__cjs/utilities/internal/types/NoInfer.d.cts +31 -25
- package/__cjs/utilities/internal/types/VariablesOption.d.cts +2 -6
- package/__cjs/utilities/subscriptions/relay/index.cjs +2 -0
- package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
- package/__cjs/version.cjs +1 -1
- package/cache/core/cache.d.ts +77 -71
- package/cache/core/cache.js +15 -14
- package/cache/core/cache.js.map +1 -1
- package/cache/core/types/Cache.d.ts +200 -15
- package/cache/core/types/Cache.js +1 -3
- package/cache/core/types/Cache.js.map +1 -1
- package/cache/deprecated.d.ts +6 -0
- package/cache/deprecated.js +2 -0
- package/cache/deprecated.js.map +1 -0
- package/cache/index.d.ts +2 -2
- package/cache/index.js.map +1 -1
- package/cache/inmemory/entityStore.d.ts +17 -16
- package/cache/inmemory/entityStore.js +25 -28
- package/cache/inmemory/entityStore.js.map +1 -1
- package/cache/inmemory/inMemoryCache.d.ts +4 -4
- package/cache/inmemory/inMemoryCache.js.map +1 -1
- package/cache/inmemory/key-extractor.js +1 -1
- package/cache/inmemory/policies.d.ts +3 -2
- package/cache/inmemory/policies.js +4 -4
- package/cache/inmemory/policies.js.map +1 -1
- package/cache/inmemory/readFromStore.js +2 -2
- package/cache/inmemory/writeToStore.d.ts +1 -1
- package/cache/inmemory/writeToStore.js +4 -4
- package/cache/inmemory/writeToStore.js.map +1 -1
- package/core/ApolloClient.d.ts +758 -182
- package/core/ApolloClient.js +94 -112
- package/core/ApolloClient.js.map +1 -1
- package/core/ObservableQuery.d.ts +131 -112
- package/core/ObservableQuery.js +10 -10
- package/core/ObservableQuery.js.map +1 -1
- package/core/QueryInfo.d.ts +8 -7
- package/core/QueryInfo.js.map +1 -1
- package/core/QueryManager.d.ts +20 -20
- package/core/QueryManager.js +15 -15
- package/core/QueryManager.js.map +1 -1
- package/core/deprecated.d.ts +29 -0
- package/core/deprecated.js +2 -0
- package/core/deprecated.js.map +1 -0
- package/core/index.d.ts +10 -6
- package/core/index.js.map +1 -1
- package/core/types.d.ts +69 -157
- package/core/types.js.map +1 -1
- package/core/watchQueryOptions.d.ts +9 -298
- package/core/watchQueryOptions.js.map +1 -1
- package/dev/setErrorMessageHandler.d.ts +4 -4
- package/dev/setErrorMessageHandler.js.map +1 -1
- package/errors/CombinedGraphQLErrors.d.ts +169 -15
- package/errors/CombinedGraphQLErrors.js +65 -12
- package/errors/CombinedGraphQLErrors.js.map +1 -1
- package/errors/CombinedProtocolErrors.d.ts +133 -3
- package/errors/CombinedProtocolErrors.js +55 -2
- package/errors/CombinedProtocolErrors.js.map +1 -1
- package/errors/LinkError.d.ts +45 -2
- package/errors/LinkError.js +45 -2
- package/errors/LinkError.js.map +1 -1
- package/errors/LocalStateError.d.ts +42 -6
- package/errors/LocalStateError.js +36 -6
- package/errors/LocalStateError.js.map +1 -1
- package/errors/ServerError.d.ts +72 -12
- package/errors/ServerError.js +52 -9
- package/errors/ServerError.js.map +1 -1
- package/errors/ServerParseError.d.ts +73 -17
- package/errors/ServerParseError.js +47 -9
- package/errors/ServerParseError.js.map +1 -1
- package/errors/UnconventionalError.d.ts +46 -2
- package/errors/UnconventionalError.js +46 -2
- package/errors/UnconventionalError.js.map +1 -1
- package/incremental/handlers/defer20220824.d.ts +4 -4
- package/incremental/handlers/defer20220824.js.map +1 -1
- package/incremental/handlers/notImplemented.d.ts +2 -2
- package/incremental/handlers/notImplemented.js +1 -1
- package/incremental/handlers/notImplemented.js.map +1 -1
- package/incremental/types.d.ts +4 -4
- package/incremental/types.js.map +1 -1
- package/invariantErrorCodes.js +81 -85
- package/link/batch/batchLink.d.ts +2 -3
- package/link/batch/batchLink.js +3 -9
- package/link/batch/batchLink.js.map +1 -1
- package/link/batch/batching.d.ts +7 -7
- package/link/batch/batching.js +2 -2
- package/link/batch/batching.js.map +1 -1
- package/link/batch-http/batchHttpLink.d.ts +1 -2
- package/link/batch-http/batchHttpLink.js +7 -4
- package/link/batch-http/batchHttpLink.js.map +1 -1
- package/link/client-awareness/ClientAwarenessLink.d.ts +4 -4
- package/link/client-awareness/ClientAwarenessLink.js.map +1 -1
- package/link/context/index.d.ts +4 -5
- package/link/context/index.js +1 -1
- package/link/context/index.js.map +1 -1
- package/link/core/ApolloLink.d.ts +355 -9
- package/link/core/ApolloLink.js +228 -57
- package/link/core/ApolloLink.js.map +1 -1
- package/link/core/concat.d.ts +4 -0
- package/link/core/concat.js +4 -0
- package/link/core/concat.js.map +1 -1
- package/link/core/deprecated.d.ts +10 -0
- package/link/core/deprecated.js +2 -0
- package/link/core/deprecated.js.map +1 -0
- package/link/core/empty.d.ts +4 -0
- package/link/core/empty.js +4 -0
- package/link/core/empty.js.map +1 -1
- package/link/core/from.d.ts +4 -0
- package/link/core/from.js +4 -0
- package/link/core/from.js.map +1 -1
- package/link/core/split.d.ts +4 -0
- package/link/core/split.js +4 -0
- package/link/core/split.js.map +1 -1
- package/link/core/types.d.ts +2 -33
- package/link/core/types.js.map +1 -1
- package/link/error/index.d.ts +20 -6
- package/link/error/index.js.map +1 -1
- package/link/http/BaseHttpLink.js +2 -2
- package/link/http/BaseHttpLink.js.map +1 -1
- package/link/http/HttpLink.d.ts +3 -3
- package/link/http/HttpLink.js +4 -1
- package/link/http/HttpLink.js.map +1 -1
- package/link/http/checkFetcher.js +1 -1
- package/link/http/parseAndCheckHttpResponse.d.ts +2 -2
- package/link/http/parseAndCheckHttpResponse.js +41 -26
- package/link/http/parseAndCheckHttpResponse.js.map +1 -1
- package/link/http/selectHttpOptionsAndBody.d.ts +3 -3
- package/link/http/selectHttpOptionsAndBody.js.map +1 -1
- package/link/http/selectURI.d.ts +2 -2
- package/link/http/selectURI.js.map +1 -1
- package/link/http/serializeFetchParameter.js +1 -1
- package/link/index.d.ts +2 -1
- package/link/index.js.map +1 -1
- package/link/persisted-queries/index.d.ts +11 -12
- package/link/persisted-queries/index.js +2 -2
- package/link/persisted-queries/index.js.map +1 -1
- package/link/retry/delayFunction.d.ts +3 -3
- package/link/retry/delayFunction.js.map +1 -1
- package/link/retry/retryFunction.d.ts +4 -4
- package/link/retry/retryFunction.js.map +1 -1
- package/link/retry/retryLink.d.ts +1 -2
- package/link/retry/retryLink.js +2 -2
- package/link/retry/retryLink.js.map +1 -1
- package/link/schema/index.d.ts +2 -3
- package/link/schema/index.js.map +1 -1
- package/link/subscriptions/index.d.ts +1 -2
- package/link/subscriptions/index.js.map +1 -1
- package/link/utils/createOperation.d.ts +2 -2
- package/link/utils/createOperation.js +12 -4
- package/link/utils/createOperation.js.map +1 -1
- package/link/utils/index.d.ts +0 -2
- package/link/utils/index.js +0 -2
- package/link/utils/index.js.map +1 -1
- package/link/ws/index.d.ts +1 -2
- package/link/ws/index.js.map +1 -1
- package/local-state/LocalState.d.ts +94 -0
- package/local-state/LocalState.js +55 -9
- package/local-state/LocalState.js.map +1 -1
- package/masking/GraphQLCodegenDataMasking.d.ts +6 -7
- package/masking/GraphQLCodegenDataMasking.js.map +1 -1
- package/masking/internal/types.d.ts +70 -70
- package/masking/internal/types.js.map +1 -1
- package/masking/maskDefinition.js +2 -2
- package/masking/maskFragment.js +2 -2
- package/masking/maskOperation.js +1 -1
- package/masking/types.js.map +1 -1
- package/masking/utils.js +3 -3
- package/package.json +1 -1
- package/react/context/ApolloContext.js +1 -1
- package/react/context/ApolloProvider.js +1 -1
- package/react/hooks/internal/useDeepMemo.js +0 -3
- package/react/hooks/internal/useDeepMemo.js.map +1 -1
- package/react/hooks/internal/validateSuspenseHookOptions.d.ts +2 -2
- package/react/hooks/internal/validateSuspenseHookOptions.js.map +1 -1
- package/react/hooks/internal/wrapHook.d.ts +8 -7
- package/react/hooks/internal/wrapHook.js +1 -0
- package/react/hooks/internal/wrapHook.js.map +1 -1
- package/react/hooks/useApolloClient.d.ts +2 -2
- package/react/hooks/useApolloClient.js +2 -2
- package/react/hooks/useApolloClient.js.map +1 -1
- package/react/hooks/useBackgroundQuery.d.ts +850 -90
- package/react/hooks/useBackgroundQuery.js.map +1 -1
- package/react/hooks/useFragment.d.ts +54 -3
- package/react/hooks/useFragment.js +7 -0
- package/react/hooks/useFragment.js.map +1 -1
- package/react/hooks/useLazyQuery.d.ts +317 -165
- package/react/hooks/useLazyQuery.js +0 -38
- package/react/hooks/useLazyQuery.js.map +1 -1
- package/react/hooks/useLoadableQuery.d.ts +153 -175
- package/react/hooks/useLoadableQuery.js.map +1 -1
- package/react/hooks/useMutation.d.ts +87 -65
- package/react/hooks/useMutation.js +6 -7
- package/react/hooks/useMutation.js.map +1 -1
- package/react/hooks/useQuery.d.ts +207 -103
- package/react/hooks/useQuery.js +1 -35
- package/react/hooks/useQuery.js.map +1 -1
- package/react/hooks/useQueryRefHandlers.d.ts +34 -5
- package/react/hooks/useQueryRefHandlers.js +2 -1
- package/react/hooks/useQueryRefHandlers.js.map +1 -1
- package/react/hooks/useReactiveVar.d.ts +2 -1
- package/react/hooks/useReactiveVar.js +2 -1
- package/react/hooks/useReactiveVar.js.map +1 -1
- package/react/hooks/useReadQuery.d.ts +93 -17
- package/react/hooks/useReadQuery.js +29 -0
- package/react/hooks/useReadQuery.js.map +1 -1
- package/react/hooks/useSubscription.d.ts +108 -33
- package/react/hooks/useSubscription.js +8 -9
- package/react/hooks/useSubscription.js.map +1 -1
- package/react/hooks/useSuspenseFragment.d.ts +62 -30
- package/react/hooks/useSuspenseFragment.js.map +1 -1
- package/react/hooks/useSuspenseQuery.d.ts +471 -69
- package/react/hooks/useSuspenseQuery.js +4 -1
- package/react/hooks/useSuspenseQuery.js.map +1 -1
- package/react/hooks-compiled/internal/useDeepMemo.js +0 -3
- package/react/hooks-compiled/internal/useDeepMemo.js.map +1 -1
- package/react/hooks-compiled/internal/validateSuspenseHookOptions.d.ts +2 -2
- package/react/hooks-compiled/internal/validateSuspenseHookOptions.js.map +1 -1
- package/react/hooks-compiled/internal/wrapHook.d.ts +8 -7
- package/react/hooks-compiled/internal/wrapHook.js +1 -0
- package/react/hooks-compiled/internal/wrapHook.js.map +1 -1
- package/react/hooks-compiled/useApolloClient.d.ts +2 -2
- package/react/hooks-compiled/useApolloClient.js +2 -2
- package/react/hooks-compiled/useApolloClient.js.map +1 -1
- package/react/hooks-compiled/useBackgroundQuery.d.ts +850 -90
- package/react/hooks-compiled/useBackgroundQuery.js.map +1 -1
- package/react/hooks-compiled/useFragment.d.ts +54 -3
- package/react/hooks-compiled/useFragment.js +7 -0
- package/react/hooks-compiled/useFragment.js.map +1 -1
- package/react/hooks-compiled/useLazyQuery.d.ts +317 -165
- package/react/hooks-compiled/useLazyQuery.js +0 -38
- package/react/hooks-compiled/useLazyQuery.js.map +1 -1
- package/react/hooks-compiled/useLoadableQuery.d.ts +153 -175
- package/react/hooks-compiled/useLoadableQuery.js.map +1 -1
- package/react/hooks-compiled/useMutation.d.ts +87 -65
- package/react/hooks-compiled/useMutation.js +6 -7
- package/react/hooks-compiled/useMutation.js.map +1 -1
- package/react/hooks-compiled/useQuery.d.ts +207 -103
- package/react/hooks-compiled/useQuery.js +1 -35
- package/react/hooks-compiled/useQuery.js.map +1 -1
- package/react/hooks-compiled/useQueryRefHandlers.d.ts +34 -5
- package/react/hooks-compiled/useQueryRefHandlers.js +2 -1
- package/react/hooks-compiled/useQueryRefHandlers.js.map +1 -1
- package/react/hooks-compiled/useReactiveVar.d.ts +2 -1
- package/react/hooks-compiled/useReactiveVar.js +2 -1
- package/react/hooks-compiled/useReactiveVar.js.map +1 -1
- package/react/hooks-compiled/useReadQuery.d.ts +93 -17
- package/react/hooks-compiled/useReadQuery.js +29 -0
- package/react/hooks-compiled/useReadQuery.js.map +1 -1
- package/react/hooks-compiled/useSubscription.d.ts +108 -33
- package/react/hooks-compiled/useSubscription.js +8 -9
- package/react/hooks-compiled/useSubscription.js.map +1 -1
- package/react/hooks-compiled/useSuspenseFragment.d.ts +62 -30
- package/react/hooks-compiled/useSuspenseFragment.js.map +1 -1
- package/react/hooks-compiled/useSuspenseQuery.d.ts +471 -69
- package/react/hooks-compiled/useSuspenseQuery.js.map +1 -1
- package/react/index.compiled.d.ts +0 -1
- package/react/index.compiled.js +0 -1
- package/react/index.compiled.js.map +1 -1
- package/react/index.d.ts +0 -1
- package/react/index.js +0 -1
- package/react/index.js.map +1 -1
- package/react/index.react-server.d.ts +0 -1
- package/react/index.react-server.js +0 -2
- package/react/index.react-server.js.map +1 -1
- package/react/internal/cache/FragmentReference.d.ts +2 -3
- package/react/internal/cache/FragmentReference.js.map +1 -1
- package/react/internal/cache/QueryReference.d.ts +14 -12
- package/react/internal/cache/QueryReference.js.map +1 -1
- package/react/internal/cache/SuspenseCache.d.ts +2 -2
- package/react/internal/cache/SuspenseCache.js.map +1 -1
- package/react/internal/cache/getSuspenseCache.d.ts +6 -4
- package/react/internal/cache/getSuspenseCache.js.map +1 -1
- package/react/internal/index.d.ts +1 -1
- package/react/internal/index.js +1 -0
- package/react/internal/index.js.map +1 -1
- package/react/internal/types.d.ts +3 -3
- package/react/internal/types.js.map +1 -1
- package/react/query-preloader/createQueryPreloader.d.ts +60 -51
- package/react/query-preloader/createQueryPreloader.js +1 -1
- package/react/query-preloader/createQueryPreloader.js.map +1 -1
- package/react/ssr/prerenderStatic.d.ts +11 -9
- package/react/ssr/prerenderStatic.js +5 -4
- package/react/ssr/prerenderStatic.js.map +1 -1
- package/react/ssr/useSSRQuery.js.map +1 -1
- package/react/types/deprecated.d.ts +1 -1
- package/react/types/deprecated.js.map +1 -1
- package/react/types/types.documentation.d.ts +15 -15
- package/react/types/types.documentation.js.map +1 -1
- package/testing/core/mocking/mockLink.d.ts +8 -8
- package/testing/core/mocking/mockLink.js.map +1 -1
- package/testing/core/mocking/mockSubscriptionLink.d.ts +3 -4
- package/testing/core/mocking/mockSubscriptionLink.js.map +1 -1
- package/testing/core/types/deprecated.d.ts +3 -2
- package/testing/core/types/deprecated.js.map +1 -1
- package/testing/react/MockedProvider.d.ts +2 -3
- package/testing/react/MockedProvider.js.map +1 -1
- package/utilities/HKT.d.ts +8 -7
- package/utilities/HKT.js.map +1 -1
- package/utilities/caching/sizes.d.ts +4 -6
- package/utilities/caching/sizes.js +3 -3
- package/utilities/caching/sizes.js.map +1 -1
- package/utilities/graphql/DocumentTransform.js +1 -1
- package/utilities/graphql/DocumentTransform.js.map +1 -1
- package/utilities/index.d.ts +1 -2
- package/utilities/index.js +1 -2
- package/utilities/index.js.map +1 -1
- package/utilities/{shared → internal}/canonicalStringify.d.ts +1 -1
- package/utilities/{shared → internal}/canonicalStringify.js +4 -6
- package/utilities/internal/canonicalStringify.js.map +1 -0
- package/utilities/internal/checkDocument.js +1 -1
- package/utilities/internal/checkDocument.js.map +1 -1
- package/utilities/internal/createFragmentMap.js.map +1 -1
- package/utilities/internal/equalByQuery.d.ts +5 -0
- package/{core → utilities/internal}/equalByQuery.js +7 -1
- package/utilities/internal/equalByQuery.js.map +1 -0
- package/utilities/internal/getFragmentQueryDocument.d.ts +13 -3
- package/utilities/internal/getFragmentQueryDocument.js +13 -3
- package/utilities/internal/getFragmentQueryDocument.js.map +1 -1
- package/utilities/internal/getMemoryInternals.js.map +1 -1
- package/utilities/internal/getStoreKeyName.js +1 -2
- package/utilities/internal/getStoreKeyName.js.map +1 -1
- package/utilities/internal/index.d.ts +2 -0
- package/utilities/internal/index.js +2 -0
- package/utilities/internal/index.js.map +1 -1
- package/utilities/internal/mergeOptions.d.ts +2 -2
- package/utilities/internal/mergeOptions.js.map +1 -1
- package/utilities/internal/toQueryResult.d.ts +2 -2
- package/utilities/internal/toQueryResult.js.map +1 -1
- package/utilities/internal/types/DocumentationTypes.d.ts +32 -26
- package/utilities/internal/types/DocumentationTypes.js.map +1 -1
- package/utilities/internal/types/NoInfer.d.ts +31 -25
- package/utilities/internal/types/NoInfer.js.map +1 -1
- package/utilities/internal/types/VariablesOption.d.ts +2 -6
- package/utilities/subscriptions/relay/index.js +2 -0
- package/utilities/subscriptions/relay/index.js.map +1 -1
- package/version.js +1 -1
- package/__cjs/cache/core/types/DataProxy.cjs.map +0 -1
- package/__cjs/cache/core/types/DataProxy.d.cts +0 -140
- package/__cjs/core/equalByQuery.cjs.map +0 -1
- package/__cjs/core/equalByQuery.d.cts +0 -4
- package/__cjs/link/utils/transformOperation.cjs +0 -22
- package/__cjs/link/utils/transformOperation.cjs.map +0 -1
- package/__cjs/link/utils/transformOperation.d.cts +0 -3
- package/__cjs/link/utils/validateOperation.cjs +0 -21
- package/__cjs/link/utils/validateOperation.cjs.map +0 -1
- package/__cjs/link/utils/validateOperation.d.cts +0 -3
- package/__cjs/react/context/ApolloConsumer.cjs +0 -16
- package/__cjs/react/context/ApolloConsumer.cjs.map +0 -1
- package/__cjs/react/context/ApolloConsumer.d.cts +0 -10
- package/__cjs/utilities/shared/canonicalStringify.cjs.map +0 -1
- package/cache/core/types/DataProxy.d.ts +0 -140
- package/cache/core/types/DataProxy.js +0 -2
- package/cache/core/types/DataProxy.js.map +0 -1
- package/core/equalByQuery.d.ts +0 -4
- package/core/equalByQuery.js.map +0 -1
- package/link/utils/transformOperation.d.ts +0 -3
- package/link/utils/transformOperation.js +0 -19
- package/link/utils/transformOperation.js.map +0 -1
- package/link/utils/validateOperation.d.ts +0 -3
- package/link/utils/validateOperation.js +0 -18
- package/link/utils/validateOperation.js.map +0 -1
- package/react/context/ApolloConsumer.d.ts +0 -10
- package/react/context/ApolloConsumer.js +0 -11
- package/react/context/ApolloConsumer.js.map +0 -1
- package/utilities/shared/canonicalStringify.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalStateError.js","
|
|
1
|
+
{"version":3,"file":"LocalStateError.js","sources":["../../src/errors/LocalStateError.ts"],"sourcesContent":["import { brand, isBranded } from \"./utils.js\";\n\nexport declare namespace LocalStateError {\n export interface Options {\n path?: Array<string | number>;\n sourceError?: unknown;\n }\n\n namespace DocumentationTypes {\n interface InstanceProperties {\n /** The path to the field that caused the error. */\n readonly path?: Array<string | number>;\n }\n }\n}\n\n/**\n * Represents a fatal error when executing `@client` fields from `LocalState`,\n * typically to indicate a problem with the `LocalState` configuration or\n * incorrect usage of a resolver function. This error does not represent user\n * errors thrown in a local resolver when resolving `@client` fields.\n *\n * @example\n *\n * ```ts\n * import { LocalStateError } from \"@apollo/client/errors\";\n *\n * // Check if an error is a LocalStateError instance\n * if (LocalStateError.is(error)) {\n * console.log(\"Original error:\", error.cause);\n *\n * // Determine which field caused the error\n * if (error.path) {\n * console.log(\"Error occurred at field path:\", error.path.join(\".\"));\n * }\n * }\n * ```\n */\nexport class LocalStateError extends Error {\n /**\n * A method that determines whether an error is a `LocalStateError`\n * object. This method enables TypeScript to narrow the error type.\n *\n * @example\n *\n * ```ts\n * if (LocalStateError.is(error)) {\n * // TypeScript now knows `error` is a LocalStateError object\n * console.log(error.path);\n * }\n * ```\n */\n static is(error: unknown): error is LocalStateError {\n return isBranded(error, \"LocalStateError\");\n }\n\n /** {@inheritDoc @apollo/client!LocalStateError.DocumentationTypes.InstanceProperties#path:member} */\n readonly path?: Array<string | number>;\n\n constructor(message: string, options: LocalStateError.Options = {}) {\n super(message, { cause: options.sourceError });\n this.name = \"LocalStateError\";\n this.path = options.path;\n\n brand(this);\n Object.setPrototypeOf(this, LocalStateError.prototype);\n }\n}\n"],"names":[],"mappings":"AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAc,EAAE,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAiC,CAAjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6C;AAgB7C,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;CAqBA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAa,CAAb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAqC,CAArC,CAAA,CAAA,CAAA,EAAA;IACE,CAAF,CAAA;;;;;;;;;;;;KAYA,CAAA;IACE,CAAF,CAAA,CAAA,CAAA,CAAA,EAAS,CAAT,CAAW,CAAC,CAAZ,CAAA,CAAA,CAAA,CAA0B,EAA1B;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,CAArB,CAAA,CAAA,CAAA,CAA0B,EAAE,CAA5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6C,CAAC;IAC5C;;;;IAGS,CAAX,CAAA,CAAA,CAAe;IAEb,CAAF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAd,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6B,EAAE,CAA/B,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAkE,CAAlE,CAAoE,EAApE;QACI,CAAJ,CAAA,CAAA,CAAA,CAAS,CAAC,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,EAAE,EAAE,CAArB,CAAA,CAAA,CAAA,CAA0B,EAAE,CAA5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmC,CAAC,CAApC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAiD,CAAC;QAC9C,CAAJ,CAAA,CAAA,CAAQ,CAAC,CAAT,CAAA,CAAA,EAAA,EAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC;QAC7B,CAAJ,CAAA,CAAA,CAAQ,CAAC,CAAT,CAAA,CAAA,EAAA,EAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAC,CAAxB,CAAA,CAAA,CAA4B;QAExB,CAAJ,CAAA,CAAA,CAAA,CAAS,CAAC,CAAV,CAAA,CAAA,CAAc,CAAC;QACX,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAC,CAA1B,CAAA,CAAA,CAA8B,EAAE,CAAhC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+C,CAAC,CAAhD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyD,CAAC;IACxD;AACF;"}
|
package/errors/ServerError.d.ts
CHANGED
|
@@ -3,25 +3,85 @@ export declare namespace ServerError {
|
|
|
3
3
|
response: Response;
|
|
4
4
|
bodyText: string;
|
|
5
5
|
}
|
|
6
|
+
namespace DocumentationTypes {
|
|
7
|
+
interface InstanceProperties {
|
|
8
|
+
/**
|
|
9
|
+
* The raw [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response) object provided by the [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API).
|
|
10
|
+
*/
|
|
11
|
+
readonly response: Response;
|
|
12
|
+
/**
|
|
13
|
+
* The status code returned by the server in the response. This is provided as
|
|
14
|
+
* a shortcut for `response.status`.
|
|
15
|
+
*/
|
|
16
|
+
readonly statusCode: number;
|
|
17
|
+
/**
|
|
18
|
+
* The raw response body text.
|
|
19
|
+
*/
|
|
20
|
+
readonly bodyText: string;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
6
23
|
}
|
|
7
24
|
/**
|
|
8
|
-
*
|
|
25
|
+
* Represents an error when a non-200 HTTP status code is returned from the
|
|
26
|
+
* server according to the [GraphQL Over HTTP specification](https://graphql.github.io/graphql-over-http/draft/). This error
|
|
27
|
+
* contains the full server response, including status code and body text.
|
|
28
|
+
*
|
|
29
|
+
* @remarks
|
|
30
|
+
*
|
|
31
|
+
* This error occurs when your GraphQL server responds with an HTTP status code
|
|
32
|
+
* other than 200 (such as 4xx or 5xx status codes) with any media type other
|
|
33
|
+
* than [`application/graphql-response+json`](https://graphql.github.io/graphql-over-http/draft/#sec-application-graphql-response-json).
|
|
34
|
+
*
|
|
35
|
+
* Servers that return non-200 status codes with other media types are not
|
|
36
|
+
* guaranteed to contain a well-formed GraphQL response and may indicate issues
|
|
37
|
+
* at the HTTP level, such as authentication failures, server unavailability,
|
|
38
|
+
* or other HTTP-level problems.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
*
|
|
42
|
+
* ```ts
|
|
43
|
+
* import { ServerError } from "@apollo/client/errors";
|
|
44
|
+
*
|
|
45
|
+
* // Check if an error is a ServerError instance
|
|
46
|
+
* if (ServerError.is(error)) {
|
|
47
|
+
* console.log(`Server returned status: ${error.statusCode}`);
|
|
48
|
+
* console.log(`Response body: ${error.bodyText}`);
|
|
49
|
+
*
|
|
50
|
+
* // Handle specific status codes
|
|
51
|
+
* if (error.statusCode === 401) {
|
|
52
|
+
* // Handle unauthorized access
|
|
53
|
+
* }
|
|
54
|
+
* }
|
|
55
|
+
* ```
|
|
9
56
|
*/
|
|
10
57
|
export declare class ServerError extends Error {
|
|
11
|
-
/** Determine if an error is a `ServerError` instance */
|
|
12
|
-
static is(error: unknown): error is ServerError;
|
|
13
58
|
/**
|
|
14
|
-
*
|
|
59
|
+
* A method that determines whether an error is a `ServerError` object. This
|
|
60
|
+
* method enables TypeScript to narrow the error type.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
*
|
|
64
|
+
* ```ts
|
|
65
|
+
* if (ServerError.is(error)) {
|
|
66
|
+
* // TypeScript now knows `error` is a ServerError object
|
|
67
|
+
* console.log(error.errors);
|
|
68
|
+
* }
|
|
69
|
+
* ```
|
|
15
70
|
*/
|
|
16
|
-
|
|
71
|
+
static is(error: unknown): error is ServerError;
|
|
17
72
|
/**
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
73
|
+
* The raw [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response) object provided by the [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API).
|
|
74
|
+
*/
|
|
75
|
+
readonly response: Response;
|
|
21
76
|
/**
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
77
|
+
* The status code returned by the server in the response. This is provided as
|
|
78
|
+
* a shortcut for `response.status`.
|
|
79
|
+
*/
|
|
80
|
+
readonly statusCode: number;
|
|
81
|
+
/**
|
|
82
|
+
* The raw response body text.
|
|
83
|
+
*/
|
|
84
|
+
readonly bodyText: string;
|
|
25
85
|
constructor(message: string, options: ServerError.Options);
|
|
26
86
|
}
|
|
27
|
-
//# sourceMappingURL=ServerError.d.ts.map
|
|
87
|
+
//# sourceMappingURL=ServerError.d.ts.map
|
package/errors/ServerError.js
CHANGED
|
@@ -1,23 +1,66 @@
|
|
|
1
1
|
import { brand, isBranded } from "./utils.js";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Represents an error when a non-200 HTTP status code is returned from the
|
|
4
|
+
* server according to the [GraphQL Over HTTP specification](https://graphql.github.io/graphql-over-http/draft/). This error
|
|
5
|
+
* contains the full server response, including status code and body text.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
*
|
|
9
|
+
* This error occurs when your GraphQL server responds with an HTTP status code
|
|
10
|
+
* other than 200 (such as 4xx or 5xx status codes) with any media type other
|
|
11
|
+
* than [`application/graphql-response+json`](https://graphql.github.io/graphql-over-http/draft/#sec-application-graphql-response-json).
|
|
12
|
+
*
|
|
13
|
+
* Servers that return non-200 status codes with other media types are not
|
|
14
|
+
* guaranteed to contain a well-formed GraphQL response and may indicate issues
|
|
15
|
+
* at the HTTP level, such as authentication failures, server unavailability,
|
|
16
|
+
* or other HTTP-level problems.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
*
|
|
20
|
+
* ```ts
|
|
21
|
+
* import { ServerError } from "@apollo/client/errors";
|
|
22
|
+
*
|
|
23
|
+
* // Check if an error is a ServerError instance
|
|
24
|
+
* if (ServerError.is(error)) {
|
|
25
|
+
* console.log(`Server returned status: ${error.statusCode}`);
|
|
26
|
+
* console.log(`Response body: ${error.bodyText}`);
|
|
27
|
+
*
|
|
28
|
+
* // Handle specific status codes
|
|
29
|
+
* if (error.statusCode === 401) {
|
|
30
|
+
* // Handle unauthorized access
|
|
31
|
+
* }
|
|
32
|
+
* }
|
|
33
|
+
* ```
|
|
4
34
|
*/
|
|
5
35
|
export class ServerError extends Error {
|
|
6
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
* A method that determines whether an error is a `ServerError` object. This
|
|
38
|
+
* method enables TypeScript to narrow the error type.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
*
|
|
42
|
+
* ```ts
|
|
43
|
+
* if (ServerError.is(error)) {
|
|
44
|
+
* // TypeScript now knows `error` is a ServerError object
|
|
45
|
+
* console.log(error.errors);
|
|
46
|
+
* }
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
7
49
|
static is(error) {
|
|
8
50
|
return isBranded(error, "ServerError");
|
|
9
51
|
}
|
|
10
52
|
/**
|
|
11
|
-
|
|
12
|
-
|
|
53
|
+
* The raw [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response) object provided by the [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API).
|
|
54
|
+
*/
|
|
13
55
|
response;
|
|
14
56
|
/**
|
|
15
|
-
|
|
16
|
-
|
|
57
|
+
* The status code returned by the server in the response. This is provided as
|
|
58
|
+
* a shortcut for `response.status`.
|
|
59
|
+
*/
|
|
17
60
|
statusCode;
|
|
18
61
|
/**
|
|
19
|
-
|
|
20
|
-
|
|
62
|
+
* The raw response body text.
|
|
63
|
+
*/
|
|
21
64
|
bodyText;
|
|
22
65
|
constructor(message, options) {
|
|
23
66
|
super(message);
|
|
@@ -29,4 +72,4 @@ export class ServerError extends Error {
|
|
|
29
72
|
Object.setPrototypeOf(this, ServerError.prototype);
|
|
30
73
|
}
|
|
31
74
|
}
|
|
32
|
-
//# sourceMappingURL=ServerError.js.map
|
|
75
|
+
//# sourceMappingURL=ServerError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerError.js","
|
|
1
|
+
{"version":3,"file":"ServerError.js","sources":["../../src/errors/ServerError.ts"],"sourcesContent":["import { brand, isBranded } from \"./utils.js\";\n\nexport declare namespace ServerError {\n export interface Options {\n response: Response;\n bodyText: string;\n }\n\n namespace DocumentationTypes {\n interface InstanceProperties {\n /**\n * The raw [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response) object provided by the [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API).\n */\n readonly response: Response;\n /**\n * The status code returned by the server in the response. This is provided as\n * a shortcut for `response.status`.\n */\n readonly statusCode: number;\n\n /**\n * The raw response body text.\n */\n readonly bodyText: string;\n }\n }\n}\n\n/**\n * Represents an error when a non-200 HTTP status code is returned from the\n * server according to the [GraphQL Over HTTP specification](https://graphql.github.io/graphql-over-http/draft/). This error\n * contains the full server response, including status code and body text.\n *\n * @remarks\n *\n * This error occurs when your GraphQL server responds with an HTTP status code\n * other than 200 (such as 4xx or 5xx status codes) with any media type other\n * than [`application/graphql-response+json`](https://graphql.github.io/graphql-over-http/draft/#sec-application-graphql-response-json).\n *\n * Servers that return non-200 status codes with other media types are not\n * guaranteed to contain a well-formed GraphQL response and may indicate issues\n * at the HTTP level, such as authentication failures, server unavailability,\n * or other HTTP-level problems.\n *\n * @example\n *\n * ```ts\n * import { ServerError } from \"@apollo/client/errors\";\n *\n * // Check if an error is a ServerError instance\n * if (ServerError.is(error)) {\n * console.log(`Server returned status: ${error.statusCode}`);\n * console.log(`Response body: ${error.bodyText}`);\n *\n * // Handle specific status codes\n * if (error.statusCode === 401) {\n * // Handle unauthorized access\n * }\n * }\n * ```\n */\nexport class ServerError extends Error {\n /**\n * A method that determines whether an error is a `ServerError` object. This\n * method enables TypeScript to narrow the error type.\n *\n * @example\n *\n * ```ts\n * if (ServerError.is(error)) {\n * // TypeScript now knows `error` is a ServerError object\n * console.log(error.errors);\n * }\n * ```\n */\n static is(error: unknown): error is ServerError {\n return isBranded(error, \"ServerError\");\n }\n\n /** {@inheritDoc @apollo/client!ServerError.DocumentationTypes.InstanceProperties#response:member} */\n readonly response: Response;\n\n /** {@inheritDoc @apollo/client!ServerError.DocumentationTypes.InstanceProperties#statusCode:member} */\n readonly statusCode: number;\n\n /** {@inheritDoc @apollo/client!ServerError.DocumentationTypes.InstanceProperties#bodyText:member} */\n readonly bodyText: string;\n\n constructor(message: string, options: ServerError.Options) {\n super(message);\n this.name = \"ServerError\";\n this.response = options.response;\n this.statusCode = options.response.status;\n this.bodyText = options.bodyText;\n\n brand(this);\n Object.setPrototypeOf(this, ServerError.prototype);\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,82 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export declare namespace ServerParseError {
|
|
2
|
+
interface Options {
|
|
3
|
+
response: Response;
|
|
4
|
+
bodyText: string;
|
|
5
|
+
}
|
|
6
|
+
namespace DocumentationTypes {
|
|
7
|
+
interface InstanceProperties {
|
|
8
|
+
/**
|
|
9
|
+
* The raw [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response) object provided by the [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API).
|
|
10
|
+
*/
|
|
11
|
+
readonly response: Response;
|
|
12
|
+
/**
|
|
13
|
+
* The status code returned by the server in the response. This is provided
|
|
14
|
+
* as a shortcut for `response.status`.
|
|
15
|
+
*/
|
|
16
|
+
readonly statusCode: number;
|
|
17
|
+
/**
|
|
18
|
+
* The raw response body text.
|
|
19
|
+
*/
|
|
20
|
+
readonly bodyText: string;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
4
23
|
}
|
|
5
24
|
/**
|
|
6
|
-
*
|
|
25
|
+
* Represents a failure to parse the response as JSON from the server. This
|
|
26
|
+
* error helps debug issues where the server returns malformed JSON or non-JSON
|
|
27
|
+
* content.
|
|
28
|
+
*
|
|
29
|
+
* @remarks
|
|
30
|
+
*
|
|
31
|
+
* This error occurs when Apollo Client receives a response from the server but
|
|
32
|
+
* cannot parse it as valid JSON. This typically happens when the server returns
|
|
33
|
+
* HTML error pages, plain text responses, or malformed JSON instead of the
|
|
34
|
+
* expected GraphQL JSON response format.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
*
|
|
38
|
+
* ```ts
|
|
39
|
+
* import { ServerParseError } from "@apollo/client/errors";
|
|
40
|
+
*
|
|
41
|
+
* // Check if an error is a ServerParseError instance
|
|
42
|
+
* if (ServerParseError.is(error)) {
|
|
43
|
+
* console.log(`Failed to parse response from ${error.response.url}`);
|
|
44
|
+
* console.log(`Raw response: ${error.bodyText}`);
|
|
45
|
+
* console.log(`Status code: ${error.statusCode}`);
|
|
46
|
+
*
|
|
47
|
+
* // Access the original parse error
|
|
48
|
+
* console.log(`Parse error: ${error.cause}`);
|
|
49
|
+
* }
|
|
50
|
+
* ```
|
|
7
51
|
*/
|
|
8
52
|
export declare class ServerParseError extends Error {
|
|
9
|
-
/** Determine if an error is an `ServerParseError` instance */
|
|
10
|
-
static is(error: unknown): error is ServerParseError;
|
|
11
53
|
/**
|
|
12
|
-
*
|
|
54
|
+
* A method that determines whether an error is a `ServerParseError`
|
|
55
|
+
* object. This method enables TypeScript to narrow the error type.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
*
|
|
59
|
+
* ```ts
|
|
60
|
+
* if (ServerParseError.is(error)) {
|
|
61
|
+
* // TypeScript now knows `error` is a ServerParseError object
|
|
62
|
+
* console.log(error.statusCode);
|
|
63
|
+
* }
|
|
64
|
+
* ```
|
|
13
65
|
*/
|
|
14
|
-
|
|
66
|
+
static is(error: unknown): error is ServerParseError;
|
|
15
67
|
/**
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
68
|
+
* The raw [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response) object provided by the [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API).
|
|
69
|
+
*/
|
|
70
|
+
readonly response: Response;
|
|
19
71
|
/**
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
72
|
+
* The status code returned by the server in the response. This is provided
|
|
73
|
+
* as a shortcut for `response.status`.
|
|
74
|
+
*/
|
|
75
|
+
readonly statusCode: number;
|
|
76
|
+
/**
|
|
77
|
+
* The raw response body text.
|
|
78
|
+
*/
|
|
79
|
+
readonly bodyText: string;
|
|
80
|
+
constructor(originalParseError: unknown, options: ServerParseError.Options);
|
|
24
81
|
}
|
|
25
|
-
|
|
26
|
-
//# sourceMappingURL=ServerParseError.d.ts.map
|
|
82
|
+
//# sourceMappingURL=ServerParseError.d.ts.map
|
|
@@ -1,23 +1,61 @@
|
|
|
1
1
|
import { brand, isBranded } from "./utils.js";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Represents a failure to parse the response as JSON from the server. This
|
|
4
|
+
* error helps debug issues where the server returns malformed JSON or non-JSON
|
|
5
|
+
* content.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
*
|
|
9
|
+
* This error occurs when Apollo Client receives a response from the server but
|
|
10
|
+
* cannot parse it as valid JSON. This typically happens when the server returns
|
|
11
|
+
* HTML error pages, plain text responses, or malformed JSON instead of the
|
|
12
|
+
* expected GraphQL JSON response format.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
*
|
|
16
|
+
* ```ts
|
|
17
|
+
* import { ServerParseError } from "@apollo/client/errors";
|
|
18
|
+
*
|
|
19
|
+
* // Check if an error is a ServerParseError instance
|
|
20
|
+
* if (ServerParseError.is(error)) {
|
|
21
|
+
* console.log(`Failed to parse response from ${error.response.url}`);
|
|
22
|
+
* console.log(`Raw response: ${error.bodyText}`);
|
|
23
|
+
* console.log(`Status code: ${error.statusCode}`);
|
|
24
|
+
*
|
|
25
|
+
* // Access the original parse error
|
|
26
|
+
* console.log(`Parse error: ${error.cause}`);
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
4
29
|
*/
|
|
5
30
|
export class ServerParseError extends Error {
|
|
6
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* A method that determines whether an error is a `ServerParseError`
|
|
33
|
+
* object. This method enables TypeScript to narrow the error type.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
*
|
|
37
|
+
* ```ts
|
|
38
|
+
* if (ServerParseError.is(error)) {
|
|
39
|
+
* // TypeScript now knows `error` is a ServerParseError object
|
|
40
|
+
* console.log(error.statusCode);
|
|
41
|
+
* }
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
7
44
|
static is(error) {
|
|
8
45
|
return isBranded(error, "ServerParseError");
|
|
9
46
|
}
|
|
10
47
|
/**
|
|
11
|
-
|
|
12
|
-
|
|
48
|
+
* The raw [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response) object provided by the [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API).
|
|
49
|
+
*/
|
|
13
50
|
response;
|
|
14
51
|
/**
|
|
15
|
-
|
|
16
|
-
|
|
52
|
+
* The status code returned by the server in the response. This is provided
|
|
53
|
+
* as a shortcut for `response.status`.
|
|
54
|
+
*/
|
|
17
55
|
statusCode;
|
|
18
56
|
/**
|
|
19
|
-
|
|
20
|
-
|
|
57
|
+
* The raw response body text.
|
|
58
|
+
*/
|
|
21
59
|
bodyText;
|
|
22
60
|
constructor(originalParseError, options) {
|
|
23
61
|
super(originalParseError instanceof Error ?
|
|
@@ -31,4 +69,4 @@ export class ServerParseError extends Error {
|
|
|
31
69
|
Object.setPrototypeOf(this, ServerParseError.prototype);
|
|
32
70
|
}
|
|
33
71
|
}
|
|
34
|
-
//# sourceMappingURL=ServerParseError.js.map
|
|
72
|
+
//# sourceMappingURL=ServerParseError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerParseError.js","
|
|
1
|
+
{"version":3,"file":"ServerParseError.js","sources":["../../src/errors/ServerParseError.ts"],"sourcesContent":["import { brand, isBranded } from \"./utils.js\";\n\nexport declare namespace ServerParseError {\n export interface Options {\n response: Response;\n bodyText: string;\n }\n\n namespace DocumentationTypes {\n interface InstanceProperties {\n /**\n * The raw [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response) object provided by the [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API).\n */\n readonly response: Response;\n /**\n * The status code returned by the server in the response. This is provided\n * as a shortcut for `response.status`.\n */\n readonly statusCode: number;\n /**\n * The raw response body text.\n */\n readonly bodyText: string;\n }\n }\n}\n\n/**\n * Represents a failure to parse the response as JSON from the server. This\n * error helps debug issues where the server returns malformed JSON or non-JSON\n * content.\n *\n * @remarks\n *\n * This error occurs when Apollo Client receives a response from the server but\n * cannot parse it as valid JSON. This typically happens when the server returns\n * HTML error pages, plain text responses, or malformed JSON instead of the\n * expected GraphQL JSON response format.\n *\n * @example\n *\n * ```ts\n * import { ServerParseError } from \"@apollo/client/errors\";\n *\n * // Check if an error is a ServerParseError instance\n * if (ServerParseError.is(error)) {\n * console.log(`Failed to parse response from ${error.response.url}`);\n * console.log(`Raw response: ${error.bodyText}`);\n * console.log(`Status code: ${error.statusCode}`);\n *\n * // Access the original parse error\n * console.log(`Parse error: ${error.cause}`);\n * }\n * ```\n */\nexport class ServerParseError extends Error {\n /**\n * A method that determines whether an error is a `ServerParseError`\n * object. This method enables TypeScript to narrow the error type.\n *\n * @example\n *\n * ```ts\n * if (ServerParseError.is(error)) {\n * // TypeScript now knows `error` is a ServerParseError object\n * console.log(error.statusCode);\n * }\n * ```\n */\n static is(error: unknown): error is ServerParseError {\n return isBranded(error, \"ServerParseError\");\n }\n /** {@inheritDoc @apollo/client!ServerParseError.DocumentationTypes.InstanceProperties#response:member} */\n readonly response: Response;\n\n /** {@inheritDoc @apollo/client!ServerParseError.DocumentationTypes.InstanceProperties#statusCode:member} */\n readonly statusCode: number;\n\n /** {@inheritDoc @apollo/client!ServerParseError.DocumentationTypes.InstanceProperties#bodyText:member} */\n readonly bodyText: string;\n\n constructor(originalParseError: unknown, options: ServerParseError.Options) {\n super(\n originalParseError instanceof Error ?\n originalParseError.message\n : \"Could not parse server response\",\n { cause: originalParseError }\n );\n this.name = \"ServerParseError\";\n this.response = options.response;\n this.statusCode = options.response.status;\n this.bodyText = options.bodyText;\n\n brand(this);\n Object.setPrototypeOf(this, ServerParseError.prototype);\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,54 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* A wrapper error type that represents a non-standard error thrown from a
|
|
3
|
-
*
|
|
3
|
+
* A wrapper error type that represents a non-error value thrown from the
|
|
4
|
+
* link chain, such as a symbol, primitive or plain object. Read the `cause` property to
|
|
4
5
|
* determine the source of the error.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
*
|
|
9
|
+
* This error is used to standardize error handling when non-Error values are
|
|
10
|
+
* thrown in the Apollo Client link chain or other parts of the system.
|
|
11
|
+
* JavaScript allows throwing any value (not just Error instances), and this
|
|
12
|
+
* wrapper ensures that all thrown values can be handled consistently as
|
|
13
|
+
* Error-like objects while preserving the original thrown value.
|
|
14
|
+
*
|
|
15
|
+
* > [!NOTE]
|
|
16
|
+
* > Plain strings thrown as errors are wrapped in regular [`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) objects instead of `UnconventionalError` objects since strings can be safely used as the error's `message`.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
*
|
|
20
|
+
* ```ts
|
|
21
|
+
* import { UnconventionalError } from "@apollo/client/errors";
|
|
22
|
+
*
|
|
23
|
+
* // Check if an error is an UnconventionalError instance
|
|
24
|
+
* if (UnconventionalError.is(error)) {
|
|
25
|
+
* console.log("Non-standard error thrown:", error.cause);
|
|
26
|
+
*
|
|
27
|
+
* // Check the type of the original thrown value
|
|
28
|
+
* if (typeof error.cause === "symbol") {
|
|
29
|
+
* console.log("A symbol was thrown:", error.cause.toString());
|
|
30
|
+
* } else if (typeof error.cause === "object") {
|
|
31
|
+
* console.log("An object was thrown:", error.cause);
|
|
32
|
+
* } else {
|
|
33
|
+
* console.log("Unexpected value thrown:", error.cause);
|
|
34
|
+
* }
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
5
37
|
*/
|
|
6
38
|
export declare class UnconventionalError extends Error {
|
|
7
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* A method that determines whether an error is an `UnconventionalError`
|
|
41
|
+
* object. This method enables TypeScript to narrow the error type.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
*
|
|
45
|
+
* ```ts
|
|
46
|
+
* if (UnconventionalError.is(error)) {
|
|
47
|
+
* // TypeScript now knows `error` is a UnconventionalError object
|
|
48
|
+
* console.log("What caused this?", error.cause);
|
|
49
|
+
* }
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
8
52
|
static is(error: unknown): error is UnconventionalError;
|
|
9
53
|
constructor(errorType: unknown);
|
|
10
54
|
}
|
|
@@ -1,11 +1,55 @@
|
|
|
1
1
|
import { brand, isBranded } from "./utils.js";
|
|
2
2
|
/**
|
|
3
3
|
* A wrapper error type that represents a non-standard error thrown from a
|
|
4
|
-
*
|
|
4
|
+
* A wrapper error type that represents a non-error value thrown from the
|
|
5
|
+
* link chain, such as a symbol, primitive or plain object. Read the `cause` property to
|
|
5
6
|
* determine the source of the error.
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
*
|
|
10
|
+
* This error is used to standardize error handling when non-Error values are
|
|
11
|
+
* thrown in the Apollo Client link chain or other parts of the system.
|
|
12
|
+
* JavaScript allows throwing any value (not just Error instances), and this
|
|
13
|
+
* wrapper ensures that all thrown values can be handled consistently as
|
|
14
|
+
* Error-like objects while preserving the original thrown value.
|
|
15
|
+
*
|
|
16
|
+
* > [!NOTE]
|
|
17
|
+
* > Plain strings thrown as errors are wrapped in regular [`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) objects instead of `UnconventionalError` objects since strings can be safely used as the error's `message`.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
*
|
|
21
|
+
* ```ts
|
|
22
|
+
* import { UnconventionalError } from "@apollo/client/errors";
|
|
23
|
+
*
|
|
24
|
+
* // Check if an error is an UnconventionalError instance
|
|
25
|
+
* if (UnconventionalError.is(error)) {
|
|
26
|
+
* console.log("Non-standard error thrown:", error.cause);
|
|
27
|
+
*
|
|
28
|
+
* // Check the type of the original thrown value
|
|
29
|
+
* if (typeof error.cause === "symbol") {
|
|
30
|
+
* console.log("A symbol was thrown:", error.cause.toString());
|
|
31
|
+
* } else if (typeof error.cause === "object") {
|
|
32
|
+
* console.log("An object was thrown:", error.cause);
|
|
33
|
+
* } else {
|
|
34
|
+
* console.log("Unexpected value thrown:", error.cause);
|
|
35
|
+
* }
|
|
36
|
+
* }
|
|
37
|
+
* ```
|
|
6
38
|
*/
|
|
7
39
|
export class UnconventionalError extends Error {
|
|
8
|
-
/**
|
|
40
|
+
/**
|
|
41
|
+
* A method that determines whether an error is an `UnconventionalError`
|
|
42
|
+
* object. This method enables TypeScript to narrow the error type.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
*
|
|
46
|
+
* ```ts
|
|
47
|
+
* if (UnconventionalError.is(error)) {
|
|
48
|
+
* // TypeScript now knows `error` is a UnconventionalError object
|
|
49
|
+
* console.log("What caused this?", error.cause);
|
|
50
|
+
* }
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
9
53
|
static is(error) {
|
|
10
54
|
return isBranded(error, "UnconventionalError");
|
|
11
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnconventionalError.js","sourceRoot":"","sources":["../../src/errors/UnconventionalError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE9C
|
|
1
|
+
{"version":3,"file":"UnconventionalError.js","sourceRoot":"","sources":["../../src/errors/UnconventionalError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,CAAC,KAAc;QACtB,OAAO,SAAS,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;IACjD,CAAC;IAED,YAAY,SAAkB;QAC5B,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAElC,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;CACF","sourcesContent":["import { brand, isBranded } from \"./utils.js\";\n\n/**\n * A wrapper error type that represents a non-standard error thrown from a\n * A wrapper error type that represents a non-error value thrown from the\n * link chain, such as a symbol, primitive or plain object. Read the `cause` property to\n * determine the source of the error.\n *\n * @remarks\n *\n * This error is used to standardize error handling when non-Error values are\n * thrown in the Apollo Client link chain or other parts of the system.\n * JavaScript allows throwing any value (not just Error instances), and this\n * wrapper ensures that all thrown values can be handled consistently as\n * Error-like objects while preserving the original thrown value.\n *\n * > [!NOTE]\n * > Plain strings thrown as errors are wrapped in regular [`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) objects instead of `UnconventionalError` objects since strings can be safely used as the error's `message`.\n *\n * @example\n *\n * ```ts\n * import { UnconventionalError } from \"@apollo/client/errors\";\n *\n * // Check if an error is an UnconventionalError instance\n * if (UnconventionalError.is(error)) {\n * console.log(\"Non-standard error thrown:\", error.cause);\n *\n * // Check the type of the original thrown value\n * if (typeof error.cause === \"symbol\") {\n * console.log(\"A symbol was thrown:\", error.cause.toString());\n * } else if (typeof error.cause === \"object\") {\n * console.log(\"An object was thrown:\", error.cause);\n * } else {\n * console.log(\"Unexpected value thrown:\", error.cause);\n * }\n * }\n * ```\n */\nexport class UnconventionalError extends Error {\n /**\n * A method that determines whether an error is an `UnconventionalError`\n * object. This method enables TypeScript to narrow the error type.\n *\n * @example\n *\n * ```ts\n * if (UnconventionalError.is(error)) {\n * // TypeScript now knows `error` is a UnconventionalError object\n * console.log(\"What caused this?\", error.cause);\n * }\n * ```\n */\n static is(error: unknown): error is UnconventionalError {\n return isBranded(error, \"UnconventionalError\");\n }\n\n constructor(errorType: unknown) {\n super(\"An error of unexpected shape occurred.\", { cause: errorType });\n this.name = \"UnconventionalError\";\n\n brand(this);\n Object.setPrototypeOf(this, UnconventionalError.prototype);\n }\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DocumentNode, FormattedExecutionResult, GraphQLFormattedError } from "graphql";
|
|
2
|
-
import type {
|
|
2
|
+
import type { ApolloLink } from "@apollo/client/link";
|
|
3
3
|
import type { DeepPartial } from "@apollo/client/utilities";
|
|
4
4
|
import type { Incremental } from "../types.js";
|
|
5
5
|
export declare namespace Defer20220824Handler {
|
|
@@ -26,7 +26,7 @@ export declare namespace Defer20220824Handler {
|
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
28
|
declare module "@apollo/client/link" {
|
|
29
|
-
interface
|
|
29
|
+
interface AdditionalApolloLinkResultTypes {
|
|
30
30
|
Defer20220824Handler: Defer20220824Handler.Chunk<Record<string, unknown>>;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -44,8 +44,8 @@ declare class DeferRequest<TData extends Record<string, unknown>> implements Inc
|
|
|
44
44
|
*/
|
|
45
45
|
export declare class Defer20220824Handler implements Incremental.Handler<Defer20220824Handler.Chunk<any>> {
|
|
46
46
|
isIncrementalResult(result: Record<string, any>): result is Defer20220824Handler.SubsequentResult | Defer20220824Handler.InitialResult;
|
|
47
|
-
extractErrors(result:
|
|
48
|
-
prepareRequest(request:
|
|
47
|
+
extractErrors(result: ApolloLink.Result<any>): GraphQLFormattedError[] | undefined;
|
|
48
|
+
prepareRequest(request: ApolloLink.Request): ApolloLink.Request;
|
|
49
49
|
startRequest<TData extends Record<string, unknown>>(_: {
|
|
50
50
|
query: DocumentNode;
|
|
51
51
|
}): DeferRequest<TData>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defer20220824.js","sourceRoot":"","sources":["../../../src/incremental/handlers/defer20220824.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"defer20220824.js","sourceRoot":"","sources":["../../../src/incremental/handlers/defer20220824.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,UAAU,EACV,aAAa,EACb,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAuC3C,MAAM,YAAY;IAIT,OAAO,GAAG,IAAI,CAAC;IAEd,MAAM,GAAiC,EAAE,CAAC;IAC1C,UAAU,GAAwB,EAAE,CAAC;IACrC,IAAI,GAAQ,EAAE,CAAC;IAEf,OAAO,CACb,UAA2C,EAC3C,MAAyB;QAEzB,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IACxD,CAAC;IAED,MAAM;IACJ,mEAAmE;IACnE,qEAAqE;IACrE,YAA2D,IAAI,CAAC,IAAI,EACpE,KAAwC;QAExC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QAEtB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,UAAU,EAAE,CAAC,CAAC;QAEtC,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC5C,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC;gBACrD,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;oBACjB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;wBAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACpB,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;wBAClC,MAAM,MAAM,GAAiC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;wBACnB,IAAI,GAAG,MAAqB,CAAC;oBAC/B,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,OAAO,CACV;oBACE,MAAM;oBACN,UAAU;oBACV,IAAI,EAAE,IAAI,CAAC,CAAC,CAAE,IAAc,CAAC,CAAC,CAAC,SAAS;iBACzC,EACD,MAAM,CACP,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAoC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAEpE,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9B,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACtC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IAG/B,mBAAmB,CACjB,MAA2B;QAI3B,OAAO,SAAS,IAAI,MAAM,CAAC;IAC7B,CAAC;IAED,aAAa,CAAC,MAA8B;QAC1C,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,CAAC,EACZ,MAAM,GAGP,EAAE,EAAE;YACH,IAAI,MAAM,EAAE,CAAC;gBACX,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC;QACF,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,CAAC;YACb,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED,cAAc,CAAC,OAA2B;QACxC,IAAI,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,GAAG;gBACZ,oCAAoC;gBACpC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;aACvB,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,YAAY,CAAwC,CAEnD;QACC,OAAO,IAAI,YAAY,EAAS,CAAC;IACnC,CAAC;CACF;AAED,iCAAiC;AACjC,MAAM,UAAU,oBAAoB,CAClC,MAA2B;IAE3B,OAAO,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAC7C,CAAC","sourcesContent":["import type {\n DocumentNode,\n FormattedExecutionResult,\n GraphQLFormattedError,\n} from \"graphql\";\n\nimport type { ApolloLink } from \"@apollo/client/link\";\nimport type { DeepPartial } from \"@apollo/client/utilities\";\nimport {\n DeepMerger,\n hasDirectives,\n isNonEmptyArray,\n} from \"@apollo/client/utilities/internal\";\n\nimport type { Incremental } from \"../types.js\";\n\nexport declare namespace Defer20220824Handler {\n export type InitialResult<TData = Record<string, unknown>> = {\n data?: TData | null | undefined;\n errors?: ReadonlyArray<GraphQLFormattedError>;\n extensions?: Record<string, unknown>;\n hasNext: boolean;\n };\n\n export type SubsequentResult<TData = Record<string, unknown>> = {\n data?: TData | null | undefined;\n errors?: ReadonlyArray<GraphQLFormattedError>;\n extensions?: Record<string, unknown>;\n hasNext: boolean;\n incremental?: Array<IncrementalDeferPayload<TData>>;\n };\n\n export type Chunk<TData extends Record<string, unknown>> =\n | InitialResult<TData>\n | SubsequentResult<TData>;\n\n export type IncrementalDeferPayload<TData = Record<string, unknown>> = {\n data?: TData | null | undefined;\n errors?: ReadonlyArray<GraphQLFormattedError>;\n extensions?: Record<string, unknown>;\n path?: Incremental.Path;\n label?: string;\n };\n}\n\ndeclare module \"@apollo/client/link\" {\n export interface AdditionalApolloLinkResultTypes {\n Defer20220824Handler: Defer20220824Handler.Chunk<Record<string, unknown>>;\n }\n}\n\nclass DeferRequest<TData extends Record<string, unknown>>\n implements\n Incremental.IncrementalRequest<Defer20220824Handler.Chunk<TData>, TData>\n{\n public hasNext = true;\n\n private errors: Array<GraphQLFormattedError> = [];\n private extensions: Record<string, any> = {};\n private data: any = {};\n\n private mergeIn(\n normalized: FormattedExecutionResult<TData>,\n merger: DeepMerger<any[]>\n ) {\n if (normalized.data !== undefined) {\n this.data = merger.merge(this.data, normalized.data);\n }\n if (normalized.errors) {\n this.errors.push(...normalized.errors);\n }\n Object.assign(this.extensions, normalized.extensions);\n }\n\n handle(\n // we'll get `undefined` here in case of a `no-cache` fetch policy,\n // so we'll continue with the last value this request had accumulated\n cacheData: TData | DeepPartial<TData> | null | undefined = this.data,\n chunk: Defer20220824Handler.Chunk<TData>\n ): FormattedExecutionResult<TData> {\n this.hasNext = chunk.hasNext;\n this.data = cacheData;\n\n this.mergeIn(chunk, new DeepMerger());\n\n if (hasIncrementalChunks(chunk)) {\n const merger = new DeepMerger();\n for (const incremental of chunk.incremental) {\n let { data, path, errors, extensions } = incremental;\n if (data && path) {\n for (let i = path.length - 1; i >= 0; --i) {\n const key = path[i];\n const isNumericKey = !isNaN(+key);\n const parent: Record<string | number, any> = isNumericKey ? [] : {};\n parent[key] = data;\n data = parent as typeof data;\n }\n }\n this.mergeIn(\n {\n errors,\n extensions,\n data: data ? (data as TData) : undefined,\n },\n merger\n );\n }\n }\n\n const result: FormattedExecutionResult<TData> = { data: this.data };\n\n if (isNonEmptyArray(this.errors)) {\n result.errors = this.errors;\n }\n\n if (Object.keys(this.extensions).length > 0) {\n result.extensions = this.extensions;\n }\n\n return result;\n }\n}\n\n/**\n * This handler implements the `@defer` directive as specified in this historical commit:\n * https://github.com/graphql/graphql-spec/tree/48cf7263a71a683fab03d45d309fd42d8d9a6659/spec\n */\nexport class Defer20220824Handler\n implements Incremental.Handler<Defer20220824Handler.Chunk<any>>\n{\n isIncrementalResult(\n result: Record<string, any>\n ): result is\n | Defer20220824Handler.SubsequentResult\n | Defer20220824Handler.InitialResult {\n return \"hasNext\" in result;\n }\n\n extractErrors(result: ApolloLink.Result<any>) {\n const acc: GraphQLFormattedError[] = [];\n const push = ({\n errors,\n }: {\n errors?: ReadonlyArray<GraphQLFormattedError>;\n }) => {\n if (errors) {\n acc.push(...errors);\n }\n };\n if (this.isIncrementalResult(result)) {\n push(result);\n if (hasIncrementalChunks(result)) {\n result.incremental.forEach(push);\n }\n }\n if (acc.length) {\n return acc;\n }\n }\n\n prepareRequest(request: ApolloLink.Request): ApolloLink.Request {\n if (hasDirectives([\"defer\"], request.query)) {\n const context = request.context ?? {};\n const http = (context.http ??= {});\n http.accept = [\n \"multipart/mixed;deferSpec=20220824\",\n ...(http.accept || []),\n ];\n }\n\n return request;\n }\n startRequest<TData extends Record<string, unknown>>(_: {\n query: DocumentNode;\n }) {\n return new DeferRequest<TData>();\n }\n}\n\n// only exported for use in tests\nexport function hasIncrementalChunks(\n result: Record<string, any>\n): result is Required<Defer20220824Handler.SubsequentResult> {\n return isNonEmptyArray(result.incremental);\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ApolloLink } from "@apollo/client/link";
|
|
2
2
|
import type { Incremental } from "../types.js";
|
|
3
3
|
export declare class NotImplementedHandler implements Incremental.Handler<never> {
|
|
4
4
|
isIncrementalResult(_: any): _ is never;
|
|
5
|
-
prepareRequest(request:
|
|
5
|
+
prepareRequest(request: ApolloLink.Request): ApolloLink.Request;
|
|
6
6
|
extractErrors(): void;
|
|
7
7
|
startRequest: any;
|
|
8
8
|
}
|