@apollo/client 4.0.0-alpha.9 → 4.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1012 -0
- package/README.md +80 -31
- package/__cjs/cache/core/cache.cjs +11 -9
- package/__cjs/cache/core/cache.cjs.map +1 -1
- package/__cjs/cache/core/cache.d.cts +11 -8
- package/__cjs/cache/index.cjs +1 -2
- package/__cjs/cache/index.cjs.map +1 -1
- package/__cjs/cache/index.d.cts +1 -1
- package/__cjs/cache/inmemory/entityStore.cjs +12 -11
- package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
- package/__cjs/cache/inmemory/fragmentRegistry.cjs +3 -2
- package/__cjs/cache/inmemory/fragmentRegistry.cjs.map +1 -1
- package/__cjs/cache/inmemory/helpers.cjs +10 -10
- package/__cjs/cache/inmemory/helpers.cjs.map +1 -1
- package/__cjs/cache/inmemory/helpers.d.cts +3 -3
- package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
- package/__cjs/cache/inmemory/inMemoryCache.d.cts +9 -7
- package/__cjs/cache/inmemory/key-extractor.cjs +10 -10
- package/__cjs/cache/inmemory/key-extractor.cjs.map +1 -1
- package/__cjs/cache/inmemory/policies.cjs +14 -13
- package/__cjs/cache/inmemory/policies.cjs.map +1 -1
- package/__cjs/cache/inmemory/policies.d.cts +2 -1
- package/__cjs/cache/inmemory/readFromStore.cjs +17 -16
- package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
- package/__cjs/cache/inmemory/writeToStore.cjs +50 -22
- package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
- package/__cjs/cache/inmemory/writeToStore.d.cts +2 -1
- package/__cjs/core/ApolloClient.cjs +53 -74
- package/__cjs/core/ApolloClient.cjs.map +1 -1
- package/__cjs/core/ApolloClient.d.cts +29 -55
- package/__cjs/core/ObservableQuery.cjs +768 -468
- package/__cjs/core/ObservableQuery.cjs.map +1 -1
- package/__cjs/core/ObservableQuery.d.cts +290 -60
- package/__cjs/core/QueryInfo.cjs +271 -180
- package/__cjs/core/QueryInfo.cjs.map +1 -1
- package/__cjs/core/QueryInfo.d.cts +55 -30
- package/__cjs/core/QueryManager.cjs +509 -587
- package/__cjs/core/QueryManager.cjs.map +1 -1
- package/__cjs/core/QueryManager.d.cts +52 -62
- package/__cjs/core/equalByQuery.cjs +7 -7
- package/__cjs/core/equalByQuery.cjs.map +1 -1
- package/__cjs/core/index.cjs +11 -10
- package/__cjs/core/index.cjs.map +1 -1
- package/__cjs/core/index.d.cts +10 -12
- package/__cjs/core/networkStatus.cjs +7 -1
- package/__cjs/core/networkStatus.cjs.map +1 -1
- package/__cjs/core/networkStatus.d.cts +7 -1
- package/__cjs/core/types.d.cts +137 -25
- package/__cjs/core/watchQueryOptions.d.cts +16 -101
- package/__cjs/dev/loadErrorMessageHandler.cjs +2 -3
- package/__cjs/dev/loadErrorMessageHandler.cjs.map +1 -1
- package/__cjs/dev/setErrorMessageHandler.cjs +2 -3
- package/__cjs/dev/setErrorMessageHandler.cjs.map +1 -1
- package/__cjs/errors/CombinedGraphQLErrors.cjs +28 -13
- package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
- package/__cjs/errors/CombinedGraphQLErrors.d.cts +21 -2
- package/__cjs/errors/CombinedProtocolErrors.cjs +13 -6
- package/__cjs/errors/CombinedProtocolErrors.cjs.map +1 -1
- package/__cjs/errors/CombinedProtocolErrors.d.cts +9 -0
- package/__cjs/errors/LinkError.cjs +24 -0
- package/__cjs/errors/LinkError.cjs.map +1 -0
- package/__cjs/errors/LinkError.d.cts +18 -0
- package/__cjs/errors/LocalStateError.cjs +27 -0
- package/__cjs/errors/LocalStateError.cjs.map +1 -0
- package/__cjs/errors/LocalStateError.d.cts +20 -0
- package/__cjs/errors/ServerError.cjs +9 -4
- package/__cjs/errors/ServerError.cjs.map +1 -1
- package/__cjs/errors/ServerError.d.cts +10 -8
- package/__cjs/errors/ServerParseError.cjs +6 -0
- package/__cjs/errors/ServerParseError.cjs.map +1 -1
- package/__cjs/errors/ServerParseError.d.cts +2 -0
- package/__cjs/errors/UnconventionalError.cjs +6 -0
- package/__cjs/errors/UnconventionalError.cjs.map +1 -1
- package/__cjs/errors/UnconventionalError.d.cts +2 -0
- package/__cjs/errors/index.cjs +12 -12
- package/__cjs/errors/index.cjs.map +1 -1
- package/__cjs/errors/index.d.cts +5 -8
- package/__cjs/errors/isErrorLike.cjs +12 -0
- package/__cjs/errors/isErrorLike.cjs.map +1 -0
- package/__cjs/errors/isErrorLike.d.cts +3 -0
- package/__cjs/errors/utils.cjs +18 -0
- package/__cjs/errors/utils.cjs.map +1 -0
- package/__cjs/errors/utils.d.cts +3 -0
- package/__cjs/incremental/handlers/defer20220824.cjs +102 -0
- package/__cjs/incremental/handlers/defer20220824.cjs.map +1 -0
- package/__cjs/incremental/handlers/defer20220824.d.cts +55 -0
- package/__cjs/incremental/handlers/notImplemented.cjs +19 -0
- package/__cjs/incremental/handlers/notImplemented.cjs.map +1 -0
- package/__cjs/incremental/handlers/notImplemented.d.cts +9 -0
- package/__cjs/incremental/index.cjs +9 -0
- package/__cjs/incremental/index.cjs.map +1 -0
- package/__cjs/incremental/index.d.cts +4 -0
- package/__cjs/incremental/types.cjs +3 -0
- package/__cjs/incremental/types.cjs.map +1 -0
- package/__cjs/incremental/types.d.cts +24 -0
- package/__cjs/invariantErrorCodes.cjs +275 -172
- package/__cjs/link/batch/batchLink.cjs +2 -2
- package/__cjs/link/batch/batchLink.cjs.map +1 -1
- package/__cjs/link/batch/batchLink.d.cts +2 -2
- package/__cjs/link/batch/batching.cjs.map +1 -1
- package/__cjs/link/batch/batching.d.cts +1 -1
- package/__cjs/link/batch-http/batchHttpLink.cjs +21 -67
- package/__cjs/link/batch-http/batchHttpLink.cjs.map +1 -1
- package/__cjs/link/batch-http/batchHttpLink.d.cts +9 -4
- package/__cjs/link/batch-http/index.cjs +2 -1
- package/__cjs/link/batch-http/index.cjs.map +1 -1
- package/__cjs/link/batch-http/index.d.cts +1 -1
- package/__cjs/link/client-awareness/ClientAwarenessLink.cjs +45 -0
- package/__cjs/link/client-awareness/ClientAwarenessLink.cjs.map +1 -0
- package/__cjs/link/client-awareness/ClientAwarenessLink.d.cts +62 -0
- package/__cjs/link/client-awareness/index.cjs +6 -0
- package/__cjs/link/client-awareness/index.cjs.map +1 -0
- package/__cjs/link/client-awareness/index.d.cts +2 -0
- package/__cjs/link/context/index.cjs +37 -26
- package/__cjs/link/context/index.cjs.map +1 -1
- package/__cjs/link/context/index.d.cts +11 -5
- package/__cjs/link/core/ApolloLink.cjs +19 -13
- package/__cjs/link/core/ApolloLink.cjs.map +1 -1
- package/__cjs/link/core/ApolloLink.d.cts +17 -11
- package/__cjs/link/core/types.d.cts +14 -36
- package/__cjs/link/error/index.cjs +69 -66
- package/__cjs/link/error/index.cjs.map +1 -1
- package/__cjs/link/error/index.d.cts +17 -16
- package/__cjs/link/http/BaseHttpLink.cjs +111 -0
- package/__cjs/link/http/BaseHttpLink.cjs.map +1 -0
- package/__cjs/link/http/BaseHttpLink.d.cts +6 -0
- package/__cjs/link/http/HttpLink.cjs +14 -7
- package/__cjs/link/http/HttpLink.cjs.map +1 -1
- package/__cjs/link/http/HttpLink.d.cts +145 -4
- package/__cjs/link/http/checkFetcher.cjs +1 -1
- package/__cjs/link/http/index.cjs +4 -3
- package/__cjs/link/http/index.cjs.map +1 -1
- package/__cjs/link/http/index.d.cts +2 -3
- package/__cjs/link/http/parseAndCheckHttpResponse.cjs +74 -113
- package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
- package/__cjs/link/http/parseAndCheckHttpResponse.d.cts +1 -3
- package/__cjs/link/http/rewriteURIForGET.cjs.map +1 -1
- package/__cjs/link/http/rewriteURIForGET.d.cts +2 -2
- package/__cjs/link/http/selectHttpOptionsAndBody.cjs +7 -6
- package/__cjs/link/http/selectHttpOptionsAndBody.cjs.map +1 -1
- package/__cjs/link/http/selectHttpOptionsAndBody.d.cts +8 -83
- package/__cjs/link/http/selectURI.cjs.map +1 -1
- package/__cjs/link/http/selectURI.d.cts +1 -1
- package/__cjs/link/http/serializeFetchParameter.cjs +1 -1
- package/__cjs/link/index.cjs +16 -0
- package/__cjs/link/index.cjs.map +1 -0
- package/__cjs/link/index.d.cts +8 -0
- package/__cjs/link/persisted-queries/index.cjs +162 -142
- package/__cjs/link/persisted-queries/index.cjs.map +1 -1
- package/__cjs/link/persisted-queries/index.d.cts +21 -21
- package/__cjs/link/remove-typename/index.cjs +2 -1
- package/__cjs/link/remove-typename/index.cjs.map +1 -1
- package/__cjs/link/remove-typename/index.d.cts +1 -1
- package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs +37 -25
- package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs.map +1 -1
- package/__cjs/link/remove-typename/removeTypenameFromVariables.d.cts +9 -10
- package/__cjs/link/retry/delayFunction.cjs.map +1 -1
- package/__cjs/link/retry/delayFunction.d.cts +1 -1
- package/__cjs/link/retry/retryFunction.cjs.map +1 -1
- package/__cjs/link/retry/retryFunction.d.cts +1 -1
- package/__cjs/link/retry/retryLink.cjs +2 -2
- package/__cjs/link/retry/retryLink.cjs.map +1 -1
- package/__cjs/link/retry/retryLink.d.cts +2 -2
- package/__cjs/link/schema/index.cjs +2 -2
- package/__cjs/link/schema/index.cjs.map +1 -1
- package/__cjs/link/schema/index.d.cts +2 -2
- package/__cjs/link/subscriptions/index.cjs +5 -5
- package/__cjs/link/subscriptions/index.cjs.map +1 -1
- package/__cjs/link/subscriptions/index.d.cts +2 -2
- package/__cjs/link/utils/createOperation.cjs +5 -1
- package/__cjs/link/utils/createOperation.cjs.map +1 -1
- package/__cjs/link/utils/createOperation.d.cts +2 -2
- package/__cjs/link/utils/transformOperation.cjs +2 -2
- package/__cjs/link/utils/transformOperation.cjs.map +1 -1
- package/__cjs/link/utils/transformOperation.d.cts +1 -1
- package/__cjs/link/utils/validateOperation.cjs +1 -1
- package/__cjs/link/utils/validateOperation.cjs.map +1 -1
- package/__cjs/link/utils/validateOperation.d.cts +1 -1
- package/__cjs/link/ws/index.cjs +2 -2
- package/__cjs/link/ws/index.cjs.map +1 -1
- package/__cjs/link/ws/index.d.cts +2 -2
- package/__cjs/local-state/LocalState.cjs +527 -0
- package/__cjs/local-state/LocalState.cjs.map +1 -0
- package/__cjs/local-state/LocalState.d.cts +88 -0
- package/__cjs/local-state/index.cjs +6 -0
- package/__cjs/local-state/index.cjs.map +1 -0
- package/__cjs/local-state/index.d.cts +2 -0
- package/__cjs/masking/GraphQLCodegenDataMasking.cjs +3 -0
- package/__cjs/masking/GraphQLCodegenDataMasking.cjs.map +1 -0
- package/__cjs/masking/GraphQLCodegenDataMasking.d.cts +79 -0
- package/__cjs/masking/index.cjs.map +1 -1
- package/__cjs/masking/index.d.cts +1 -0
- package/__cjs/masking/internal/types.d.cts +1 -2
- package/__cjs/masking/maskDefinition.cjs +6 -6
- package/__cjs/masking/maskDefinition.cjs.map +1 -1
- package/__cjs/masking/maskDefinition.d.cts +1 -1
- package/__cjs/masking/maskFragment.cjs +9 -13
- package/__cjs/masking/maskFragment.cjs.map +1 -1
- package/__cjs/masking/maskFragment.d.cts +5 -1
- package/__cjs/masking/maskOperation.cjs +9 -13
- package/__cjs/masking/maskOperation.cjs.map +1 -1
- package/__cjs/masking/maskOperation.d.cts +5 -1
- package/__cjs/masking/types.d.cts +12 -26
- package/__cjs/masking/utils.cjs +32 -7
- package/__cjs/masking/utils.cjs.map +1 -1
- package/__cjs/masking/utils.d.cts +7 -2
- package/__cjs/react/context/ApolloConsumer.cjs +1 -1
- package/__cjs/react/context/ApolloContext.cjs +1 -1
- package/__cjs/react/context/ApolloProvider.cjs +1 -1
- package/__cjs/react/hooks/internal/__use.cjs +6 -6
- package/__cjs/react/hooks/internal/__use.cjs.map +1 -1
- package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs +2 -2
- package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs.map +1 -1
- package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs +28 -0
- package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs.map +1 -0
- package/__cjs/react/hooks/internal/validateSuspenseHookOptions.d.cts +3 -0
- package/__cjs/react/hooks/internal/wrapHook.cjs +36 -34
- package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
- package/__cjs/react/hooks/internal/wrapHook.d.cts +42 -38
- package/__cjs/react/hooks/useApolloClient.cjs +1 -1
- package/__cjs/react/hooks/useBackgroundQuery.cjs +3 -2
- package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useBackgroundQuery.d.cts +59 -28
- package/__cjs/react/hooks/useFragment.cjs +1 -0
- package/__cjs/react/hooks/useFragment.cjs.map +1 -1
- package/__cjs/react/hooks/useFragment.d.cts +2 -1
- package/__cjs/react/hooks/useLazyQuery.cjs +18 -16
- package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useLazyQuery.d.cts +55 -80
- package/__cjs/react/hooks/useLoadableQuery.cjs +23 -4
- package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useLoadableQuery.d.cts +8 -10
- package/__cjs/react/hooks/useMutation.cjs +2 -2
- package/__cjs/react/hooks/useMutation.cjs.map +1 -1
- package/__cjs/react/hooks/useMutation.d.cts +47 -14
- package/__cjs/react/hooks/useQuery.cjs +36 -48
- package/__cjs/react/hooks/useQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useQuery.d.cts +19 -71
- package/__cjs/react/hooks/useQueryRefHandlers.cjs +1 -0
- package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
- package/__cjs/react/hooks/useQueryRefHandlers.d.cts +2 -2
- package/__cjs/react/hooks/useReadQuery.cjs +2 -0
- package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useReadQuery.d.cts +4 -11
- package/__cjs/react/hooks/useSubscription.cjs +13 -18
- package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
- package/__cjs/react/hooks/useSubscription.d.cts +6 -8
- package/__cjs/react/hooks/useSuspenseFragment.cjs +1 -0
- package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
- package/__cjs/react/hooks/useSuspenseFragment.d.cts +1 -2
- package/__cjs/react/hooks/useSuspenseQuery.cjs +8 -28
- package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useSuspenseQuery.d.cts +19 -36
- package/__cjs/react/hooks/useSyncExternalStore.cjs +22 -3
- package/__cjs/react/hooks/useSyncExternalStore.cjs.map +1 -1
- package/__cjs/react/index.cjs +3 -1
- package/__cjs/react/index.cjs.map +1 -1
- package/__cjs/react/index.d.cts +2 -1
- package/__cjs/react/internal/cache/FragmentReference.cjs +8 -5
- package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -1
- package/__cjs/react/internal/cache/FragmentReference.d.cts +2 -2
- package/__cjs/react/internal/cache/QueryReference.cjs +27 -38
- package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
- package/__cjs/react/internal/cache/QueryReference.d.cts +48 -108
- package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
- package/__cjs/react/internal/cache/SuspenseCache.d.cts +3 -3
- package/__cjs/react/internal/index.cjs.map +1 -1
- package/__cjs/react/internal/index.d.cts +2 -2
- package/__cjs/react/internal/types.d.cts +3 -45
- package/__cjs/react/query-preloader/createQueryPreloader.cjs +8 -2
- package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
- package/__cjs/react/query-preloader/createQueryPreloader.d.cts +46 -38
- package/__cjs/react/ssr/prerenderStatic.cjs +9 -2
- package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -1
- package/__cjs/react/ssr/useSSRQuery.cjs +12 -2
- package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -1
- package/__cjs/react/types/deprecated.d.cts +3 -3
- package/__cjs/react/types/types.documentation.d.cts +12 -0
- package/__cjs/testing/core/mocking/mockLink.cjs +21 -22
- package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
- package/__cjs/testing/core/mocking/mockLink.d.cts +31 -24
- package/__cjs/testing/core/mocking/mockSubscriptionLink.cjs +2 -6
- package/__cjs/testing/core/mocking/mockSubscriptionLink.cjs.map +1 -1
- package/__cjs/testing/core/mocking/mockSubscriptionLink.d.cts +9 -8
- package/__cjs/testing/core/types/deprecated.cjs +3 -0
- package/__cjs/testing/core/types/deprecated.cjs.map +1 -0
- package/__cjs/testing/core/types/deprecated.d.cts +10 -0
- package/__cjs/testing/index.cjs +6 -13
- package/__cjs/testing/index.cjs.map +1 -1
- package/__cjs/testing/index.d.cts +3 -2
- package/__cjs/testing/react/MockedProvider.cjs +4 -4
- package/__cjs/testing/react/MockedProvider.cjs.map +1 -1
- package/__cjs/testing/react/MockedProvider.d.cts +5 -6
- package/__cjs/utilities/DeepPartial.cjs.map +1 -0
- package/__cjs/utilities/DeepPartial.d.cts +15 -0
- package/__cjs/utilities/HKT.cjs +3 -0
- package/__cjs/utilities/HKT.cjs.map +1 -0
- package/__cjs/utilities/HKT.d.cts +35 -0
- package/__cjs/utilities/caching/index.cjs +1 -4
- package/__cjs/utilities/caching/index.cjs.map +1 -1
- package/__cjs/utilities/caching/index.d.cts +0 -1
- package/__cjs/utilities/caching/sizes.cjs +1 -1
- package/__cjs/utilities/caching/sizes.cjs.map +1 -1
- package/__cjs/utilities/caching/sizes.d.cts +6 -0
- package/__cjs/utilities/common/stripTypename.cjs +8 -2
- package/__cjs/utilities/common/stripTypename.cjs.map +1 -1
- package/__cjs/utilities/common/stripTypename.d.cts +7 -1
- package/__cjs/utilities/graphql/DocumentTransform.cjs +13 -9
- package/__cjs/utilities/graphql/DocumentTransform.cjs.map +1 -1
- package/__cjs/utilities/graphql/DocumentTransform.d.cts +10 -6
- package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs +9 -0
- package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs.map +1 -0
- package/__cjs/utilities/graphql/isFormattedExecutionResult.d.cts +3 -0
- package/__cjs/utilities/graphql/operations.cjs +23 -2
- package/__cjs/utilities/graphql/operations.cjs.map +1 -1
- package/__cjs/utilities/graphql/operations.d.cts +21 -0
- package/__cjs/utilities/graphql/print.cjs +9 -1
- package/__cjs/utilities/graphql/print.cjs.map +1 -1
- package/__cjs/utilities/graphql/print.d.cts +8 -0
- package/__cjs/utilities/graphql/storeUtils.cjs +5 -206
- package/__cjs/utilities/graphql/storeUtils.cjs.map +1 -1
- package/__cjs/utilities/graphql/storeUtils.d.cts +14 -22
- package/__cjs/utilities/graphql/transform.cjs +8 -454
- package/__cjs/utilities/graphql/transform.cjs.map +1 -1
- package/__cjs/utilities/graphql/transform.d.cts +6 -24
- package/__cjs/utilities/index.cjs +4 -90
- package/__cjs/utilities/index.cjs.map +1 -1
- package/__cjs/utilities/index.d.cts +8 -38
- package/__cjs/utilities/internal/DeepMerger.cjs +67 -0
- package/__cjs/utilities/internal/DeepMerger.cjs.map +1 -0
- package/__cjs/utilities/internal/DeepMerger.d.cts +17 -0
- package/__cjs/utilities/internal/argumentsObjectFromField.cjs +18 -0
- package/__cjs/utilities/internal/argumentsObjectFromField.cjs.map +1 -0
- package/__cjs/utilities/internal/argumentsObjectFromField.d.cts +8 -0
- package/__cjs/utilities/internal/caches.cjs +76 -0
- package/__cjs/utilities/internal/caches.cjs.map +1 -0
- package/__cjs/utilities/internal/caches.d.cts +42 -0
- package/__cjs/utilities/internal/canUseDOM.cjs +11 -0
- package/__cjs/utilities/internal/canUseDOM.cjs.map +1 -0
- package/__cjs/utilities/internal/canUseDOM.d.cts +7 -0
- package/__cjs/utilities/internal/checkDocument.cjs +69 -0
- package/__cjs/utilities/internal/checkDocument.cjs.map +1 -0
- package/__cjs/utilities/internal/checkDocument.d.cts +10 -0
- package/__cjs/utilities/internal/cloneDeep.cjs +45 -0
- package/__cjs/utilities/internal/cloneDeep.cjs.map +1 -0
- package/__cjs/utilities/internal/cloneDeep.d.cts +9 -0
- package/__cjs/utilities/internal/compact.cjs +26 -0
- package/__cjs/utilities/internal/compact.cjs.map +1 -0
- package/__cjs/utilities/internal/compact.d.cts +11 -0
- package/__cjs/utilities/internal/createFragmentMap.cjs +19 -0
- package/__cjs/utilities/internal/createFragmentMap.cjs.map +1 -0
- package/__cjs/utilities/internal/createFragmentMap.d.cts +12 -0
- package/__cjs/utilities/internal/createFulfilledPromise.cjs +15 -0
- package/__cjs/utilities/internal/createFulfilledPromise.cjs.map +1 -0
- package/__cjs/utilities/internal/createFulfilledPromise.d.cts +8 -0
- package/__cjs/utilities/internal/createRejectedPromise.cjs +17 -0
- package/__cjs/utilities/internal/createRejectedPromise.cjs.map +1 -0
- package/__cjs/utilities/internal/createRejectedPromise.d.cts +8 -0
- package/__cjs/utilities/internal/dealias.cjs +21 -0
- package/__cjs/utilities/internal/dealias.cjs.map +1 -0
- package/__cjs/utilities/internal/dealias.d.cts +5 -0
- package/__cjs/utilities/internal/decoratePromise.cjs +33 -0
- package/__cjs/utilities/internal/decoratePromise.cjs.map +1 -0
- package/__cjs/utilities/internal/decoratePromise.d.cts +8 -0
- package/__cjs/utilities/internal/deepFreeze.cjs +39 -0
- package/__cjs/utilities/internal/deepFreeze.cjs.map +1 -0
- package/__cjs/utilities/internal/deepFreeze.d.cts +7 -0
- package/__cjs/utilities/internal/filterMap.cjs +31 -0
- package/__cjs/utilities/internal/filterMap.cjs.map +1 -0
- package/__cjs/utilities/internal/filterMap.d.cts +4 -0
- package/__cjs/utilities/internal/getDefaultValues.cjs +22 -0
- package/__cjs/utilities/internal/getDefaultValues.cjs.map +1 -0
- package/__cjs/utilities/internal/getDefaultValues.d.cts +8 -0
- package/__cjs/utilities/internal/getFragmentDefinition.cjs +17 -0
- package/__cjs/utilities/internal/getFragmentDefinition.cjs.map +1 -0
- package/__cjs/utilities/internal/getFragmentDefinition.d.cts +8 -0
- package/__cjs/utilities/internal/getFragmentDefinitions.cjs +12 -0
- package/__cjs/utilities/internal/getFragmentDefinitions.cjs.map +1 -0
- package/__cjs/utilities/internal/getFragmentDefinitions.d.cts +8 -0
- package/__cjs/utilities/internal/getFragmentFromSelection.cjs +27 -0
- package/__cjs/utilities/internal/getFragmentFromSelection.cjs.map +1 -0
- package/__cjs/utilities/internal/getFragmentFromSelection.d.cts +10 -0
- package/__cjs/utilities/internal/getFragmentQueryDocument.cjs +86 -0
- package/__cjs/utilities/internal/getFragmentQueryDocument.cjs.map +1 -0
- package/__cjs/utilities/internal/getFragmentQueryDocument.d.cts +29 -0
- package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs +12 -0
- package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs.map +1 -0
- package/__cjs/utilities/internal/getGraphQLErrorsFromResult.d.cts +10 -0
- package/__cjs/utilities/internal/getMainDefinition.cjs +38 -0
- package/__cjs/utilities/internal/getMainDefinition.cjs.map +1 -0
- package/__cjs/utilities/internal/getMainDefinition.d.cts +12 -0
- package/__cjs/utilities/internal/getMemoryInternals.cjs +16 -9
- package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
- package/__cjs/utilities/internal/getMemoryInternals.d.cts +15 -10
- package/__cjs/utilities/internal/getOperationDefinition.cjs +14 -0
- package/__cjs/utilities/internal/getOperationDefinition.cjs.map +1 -0
- package/__cjs/utilities/internal/getOperationDefinition.d.cts +8 -0
- package/__cjs/utilities/internal/getOperationName.cjs +12 -0
- package/__cjs/utilities/internal/getOperationName.cjs.map +1 -0
- package/__cjs/utilities/internal/getOperationName.d.cts +8 -0
- package/__cjs/utilities/internal/getQueryDefinition.cjs +16 -0
- package/__cjs/utilities/internal/getQueryDefinition.cjs.map +1 -0
- package/__cjs/utilities/internal/getQueryDefinition.d.cts +8 -0
- package/__cjs/utilities/internal/getStoreKeyName.cjs +73 -0
- package/__cjs/utilities/internal/getStoreKeyName.cjs.map +1 -0
- package/__cjs/utilities/internal/getStoreKeyName.d.cts +16 -0
- package/__cjs/utilities/internal/globals/global.cjs.map +1 -0
- package/__cjs/utilities/internal/globals/index.cjs.map +1 -0
- package/__cjs/utilities/internal/globals/maybe.cjs.map +1 -0
- package/__cjs/utilities/internal/graphQLResultHasError.cjs +12 -0
- package/__cjs/utilities/internal/graphQLResultHasError.cjs.map +1 -0
- package/__cjs/utilities/internal/graphQLResultHasError.d.cts +8 -0
- package/__cjs/utilities/internal/hasDirectives.cjs +24 -0
- package/__cjs/utilities/internal/hasDirectives.cjs.map +1 -0
- package/__cjs/utilities/internal/hasDirectives.d.cts +8 -0
- package/__cjs/utilities/internal/hasForcedResolvers.cjs +23 -0
- package/__cjs/utilities/internal/hasForcedResolvers.cjs.map +1 -0
- package/__cjs/utilities/internal/hasForcedResolvers.d.cts +3 -0
- package/__cjs/utilities/internal/index.cjs +97 -5
- package/__cjs/utilities/internal/index.cjs.map +1 -1
- package/__cjs/utilities/internal/index.d.cts +62 -2
- package/__cjs/utilities/internal/isArray.cjs +12 -0
- package/__cjs/utilities/internal/isArray.cjs.map +1 -0
- package/__cjs/utilities/internal/isArray.d.cts +9 -0
- package/__cjs/utilities/internal/isDocumentNode.cjs +15 -0
- package/__cjs/utilities/internal/isDocumentNode.cjs.map +1 -0
- package/__cjs/utilities/internal/isDocumentNode.d.cts +8 -0
- package/__cjs/utilities/internal/isField.cjs +12 -0
- package/__cjs/utilities/internal/isField.cjs.map +1 -0
- package/__cjs/utilities/internal/isField.d.cts +8 -0
- package/__cjs/utilities/internal/isNonEmptyArray.cjs +12 -0
- package/__cjs/utilities/internal/isNonEmptyArray.cjs.map +1 -0
- package/__cjs/utilities/internal/isNonEmptyArray.d.cts +7 -0
- package/__cjs/utilities/internal/isNonNullObject.cjs +12 -0
- package/__cjs/utilities/internal/isNonNullObject.cjs.map +1 -0
- package/__cjs/utilities/internal/isNonNullObject.d.cts +7 -0
- package/__cjs/utilities/internal/isPlainObject.cjs +15 -0
- package/__cjs/utilities/internal/isPlainObject.cjs.map +1 -0
- package/__cjs/utilities/internal/isPlainObject.d.cts +7 -0
- package/__cjs/utilities/internal/makeReference.cjs +12 -0
- package/__cjs/utilities/internal/makeReference.cjs.map +1 -0
- package/__cjs/utilities/internal/makeReference.d.cts +8 -0
- package/__cjs/utilities/internal/makeUniqueId.cjs +18 -0
- package/__cjs/utilities/internal/makeUniqueId.cjs.map +1 -0
- package/__cjs/utilities/internal/makeUniqueId.d.cts +10 -0
- package/__cjs/utilities/internal/maybeDeepFreeze.cjs +17 -0
- package/__cjs/utilities/internal/maybeDeepFreeze.cjs.map +1 -0
- package/__cjs/utilities/internal/maybeDeepFreeze.d.cts +7 -0
- package/__cjs/utilities/internal/mergeDeep.cjs +26 -0
- package/__cjs/utilities/internal/mergeDeep.cjs.map +1 -0
- package/__cjs/utilities/internal/mergeDeep.d.cts +8 -0
- package/__cjs/utilities/internal/mergeDeepArray.cjs +27 -0
- package/__cjs/utilities/internal/mergeDeepArray.cjs.map +1 -0
- package/__cjs/utilities/internal/mergeDeepArray.d.cts +7 -0
- package/__cjs/utilities/internal/mergeOptions.cjs +18 -0
- package/__cjs/utilities/internal/mergeOptions.cjs.map +1 -0
- package/__cjs/utilities/internal/mergeOptions.d.cts +10 -0
- package/__cjs/utilities/internal/omitDeep.cjs +48 -0
- package/__cjs/utilities/internal/omitDeep.cjs.map +1 -0
- package/__cjs/utilities/internal/omitDeep.d.cts +8 -0
- package/__cjs/utilities/internal/preventUnhandledRejection.cjs.map +1 -0
- package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs +306 -0
- package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs.map +1 -0
- package/__cjs/utilities/internal/removeDirectivesFromDocument.d.cts +14 -0
- package/__cjs/utilities/internal/resultKeyNameFromField.cjs +12 -0
- package/__cjs/utilities/internal/resultKeyNameFromField.cjs.map +1 -0
- package/__cjs/utilities/internal/resultKeyNameFromField.d.cts +8 -0
- package/__cjs/utilities/internal/shouldInclude.cjs +50 -0
- package/__cjs/utilities/internal/shouldInclude.cjs.map +1 -0
- package/__cjs/utilities/internal/shouldInclude.d.cts +8 -0
- package/__cjs/utilities/internal/storeKeyNameFromField.cjs +29 -0
- package/__cjs/utilities/internal/storeKeyNameFromField.cjs.map +1 -0
- package/__cjs/utilities/internal/storeKeyNameFromField.d.cts +8 -0
- package/__cjs/utilities/internal/stringifyForDisplay.cjs +18 -0
- package/__cjs/utilities/internal/stringifyForDisplay.cjs.map +1 -0
- package/__cjs/utilities/internal/stringifyForDisplay.d.cts +7 -0
- package/__cjs/utilities/internal/toQueryResult.cjs +5 -0
- package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -1
- package/__cjs/utilities/internal/toQueryResult.d.cts +5 -0
- package/__cjs/utilities/internal/types/ApplyHKT.cjs +3 -0
- package/__cjs/utilities/internal/types/ApplyHKT.cjs.map +1 -0
- package/__cjs/utilities/internal/types/ApplyHKT.d.cts +13 -0
- package/__cjs/utilities/internal/types/ApplyHKTImplementationWithDefault.cjs +3 -0
- package/__cjs/utilities/internal/types/ApplyHKTImplementationWithDefault.cjs.map +1 -0
- package/__cjs/utilities/internal/types/ApplyHKTImplementationWithDefault.d.cts +11 -0
- package/__cjs/utilities/internal/types/DecoratedPromise.cjs +3 -0
- package/__cjs/utilities/internal/types/DecoratedPromise.cjs.map +1 -0
- package/__cjs/utilities/internal/types/DecoratedPromise.d.cts +10 -0
- package/__cjs/utilities/internal/types/DeepOmit.d.cts +15 -0
- package/__cjs/utilities/internal/types/FragmentMap.cjs +3 -0
- package/__cjs/utilities/internal/types/FragmentMap.cjs.map +1 -0
- package/__cjs/utilities/internal/types/FragmentMap.d.cts +12 -0
- package/__cjs/utilities/internal/types/FragmentMapFunction.cjs +3 -0
- package/__cjs/utilities/internal/types/FragmentMapFunction.cjs.map +1 -0
- package/__cjs/utilities/internal/types/FragmentMapFunction.d.cts +8 -0
- package/__cjs/utilities/internal/types/FulfilledPromise.cjs +3 -0
- package/__cjs/utilities/internal/types/FulfilledPromise.cjs.map +1 -0
- package/__cjs/utilities/internal/types/FulfilledPromise.d.cts +10 -0
- package/__cjs/utilities/internal/types/IsAny.cjs +3 -0
- package/__cjs/utilities/internal/types/IsAny.cjs.map +1 -0
- package/__cjs/utilities/internal/types/IsAny.d.cts +7 -0
- package/__cjs/utilities/internal/types/NoInfer.d.cts +29 -0
- package/__cjs/utilities/internal/types/PendingPromise.cjs +3 -0
- package/__cjs/utilities/internal/types/PendingPromise.cjs.map +1 -0
- package/__cjs/utilities/internal/types/PendingPromise.d.cts +9 -0
- package/__cjs/utilities/internal/types/Prettify.d.cts +9 -0
- package/__cjs/utilities/internal/types/Primitive.d.cts +7 -0
- package/__cjs/utilities/internal/types/RejectedPromise.cjs +3 -0
- package/__cjs/utilities/internal/types/RejectedPromise.cjs.map +1 -0
- package/__cjs/utilities/internal/types/RejectedPromise.d.cts +10 -0
- package/__cjs/utilities/internal/types/RemoveIndexSignature.d.cts +9 -0
- package/__cjs/utilities/internal/types/TupleToIntersection.cjs +3 -0
- package/__cjs/utilities/internal/types/TupleToIntersection.cjs.map +1 -0
- package/__cjs/utilities/internal/types/TupleToIntersection.d.cts +2 -0
- package/__cjs/utilities/internal/types/VariablesOption.cjs +3 -0
- package/__cjs/utilities/internal/types/VariablesOption.cjs.map +1 -0
- package/__cjs/utilities/internal/types/VariablesOption.d.cts +30 -0
- package/__cjs/utilities/internal/valueToObjectRepresentation.cjs +44 -0
- package/__cjs/utilities/internal/valueToObjectRepresentation.cjs.map +1 -0
- package/__cjs/utilities/internal/valueToObjectRepresentation.d.cts +8 -0
- package/__cjs/utilities/invariant/index.cjs +3 -2
- package/__cjs/utilities/invariant/index.cjs.map +1 -1
- package/__cjs/utilities/policies/pagination.cjs +26 -9
- package/__cjs/utilities/policies/pagination.cjs.map +1 -1
- package/__cjs/utilities/policies/pagination.d.cts +23 -0
- package/__cjs/utilities/shared/canonicalStringify.cjs +91 -0
- package/__cjs/utilities/shared/canonicalStringify.cjs.map +1 -0
- package/__cjs/utilities/subscriptions/relay/index.cjs +4 -4
- package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
- package/__cjs/version.cjs +3 -2
- package/__cjs/version.cjs.map +1 -1
- package/__cjs/version.d.cts +1 -0
- package/cache/core/cache.d.ts +11 -8
- package/cache/core/cache.js +11 -9
- package/cache/core/cache.js.map +1 -1
- package/cache/index.d.ts +1 -1
- package/cache/index.js +1 -1
- package/cache/index.js.map +1 -1
- package/cache/inmemory/entityStore.js +5 -4
- package/cache/inmemory/entityStore.js.map +1 -1
- package/cache/inmemory/fragmentRegistry.js +2 -1
- package/cache/inmemory/fragmentRegistry.js.map +1 -1
- package/cache/inmemory/helpers.d.ts +3 -3
- package/cache/inmemory/helpers.js +2 -2
- package/cache/inmemory/helpers.js.map +1 -1
- package/cache/inmemory/inMemoryCache.d.ts +9 -7
- package/cache/inmemory/inMemoryCache.js.map +1 -1
- package/cache/inmemory/key-extractor.js +3 -3
- package/cache/inmemory/key-extractor.js.map +1 -1
- package/cache/inmemory/policies.d.ts +2 -1
- package/cache/inmemory/policies.js +7 -6
- package/cache/inmemory/policies.js.map +1 -1
- package/cache/inmemory/readFromStore.js +5 -4
- package/cache/inmemory/readFromStore.js.map +1 -1
- package/cache/inmemory/writeToStore.d.ts +2 -1
- package/cache/inmemory/writeToStore.js +34 -6
- package/cache/inmemory/writeToStore.js.map +1 -1
- package/core/ApolloClient.d.ts +29 -55
- package/core/ApolloClient.js +52 -77
- package/core/ApolloClient.js.map +1 -1
- package/core/ObservableQuery.d.ts +290 -60
- package/core/ObservableQuery.js +766 -466
- package/core/ObservableQuery.js.map +1 -1
- package/core/QueryInfo.d.ts +55 -30
- package/core/QueryInfo.js +267 -178
- package/core/QueryInfo.js.map +1 -1
- package/core/QueryManager.d.ts +52 -62
- package/core/QueryManager.js +480 -573
- package/core/QueryManager.js.map +1 -1
- package/core/equalByQuery.js +1 -1
- package/core/equalByQuery.js.map +1 -1
- package/core/index.d.ts +10 -12
- package/core/index.js +5 -5
- package/core/index.js.map +1 -1
- package/core/networkStatus.d.ts +7 -1
- package/core/networkStatus.js +7 -1
- package/core/networkStatus.js.map +1 -1
- package/core/types.d.ts +137 -25
- package/core/watchQueryOptions.d.ts +16 -101
- package/dev/loadErrorMessageHandler.js +1 -1
- package/dev/loadErrorMessageHandler.js.map +1 -1
- package/dev/setErrorMessageHandler.js +1 -1
- package/dev/setErrorMessageHandler.js.map +1 -1
- package/errors/CombinedGraphQLErrors.d.ts +21 -2
- package/errors/CombinedGraphQLErrors.js +28 -13
- package/errors/CombinedGraphQLErrors.js.map +1 -1
- package/errors/CombinedProtocolErrors.d.ts +9 -0
- package/errors/CombinedProtocolErrors.js +13 -6
- package/errors/CombinedProtocolErrors.js.map +1 -1
- package/errors/LinkError.d.ts +18 -0
- package/errors/LinkError.js +20 -0
- package/errors/LinkError.js.map +1 -0
- package/errors/LocalStateError.d.ts +20 -0
- package/errors/LocalStateError.js +23 -0
- package/errors/LocalStateError.js.map +1 -0
- package/errors/ServerError.d.ts +10 -8
- package/errors/ServerError.js +9 -4
- package/errors/ServerError.js.map +1 -1
- package/errors/ServerParseError.d.ts +2 -0
- package/errors/ServerParseError.js +6 -0
- package/errors/ServerParseError.js.map +1 -1
- package/errors/UnconventionalError.d.ts +2 -0
- package/errors/UnconventionalError.js +6 -0
- package/errors/UnconventionalError.js.map +1 -1
- package/errors/index.d.ts +5 -8
- package/errors/index.js +6 -10
- package/errors/index.js.map +1 -1
- package/errors/isErrorLike.d.ts +3 -0
- package/errors/isErrorLike.js +9 -0
- package/errors/isErrorLike.js.map +1 -0
- package/errors/utils.d.ts +3 -0
- package/errors/utils.js +14 -0
- package/errors/utils.js.map +1 -0
- package/incremental/handlers/defer20220824.d.ts +55 -0
- package/incremental/handlers/defer20220824.js +97 -0
- package/incremental/handlers/defer20220824.js.map +1 -0
- package/incremental/handlers/notImplemented.d.ts +9 -0
- package/incremental/handlers/notImplemented.js +15 -0
- package/incremental/handlers/notImplemented.js.map +1 -0
- package/incremental/index.d.ts +4 -0
- package/incremental/index.js +3 -0
- package/incremental/index.js.map +1 -0
- package/incremental/types.d.ts +24 -0
- package/incremental/types.js +2 -0
- package/incremental/types.js.map +1 -0
- package/invariantErrorCodes.js +276 -176
- package/legacyEntryPoints/incremental/incremental.cjs +1 -0
- package/legacyEntryPoints/incremental/incremental.d.cts +1 -0
- package/legacyEntryPoints/incremental/index.d.ts +1 -0
- package/legacyEntryPoints/incremental/index.js +1 -0
- package/legacyEntryPoints/link/client-awareness/client-awareness.cjs +1 -0
- package/legacyEntryPoints/link/client-awareness/client-awareness.d.cts +1 -0
- package/legacyEntryPoints/link/client-awareness/index.d.ts +1 -0
- package/legacyEntryPoints/link/client-awareness/index.js +1 -0
- package/legacyEntryPoints/link/index.d.ts +1 -0
- package/legacyEntryPoints/link/index.js +1 -0
- package/legacyEntryPoints/link/link.cjs +1 -0
- package/legacyEntryPoints/link/link.d.cts +1 -0
- package/legacyEntryPoints/local-state/index.d.ts +1 -0
- package/legacyEntryPoints/local-state/index.js +1 -0
- package/legacyEntryPoints/local-state/local-state.cjs +1 -0
- package/legacyEntryPoints/local-state/local-state.d.cts +1 -0
- package/legacyEntryPoints/utilities/internal/globals/globals.cjs +1 -0
- package/legacyEntryPoints/utilities/internal/globals/globals.d.cts +1 -0
- package/legacyEntryPoints/utilities/internal/globals/index.d.ts +1 -0
- package/legacyEntryPoints/utilities/internal/globals/index.js +1 -0
- package/link/batch/batchLink.d.ts +2 -2
- package/link/batch/batchLink.js +1 -1
- package/link/batch/batchLink.js.map +1 -1
- package/link/batch/batching.d.ts +1 -1
- package/link/batch/batching.js.map +1 -1
- package/link/batch-http/batchHttpLink.d.ts +9 -4
- package/link/batch-http/batchHttpLink.js +15 -62
- package/link/batch-http/batchHttpLink.js.map +1 -1
- package/link/batch-http/index.d.ts +1 -1
- package/link/batch-http/index.js +1 -1
- package/link/batch-http/index.js.map +1 -1
- package/link/client-awareness/ClientAwarenessLink.d.ts +62 -0
- package/link/client-awareness/ClientAwarenessLink.js +41 -0
- package/link/client-awareness/ClientAwarenessLink.js.map +1 -0
- package/link/client-awareness/index.d.ts +2 -0
- package/link/client-awareness/index.js +2 -0
- package/link/client-awareness/index.js.map +1 -0
- package/link/context/index.d.ts +11 -5
- package/link/context/index.js +35 -26
- package/link/context/index.js.map +1 -1
- package/link/core/ApolloLink.d.ts +17 -11
- package/link/core/ApolloLink.js +19 -13
- package/link/core/ApolloLink.js.map +1 -1
- package/link/core/types.d.ts +14 -36
- package/link/error/index.d.ts +17 -16
- package/link/error/index.js +69 -66
- package/link/error/index.js.map +1 -1
- package/link/http/BaseHttpLink.d.ts +6 -0
- package/link/http/BaseHttpLink.js +107 -0
- package/link/http/BaseHttpLink.js.map +1 -0
- package/link/http/HttpLink.d.ts +145 -4
- package/link/http/HttpLink.js +11 -5
- package/link/http/HttpLink.js.map +1 -1
- package/link/http/checkFetcher.js +1 -1
- package/link/http/index.d.ts +2 -3
- package/link/http/index.js +2 -2
- package/link/http/index.js.map +1 -1
- package/link/http/parseAndCheckHttpResponse.d.ts +1 -3
- package/link/http/parseAndCheckHttpResponse.js +74 -112
- package/link/http/parseAndCheckHttpResponse.js.map +1 -1
- package/link/http/rewriteURIForGET.d.ts +2 -2
- package/link/http/rewriteURIForGET.js.map +1 -1
- package/link/http/selectHttpOptionsAndBody.d.ts +8 -83
- package/link/http/selectHttpOptionsAndBody.js +7 -6
- package/link/http/selectHttpOptionsAndBody.js.map +1 -1
- package/link/http/selectURI.d.ts +1 -1
- package/link/http/selectURI.js.map +1 -1
- package/link/http/serializeFetchParameter.js +1 -1
- package/link/index.d.ts +8 -0
- package/link/index.js +7 -0
- package/link/index.js.map +1 -0
- package/link/persisted-queries/index.d.ts +21 -21
- package/link/persisted-queries/index.js +159 -140
- package/link/persisted-queries/index.js.map +1 -1
- package/link/remove-typename/index.d.ts +1 -1
- package/link/remove-typename/index.js +1 -1
- package/link/remove-typename/index.js.map +1 -1
- package/link/remove-typename/removeTypenameFromVariables.d.ts +9 -10
- package/link/remove-typename/removeTypenameFromVariables.js +35 -24
- package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
- package/link/retry/delayFunction.d.ts +1 -1
- package/link/retry/delayFunction.js.map +1 -1
- package/link/retry/retryFunction.d.ts +1 -1
- package/link/retry/retryFunction.js.map +1 -1
- package/link/retry/retryLink.d.ts +2 -2
- package/link/retry/retryLink.js +1 -1
- package/link/retry/retryLink.js.map +1 -1
- package/link/schema/index.d.ts +2 -2
- package/link/schema/index.js +1 -1
- package/link/schema/index.js.map +1 -1
- package/link/subscriptions/index.d.ts +2 -2
- package/link/subscriptions/index.js +2 -2
- package/link/subscriptions/index.js.map +1 -1
- package/link/utils/createOperation.d.ts +2 -2
- package/link/utils/createOperation.js +5 -1
- package/link/utils/createOperation.js.map +1 -1
- package/link/utils/transformOperation.d.ts +1 -1
- package/link/utils/transformOperation.js +2 -2
- package/link/utils/transformOperation.js.map +1 -1
- package/link/utils/validateOperation.d.ts +1 -1
- package/link/utils/validateOperation.js +1 -1
- package/link/utils/validateOperation.js.map +1 -1
- package/link/ws/index.d.ts +2 -2
- package/link/ws/index.js +1 -1
- package/link/ws/index.js.map +1 -1
- package/local-state/LocalState.d.ts +88 -0
- package/local-state/LocalState.js +519 -0
- package/local-state/LocalState.js.map +1 -0
- package/local-state/index.d.ts +2 -0
- package/local-state/index.js +2 -0
- package/local-state/index.js.map +1 -0
- package/masking/GraphQLCodegenDataMasking.d.ts +79 -0
- package/masking/GraphQLCodegenDataMasking.js +2 -0
- package/masking/GraphQLCodegenDataMasking.js.map +1 -0
- package/masking/index.d.ts +1 -0
- package/masking/index.js.map +1 -1
- package/masking/internal/types.d.ts +1 -2
- package/masking/maskDefinition.d.ts +1 -1
- package/masking/maskDefinition.js +4 -4
- package/masking/maskDefinition.js.map +1 -1
- package/masking/maskFragment.d.ts +5 -1
- package/masking/maskFragment.js +8 -12
- package/masking/maskFragment.js.map +1 -1
- package/masking/maskOperation.d.ts +5 -1
- package/masking/maskOperation.js +7 -11
- package/masking/maskOperation.js.map +1 -1
- package/masking/types.d.ts +12 -26
- package/masking/utils.d.ts +7 -2
- package/masking/utils.js +31 -7
- package/masking/utils.js.map +1 -1
- package/package.json +38 -185
- package/react/context/ApolloConsumer.js +1 -1
- package/react/context/ApolloContext.js +1 -1
- package/react/context/ApolloProvider.js +1 -1
- package/react/hooks/internal/__use.js +6 -6
- package/react/hooks/internal/__use.js.map +1 -1
- package/react/hooks/internal/useIsomorphicLayoutEffect.js +1 -1
- package/react/hooks/internal/useIsomorphicLayoutEffect.js.map +1 -1
- package/react/hooks/internal/validateSuspenseHookOptions.d.ts +3 -0
- package/react/hooks/internal/validateSuspenseHookOptions.js +22 -0
- package/react/hooks/internal/validateSuspenseHookOptions.js.map +1 -0
- package/react/hooks/internal/wrapHook.d.ts +42 -38
- package/react/hooks/internal/wrapHook.js +36 -34
- package/react/hooks/internal/wrapHook.js.map +1 -1
- package/react/hooks/useApolloClient.js +15 -2
- package/react/hooks/useApolloClient.js.map +1 -1
- package/react/hooks/useBackgroundQuery.d.ts +59 -28
- package/react/hooks/useBackgroundQuery.js +9 -8
- package/react/hooks/useBackgroundQuery.js.map +1 -1
- package/react/hooks/useFragment.d.ts +2 -1
- package/react/hooks/useFragment.js +12 -11
- package/react/hooks/useFragment.js.map +1 -1
- package/react/hooks/useLazyQuery.d.ts +55 -80
- package/react/hooks/useLazyQuery.js +30 -28
- package/react/hooks/useLazyQuery.js.map +1 -1
- package/react/hooks/useLoadableQuery.d.ts +8 -10
- package/react/hooks/useLoadableQuery.js +232 -53
- package/react/hooks/useLoadableQuery.js.map +1 -1
- package/react/hooks/useMutation.d.ts +47 -14
- package/react/hooks/useMutation.js +192 -82
- package/react/hooks/useMutation.js.map +1 -1
- package/react/hooks/useQuery.d.ts +19 -71
- package/react/hooks/useQuery.js +253 -94
- package/react/hooks/useQuery.js.map +1 -1
- package/react/hooks/useQueryRefHandlers.d.ts +2 -2
- package/react/hooks/useQueryRefHandlers.js +64 -23
- package/react/hooks/useQueryRefHandlers.js.map +1 -1
- package/react/hooks/useReadQuery.d.ts +4 -11
- package/react/hooks/useReadQuery.js +4 -2
- package/react/hooks/useReadQuery.js.map +1 -1
- package/react/hooks/useSubscription.d.ts +6 -8
- package/react/hooks/useSubscription.js +16 -21
- package/react/hooks/useSubscription.js.map +1 -1
- package/react/hooks/useSuspenseFragment.d.ts +1 -2
- package/react/hooks/useSuspenseFragment.js +1 -0
- package/react/hooks/useSuspenseFragment.js.map +1 -1
- package/react/hooks/useSuspenseQuery.d.ts +19 -36
- package/react/hooks/useSuspenseQuery.js +63 -54
- package/react/hooks/useSuspenseQuery.js.map +1 -1
- package/react/hooks/useSyncExternalStore.js +21 -2
- package/react/hooks/useSyncExternalStore.js.map +1 -1
- package/react/index.d.ts +2 -1
- package/react/index.js +1 -0
- package/react/index.js.map +1 -1
- package/react/internal/cache/FragmentReference.d.ts +2 -2
- package/react/internal/cache/FragmentReference.js +6 -3
- package/react/internal/cache/FragmentReference.js.map +1 -1
- package/react/internal/cache/QueryReference.d.ts +48 -108
- package/react/internal/cache/QueryReference.js +24 -35
- package/react/internal/cache/QueryReference.js.map +1 -1
- package/react/internal/cache/SuspenseCache.d.ts +3 -3
- package/react/internal/cache/SuspenseCache.js.map +1 -1
- package/react/internal/index.d.ts +2 -2
- package/react/internal/index.js.map +1 -1
- package/react/internal/types.d.ts +3 -45
- package/react/query-preloader/createQueryPreloader.d.ts +46 -38
- package/react/query-preloader/createQueryPreloader.js +9 -3
- package/react/query-preloader/createQueryPreloader.js.map +1 -1
- package/react/ssr/prerenderStatic.js +9 -2
- package/react/ssr/prerenderStatic.js.map +1 -1
- package/react/ssr/useSSRQuery.js +12 -2
- package/react/ssr/useSSRQuery.js.map +1 -1
- package/react/types/deprecated.d.ts +3 -3
- package/react/types/types.documentation.d.ts +12 -0
- package/testing/core/mocking/mockLink.d.ts +31 -24
- package/testing/core/mocking/mockLink.js +15 -15
- package/testing/core/mocking/mockLink.js.map +1 -1
- package/testing/core/mocking/mockSubscriptionLink.d.ts +9 -8
- package/testing/core/mocking/mockSubscriptionLink.js +1 -4
- package/testing/core/mocking/mockSubscriptionLink.js.map +1 -1
- package/testing/core/types/deprecated.d.ts +10 -0
- package/testing/core/types/deprecated.js +2 -0
- package/testing/core/types/deprecated.js.map +1 -0
- package/testing/index.d.ts +3 -2
- package/testing/index.js +2 -1
- package/testing/index.js.map +1 -1
- package/testing/react/MockedProvider.d.ts +5 -6
- package/testing/react/MockedProvider.js +3 -3
- package/testing/react/MockedProvider.js.map +1 -1
- package/utilities/DeepPartial.d.ts +15 -0
- package/utilities/DeepPartial.js.map +1 -0
- package/utilities/HKT.d.ts +35 -0
- package/utilities/HKT.js +2 -0
- package/utilities/HKT.js.map +1 -0
- package/utilities/caching/index.d.ts +0 -1
- package/utilities/caching/index.js +0 -1
- package/utilities/caching/index.js.map +1 -1
- package/utilities/caching/sizes.d.ts +6 -0
- package/utilities/caching/sizes.js +1 -1
- package/utilities/caching/sizes.js.map +1 -1
- package/utilities/common/stripTypename.d.ts +7 -1
- package/utilities/common/stripTypename.js +7 -1
- package/utilities/common/stripTypename.js.map +1 -1
- package/utilities/graphql/DocumentTransform.d.ts +10 -6
- package/utilities/graphql/DocumentTransform.js +12 -8
- package/utilities/graphql/DocumentTransform.js.map +1 -1
- package/utilities/graphql/isFormattedExecutionResult.d.ts +3 -0
- package/utilities/graphql/isFormattedExecutionResult.js +6 -0
- package/utilities/graphql/isFormattedExecutionResult.js.map +1 -0
- package/utilities/graphql/operations.d.ts +21 -0
- package/utilities/graphql/operations.js +22 -1
- package/utilities/graphql/operations.js.map +1 -1
- package/utilities/graphql/print.d.ts +8 -0
- package/utilities/graphql/print.js +10 -2
- package/utilities/graphql/print.js.map +1 -1
- package/utilities/graphql/storeUtils.d.ts +14 -22
- package/utilities/graphql/storeUtils.js +5 -196
- package/utilities/graphql/storeUtils.js.map +1 -1
- package/utilities/graphql/transform.d.ts +6 -24
- package/utilities/graphql/transform.js +7 -443
- package/utilities/graphql/transform.js.map +1 -1
- package/utilities/index.d.ts +8 -38
- package/utilities/index.js +5 -23
- package/utilities/index.js.map +1 -1
- package/utilities/internal/DeepMerger.d.ts +17 -0
- package/utilities/internal/DeepMerger.js +63 -0
- package/utilities/internal/DeepMerger.js.map +1 -0
- package/utilities/internal/argumentsObjectFromField.d.ts +8 -0
- package/utilities/internal/argumentsObjectFromField.js +15 -0
- package/utilities/internal/argumentsObjectFromField.js.map +1 -0
- package/utilities/internal/caches.d.ts +42 -0
- package/utilities/internal/caches.js +73 -0
- package/utilities/internal/caches.js.map +1 -0
- package/utilities/internal/canUseDOM.d.ts +7 -0
- package/utilities/internal/canUseDOM.js +8 -0
- package/utilities/internal/canUseDOM.js.map +1 -0
- package/utilities/internal/checkDocument.d.ts +10 -0
- package/utilities/internal/checkDocument.js +66 -0
- package/utilities/internal/checkDocument.js.map +1 -0
- package/utilities/internal/cloneDeep.d.ts +9 -0
- package/utilities/internal/cloneDeep.js +42 -0
- package/utilities/internal/cloneDeep.js.map +1 -0
- package/utilities/internal/compact.d.ts +11 -0
- package/utilities/internal/compact.js +23 -0
- package/utilities/internal/compact.js.map +1 -0
- package/utilities/internal/createFragmentMap.d.ts +12 -0
- package/utilities/internal/createFragmentMap.js +16 -0
- package/utilities/internal/createFragmentMap.js.map +1 -0
- package/utilities/internal/createFulfilledPromise.d.ts +8 -0
- package/utilities/internal/createFulfilledPromise.js +12 -0
- package/utilities/internal/createFulfilledPromise.js.map +1 -0
- package/utilities/internal/createRejectedPromise.d.ts +8 -0
- package/utilities/internal/createRejectedPromise.js +14 -0
- package/utilities/internal/createRejectedPromise.js.map +1 -0
- package/utilities/internal/dealias.d.ts +5 -0
- package/utilities/internal/dealias.js +18 -0
- package/utilities/internal/dealias.js.map +1 -0
- package/utilities/internal/decoratePromise.d.ts +8 -0
- package/utilities/internal/decoratePromise.js +30 -0
- package/utilities/internal/decoratePromise.js.map +1 -0
- package/utilities/internal/deepFreeze.d.ts +7 -0
- package/utilities/internal/deepFreeze.js +36 -0
- package/utilities/internal/deepFreeze.js.map +1 -0
- package/utilities/internal/filterMap.d.ts +4 -0
- package/utilities/internal/filterMap.js +28 -0
- package/utilities/internal/filterMap.js.map +1 -0
- package/utilities/internal/getDefaultValues.d.ts +8 -0
- package/utilities/internal/getDefaultValues.js +19 -0
- package/utilities/internal/getDefaultValues.js.map +1 -0
- package/utilities/internal/getFragmentDefinition.d.ts +8 -0
- package/utilities/internal/getFragmentDefinition.js +14 -0
- package/utilities/internal/getFragmentDefinition.js.map +1 -0
- package/utilities/internal/getFragmentDefinitions.d.ts +8 -0
- package/utilities/internal/getFragmentDefinitions.js +9 -0
- package/utilities/internal/getFragmentDefinitions.js.map +1 -0
- package/utilities/internal/getFragmentFromSelection.d.ts +10 -0
- package/utilities/internal/getFragmentFromSelection.js +24 -0
- package/utilities/internal/getFragmentFromSelection.js.map +1 -0
- package/utilities/internal/getFragmentQueryDocument.d.ts +29 -0
- package/utilities/internal/getFragmentQueryDocument.js +83 -0
- package/utilities/internal/getFragmentQueryDocument.js.map +1 -0
- package/utilities/internal/getGraphQLErrorsFromResult.d.ts +10 -0
- package/utilities/internal/getGraphQLErrorsFromResult.js +9 -0
- package/utilities/internal/getGraphQLErrorsFromResult.js.map +1 -0
- package/utilities/internal/getMainDefinition.d.ts +12 -0
- package/utilities/internal/getMainDefinition.js +35 -0
- package/utilities/internal/getMainDefinition.js.map +1 -0
- package/utilities/internal/getMemoryInternals.d.ts +15 -10
- package/utilities/internal/getMemoryInternals.js +16 -9
- package/utilities/internal/getMemoryInternals.js.map +1 -1
- package/utilities/internal/getOperationDefinition.d.ts +8 -0
- package/utilities/internal/getOperationDefinition.js +11 -0
- package/utilities/internal/getOperationDefinition.js.map +1 -0
- package/utilities/internal/getOperationName.d.ts +8 -0
- package/utilities/internal/getOperationName.js +9 -0
- package/utilities/internal/getOperationName.js.map +1 -0
- package/utilities/internal/getQueryDefinition.d.ts +8 -0
- package/utilities/internal/getQueryDefinition.js +13 -0
- package/utilities/internal/getQueryDefinition.js.map +1 -0
- package/utilities/internal/getStoreKeyName.d.ts +16 -0
- package/utilities/internal/getStoreKeyName.js +70 -0
- package/utilities/internal/getStoreKeyName.js.map +1 -0
- package/utilities/internal/globals/global.js +14 -0
- package/utilities/internal/globals/global.js.map +1 -0
- package/utilities/internal/globals/index.js.map +1 -0
- package/utilities/internal/globals/maybe.js.map +1 -0
- package/utilities/internal/graphQLResultHasError.d.ts +8 -0
- package/utilities/internal/graphQLResultHasError.js +9 -0
- package/utilities/internal/graphQLResultHasError.js.map +1 -0
- package/utilities/internal/hasDirectives.d.ts +8 -0
- package/utilities/internal/hasDirectives.js +21 -0
- package/utilities/internal/hasDirectives.js.map +1 -0
- package/utilities/internal/hasForcedResolvers.d.ts +3 -0
- package/utilities/internal/hasForcedResolvers.js +20 -0
- package/utilities/internal/hasForcedResolvers.js.map +1 -0
- package/utilities/internal/index.d.ts +62 -2
- package/utilities/internal/index.js +47 -2
- package/utilities/internal/index.js.map +1 -1
- package/utilities/internal/isArray.d.ts +9 -0
- package/utilities/internal/isArray.js +9 -0
- package/utilities/internal/isArray.js.map +1 -0
- package/utilities/internal/isDocumentNode.d.ts +8 -0
- package/utilities/internal/isDocumentNode.js +12 -0
- package/utilities/internal/isDocumentNode.js.map +1 -0
- package/utilities/internal/isField.d.ts +8 -0
- package/utilities/internal/isField.js +9 -0
- package/utilities/internal/isField.js.map +1 -0
- package/utilities/internal/isNonEmptyArray.d.ts +7 -0
- package/utilities/internal/isNonEmptyArray.js +9 -0
- package/utilities/internal/isNonEmptyArray.js.map +1 -0
- package/utilities/internal/isNonNullObject.d.ts +7 -0
- package/utilities/internal/isNonNullObject.js +9 -0
- package/utilities/internal/isNonNullObject.js.map +1 -0
- package/utilities/internal/isPlainObject.d.ts +7 -0
- package/utilities/internal/isPlainObject.js +12 -0
- package/utilities/internal/isPlainObject.js.map +1 -0
- package/utilities/internal/makeReference.d.ts +8 -0
- package/utilities/internal/makeReference.js +9 -0
- package/utilities/internal/makeReference.js.map +1 -0
- package/utilities/internal/makeUniqueId.d.ts +10 -0
- package/utilities/internal/makeUniqueId.js +15 -0
- package/utilities/internal/makeUniqueId.js.map +1 -0
- package/utilities/internal/maybeDeepFreeze.d.ts +7 -0
- package/utilities/internal/maybeDeepFreeze.js +14 -0
- package/utilities/internal/maybeDeepFreeze.js.map +1 -0
- package/utilities/internal/mergeDeep.d.ts +8 -0
- package/utilities/internal/mergeDeep.js +23 -0
- package/utilities/internal/mergeDeep.js.map +1 -0
- package/utilities/internal/mergeDeepArray.d.ts +7 -0
- package/utilities/internal/mergeDeepArray.js +24 -0
- package/utilities/internal/mergeDeepArray.js.map +1 -0
- package/utilities/internal/mergeOptions.d.ts +10 -0
- package/utilities/internal/mergeOptions.js +15 -0
- package/utilities/internal/mergeOptions.js.map +1 -0
- package/utilities/internal/omitDeep.d.ts +8 -0
- package/utilities/internal/omitDeep.js +45 -0
- package/utilities/internal/omitDeep.js.map +1 -0
- package/utilities/internal/preventUnhandledRejection.js.map +1 -0
- package/utilities/internal/removeDirectivesFromDocument.d.ts +14 -0
- package/utilities/internal/removeDirectivesFromDocument.js +300 -0
- package/utilities/internal/removeDirectivesFromDocument.js.map +1 -0
- package/utilities/internal/resultKeyNameFromField.d.ts +8 -0
- package/utilities/internal/resultKeyNameFromField.js +9 -0
- package/utilities/internal/resultKeyNameFromField.js.map +1 -0
- package/utilities/internal/shouldInclude.d.ts +8 -0
- package/utilities/internal/shouldInclude.js +47 -0
- package/utilities/internal/shouldInclude.js.map +1 -0
- package/utilities/internal/storeKeyNameFromField.d.ts +8 -0
- package/utilities/internal/storeKeyNameFromField.js +26 -0
- package/utilities/internal/storeKeyNameFromField.js.map +1 -0
- package/utilities/internal/stringifyForDisplay.d.ts +7 -0
- package/utilities/internal/stringifyForDisplay.js +15 -0
- package/utilities/internal/stringifyForDisplay.js.map +1 -0
- package/utilities/internal/toQueryResult.d.ts +5 -0
- package/utilities/internal/toQueryResult.js +5 -0
- package/utilities/internal/toQueryResult.js.map +1 -1
- package/utilities/internal/types/ApplyHKT.d.ts +13 -0
- package/utilities/internal/types/ApplyHKT.js +2 -0
- package/utilities/internal/types/ApplyHKT.js.map +1 -0
- package/utilities/internal/types/ApplyHKTImplementationWithDefault.d.ts +11 -0
- package/utilities/internal/types/ApplyHKTImplementationWithDefault.js +2 -0
- package/utilities/internal/types/ApplyHKTImplementationWithDefault.js.map +1 -0
- package/utilities/internal/types/DecoratedPromise.d.ts +10 -0
- package/utilities/internal/types/DecoratedPromise.js +2 -0
- package/utilities/internal/types/DecoratedPromise.js.map +1 -0
- package/utilities/internal/types/DeepOmit.d.ts +15 -0
- package/utilities/internal/types/FragmentMap.d.ts +12 -0
- package/utilities/internal/types/FragmentMap.js +2 -0
- package/utilities/internal/types/FragmentMap.js.map +1 -0
- package/utilities/internal/types/FragmentMapFunction.d.ts +8 -0
- package/utilities/internal/types/FragmentMapFunction.js +2 -0
- package/utilities/internal/types/FragmentMapFunction.js.map +1 -0
- package/utilities/internal/types/FulfilledPromise.d.ts +10 -0
- package/utilities/internal/types/FulfilledPromise.js +2 -0
- package/utilities/internal/types/FulfilledPromise.js.map +1 -0
- package/utilities/internal/types/IsAny.d.ts +7 -0
- package/utilities/internal/types/IsAny.js +2 -0
- package/utilities/internal/types/IsAny.js.map +1 -0
- package/utilities/internal/types/NoInfer.d.ts +29 -0
- package/utilities/internal/types/PendingPromise.d.ts +9 -0
- package/utilities/internal/types/PendingPromise.js +2 -0
- package/utilities/internal/types/PendingPromise.js.map +1 -0
- package/utilities/internal/types/Prettify.d.ts +9 -0
- package/utilities/internal/types/Primitive.d.ts +7 -0
- package/utilities/internal/types/RejectedPromise.d.ts +10 -0
- package/utilities/internal/types/RejectedPromise.js +2 -0
- package/utilities/internal/types/RejectedPromise.js.map +1 -0
- package/utilities/internal/types/RemoveIndexSignature.d.ts +9 -0
- package/utilities/internal/types/TupleToIntersection.d.ts +2 -0
- package/utilities/internal/types/TupleToIntersection.js +2 -0
- package/utilities/internal/types/TupleToIntersection.js.map +1 -0
- package/utilities/internal/types/VariablesOption.d.ts +30 -0
- package/utilities/internal/types/VariablesOption.js +2 -0
- package/utilities/internal/types/VariablesOption.js.map +1 -0
- package/utilities/internal/valueToObjectRepresentation.d.ts +8 -0
- package/utilities/internal/valueToObjectRepresentation.js +41 -0
- package/utilities/internal/valueToObjectRepresentation.js.map +1 -0
- package/utilities/invariant/index.js +3 -2
- package/utilities/invariant/index.js.map +1 -1
- package/utilities/policies/pagination.d.ts +23 -0
- package/utilities/policies/pagination.js +24 -7
- package/utilities/policies/pagination.js.map +1 -1
- package/utilities/shared/canonicalStringify.js +88 -0
- package/utilities/shared/canonicalStringify.js.map +1 -0
- package/utilities/subscriptions/relay/index.js +3 -3
- package/utilities/subscriptions/relay/index.js.map +1 -1
- package/version.d.ts +1 -0
- package/version.js +2 -1
- package/version.js.map +1 -1
- package/.changeset/README.md +0 -8
- package/.changeset/afraid-moons-arrive.md +0 -5
- package/.changeset/beige-mirrors-talk.md +0 -15
- package/.changeset/brave-radios-wait.md +0 -5
- package/.changeset/bright-ads-share.md +0 -5
- package/.changeset/calm-frogs-remain.md +0 -7
- package/.changeset/calm-seals-relate.md +0 -5
- package/.changeset/chatty-planes-grin.md +0 -5
- package/.changeset/clean-sheep-hide.md +0 -6
- package/.changeset/clever-zebras-mate.md +0 -5
- package/.changeset/config.json +0 -14
- package/.changeset/cool-bikes-shake.md +0 -12
- package/.changeset/cuddly-spiders-tie.md +0 -5
- package/.changeset/curvy-pianos-count.md +0 -5
- package/.changeset/dirty-eagles-poke.md +0 -5
- package/.changeset/dirty-trees-pump.md +0 -5
- package/.changeset/early-eggs-develop.md +0 -22
- package/.changeset/eighty-squids-fix.md +0 -15
- package/.changeset/eleven-kangaroos-jump.md +0 -5
- package/.changeset/empty-rabbits-move.md +0 -5
- package/.changeset/fluffy-shoes-applaud.md +0 -5
- package/.changeset/forty-hairs-occur.md +0 -5
- package/.changeset/forty-shrimps-fry.md +0 -5
- package/.changeset/forty-tomatoes-punch.md +0 -5
- package/.changeset/four-ghosts-watch.md +0 -5
- package/.changeset/fresh-moose-hope.md +0 -5
- package/.changeset/funny-jeans-invent.md +0 -16
- package/.changeset/fuzzy-tips-sit.md +0 -5
- package/.changeset/giant-apes-thank.md +0 -5
- package/.changeset/giant-bags-share.md +0 -5
- package/.changeset/good-dolphins-peel.md +0 -113
- package/.changeset/gorgeous-chefs-tap.md +0 -5
- package/.changeset/grumpy-vans-type.md +0 -5
- package/.changeset/healthy-apes-sneeze.md +0 -5
- package/.changeset/hip-vans-act.md +0 -5
- package/.changeset/hot-cycles-notice.md +0 -5
- package/.changeset/itchy-drinks-refuse.md +0 -5
- package/.changeset/itchy-roses-accept.md +0 -5
- package/.changeset/khaki-keys-deliver.md +0 -5
- package/.changeset/khaki-spies-work.md +0 -11
- package/.changeset/kind-fishes-develop.md +0 -17
- package/.changeset/large-plants-know.md +0 -5
- package/.changeset/late-trainers-peel.md +0 -7
- package/.changeset/light-apes-rescue.md +0 -5
- package/.changeset/light-dolphins-taste.md +0 -5
- package/.changeset/light-sloths-end.md +0 -16
- package/.changeset/little-spoons-kick.md +0 -7
- package/.changeset/loud-cows-raise.md +0 -7
- package/.changeset/lucky-hats-push.md +0 -7
- package/.changeset/many-buses-allow.md +0 -5
- package/.changeset/many-papayas-hide.md +0 -5
- package/.changeset/mean-lizards-think.md +0 -5
- package/.changeset/metal-needles-search.md +0 -5
- package/.changeset/mighty-penguins-wink.md +0 -16
- package/.changeset/modern-feet-do.md +0 -5
- package/.changeset/moody-lobsters-listen.md +0 -7
- package/.changeset/nervous-fireants-bow.md +0 -5
- package/.changeset/nervous-goats-allow.md +0 -5
- package/.changeset/nice-donkeys-reflect.md +0 -5
- package/.changeset/nice-dots-matter.md +0 -5
- package/.changeset/nice-waves-work.md +0 -7
- package/.changeset/ninety-bags-bake.md +0 -17
- package/.changeset/odd-lemons-relax.md +0 -5
- package/.changeset/perfect-vans-give.md +0 -7
- package/.changeset/polite-bees-care.md +0 -26
- package/.changeset/poor-eels-punch.md +0 -5
- package/.changeset/popular-games-sleep.md +0 -5
- package/.changeset/pre.json +0 -121
- package/.changeset/purple-bears-flash.md +0 -5
- package/.changeset/purple-lions-cough.md +0 -5
- package/.changeset/rare-houses-prove.md +0 -5
- package/.changeset/real-gorillas-move.md +0 -21
- package/.changeset/real-teachers-peel.md +0 -5
- package/.changeset/rich-eagles-cross.md +0 -5
- package/.changeset/rich-kids-carry.md +0 -9
- package/.changeset/rude-fans-study.md +0 -5
- package/.changeset/seven-foxes-melt.md +0 -5
- package/.changeset/shaggy-pugs-add.md +0 -52
- package/.changeset/shiny-carrots-invent.md +0 -5
- package/.changeset/short-jokes-jam.md +0 -27
- package/.changeset/short-months-complain.md +0 -5
- package/.changeset/silly-knives-exist.md +0 -5
- package/.changeset/slimy-chicken-melt.md +0 -5
- package/.changeset/slimy-maps-press.md +0 -5
- package/.changeset/slow-ravens-explain.md +0 -19
- package/.changeset/small-buttons-rhyme.md +0 -5
- package/.changeset/small-cycles-rescue.md +0 -5
- package/.changeset/small-kids-film.md +0 -14
- package/.changeset/smart-rats-explode.md +0 -5
- package/.changeset/smooth-coins-collect.md +0 -5
- package/.changeset/smooth-pens-reply.md +0 -7
- package/.changeset/soft-mails-clean.md +0 -5
- package/.changeset/sour-pillows-guess.md +0 -7
- package/.changeset/strange-seahorses-impress.md +0 -17
- package/.changeset/swift-rivers-share.md +0 -13
- package/.changeset/tall-bikes-develop.md +0 -5
- package/.changeset/tall-cups-suffer.md +0 -13
- package/.changeset/tame-doors-shop.md +0 -14
- package/.changeset/tame-points-work.md +0 -11
- package/.changeset/tender-swans-flash.md +0 -16
- package/.changeset/thick-books-grin.md +0 -5
- package/.changeset/thin-peas-hear.md +0 -16
- package/.changeset/tidy-squids-poke.md +0 -12
- package/.changeset/tough-rockets-allow.md +0 -5
- package/.changeset/tough-taxis-smoke.md +0 -7
- package/.changeset/tough-tips-drop.md +0 -15
- package/.changeset/tricky-tables-shave.md +0 -5
- package/.changeset/twenty-snakes-sort.md +0 -7
- package/.changeset/unlucky-kiwis-sell.md +0 -5
- package/.changeset/unlucky-sheep-change.md +0 -5
- package/.changeset/warm-ties-sit.md +0 -7
- package/.changeset/wicked-forks-double.md +0 -33
- package/.changeset/yellow-cats-judge.md +0 -13
- package/.changeset/young-phones-fold.md +0 -5
- package/.changeset/young-turtles-explode.md +0 -5
- package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs +0 -20
- package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs.map +0 -1
- package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.d.cts +0 -3
- package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs +0 -18
- package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs.map +0 -1
- package/__cjs/config/jest/areCombinedProtocolErrorsEqual.d.cts +0 -3
- package/__cjs/config/jest/areGraphQlErrorsEqual.cjs +0 -11
- package/__cjs/config/jest/areGraphQlErrorsEqual.cjs.map +0 -1
- package/__cjs/config/jest/areGraphQlErrorsEqual.d.cts +0 -3
- package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs +0 -20
- package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs.map +0 -1
- package/__cjs/config/jest/areMissingFieldErrorsEqual.d.cts +0 -3
- package/__cjs/config/jest/areServerErrorsEqual.cjs +0 -21
- package/__cjs/config/jest/areServerErrorsEqual.cjs.map +0 -1
- package/__cjs/config/jest/areServerErrorsEqual.d.cts +0 -3
- package/__cjs/config/jest/resolver.cjs +0 -32
- package/__cjs/config/jest/resolver.cjs.map +0 -1
- package/__cjs/config/jest/resolver.d.cts +0 -3
- package/__cjs/config/jest/setup.cjs +0 -65
- package/__cjs/config/jest/setup.cjs.map +0 -1
- package/__cjs/config/jest/setup.d.cts +0 -3
- package/__cjs/core/LocalState.cjs +0 -333
- package/__cjs/core/LocalState.cjs.map +0 -1
- package/__cjs/core/LocalState.d.cts +0 -53
- package/__cjs/link/core/index.cjs +0 -16
- package/__cjs/link/core/index.cjs.map +0 -1
- package/__cjs/link/core/index.d.cts +0 -8
- package/__cjs/link/http/createHttpLink.cjs +0 -158
- package/__cjs/link/http/createHttpLink.cjs.map +0 -1
- package/__cjs/link/http/createHttpLink.d.cts +0 -4
- package/__cjs/masking/__benches__/types.bench.cjs +0 -223
- package/__cjs/masking/__benches__/types.bench.cjs.map +0 -1
- package/__cjs/masking/__benches__/types.bench.d.cts +0 -2
- package/__cjs/testing/core/index.cjs +0 -20
- package/__cjs/testing/core/index.cjs.map +0 -1
- package/__cjs/testing/core/index.d.cts +0 -7
- package/__cjs/testing/core/mocking/mockClient.cjs +0 -17
- package/__cjs/testing/core/mocking/mockClient.cjs.map +0 -1
- package/__cjs/testing/core/mocking/mockClient.d.cts +0 -4
- package/__cjs/testing/core/wait.cjs +0 -11
- package/__cjs/testing/core/wait.cjs.map +0 -1
- package/__cjs/testing/core/wait.d.cts +0 -3
- package/__cjs/testing/core/withConsoleSpy.cjs +0 -33
- package/__cjs/testing/core/withConsoleSpy.cjs.map +0 -1
- package/__cjs/testing/core/withConsoleSpy.d.cts +0 -7
- package/__cjs/testing/experimental/createSchemaFetch.cjs +0 -92
- package/__cjs/testing/experimental/createSchemaFetch.cjs.map +0 -1
- package/__cjs/testing/experimental/createSchemaFetch.d.cts +0 -43
- package/__cjs/testing/experimental/createTestSchema.cjs +0 -110
- package/__cjs/testing/experimental/createTestSchema.cjs.map +0 -1
- package/__cjs/testing/experimental/createTestSchema.d.cts +0 -57
- package/__cjs/testing/experimental/graphql-tools/utils.cjs +0 -177
- package/__cjs/testing/experimental/graphql-tools/utils.cjs.map +0 -1
- package/__cjs/testing/experimental/graphql-tools/utils.d.cts +0 -26
- package/__cjs/testing/experimental/graphql-tools/utils.test.cjs +0 -200
- package/__cjs/testing/experimental/graphql-tools/utils.test.cjs.map +0 -1
- package/__cjs/testing/experimental/graphql-tools/utils.test.d.cts +0 -2
- package/__cjs/testing/experimental/index.cjs +0 -8
- package/__cjs/testing/experimental/index.cjs.map +0 -1
- package/__cjs/testing/experimental/index.d.cts +0 -3
- package/__cjs/testing/internal/ObservableStream.cjs +0 -98
- package/__cjs/testing/internal/ObservableStream.cjs.map +0 -1
- package/__cjs/testing/internal/ObservableStream.d.cts +0 -28
- package/__cjs/testing/internal/disposables/enableFakeTimers.cjs +0 -19
- package/__cjs/testing/internal/disposables/enableFakeTimers.cjs.map +0 -1
- package/__cjs/testing/internal/disposables/enableFakeTimers.d.cts +0 -7
- package/__cjs/testing/internal/disposables/index.cjs +0 -12
- package/__cjs/testing/internal/disposables/index.cjs.map +0 -1
- package/__cjs/testing/internal/disposables/index.d.cts +0 -5
- package/__cjs/testing/internal/disposables/spyOnConsole.cjs +0 -24
- package/__cjs/testing/internal/disposables/spyOnConsole.cjs.map +0 -1
- package/__cjs/testing/internal/disposables/spyOnConsole.d.cts +0 -8
- package/__cjs/testing/internal/disposables/withCleanup.cjs +0 -18
- package/__cjs/testing/internal/disposables/withCleanup.cjs.map +0 -1
- package/__cjs/testing/internal/disposables/withCleanup.d.cts +0 -3
- package/__cjs/testing/internal/disposables/withProdMode.cjs +0 -17
- package/__cjs/testing/internal/disposables/withProdMode.cjs.map +0 -1
- package/__cjs/testing/internal/disposables/withProdMode.d.cts +0 -4
- package/__cjs/testing/internal/incremental.cjs +0 -124
- package/__cjs/testing/internal/incremental.cjs.map +0 -1
- package/__cjs/testing/internal/incremental.d.cts +0 -16
- package/__cjs/testing/internal/index.cjs +0 -31
- package/__cjs/testing/internal/index.cjs.map +0 -1
- package/__cjs/testing/internal/index.d.cts +0 -11
- package/__cjs/testing/internal/messageChannelPolyfill.cjs +0 -18
- package/__cjs/testing/internal/messageChannelPolyfill.cjs.map +0 -1
- package/__cjs/testing/internal/messageChannelPolyfill.d.cts +0 -2
- package/__cjs/testing/internal/renderHelpers.cjs +0 -21
- package/__cjs/testing/internal/renderHelpers.cjs.map +0 -1
- package/__cjs/testing/internal/renderHelpers.d.cts +0 -14
- package/__cjs/testing/internal/resetApolloContext.cjs +0 -24
- package/__cjs/testing/internal/resetApolloContext.cjs.map +0 -1
- package/__cjs/testing/internal/resetApolloContext.d.cts +0 -10
- package/__cjs/testing/internal/rtl/actAsync.cjs +0 -18
- package/__cjs/testing/internal/rtl/actAsync.cjs.map +0 -1
- package/__cjs/testing/internal/rtl/actAsync.d.cts +0 -2
- package/__cjs/testing/internal/rtl/renderAsync.cjs +0 -15
- package/__cjs/testing/internal/rtl/renderAsync.cjs.map +0 -1
- package/__cjs/testing/internal/rtl/renderAsync.d.cts +0 -9
- package/__cjs/testing/internal/rtl/renderHookAsync.cjs +0 -37
- package/__cjs/testing/internal/rtl/renderHookAsync.cjs.map +0 -1
- package/__cjs/testing/internal/rtl/renderHookAsync.d.cts +0 -8
- package/__cjs/testing/internal/scenarios/index.cjs +0 -104
- package/__cjs/testing/internal/scenarios/index.cjs.map +0 -1
- package/__cjs/testing/internal/scenarios/index.d.cts +0 -83
- package/__cjs/testing/matchers/arrayWithLength.cjs +0 -15
- package/__cjs/testing/matchers/arrayWithLength.cjs.map +0 -1
- package/__cjs/testing/matchers/arrayWithLength.d.cts +0 -3
- package/__cjs/testing/matchers/index.cjs +0 -28
- package/__cjs/testing/matchers/index.cjs.map +0 -1
- package/__cjs/testing/matchers/index.d.cts +0 -2
- package/__cjs/testing/matchers/toBeDisposed.cjs +0 -20
- package/__cjs/testing/matchers/toBeDisposed.cjs.map +0 -1
- package/__cjs/testing/matchers/toBeDisposed.d.cts +0 -3
- package/__cjs/testing/matchers/toBeGarbageCollected.cjs +0 -43
- package/__cjs/testing/matchers/toBeGarbageCollected.cjs.map +0 -1
- package/__cjs/testing/matchers/toBeGarbageCollected.d.cts +0 -8
- package/__cjs/testing/matchers/toComplete.cjs +0 -30
- package/__cjs/testing/matchers/toComplete.cjs.map +0 -1
- package/__cjs/testing/matchers/toComplete.d.cts +0 -4
- package/__cjs/testing/matchers/toEmitAnything.cjs +0 -33
- package/__cjs/testing/matchers/toEmitAnything.cjs.map +0 -1
- package/__cjs/testing/matchers/toEmitAnything.d.cts +0 -4
- package/__cjs/testing/matchers/toEmitError.cjs +0 -46
- package/__cjs/testing/matchers/toEmitError.cjs.map +0 -1
- package/__cjs/testing/matchers/toEmitError.d.cts +0 -7
- package/__cjs/testing/matchers/toEmitNext.cjs +0 -30
- package/__cjs/testing/matchers/toEmitNext.cjs.map +0 -1
- package/__cjs/testing/matchers/toEmitNext.d.cts +0 -4
- package/__cjs/testing/matchers/toEmitTypedValue.cjs +0 -42
- package/__cjs/testing/matchers/toEmitTypedValue.cjs.map +0 -1
- package/__cjs/testing/matchers/toEmitTypedValue.d.cts +0 -7
- package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs +0 -26
- package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs.map +0 -1
- package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.d.cts +0 -11
- package/__cjs/testing/matchers/toMatchDocument.cjs +0 -36
- package/__cjs/testing/matchers/toMatchDocument.cjs.map +0 -1
- package/__cjs/testing/matchers/toMatchDocument.d.cts +0 -4
- package/__cjs/testing/matchers/toStrictEqualTyped.cjs +0 -26
- package/__cjs/testing/matchers/toStrictEqualTyped.cjs.map +0 -1
- package/__cjs/testing/matchers/toStrictEqualTyped.d.cts +0 -3
- package/__cjs/testing/matchers/utils/getSerializableProperties.cjs +0 -23
- package/__cjs/testing/matchers/utils/getSerializableProperties.cjs.map +0 -1
- package/__cjs/testing/matchers/utils/getSerializableProperties.d.cts +0 -2
- package/__cjs/utilities/caching/caches.cjs +0 -72
- package/__cjs/utilities/caching/caches.cjs.map +0 -1
- package/__cjs/utilities/caching/caches.d.cts +0 -34
- package/__cjs/utilities/common/arrays.cjs +0 -10
- package/__cjs/utilities/common/arrays.cjs.map +0 -1
- package/__cjs/utilities/common/arrays.d.cts +0 -3
- package/__cjs/utilities/common/canUse.cjs +0 -24
- package/__cjs/utilities/common/canUse.cjs.map +0 -1
- package/__cjs/utilities/common/canUse.d.cts +0 -3
- package/__cjs/utilities/common/canonicalStringify.cjs +0 -88
- package/__cjs/utilities/common/canonicalStringify.cjs.map +0 -1
- package/__cjs/utilities/common/cloneDeep.cjs +0 -41
- package/__cjs/utilities/common/cloneDeep.cjs.map +0 -1
- package/__cjs/utilities/common/cloneDeep.d.cts +0 -5
- package/__cjs/utilities/common/compact.cjs +0 -22
- package/__cjs/utilities/common/compact.cjs.map +0 -1
- package/__cjs/utilities/common/compact.d.cts +0 -7
- package/__cjs/utilities/common/errorHandling.cjs +0 -23
- package/__cjs/utilities/common/errorHandling.cjs.map +0 -1
- package/__cjs/utilities/common/errorHandling.d.cts +0 -4
- package/__cjs/utilities/common/incrementalResult.cjs +0 -45
- package/__cjs/utilities/common/incrementalResult.cjs.map +0 -1
- package/__cjs/utilities/common/incrementalResult.d.cts +0 -7
- package/__cjs/utilities/common/makeUniqueId.cjs +0 -12
- package/__cjs/utilities/common/makeUniqueId.cjs.map +0 -1
- package/__cjs/utilities/common/makeUniqueId.d.cts +0 -2
- package/__cjs/utilities/common/maybeDeepFreeze.cjs +0 -42
- package/__cjs/utilities/common/maybeDeepFreeze.cjs.map +0 -1
- package/__cjs/utilities/common/maybeDeepFreeze.d.cts +0 -4
- package/__cjs/utilities/common/mergeDeep.cjs +0 -84
- package/__cjs/utilities/common/mergeDeep.cjs.map +0 -1
- package/__cjs/utilities/common/mergeDeep.d.cts +0 -14
- package/__cjs/utilities/common/mergeOptions.cjs +0 -13
- package/__cjs/utilities/common/mergeOptions.cjs.map +0 -1
- package/__cjs/utilities/common/mergeOptions.d.cts +0 -5
- package/__cjs/utilities/common/objects.cjs +0 -14
- package/__cjs/utilities/common/objects.cjs.map +0 -1
- package/__cjs/utilities/common/objects.d.cts +0 -3
- package/__cjs/utilities/common/omitDeep.cjs +0 -43
- package/__cjs/utilities/common/omitDeep.cjs.map +0 -1
- package/__cjs/utilities/common/omitDeep.d.cts +0 -3
- package/__cjs/utilities/common/stringifyForDisplay.cjs +0 -13
- package/__cjs/utilities/common/stringifyForDisplay.cjs.map +0 -1
- package/__cjs/utilities/common/stringifyForDisplay.d.cts +0 -2
- package/__cjs/utilities/globals/global.cjs.map +0 -1
- package/__cjs/utilities/globals/index.cjs.map +0 -1
- package/__cjs/utilities/globals/maybe.cjs.map +0 -1
- package/__cjs/utilities/graphql/directives.cjs +0 -114
- package/__cjs/utilities/graphql/directives.cjs.map +0 -1
- package/__cjs/utilities/graphql/directives.d.cts +0 -20
- package/__cjs/utilities/graphql/fragments.cjs +0 -126
- package/__cjs/utilities/graphql/fragments.cjs.map +0 -1
- package/__cjs/utilities/graphql/fragments.d.cts +0 -35
- package/__cjs/utilities/graphql/getFromAST.cjs +0 -101
- package/__cjs/utilities/graphql/getFromAST.cjs.map +0 -1
- package/__cjs/utilities/graphql/getFromAST.d.cts +0 -15
- package/__cjs/utilities/internal/observables.cjs +0 -29
- package/__cjs/utilities/internal/observables.cjs.map +0 -1
- package/__cjs/utilities/internal/observables.d.cts +0 -14
- package/__cjs/utilities/promises/decoration.cjs +0 -45
- package/__cjs/utilities/promises/decoration.cjs.map +0 -1
- package/__cjs/utilities/promises/decoration.d.cts +0 -18
- package/__cjs/utilities/promises/preventUnhandledRejection.cjs.map +0 -1
- package/__cjs/utilities/types/DeepOmit.d.cts +0 -10
- package/__cjs/utilities/types/DeepPartial.cjs.map +0 -1
- package/__cjs/utilities/types/DeepPartial.d.cts +0 -12
- package/__cjs/utilities/types/IsStrictlyAny.cjs +0 -3
- package/__cjs/utilities/types/IsStrictlyAny.cjs.map +0 -1
- package/__cjs/utilities/types/IsStrictlyAny.d.cts +0 -5
- package/__cjs/utilities/types/NoInfer.d.cts +0 -27
- package/__cjs/utilities/types/OnlyRequiredProperties.cjs +0 -3
- package/__cjs/utilities/types/OnlyRequiredProperties.cjs.map +0 -1
- package/__cjs/utilities/types/OnlyRequiredProperties.d.cts +0 -7
- package/__cjs/utilities/types/Prettify.d.cts +0 -4
- package/__cjs/utilities/types/Primitive.d.cts +0 -2
- package/__cjs/utilities/types/RemoveIndexSignature.d.cts +0 -4
- package/__cjs/utilities/types/UnionToIntersection.cjs +0 -3
- package/__cjs/utilities/types/UnionToIntersection.cjs.map +0 -1
- package/__cjs/utilities/types/UnionToIntersection.d.cts +0 -2
- package/config/jest/areCombinedGraphQLErrorsEqual.d.ts +0 -3
- package/config/jest/areCombinedGraphQLErrorsEqual.js +0 -16
- package/config/jest/areCombinedGraphQLErrorsEqual.js.map +0 -1
- package/config/jest/areCombinedProtocolErrorsEqual.d.ts +0 -3
- package/config/jest/areCombinedProtocolErrorsEqual.js +0 -14
- package/config/jest/areCombinedProtocolErrorsEqual.js.map +0 -1
- package/config/jest/areGraphQlErrorsEqual.d.ts +0 -3
- package/config/jest/areGraphQlErrorsEqual.js +0 -7
- package/config/jest/areGraphQlErrorsEqual.js.map +0 -1
- package/config/jest/areMissingFieldErrorsEqual.d.ts +0 -3
- package/config/jest/areMissingFieldErrorsEqual.js +0 -16
- package/config/jest/areMissingFieldErrorsEqual.js.map +0 -1
- package/config/jest/areServerErrorsEqual.d.ts +0 -3
- package/config/jest/areServerErrorsEqual.js +0 -17
- package/config/jest/areServerErrorsEqual.js.map +0 -1
- package/config/jest/resolver.d.ts +0 -3
- package/config/jest/resolver.js +0 -29
- package/config/jest/resolver.js.map +0 -1
- package/config/jest/setup.d.ts +0 -3
- package/config/jest/setup.js +0 -62
- package/config/jest/setup.js.map +0 -1
- package/core/LocalState.d.ts +0 -53
- package/core/LocalState.js +0 -329
- package/core/LocalState.js.map +0 -1
- package/legacyEntryPoints/link/core/core.cjs +0 -1
- package/legacyEntryPoints/link/core/core.d.cts +0 -1
- package/legacyEntryPoints/link/core/index.d.ts +0 -1
- package/legacyEntryPoints/link/core/index.js +0 -1
- package/legacyEntryPoints/testing/core/core.cjs +0 -1
- package/legacyEntryPoints/testing/core/core.d.cts +0 -1
- package/legacyEntryPoints/testing/core/index.d.ts +0 -1
- package/legacyEntryPoints/testing/core/index.js +0 -1
- package/legacyEntryPoints/testing/experimental/experimental.cjs +0 -1
- package/legacyEntryPoints/testing/experimental/experimental.d.cts +0 -1
- package/legacyEntryPoints/testing/experimental/index.d.ts +0 -1
- package/legacyEntryPoints/testing/experimental/index.js +0 -1
- package/legacyEntryPoints/testing/internal/index.d.ts +0 -1
- package/legacyEntryPoints/testing/internal/index.js +0 -1
- package/legacyEntryPoints/testing/internal/internal.cjs +0 -1
- package/legacyEntryPoints/testing/internal/internal.d.cts +0 -1
- package/legacyEntryPoints/utilities/globals/globals.cjs +0 -1
- package/legacyEntryPoints/utilities/globals/globals.d.cts +0 -1
- package/legacyEntryPoints/utilities/globals/index.d.ts +0 -1
- package/legacyEntryPoints/utilities/globals/index.js +0 -1
- package/link/core/index.d.ts +0 -8
- package/link/core/index.js +0 -7
- package/link/core/index.js.map +0 -1
- package/link/http/createHttpLink.d.ts +0 -4
- package/link/http/createHttpLink.js +0 -150
- package/link/http/createHttpLink.js.map +0 -1
- package/masking/__benches__/types.bench.d.ts +0 -2
- package/masking/__benches__/types.bench.js +0 -221
- package/masking/__benches__/types.bench.js.map +0 -1
- package/testing/core/index.d.ts +0 -7
- package/testing/core/index.js +0 -6
- package/testing/core/index.js.map +0 -1
- package/testing/core/mocking/mockClient.d.ts +0 -4
- package/testing/core/mocking/mockClient.js +0 -14
- package/testing/core/mocking/mockClient.js.map +0 -1
- package/testing/core/wait.d.ts +0 -3
- package/testing/core/wait.js +0 -7
- package/testing/core/wait.js.map +0 -1
- package/testing/core/withConsoleSpy.d.ts +0 -7
- package/testing/core/withConsoleSpy.js +0 -28
- package/testing/core/withConsoleSpy.js.map +0 -1
- package/testing/experimental/createSchemaFetch.d.ts +0 -43
- package/testing/experimental/createSchemaFetch.js +0 -89
- package/testing/experimental/createSchemaFetch.js.map +0 -1
- package/testing/experimental/createTestSchema.d.ts +0 -57
- package/testing/experimental/createTestSchema.js +0 -107
- package/testing/experimental/createTestSchema.js.map +0 -1
- package/testing/experimental/graphql-tools/utils.d.ts +0 -26
- package/testing/experimental/graphql-tools/utils.js +0 -174
- package/testing/experimental/graphql-tools/utils.js.map +0 -1
- package/testing/experimental/graphql-tools/utils.test.d.ts +0 -2
- package/testing/experimental/graphql-tools/utils.test.js +0 -198
- package/testing/experimental/graphql-tools/utils.test.js.map +0 -1
- package/testing/experimental/index.d.ts +0 -3
- package/testing/experimental/index.js +0 -3
- package/testing/experimental/index.js.map +0 -1
- package/testing/internal/ObservableStream.d.ts +0 -28
- package/testing/internal/ObservableStream.js +0 -93
- package/testing/internal/ObservableStream.js.map +0 -1
- package/testing/internal/disposables/enableFakeTimers.d.ts +0 -7
- package/testing/internal/disposables/enableFakeTimers.js +0 -16
- package/testing/internal/disposables/enableFakeTimers.js.map +0 -1
- package/testing/internal/disposables/index.d.ts +0 -5
- package/testing/internal/disposables/index.js +0 -5
- package/testing/internal/disposables/index.js.map +0 -1
- package/testing/internal/disposables/spyOnConsole.d.ts +0 -8
- package/testing/internal/disposables/spyOnConsole.js +0 -21
- package/testing/internal/disposables/spyOnConsole.js.map +0 -1
- package/testing/internal/disposables/withCleanup.d.ts +0 -3
- package/testing/internal/disposables/withCleanup.js +0 -15
- package/testing/internal/disposables/withCleanup.js.map +0 -1
- package/testing/internal/disposables/withProdMode.d.ts +0 -4
- package/testing/internal/disposables/withProdMode.js +0 -13
- package/testing/internal/disposables/withProdMode.js.map +0 -1
- package/testing/internal/incremental.d.ts +0 -16
- package/testing/internal/incremental.js +0 -120
- package/testing/internal/incremental.js.map +0 -1
- package/testing/internal/index.d.ts +0 -11
- package/testing/internal/index.js +0 -10
- package/testing/internal/index.js.map +0 -1
- package/testing/internal/messageChannelPolyfill.d.ts +0 -2
- package/testing/internal/messageChannelPolyfill.js +0 -16
- package/testing/internal/messageChannelPolyfill.js.map +0 -1
- package/testing/internal/renderHelpers.d.ts +0 -14
- package/testing/internal/renderHelpers.js +0 -16
- package/testing/internal/renderHelpers.js.map +0 -1
- package/testing/internal/resetApolloContext.d.ts +0 -10
- package/testing/internal/resetApolloContext.js +0 -20
- package/testing/internal/resetApolloContext.js.map +0 -1
- package/testing/internal/rtl/actAsync.d.ts +0 -2
- package/testing/internal/rtl/actAsync.js +0 -14
- package/testing/internal/rtl/actAsync.js.map +0 -1
- package/testing/internal/rtl/renderAsync.d.ts +0 -9
- package/testing/internal/rtl/renderAsync.js +0 -12
- package/testing/internal/rtl/renderAsync.js.map +0 -1
- package/testing/internal/rtl/renderHookAsync.d.ts +0 -8
- package/testing/internal/rtl/renderHookAsync.js +0 -33
- package/testing/internal/rtl/renderHookAsync.js.map +0 -1
- package/testing/internal/scenarios/index.d.ts +0 -83
- package/testing/internal/scenarios/index.js +0 -97
- package/testing/internal/scenarios/index.js.map +0 -1
- package/testing/matchers/arrayWithLength.d.ts +0 -3
- package/testing/matchers/arrayWithLength.js +0 -11
- package/testing/matchers/arrayWithLength.js.map +0 -1
- package/testing/matchers/index.d.ts +0 -2
- package/testing/matchers/index.js +0 -26
- package/testing/matchers/index.js.map +0 -1
- package/testing/matchers/toBeDisposed.d.ts +0 -3
- package/testing/matchers/toBeDisposed.js +0 -16
- package/testing/matchers/toBeDisposed.js.map +0 -1
- package/testing/matchers/toBeGarbageCollected.d.ts +0 -8
- package/testing/matchers/toBeGarbageCollected.js +0 -39
- package/testing/matchers/toBeGarbageCollected.js.map +0 -1
- package/testing/matchers/toComplete.d.ts +0 -4
- package/testing/matchers/toComplete.js +0 -26
- package/testing/matchers/toComplete.js.map +0 -1
- package/testing/matchers/toEmitAnything.d.ts +0 -4
- package/testing/matchers/toEmitAnything.js +0 -29
- package/testing/matchers/toEmitAnything.js.map +0 -1
- package/testing/matchers/toEmitError.d.ts +0 -7
- package/testing/matchers/toEmitError.js +0 -42
- package/testing/matchers/toEmitError.js.map +0 -1
- package/testing/matchers/toEmitNext.d.ts +0 -4
- package/testing/matchers/toEmitNext.js +0 -26
- package/testing/matchers/toEmitNext.js.map +0 -1
- package/testing/matchers/toEmitTypedValue.d.ts +0 -7
- package/testing/matchers/toEmitTypedValue.js +0 -38
- package/testing/matchers/toEmitTypedValue.js.map +0 -1
- package/testing/matchers/toHaveSuspenseCacheEntryUsing.d.ts +0 -11
- package/testing/matchers/toHaveSuspenseCacheEntryUsing.js +0 -22
- package/testing/matchers/toHaveSuspenseCacheEntryUsing.js.map +0 -1
- package/testing/matchers/toMatchDocument.d.ts +0 -4
- package/testing/matchers/toMatchDocument.js +0 -32
- package/testing/matchers/toMatchDocument.js.map +0 -1
- package/testing/matchers/toStrictEqualTyped.d.ts +0 -3
- package/testing/matchers/toStrictEqualTyped.js +0 -22
- package/testing/matchers/toStrictEqualTyped.js.map +0 -1
- package/testing/matchers/utils/getSerializableProperties.d.ts +0 -2
- package/testing/matchers/utils/getSerializableProperties.js +0 -20
- package/testing/matchers/utils/getSerializableProperties.js.map +0 -1
- package/utilities/caching/caches.d.ts +0 -34
- package/utilities/caching/caches.js +0 -69
- package/utilities/caching/caches.js.map +0 -1
- package/utilities/common/arrays.d.ts +0 -3
- package/utilities/common/arrays.js +0 -6
- package/utilities/common/arrays.js.map +0 -1
- package/utilities/common/canUse.d.ts +0 -3
- package/utilities/common/canUse.js +0 -21
- package/utilities/common/canUse.js.map +0 -1
- package/utilities/common/canonicalStringify.js +0 -85
- package/utilities/common/canonicalStringify.js.map +0 -1
- package/utilities/common/cloneDeep.d.ts +0 -5
- package/utilities/common/cloneDeep.js +0 -38
- package/utilities/common/cloneDeep.js.map +0 -1
- package/utilities/common/compact.d.ts +0 -7
- package/utilities/common/compact.js +0 -19
- package/utilities/common/compact.js.map +0 -1
- package/utilities/common/errorHandling.d.ts +0 -4
- package/utilities/common/errorHandling.js +0 -19
- package/utilities/common/errorHandling.js.map +0 -1
- package/utilities/common/incrementalResult.d.ts +0 -7
- package/utilities/common/incrementalResult.js +0 -38
- package/utilities/common/incrementalResult.js.map +0 -1
- package/utilities/common/makeUniqueId.d.ts +0 -2
- package/utilities/common/makeUniqueId.js +0 -9
- package/utilities/common/makeUniqueId.js.map +0 -1
- package/utilities/common/maybeDeepFreeze.d.ts +0 -4
- package/utilities/common/maybeDeepFreeze.js +0 -38
- package/utilities/common/maybeDeepFreeze.js.map +0 -1
- package/utilities/common/mergeDeep.d.ts +0 -14
- package/utilities/common/mergeDeep.js +0 -78
- package/utilities/common/mergeDeep.js.map +0 -1
- package/utilities/common/mergeOptions.d.ts +0 -5
- package/utilities/common/mergeOptions.js +0 -10
- package/utilities/common/mergeOptions.js.map +0 -1
- package/utilities/common/objects.d.ts +0 -3
- package/utilities/common/objects.js +0 -10
- package/utilities/common/objects.js.map +0 -1
- package/utilities/common/omitDeep.d.ts +0 -3
- package/utilities/common/omitDeep.js +0 -40
- package/utilities/common/omitDeep.js.map +0 -1
- package/utilities/common/stringifyForDisplay.d.ts +0 -2
- package/utilities/common/stringifyForDisplay.js +0 -10
- package/utilities/common/stringifyForDisplay.js.map +0 -1
- package/utilities/globals/global.js +0 -14
- package/utilities/globals/global.js.map +0 -1
- package/utilities/globals/index.js.map +0 -1
- package/utilities/globals/maybe.js.map +0 -1
- package/utilities/graphql/directives.d.ts +0 -20
- package/utilities/graphql/directives.js +0 -99
- package/utilities/graphql/directives.js.map +0 -1
- package/utilities/graphql/fragments.d.ts +0 -35
- package/utilities/graphql/fragments.js +0 -120
- package/utilities/graphql/fragments.js.map +0 -1
- package/utilities/graphql/getFromAST.d.ts +0 -15
- package/utilities/graphql/getFromAST.js +0 -91
- package/utilities/graphql/getFromAST.js.map +0 -1
- package/utilities/internal/observables.d.ts +0 -14
- package/utilities/internal/observables.js +0 -26
- package/utilities/internal/observables.js.map +0 -1
- package/utilities/promises/decoration.d.ts +0 -18
- package/utilities/promises/decoration.js +0 -39
- package/utilities/promises/decoration.js.map +0 -1
- package/utilities/promises/preventUnhandledRejection.js.map +0 -1
- package/utilities/types/DeepOmit.d.ts +0 -10
- package/utilities/types/DeepPartial.d.ts +0 -12
- package/utilities/types/DeepPartial.js.map +0 -1
- package/utilities/types/IsStrictlyAny.d.ts +0 -5
- package/utilities/types/IsStrictlyAny.js +0 -2
- package/utilities/types/IsStrictlyAny.js.map +0 -1
- package/utilities/types/NoInfer.d.ts +0 -27
- package/utilities/types/OnlyRequiredProperties.d.ts +0 -7
- package/utilities/types/OnlyRequiredProperties.js +0 -2
- package/utilities/types/OnlyRequiredProperties.js.map +0 -1
- package/utilities/types/Prettify.d.ts +0 -4
- package/utilities/types/Primitive.d.ts +0 -2
- package/utilities/types/RemoveIndexSignature.d.ts +0 -4
- package/utilities/types/UnionToIntersection.d.ts +0 -2
- package/utilities/types/UnionToIntersection.js +0 -2
- package/utilities/types/UnionToIntersection.js.map +0 -1
- /package/__cjs/utilities/{types/DeepPartial.cjs → DeepPartial.cjs} +0 -0
- /package/__cjs/utilities/{globals → internal/globals}/global.cjs +0 -0
- /package/__cjs/utilities/{globals → internal/globals}/global.d.cts +0 -0
- /package/__cjs/utilities/{globals → internal/globals}/index.cjs +0 -0
- /package/__cjs/utilities/{globals → internal/globals}/index.d.cts +0 -0
- /package/__cjs/utilities/{globals → internal/globals}/maybe.cjs +0 -0
- /package/__cjs/utilities/{globals → internal/globals}/maybe.d.cts +0 -0
- /package/__cjs/utilities/{promises → internal}/preventUnhandledRejection.cjs +0 -0
- /package/__cjs/utilities/{promises → internal}/preventUnhandledRejection.d.cts +0 -0
- /package/__cjs/utilities/{types → internal/types}/DeepOmit.cjs +0 -0
- /package/__cjs/utilities/{types → internal/types}/DeepOmit.cjs.map +0 -0
- /package/__cjs/utilities/{types → internal/types}/NoInfer.cjs +0 -0
- /package/__cjs/utilities/{types → internal/types}/NoInfer.cjs.map +0 -0
- /package/__cjs/utilities/{types → internal/types}/Prettify.cjs +0 -0
- /package/__cjs/utilities/{types → internal/types}/Prettify.cjs.map +0 -0
- /package/__cjs/utilities/{types → internal/types}/Primitive.cjs +0 -0
- /package/__cjs/utilities/{types → internal/types}/Primitive.cjs.map +0 -0
- /package/__cjs/utilities/{types → internal/types}/RemoveIndexSignature.cjs +0 -0
- /package/__cjs/utilities/{types → internal/types}/RemoveIndexSignature.cjs.map +0 -0
- /package/__cjs/utilities/{common → shared}/canonicalStringify.d.cts +0 -0
- /package/utilities/{types/DeepPartial.js → DeepPartial.js} +0 -0
- /package/utilities/{globals → internal/globals}/global.d.ts +0 -0
- /package/utilities/{globals → internal/globals}/index.d.ts +0 -0
- /package/utilities/{globals → internal/globals}/index.js +0 -0
- /package/utilities/{globals → internal/globals}/maybe.d.ts +0 -0
- /package/utilities/{globals → internal/globals}/maybe.js +0 -0
- /package/utilities/{promises → internal}/preventUnhandledRejection.d.ts +0 -0
- /package/utilities/{promises → internal}/preventUnhandledRejection.js +0 -0
- /package/utilities/{types → internal/types}/DeepOmit.js +0 -0
- /package/utilities/{types → internal/types}/DeepOmit.js.map +0 -0
- /package/utilities/{types → internal/types}/NoInfer.js +0 -0
- /package/utilities/{types → internal/types}/NoInfer.js.map +0 -0
- /package/utilities/{types → internal/types}/Prettify.js +0 -0
- /package/utilities/{types → internal/types}/Prettify.js.map +0 -0
- /package/utilities/{types → internal/types}/Primitive.js +0 -0
- /package/utilities/{types → internal/types}/Primitive.js.map +0 -0
- /package/utilities/{types → internal/types}/RemoveIndexSignature.js +0 -0
- /package/utilities/{types → internal/types}/RemoveIndexSignature.js.map +0 -0
- /package/utilities/{common → shared}/canonicalStringify.d.ts +0 -0
package/core/QueryManager.js
CHANGED
|
@@ -1,36 +1,34 @@
|
|
|
1
1
|
import { Trie } from "@wry/trie";
|
|
2
|
-
import { OperationTypeNode } from "graphql";
|
|
3
|
-
import {
|
|
2
|
+
import { BREAK, Kind, OperationTypeNode, visit } from "graphql";
|
|
3
|
+
import { Observable, throwError } from "rxjs";
|
|
4
|
+
import { catchError, concat, EMPTY, filter, finalize, from, lastValueFrom, map, materialize, mergeMap, of, share, shareReplay, Subject, tap, } from "rxjs";
|
|
4
5
|
import { canonicalStringify } from "@apollo/client/cache";
|
|
5
|
-
import { CombinedGraphQLErrors, graphQLResultHasProtocolErrors, toErrorLike, } from "@apollo/client/errors";
|
|
6
|
+
import { CombinedGraphQLErrors, graphQLResultHasProtocolErrors, registerLinkError, toErrorLike, } from "@apollo/client/errors";
|
|
6
7
|
import { PROTOCOL_ERRORS_SYMBOL } from "@apollo/client/errors";
|
|
7
|
-
import { execute } from "@apollo/client/link
|
|
8
|
+
import { execute } from "@apollo/client/link";
|
|
8
9
|
import { maskFragment, maskOperation } from "@apollo/client/masking";
|
|
9
|
-
import {
|
|
10
|
-
import { AutoCleanedWeakCache, cacheSizes } from "@apollo/client/utilities";
|
|
11
|
-
import { addNonReactiveToNamedFragments, hasDirectives, isExecutionPatchIncrementalResult, isExecutionPatchResult, isFullyUnmaskedOperation, removeDirectivesFromDocument, } from "@apollo/client/utilities";
|
|
12
|
-
import { DocumentTransform, getDefaultValues, getGraphQLErrorsFromResult, getOperationDefinition, getOperationName, graphQLResultHasError, hasClientExports, isDocumentNode, isNonEmptyArray, isNonNullObject, makeUniqueId, } from "@apollo/client/utilities";
|
|
13
|
-
import { mergeIncrementalData } from "@apollo/client/utilities";
|
|
10
|
+
import { cacheSizes, DocumentTransform, print } from "@apollo/client/utilities";
|
|
14
11
|
import { __DEV__ } from "@apollo/client/utilities/environment";
|
|
15
|
-
import {
|
|
12
|
+
import { AutoCleanedWeakCache, checkDocument, filterMap, getDefaultValues, getOperationDefinition, getOperationName, graphQLResultHasError, hasDirectives, hasForcedResolvers, isDocumentNode, isNonNullObject, makeUniqueId, removeDirectivesFromDocument, toQueryResult, } from "@apollo/client/utilities/internal";
|
|
16
13
|
import { invariant, newInvariantError, } from "@apollo/client/utilities/invariant";
|
|
17
14
|
import { isNetworkRequestInFlight, NetworkStatus } from "./networkStatus.js";
|
|
18
15
|
import { logMissingFieldErrors, ObservableQuery } from "./ObservableQuery.js";
|
|
19
|
-
import { QueryInfo
|
|
20
|
-
const { hasOwnProperty } = Object.prototype;
|
|
21
|
-
const IGNORE = {};
|
|
16
|
+
import { QueryInfo } from "./QueryInfo.js";
|
|
22
17
|
export class QueryManager {
|
|
23
|
-
cache;
|
|
24
|
-
link;
|
|
25
18
|
defaultOptions;
|
|
19
|
+
client;
|
|
20
|
+
/**
|
|
21
|
+
* The options that were passed to the ApolloClient constructor.
|
|
22
|
+
*/
|
|
23
|
+
clientOptions;
|
|
26
24
|
assumeImmutableResults;
|
|
27
25
|
documentTransform;
|
|
28
26
|
ssrMode;
|
|
29
27
|
defaultContext;
|
|
30
28
|
dataMasking;
|
|
31
|
-
|
|
32
|
-
clientAwareness = {};
|
|
29
|
+
incrementalHandler;
|
|
33
30
|
localState;
|
|
31
|
+
queryDeduplication;
|
|
34
32
|
/**
|
|
35
33
|
* Whether to prioritize cache values over network results when
|
|
36
34
|
* `fetchObservableWithInfo` is called.
|
|
@@ -44,10 +42,11 @@ export class QueryManager {
|
|
|
44
42
|
prioritizeCacheValues = false;
|
|
45
43
|
onBroadcast;
|
|
46
44
|
mutationStore;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
45
|
+
/**
|
|
46
|
+
* All ObservableQueries that currently have at least one subscriber.
|
|
47
|
+
*/
|
|
48
|
+
obsQueries = new Set();
|
|
49
|
+
// Maps from queryInfo.id strings to Promise rejection functions for
|
|
51
50
|
// currently active queries and fetches.
|
|
52
51
|
// Use protected instead of private field so
|
|
53
52
|
// @apollo/experimental-nextjs-app-support can access type info.
|
|
@@ -56,15 +55,15 @@ export class QueryManager {
|
|
|
56
55
|
const defaultDocumentTransform = new DocumentTransform((document) => this.cache.transformDocument(document),
|
|
57
56
|
// Allow the apollo cache to manage its own transform caches
|
|
58
57
|
{ cache: false });
|
|
59
|
-
this.
|
|
60
|
-
this.link = options.link;
|
|
58
|
+
this.client = options.client;
|
|
61
59
|
this.defaultOptions = options.defaultOptions;
|
|
62
60
|
this.queryDeduplication = options.queryDeduplication;
|
|
63
|
-
this.
|
|
64
|
-
this.localState = options.localState;
|
|
61
|
+
this.clientOptions = options.clientOptions;
|
|
65
62
|
this.ssrMode = options.ssrMode;
|
|
66
63
|
this.assumeImmutableResults = options.assumeImmutableResults;
|
|
67
64
|
this.dataMasking = options.dataMasking;
|
|
65
|
+
this.localState = options.localState;
|
|
66
|
+
this.incrementalHandler = options.incrementalHandler;
|
|
68
67
|
const documentTransform = options.documentTransform;
|
|
69
68
|
this.documentTransform =
|
|
70
69
|
documentTransform ?
|
|
@@ -81,44 +80,54 @@ export class QueryManager {
|
|
|
81
80
|
this.mutationStore = {};
|
|
82
81
|
}
|
|
83
82
|
}
|
|
83
|
+
get link() {
|
|
84
|
+
return this.client.link;
|
|
85
|
+
}
|
|
86
|
+
get cache() {
|
|
87
|
+
return this.client.cache;
|
|
88
|
+
}
|
|
84
89
|
/**
|
|
85
90
|
* Call this method to terminate any active query processes, making it safe
|
|
86
91
|
* to dispose of this QueryManager instance.
|
|
87
92
|
*/
|
|
88
93
|
stop() {
|
|
89
|
-
this.
|
|
90
|
-
|
|
91
|
-
});
|
|
92
|
-
this.cancelPendingFetches(newInvariantError(72));
|
|
94
|
+
this.obsQueries.forEach((oq) => oq.stop());
|
|
95
|
+
this.cancelPendingFetches(newInvariantError(85));
|
|
93
96
|
}
|
|
94
97
|
cancelPendingFetches(error) {
|
|
95
98
|
this.fetchCancelFns.forEach((cancel) => cancel(error));
|
|
96
99
|
this.fetchCancelFns.clear();
|
|
97
100
|
}
|
|
98
|
-
async mutate({ mutation, variables, optimisticResponse, updateQueries, refetchQueries = [], awaitRefetchQueries = false, update: updateWithProxyFn, onQueryUpdated, fetchPolicy
|
|
99
|
-
|
|
100
|
-
checkDocument(mutation, OperationTypeNode.MUTATION);
|
|
101
|
-
invariant(fetchPolicy === "network-only" || fetchPolicy === "no-cache", 74);
|
|
102
|
-
const mutationId = this.generateMutationId();
|
|
101
|
+
async mutate({ mutation, variables, optimisticResponse, updateQueries, refetchQueries = [], awaitRefetchQueries = false, update: updateWithProxyFn, onQueryUpdated, fetchPolicy, errorPolicy, keepRootFields, context, }) {
|
|
102
|
+
const queryInfo = new QueryInfo(this);
|
|
103
103
|
mutation = this.cache.transformForLink(this.transform(mutation));
|
|
104
104
|
const { hasClientExports } = this.getDocumentInfo(mutation);
|
|
105
105
|
variables = this.getVariables(mutation, variables);
|
|
106
106
|
if (hasClientExports) {
|
|
107
|
-
|
|
107
|
+
if (__DEV__) {
|
|
108
|
+
invariant(this.localState, 86, getOperationName(mutation, "(anonymous)"));
|
|
109
|
+
}
|
|
110
|
+
variables = await this.localState.getExportedVariables({
|
|
111
|
+
client: this.client,
|
|
112
|
+
document: mutation,
|
|
113
|
+
variables,
|
|
114
|
+
context,
|
|
115
|
+
});
|
|
108
116
|
}
|
|
109
117
|
const mutationStoreValue = this.mutationStore &&
|
|
110
|
-
(this.mutationStore[
|
|
118
|
+
(this.mutationStore[queryInfo.id] = {
|
|
111
119
|
mutation,
|
|
112
120
|
variables,
|
|
113
121
|
loading: true,
|
|
114
122
|
error: null,
|
|
115
123
|
});
|
|
116
124
|
const isOptimistic = optimisticResponse &&
|
|
117
|
-
|
|
118
|
-
mutationId,
|
|
125
|
+
queryInfo.markMutationOptimistic(optimisticResponse, {
|
|
119
126
|
document: mutation,
|
|
120
127
|
variables,
|
|
121
|
-
fetchPolicy
|
|
128
|
+
cacheWriteBehavior: fetchPolicy === "no-cache" ?
|
|
129
|
+
0 /* CacheWriteBehavior.FORBID */
|
|
130
|
+
: 2 /* CacheWriteBehavior.MERGE */,
|
|
122
131
|
errorPolicy,
|
|
123
132
|
context,
|
|
124
133
|
updateQueries,
|
|
@@ -127,42 +136,40 @@ export class QueryManager {
|
|
|
127
136
|
});
|
|
128
137
|
this.broadcastQueries();
|
|
129
138
|
return new Promise((resolve, reject) => {
|
|
139
|
+
const cause = {};
|
|
130
140
|
return this.getObservableFromLink(mutation, {
|
|
131
141
|
...context,
|
|
132
142
|
optimisticResponse: isOptimistic ? optimisticResponse : void 0,
|
|
133
143
|
}, variables, {}, false)
|
|
134
|
-
.pipe(validateDidEmitValue(), mergeMap((result) => {
|
|
135
|
-
const hasErrors = graphQLResultHasError(result);
|
|
136
|
-
if (hasErrors && errorPolicy === "none") {
|
|
137
|
-
throw new CombinedGraphQLErrors(result);
|
|
138
|
-
}
|
|
139
|
-
if (mutationStoreValue) {
|
|
140
|
-
mutationStoreValue.loading = false;
|
|
141
|
-
mutationStoreValue.error = null;
|
|
142
|
-
}
|
|
144
|
+
.observable.pipe(validateDidEmitValue(), mergeMap((result) => {
|
|
143
145
|
const storeResult = { ...result };
|
|
144
|
-
|
|
145
|
-
refetchQueries = refetchQueries(storeResult);
|
|
146
|
-
}
|
|
147
|
-
if (errorPolicy === "ignore" && hasErrors) {
|
|
148
|
-
delete storeResult.errors;
|
|
149
|
-
}
|
|
150
|
-
return from(this.markMutationResult({
|
|
151
|
-
mutationId,
|
|
152
|
-
result: storeResult,
|
|
146
|
+
return from(queryInfo.markMutationResult(storeResult, {
|
|
153
147
|
document: mutation,
|
|
154
148
|
variables,
|
|
155
|
-
fetchPolicy
|
|
149
|
+
cacheWriteBehavior: fetchPolicy === "no-cache" ?
|
|
150
|
+
0 /* CacheWriteBehavior.FORBID */
|
|
151
|
+
: 2 /* CacheWriteBehavior.MERGE */,
|
|
156
152
|
errorPolicy,
|
|
157
153
|
context,
|
|
158
154
|
update: updateWithProxyFn,
|
|
159
155
|
updateQueries,
|
|
160
156
|
awaitRefetchQueries,
|
|
161
157
|
refetchQueries,
|
|
162
|
-
removeOptimistic: isOptimistic ?
|
|
158
|
+
removeOptimistic: isOptimistic ? queryInfo.id : void 0,
|
|
163
159
|
onQueryUpdated,
|
|
164
160
|
keepRootFields,
|
|
165
161
|
}));
|
|
162
|
+
}))
|
|
163
|
+
.pipe(map((storeResult) => {
|
|
164
|
+
const hasErrors = graphQLResultHasError(storeResult);
|
|
165
|
+
if (hasErrors && errorPolicy === "none") {
|
|
166
|
+
throw new CombinedGraphQLErrors(storeResult);
|
|
167
|
+
}
|
|
168
|
+
if (mutationStoreValue) {
|
|
169
|
+
mutationStoreValue.loading = false;
|
|
170
|
+
mutationStoreValue.error = null;
|
|
171
|
+
}
|
|
172
|
+
return storeResult;
|
|
166
173
|
}))
|
|
167
174
|
.subscribe({
|
|
168
175
|
next: (storeResult) => {
|
|
@@ -172,32 +179,31 @@ export class QueryManager {
|
|
|
172
179
|
// we resolve with a SingleExecutionResult or after the final
|
|
173
180
|
// ExecutionPatchResult has arrived and we have assembled the
|
|
174
181
|
// multipart response into a single result.
|
|
175
|
-
if (!
|
|
182
|
+
if (!queryInfo.hasNext) {
|
|
176
183
|
const result = {
|
|
177
184
|
data: this.maskOperation({
|
|
178
185
|
document: mutation,
|
|
179
186
|
data: storeResult.data,
|
|
180
187
|
fetchPolicy,
|
|
181
|
-
|
|
188
|
+
cause,
|
|
182
189
|
}),
|
|
183
190
|
};
|
|
184
191
|
if (graphQLResultHasError(storeResult)) {
|
|
185
192
|
result.error = new CombinedGraphQLErrors(storeResult);
|
|
186
193
|
}
|
|
187
|
-
if (storeResult.extensions) {
|
|
194
|
+
if (Object.keys(storeResult.extensions || {}).length) {
|
|
188
195
|
result.extensions = storeResult.extensions;
|
|
189
196
|
}
|
|
190
197
|
resolve(result);
|
|
191
198
|
}
|
|
192
199
|
},
|
|
193
|
-
error: (
|
|
194
|
-
const error = toErrorLike(err);
|
|
200
|
+
error: (error) => {
|
|
195
201
|
if (mutationStoreValue) {
|
|
196
202
|
mutationStoreValue.loading = false;
|
|
197
203
|
mutationStoreValue.error = error;
|
|
198
204
|
}
|
|
199
205
|
if (isOptimistic) {
|
|
200
|
-
this.cache.removeOptimistic(
|
|
206
|
+
this.cache.removeOptimistic(queryInfo.id);
|
|
201
207
|
}
|
|
202
208
|
this.broadcastQueries();
|
|
203
209
|
if (errorPolicy === "ignore") {
|
|
@@ -211,196 +217,26 @@ export class QueryManager {
|
|
|
211
217
|
});
|
|
212
218
|
});
|
|
213
219
|
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
if (isExecutionPatchIncrementalResult(result) &&
|
|
228
|
-
isNonEmptyArray(result.incremental)) {
|
|
229
|
-
const diff = cache.diff({
|
|
230
|
-
id: "ROOT_MUTATION",
|
|
231
|
-
// The cache complains if passed a mutation where it expects a
|
|
232
|
-
// query, so we transform mutations and subscriptions to queries
|
|
233
|
-
// (only once, thanks to this.transformCache).
|
|
234
|
-
query: this.getDocumentInfo(mutation.document).asQuery,
|
|
235
|
-
variables: mutation.variables,
|
|
236
|
-
optimistic: false,
|
|
237
|
-
returnPartialData: true,
|
|
238
|
-
});
|
|
239
|
-
let mergedData;
|
|
240
|
-
if (diff.result) {
|
|
241
|
-
mergedData = mergeIncrementalData(diff.result, result);
|
|
242
|
-
}
|
|
243
|
-
if (typeof mergedData !== "undefined") {
|
|
244
|
-
// cast the ExecutionPatchResult to FetchResult here since
|
|
245
|
-
// ExecutionPatchResult never has `data` when returned from the server
|
|
246
|
-
result.data = mergedData;
|
|
247
|
-
cacheWrites.push({
|
|
248
|
-
result: mergedData,
|
|
249
|
-
dataId: "ROOT_MUTATION",
|
|
250
|
-
query: mutation.document,
|
|
251
|
-
variables: mutation.variables,
|
|
252
|
-
});
|
|
220
|
+
fetchQuery(options, networkStatus) {
|
|
221
|
+
checkDocument(options.query, OperationTypeNode.QUERY);
|
|
222
|
+
// do the rest asynchronously to keep the same rejection timing as
|
|
223
|
+
// checks further in `.mutate`
|
|
224
|
+
return (async () => lastValueFrom(this.fetchObservableWithInfo(options, {
|
|
225
|
+
networkStatus,
|
|
226
|
+
}).observable.pipe(filterMap((value) => {
|
|
227
|
+
switch (value.kind) {
|
|
228
|
+
case "E":
|
|
229
|
+
throw value.error;
|
|
230
|
+
case "N": {
|
|
231
|
+
if (value.source !== "newNetworkStatus")
|
|
232
|
+
return toQueryResult(value.value);
|
|
253
233
|
}
|
|
254
234
|
}
|
|
255
|
-
|
|
256
|
-
if (updateQueries) {
|
|
257
|
-
this.queries.forEach(({ observableQuery }, queryId) => {
|
|
258
|
-
const queryName = observableQuery && observableQuery.queryName;
|
|
259
|
-
if (!queryName || !hasOwnProperty.call(updateQueries, queryName)) {
|
|
260
|
-
return;
|
|
261
|
-
}
|
|
262
|
-
const updater = updateQueries[queryName];
|
|
263
|
-
const { document, variables } = this.queries.get(queryId);
|
|
264
|
-
// Read the current query result from the store.
|
|
265
|
-
const { result: currentQueryResult, complete } = cache.diff({
|
|
266
|
-
query: document,
|
|
267
|
-
variables,
|
|
268
|
-
returnPartialData: true,
|
|
269
|
-
optimistic: false,
|
|
270
|
-
});
|
|
271
|
-
if (complete && currentQueryResult) {
|
|
272
|
-
// Run our reducer using the current query result and the mutation result.
|
|
273
|
-
const nextQueryResult = updater(currentQueryResult, {
|
|
274
|
-
mutationResult: result,
|
|
275
|
-
queryName: (document && getOperationName(document)) || void 0,
|
|
276
|
-
queryVariables: variables,
|
|
277
|
-
});
|
|
278
|
-
// Write the modified result back into the store if we got a new result.
|
|
279
|
-
if (nextQueryResult) {
|
|
280
|
-
cacheWrites.push({
|
|
281
|
-
result: nextQueryResult,
|
|
282
|
-
dataId: "ROOT_QUERY",
|
|
283
|
-
query: document,
|
|
284
|
-
variables,
|
|
285
|
-
});
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
});
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
if (cacheWrites.length > 0 ||
|
|
292
|
-
(mutation.refetchQueries || "").length > 0 ||
|
|
293
|
-
mutation.update ||
|
|
294
|
-
mutation.onQueryUpdated ||
|
|
295
|
-
mutation.removeOptimistic) {
|
|
296
|
-
const results = [];
|
|
297
|
-
this.refetchQueries({
|
|
298
|
-
updateCache: (cache) => {
|
|
299
|
-
if (!skipCache) {
|
|
300
|
-
cacheWrites.forEach((write) => cache.write(write));
|
|
301
|
-
}
|
|
302
|
-
// If the mutation has some writes associated with it then we need to
|
|
303
|
-
// apply those writes to the store by running this reducer again with
|
|
304
|
-
// a write action.
|
|
305
|
-
const { update } = mutation;
|
|
306
|
-
// Determine whether result is a SingleExecutionResult,
|
|
307
|
-
// or the final ExecutionPatchResult.
|
|
308
|
-
const isFinalResult = !isExecutionPatchResult(result) ||
|
|
309
|
-
(isExecutionPatchIncrementalResult(result) && !result.hasNext);
|
|
310
|
-
if (update) {
|
|
311
|
-
if (!skipCache) {
|
|
312
|
-
// Re-read the ROOT_MUTATION data we just wrote into the cache
|
|
313
|
-
// (the first cache.write call in the cacheWrites.forEach loop
|
|
314
|
-
// above), so field read functions have a chance to run for
|
|
315
|
-
// fields within mutation result objects.
|
|
316
|
-
const diff = cache.diff({
|
|
317
|
-
id: "ROOT_MUTATION",
|
|
318
|
-
// The cache complains if passed a mutation where it expects a
|
|
319
|
-
// query, so we transform mutations and subscriptions to queries
|
|
320
|
-
// (only once, thanks to this.transformCache).
|
|
321
|
-
query: this.getDocumentInfo(mutation.document).asQuery,
|
|
322
|
-
variables: mutation.variables,
|
|
323
|
-
optimistic: false,
|
|
324
|
-
returnPartialData: true,
|
|
325
|
-
});
|
|
326
|
-
if (diff.complete) {
|
|
327
|
-
result = { ...result, data: diff.result };
|
|
328
|
-
if ("incremental" in result) {
|
|
329
|
-
delete result.incremental;
|
|
330
|
-
}
|
|
331
|
-
if ("hasNext" in result) {
|
|
332
|
-
delete result.hasNext;
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
// If we've received the whole response,
|
|
337
|
-
// either a SingleExecutionResult or the final ExecutionPatchResult,
|
|
338
|
-
// call the update function.
|
|
339
|
-
if (isFinalResult) {
|
|
340
|
-
update(cache, result, {
|
|
341
|
-
context: mutation.context,
|
|
342
|
-
variables: mutation.variables,
|
|
343
|
-
});
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
// TODO Do this with cache.evict({ id: 'ROOT_MUTATION' }) but make it
|
|
347
|
-
// shallow to allow rolling back optimistic evictions.
|
|
348
|
-
if (!skipCache && !mutation.keepRootFields && isFinalResult) {
|
|
349
|
-
cache.modify({
|
|
350
|
-
id: "ROOT_MUTATION",
|
|
351
|
-
fields(value, { fieldName, DELETE }) {
|
|
352
|
-
return fieldName === "__typename" ? value : DELETE;
|
|
353
|
-
},
|
|
354
|
-
});
|
|
355
|
-
}
|
|
356
|
-
},
|
|
357
|
-
include: mutation.refetchQueries,
|
|
358
|
-
// Write the final mutation.result to the root layer of the cache.
|
|
359
|
-
optimistic: false,
|
|
360
|
-
// Remove the corresponding optimistic layer at the same time as we
|
|
361
|
-
// write the final non-optimistic result.
|
|
362
|
-
removeOptimistic: mutation.removeOptimistic,
|
|
363
|
-
// Let the caller of client.mutate optionally determine the refetching
|
|
364
|
-
// behavior for watched queries after the mutation.update function runs.
|
|
365
|
-
// If no onQueryUpdated function was provided for this mutation, pass
|
|
366
|
-
// null instead of undefined to disable the default refetching behavior.
|
|
367
|
-
onQueryUpdated: mutation.onQueryUpdated || null,
|
|
368
|
-
}).forEach((result) => results.push(result));
|
|
369
|
-
if (mutation.awaitRefetchQueries || mutation.onQueryUpdated) {
|
|
370
|
-
// Returning a promise here makes the mutation await that promise, so we
|
|
371
|
-
// include results in that promise's work if awaitRefetchQueries or an
|
|
372
|
-
// onQueryUpdated function was specified.
|
|
373
|
-
return Promise.all(results).then(() => result);
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
return Promise.resolve(result);
|
|
377
|
-
}
|
|
378
|
-
markMutationOptimistic(optimisticResponse, mutation) {
|
|
379
|
-
const data = typeof optimisticResponse === "function" ?
|
|
380
|
-
optimisticResponse(mutation.variables, { IGNORE })
|
|
381
|
-
: optimisticResponse;
|
|
382
|
-
if (data === IGNORE) {
|
|
383
|
-
return false;
|
|
384
|
-
}
|
|
385
|
-
this.cache.recordOptimisticTransaction((cache) => {
|
|
386
|
-
try {
|
|
387
|
-
this.markMutationResult({
|
|
388
|
-
...mutation,
|
|
389
|
-
result: { data },
|
|
390
|
-
}, cache);
|
|
391
|
-
}
|
|
392
|
-
catch (error) {
|
|
393
|
-
__DEV__ && invariant.error(error);
|
|
394
|
-
}
|
|
395
|
-
}, mutation.mutationId);
|
|
396
|
-
return true;
|
|
397
|
-
}
|
|
398
|
-
fetchQuery(queryId, options, networkStatus) {
|
|
399
|
-
return lastValueFrom(this.fetchObservableWithInfo(this.getOrCreateQuery(queryId), options, networkStatus).observable.pipe(map(toQueryResult)), {
|
|
235
|
+
})), {
|
|
400
236
|
// This default is needed when a `standby` fetch policy is used to avoid
|
|
401
237
|
// an EmptyError from rejecting this promise.
|
|
402
238
|
defaultValue: { data: undefined },
|
|
403
|
-
});
|
|
239
|
+
}))();
|
|
404
240
|
}
|
|
405
241
|
transform(document) {
|
|
406
242
|
return this.documentTransform.transformDocument(document);
|
|
@@ -410,24 +246,27 @@ export class QueryManager {
|
|
|
410
246
|
getDocumentInfo(document) {
|
|
411
247
|
const { transformCache } = this;
|
|
412
248
|
if (!transformCache.has(document)) {
|
|
249
|
+
const operationDefinition = getOperationDefinition(document);
|
|
413
250
|
const cacheEntry = {
|
|
414
251
|
// TODO These three calls (hasClientExports, shouldForceResolvers, and
|
|
415
252
|
// usesNonreactiveDirective) are performing independent full traversals
|
|
416
253
|
// of the transformed document. We should consider merging these
|
|
417
254
|
// traversals into a single pass in the future, though the work is
|
|
418
255
|
// cached after the first time.
|
|
419
|
-
hasClientExports:
|
|
420
|
-
hasForcedResolvers:
|
|
256
|
+
hasClientExports: hasDirectives(["client", "export"], document, true),
|
|
257
|
+
hasForcedResolvers: hasForcedResolvers(document),
|
|
421
258
|
hasNonreactiveDirective: hasDirectives(["nonreactive"], document),
|
|
259
|
+
hasIncrementalDirective: hasDirectives(["defer"], document),
|
|
422
260
|
nonReactiveQuery: addNonReactiveToNamedFragments(document),
|
|
423
|
-
clientQuery:
|
|
261
|
+
clientQuery: hasDirectives(["client"], document) ? document : null,
|
|
424
262
|
serverQuery: removeDirectivesFromDocument([
|
|
425
263
|
{ name: "client", remove: true },
|
|
426
264
|
{ name: "connection" },
|
|
427
265
|
{ name: "nonreactive" },
|
|
428
266
|
{ name: "unmask" },
|
|
429
267
|
], document),
|
|
430
|
-
|
|
268
|
+
operationType: operationDefinition?.operation,
|
|
269
|
+
defaultVars: getDefaultValues(operationDefinition),
|
|
431
270
|
// Transform any mutation or subscription operations to query operations
|
|
432
271
|
// so we can read/write them from/to the cache.
|
|
433
272
|
asQuery: {
|
|
@@ -443,12 +282,18 @@ export class QueryManager {
|
|
|
443
282
|
};
|
|
444
283
|
transformCache.set(document, cacheEntry);
|
|
445
284
|
}
|
|
446
|
-
|
|
285
|
+
const entry = transformCache.get(document);
|
|
286
|
+
if (entry.violation) {
|
|
287
|
+
throw entry.violation;
|
|
288
|
+
}
|
|
289
|
+
return entry;
|
|
447
290
|
}
|
|
448
291
|
getVariables(document, variables) {
|
|
292
|
+
const defaultVars = this.getDocumentInfo(document).defaultVars;
|
|
293
|
+
const varsWithDefaults = Object.entries(variables ?? {}).map(([key, value]) => [key, value === undefined ? defaultVars[key] : value]);
|
|
449
294
|
return {
|
|
450
|
-
...
|
|
451
|
-
...
|
|
295
|
+
...defaultVars,
|
|
296
|
+
...Object.fromEntries(varsWithDefaults),
|
|
452
297
|
};
|
|
453
298
|
}
|
|
454
299
|
watchQuery(options) {
|
|
@@ -464,49 +309,31 @@ export class QueryManager {
|
|
|
464
309
|
if (typeof options.notifyOnNetworkStatusChange === "undefined") {
|
|
465
310
|
options.notifyOnNetworkStatusChange = true;
|
|
466
311
|
}
|
|
467
|
-
const queryInfo = new QueryInfo(this);
|
|
468
312
|
const observable = new ObservableQuery({
|
|
469
313
|
queryManager: this,
|
|
470
|
-
queryInfo,
|
|
471
314
|
options,
|
|
315
|
+
transformedQuery: query,
|
|
472
316
|
});
|
|
473
|
-
observable["lastQuery"] = query;
|
|
474
|
-
if (!ObservableQuery["inactiveOnCreation"].getValue()) {
|
|
475
|
-
this.queries.set(observable.queryId, queryInfo);
|
|
476
|
-
}
|
|
477
|
-
// We give queryInfo the transformed query to ensure the first cache diff
|
|
478
|
-
// uses the transformed query instead of the raw query
|
|
479
|
-
queryInfo.init({ document: query, variables: observable.variables });
|
|
480
|
-
queryInfo.setObservableQuery(observable);
|
|
481
317
|
return observable;
|
|
482
318
|
}
|
|
483
|
-
query(options
|
|
484
|
-
checkDocument(options.query, OperationTypeNode.QUERY);
|
|
319
|
+
query(options) {
|
|
485
320
|
const query = this.transform(options.query);
|
|
486
|
-
return this.fetchQuery(
|
|
487
|
-
|
|
321
|
+
return this.fetchQuery({
|
|
322
|
+
...options,
|
|
323
|
+
query,
|
|
324
|
+
}).then((value) => ({
|
|
488
325
|
...value,
|
|
489
326
|
data: this.maskOperation({
|
|
490
327
|
document: query,
|
|
491
328
|
data: value?.data,
|
|
492
329
|
fetchPolicy: options.fetchPolicy,
|
|
493
|
-
id: queryId,
|
|
494
330
|
}),
|
|
495
|
-
}))
|
|
496
|
-
.finally(() => this.stopQuery(queryId));
|
|
497
|
-
}
|
|
498
|
-
queryIdCounter = 1;
|
|
499
|
-
generateQueryId() {
|
|
500
|
-
return String(this.queryIdCounter++);
|
|
331
|
+
}));
|
|
501
332
|
}
|
|
502
333
|
requestIdCounter = 1;
|
|
503
334
|
generateRequestId() {
|
|
504
335
|
return this.requestIdCounter++;
|
|
505
336
|
}
|
|
506
|
-
mutationIdCounter = 1;
|
|
507
|
-
generateMutationId() {
|
|
508
|
-
return String(this.mutationIdCounter++);
|
|
509
|
-
}
|
|
510
337
|
clearStore(options = {
|
|
511
338
|
discardWatches: true,
|
|
512
339
|
}) {
|
|
@@ -515,16 +342,11 @@ export class QueryManager {
|
|
|
515
342
|
// depend on values that previously existed in the data portion of the
|
|
516
343
|
// store. So, we cancel the promises and observers that we have issued
|
|
517
344
|
// so far and not yet resolved (in the case of queries).
|
|
518
|
-
this.cancelPendingFetches(newInvariantError(
|
|
519
|
-
this.
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
queryInfo.observableQuery["networkStatus"] = NetworkStatus.loading;
|
|
524
|
-
}
|
|
525
|
-
else {
|
|
526
|
-
queryInfo.stop();
|
|
527
|
-
}
|
|
345
|
+
this.cancelPendingFetches(newInvariantError(87));
|
|
346
|
+
this.obsQueries.forEach((observableQuery) => {
|
|
347
|
+
// Set loading to true so listeners don't trigger unless they want
|
|
348
|
+
// results with partial data.
|
|
349
|
+
observableQuery.reset();
|
|
528
350
|
});
|
|
529
351
|
if (this.mutationStore) {
|
|
530
352
|
this.mutationStore = {};
|
|
@@ -533,7 +355,7 @@ export class QueryManager {
|
|
|
533
355
|
return this.cache.reset(options);
|
|
534
356
|
}
|
|
535
357
|
getObservableQueries(include = "active") {
|
|
536
|
-
const queries = new
|
|
358
|
+
const queries = new Set();
|
|
537
359
|
const queryNames = new Map();
|
|
538
360
|
const queryNamesAndQueryStrings = new Map();
|
|
539
361
|
const legacyQueryOptions = new Set();
|
|
@@ -553,49 +375,36 @@ export class QueryManager {
|
|
|
553
375
|
}
|
|
554
376
|
});
|
|
555
377
|
}
|
|
556
|
-
this.
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
queryNamesAndQueryStrings.set(print(document), true);
|
|
575
|
-
}
|
|
378
|
+
this.obsQueries.forEach((oq) => {
|
|
379
|
+
const document = print(this.transform(oq.options.query));
|
|
380
|
+
if (include === "all") {
|
|
381
|
+
queries.add(oq);
|
|
382
|
+
return;
|
|
383
|
+
}
|
|
384
|
+
const { queryName, options: { fetchPolicy }, } = oq;
|
|
385
|
+
if (include === "active" && fetchPolicy === "standby") {
|
|
386
|
+
return;
|
|
387
|
+
}
|
|
388
|
+
if (include === "active" ||
|
|
389
|
+
(queryName && queryNamesAndQueryStrings.has(queryName)) ||
|
|
390
|
+
(document && queryNamesAndQueryStrings.has(document))) {
|
|
391
|
+
queries.add(oq);
|
|
392
|
+
if (queryName)
|
|
393
|
+
queryNamesAndQueryStrings.set(queryName, true);
|
|
394
|
+
if (document)
|
|
395
|
+
queryNamesAndQueryStrings.set(document, true);
|
|
576
396
|
}
|
|
577
397
|
});
|
|
578
398
|
if (legacyQueryOptions.size) {
|
|
579
399
|
legacyQueryOptions.forEach((options) => {
|
|
580
|
-
// We will be issuing a fresh network request for this query, so we
|
|
581
|
-
// pre-allocate a new query ID here, using a special prefix to enable
|
|
582
|
-
// cleaning up these temporary queries later, after fetching.
|
|
583
|
-
const queryId = makeUniqueId("legacyOneTimeQuery");
|
|
584
|
-
const queryInfo = this.getOrCreateQuery(queryId).init({
|
|
585
|
-
document: options.query,
|
|
586
|
-
variables: options.variables,
|
|
587
|
-
});
|
|
588
400
|
const oq = new ObservableQuery({
|
|
589
401
|
queryManager: this,
|
|
590
|
-
queryInfo,
|
|
591
402
|
options: {
|
|
592
403
|
...options,
|
|
593
404
|
fetchPolicy: "network-only",
|
|
594
405
|
},
|
|
595
406
|
});
|
|
596
|
-
|
|
597
|
-
queryInfo.setObservableQuery(oq);
|
|
598
|
-
queries.set(queryId, oq);
|
|
407
|
+
queries.add(oq);
|
|
599
408
|
});
|
|
600
409
|
}
|
|
601
410
|
if (__DEV__ && queryNamesAndQueryStrings.size) {
|
|
@@ -603,26 +412,24 @@ export class QueryManager {
|
|
|
603
412
|
if (!included) {
|
|
604
413
|
const queryName = queryNames.get(nameOrQueryString);
|
|
605
414
|
if (queryName) {
|
|
606
|
-
__DEV__ && invariant.warn(
|
|
415
|
+
__DEV__ && invariant.warn(88, queryName);
|
|
607
416
|
}
|
|
608
417
|
else {
|
|
609
|
-
__DEV__ && invariant.warn(
|
|
418
|
+
__DEV__ && invariant.warn(89);
|
|
610
419
|
}
|
|
611
420
|
}
|
|
612
421
|
});
|
|
613
422
|
}
|
|
614
423
|
return queries;
|
|
615
424
|
}
|
|
616
|
-
|
|
425
|
+
refetchObservableQueries(includeStandby = false) {
|
|
617
426
|
const observableQueryPromises = [];
|
|
618
|
-
this.getObservableQueries(includeStandby ? "all" : "active").forEach((observableQuery
|
|
427
|
+
this.getObservableQueries(includeStandby ? "all" : "active").forEach((observableQuery) => {
|
|
619
428
|
const { fetchPolicy } = observableQuery.options;
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
(fetchPolicy !== "standby" && fetchPolicy !== "cache-only")) {
|
|
429
|
+
if ((includeStandby || fetchPolicy !== "standby") &&
|
|
430
|
+
fetchPolicy !== "cache-only") {
|
|
623
431
|
observableQueryPromises.push(observableQuery.refetch());
|
|
624
432
|
}
|
|
625
|
-
(this.queries.get(queryId) || observableQuery["queryInfo"]).setDiff(null);
|
|
626
433
|
});
|
|
627
434
|
this.broadcastQueries();
|
|
628
435
|
return Promise.all(observableQueryPromises);
|
|
@@ -633,83 +440,69 @@ export class QueryManager {
|
|
|
633
440
|
checkDocument(query, OperationTypeNode.SUBSCRIPTION);
|
|
634
441
|
query = this.transform(query);
|
|
635
442
|
variables = this.getVariables(query, variables);
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
result: rawResult.data,
|
|
644
|
-
dataId: "ROOT_SUBSCRIPTION",
|
|
645
|
-
variables: variables,
|
|
646
|
-
});
|
|
647
|
-
}
|
|
648
|
-
this.broadcastQueries();
|
|
649
|
-
}
|
|
650
|
-
const result = {
|
|
651
|
-
data: rawResult.data ?? undefined,
|
|
652
|
-
};
|
|
653
|
-
if (graphQLResultHasError(rawResult)) {
|
|
654
|
-
result.error = new CombinedGraphQLErrors(rawResult);
|
|
655
|
-
}
|
|
656
|
-
else if (graphQLResultHasProtocolErrors(rawResult)) {
|
|
657
|
-
result.error = rawResult.extensions[PROTOCOL_ERRORS_SYMBOL];
|
|
658
|
-
// Don't emit protocol errors added by HttpLink
|
|
659
|
-
delete rawResult.extensions[PROTOCOL_ERRORS_SYMBOL];
|
|
660
|
-
}
|
|
661
|
-
if (rawResult.extensions &&
|
|
662
|
-
Object.keys(rawResult.extensions).length) {
|
|
663
|
-
result.extensions = rawResult.extensions;
|
|
664
|
-
}
|
|
665
|
-
if (result.error && errorPolicy === "none") {
|
|
666
|
-
result.data = undefined;
|
|
667
|
-
}
|
|
668
|
-
if (errorPolicy === "ignore") {
|
|
669
|
-
delete result.error;
|
|
670
|
-
}
|
|
671
|
-
return result;
|
|
672
|
-
}), catchError((error) => {
|
|
673
|
-
if (errorPolicy === "ignore") {
|
|
674
|
-
return of({ data: undefined });
|
|
675
|
-
}
|
|
676
|
-
return of({ data: undefined, error: toErrorLike(error) });
|
|
677
|
-
}), filter((result) => !!(result.data || result.error)));
|
|
678
|
-
if (this.getDocumentInfo(query).hasClientExports) {
|
|
679
|
-
const observablePromise = this.localState
|
|
680
|
-
.addExportedVariables(query, variables, context)
|
|
681
|
-
.then(makeObservable);
|
|
682
|
-
return new Observable((observer) => {
|
|
683
|
-
let sub = null;
|
|
684
|
-
observablePromise.then((observable) => (sub = observable.subscribe(observer)), observer.error);
|
|
685
|
-
return () => sub && sub.unsubscribe();
|
|
686
|
-
});
|
|
687
|
-
}
|
|
688
|
-
return makeObservable(variables);
|
|
689
|
-
}
|
|
690
|
-
stopQuery(queryId) {
|
|
691
|
-
this.removeQuery(queryId);
|
|
692
|
-
this.broadcastQueries();
|
|
693
|
-
}
|
|
694
|
-
removeQuery(queryId) {
|
|
695
|
-
// teardown all links
|
|
696
|
-
// Both `QueryManager.fetchRequest` and `QueryManager.query` create separate promises
|
|
697
|
-
// that each add their reject functions to fetchCancelFns.
|
|
698
|
-
// A query created with `QueryManager.query()` could trigger a `QueryManager.fetchRequest`.
|
|
699
|
-
// The same queryId could have two rejection fns for two promises
|
|
700
|
-
this.fetchCancelFns.delete(queryId);
|
|
701
|
-
if (this.queries.has(queryId)) {
|
|
702
|
-
this.queries.get(queryId)?.stop();
|
|
703
|
-
this.queries.delete(queryId);
|
|
443
|
+
let restart;
|
|
444
|
+
if (__DEV__) {
|
|
445
|
+
invariant(
|
|
446
|
+
!this.getDocumentInfo(query).hasClientExports || this.localState,
|
|
447
|
+
90,
|
|
448
|
+
getOperationName(query, "(anonymous)")
|
|
449
|
+
);
|
|
704
450
|
}
|
|
451
|
+
const observable = (this.getDocumentInfo(query).hasClientExports ?
|
|
452
|
+
from(this.localState.getExportedVariables({
|
|
453
|
+
client: this.client,
|
|
454
|
+
document: query,
|
|
455
|
+
variables,
|
|
456
|
+
context,
|
|
457
|
+
}))
|
|
458
|
+
: of(variables)).pipe(mergeMap((variables) => {
|
|
459
|
+
const { observable, restart: res } = this.getObservableFromLink(query, context, variables, extensions);
|
|
460
|
+
const queryInfo = new QueryInfo(this);
|
|
461
|
+
restart = res;
|
|
462
|
+
return observable.pipe(map((rawResult) => {
|
|
463
|
+
queryInfo.markSubscriptionResult(rawResult, {
|
|
464
|
+
document: query,
|
|
465
|
+
variables,
|
|
466
|
+
errorPolicy,
|
|
467
|
+
cacheWriteBehavior: fetchPolicy === "no-cache" ?
|
|
468
|
+
0 /* CacheWriteBehavior.FORBID */
|
|
469
|
+
: 2 /* CacheWriteBehavior.MERGE */,
|
|
470
|
+
});
|
|
471
|
+
const result = {
|
|
472
|
+
data: rawResult.data ?? undefined,
|
|
473
|
+
};
|
|
474
|
+
if (graphQLResultHasError(rawResult)) {
|
|
475
|
+
result.error = new CombinedGraphQLErrors(rawResult);
|
|
476
|
+
}
|
|
477
|
+
else if (graphQLResultHasProtocolErrors(rawResult)) {
|
|
478
|
+
result.error = rawResult.extensions[PROTOCOL_ERRORS_SYMBOL];
|
|
479
|
+
// Don't emit protocol errors added by HttpLink
|
|
480
|
+
delete rawResult.extensions[PROTOCOL_ERRORS_SYMBOL];
|
|
481
|
+
}
|
|
482
|
+
if (rawResult.extensions &&
|
|
483
|
+
Object.keys(rawResult.extensions).length) {
|
|
484
|
+
result.extensions = rawResult.extensions;
|
|
485
|
+
}
|
|
486
|
+
if (result.error && errorPolicy === "none") {
|
|
487
|
+
result.data = undefined;
|
|
488
|
+
}
|
|
489
|
+
if (errorPolicy === "ignore") {
|
|
490
|
+
delete result.error;
|
|
491
|
+
}
|
|
492
|
+
return result;
|
|
493
|
+
}), catchError((error) => {
|
|
494
|
+
if (errorPolicy === "ignore") {
|
|
495
|
+
return of({ data: undefined });
|
|
496
|
+
}
|
|
497
|
+
return of({ data: undefined, error });
|
|
498
|
+
}), filter((result) => !!(result.data || result.error)));
|
|
499
|
+
}));
|
|
500
|
+
return Object.assign(observable, { restart: () => restart?.() });
|
|
705
501
|
}
|
|
706
502
|
broadcastQueries() {
|
|
707
503
|
if (this.onBroadcast)
|
|
708
504
|
this.onBroadcast();
|
|
709
|
-
this.
|
|
710
|
-
}
|
|
711
|
-
getLocalState() {
|
|
712
|
-
return this.localState;
|
|
505
|
+
this.obsQueries.forEach((observableQuery) => observableQuery.notify());
|
|
713
506
|
}
|
|
714
507
|
// Use protected instead of private field so
|
|
715
508
|
// @apollo/experimental-nextjs-app-support can access type info.
|
|
@@ -718,49 +511,96 @@ export class QueryManager {
|
|
|
718
511
|
// Prefer context.queryDeduplication if specified.
|
|
719
512
|
deduplication = context?.queryDeduplication ??
|
|
720
513
|
this.queryDeduplication) {
|
|
721
|
-
let
|
|
722
|
-
const { serverQuery, clientQuery } = this.getDocumentInfo(query);
|
|
514
|
+
let entry = {};
|
|
515
|
+
const { serverQuery, clientQuery, operationType, hasIncrementalDirective } = this.getDocumentInfo(query);
|
|
516
|
+
const operationName = getOperationName(query);
|
|
517
|
+
const executeContext = {
|
|
518
|
+
client: this.client,
|
|
519
|
+
};
|
|
723
520
|
if (serverQuery) {
|
|
724
521
|
const { inFlightLinkObservables, link } = this;
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
inFlightLinkObservables.peek(printedServerQuery, varJson) ===
|
|
747
|
-
entry) {
|
|
748
|
-
inFlightLinkObservables.remove(printedServerQuery, varJson);
|
|
522
|
+
try {
|
|
523
|
+
const operation = this.incrementalHandler.prepareRequest({
|
|
524
|
+
query: serverQuery,
|
|
525
|
+
variables,
|
|
526
|
+
operationName,
|
|
527
|
+
context: {
|
|
528
|
+
...this.defaultContext,
|
|
529
|
+
...context,
|
|
530
|
+
queryDeduplication: deduplication,
|
|
531
|
+
},
|
|
532
|
+
extensions,
|
|
533
|
+
});
|
|
534
|
+
context = operation.context;
|
|
535
|
+
function withRestart(source) {
|
|
536
|
+
return new Observable((observer) => {
|
|
537
|
+
function subscribe() {
|
|
538
|
+
return source.subscribe({
|
|
539
|
+
next: observer.next.bind(observer),
|
|
540
|
+
complete: observer.complete.bind(observer),
|
|
541
|
+
error: observer.error.bind(observer),
|
|
542
|
+
});
|
|
749
543
|
}
|
|
750
|
-
|
|
544
|
+
let subscription = subscribe();
|
|
545
|
+
entry.restart ||= () => {
|
|
546
|
+
subscription.unsubscribe();
|
|
547
|
+
subscription = subscribe();
|
|
548
|
+
};
|
|
549
|
+
return () => {
|
|
550
|
+
subscription.unsubscribe();
|
|
551
|
+
entry.restart = undefined;
|
|
552
|
+
};
|
|
553
|
+
});
|
|
554
|
+
}
|
|
555
|
+
if (deduplication) {
|
|
556
|
+
const printedServerQuery = print(serverQuery);
|
|
557
|
+
const varJson = canonicalStringify(variables);
|
|
558
|
+
entry = inFlightLinkObservables.lookup(printedServerQuery, varJson);
|
|
559
|
+
if (!entry.observable) {
|
|
560
|
+
entry.observable = execute(link, operation, executeContext).pipe(withRestart, finalize(() => {
|
|
561
|
+
if (inFlightLinkObservables.peek(printedServerQuery, varJson) ===
|
|
562
|
+
entry) {
|
|
563
|
+
inFlightLinkObservables.remove(printedServerQuery, varJson);
|
|
564
|
+
}
|
|
565
|
+
}),
|
|
566
|
+
// We don't want to replay the last emitted value for
|
|
567
|
+
// subscriptions and instead opt to wait to receive updates until
|
|
568
|
+
// the subscription emits new values.
|
|
569
|
+
operationType === OperationTypeNode.SUBSCRIPTION ?
|
|
570
|
+
share()
|
|
571
|
+
: shareReplay({ refCount: true }));
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
else {
|
|
575
|
+
entry.observable = execute(link, operation, executeContext).pipe(withRestart);
|
|
751
576
|
}
|
|
752
577
|
}
|
|
753
|
-
|
|
754
|
-
observable =
|
|
578
|
+
catch (error) {
|
|
579
|
+
entry.observable = throwError(() => error);
|
|
755
580
|
}
|
|
756
581
|
}
|
|
757
582
|
else {
|
|
758
|
-
observable = of({ data: {} });
|
|
759
|
-
context = this.prepareContext(context);
|
|
583
|
+
entry.observable = of({ data: {} });
|
|
760
584
|
}
|
|
761
585
|
if (clientQuery) {
|
|
762
|
-
|
|
763
|
-
|
|
586
|
+
const { operation } = getOperationDefinition(query);
|
|
587
|
+
if (__DEV__) {
|
|
588
|
+
invariant(
|
|
589
|
+
this.localState,
|
|
590
|
+
91,
|
|
591
|
+
operation[0].toUpperCase() + operation.slice(1),
|
|
592
|
+
operationName ?? "(anonymous)"
|
|
593
|
+
);
|
|
594
|
+
}
|
|
595
|
+
invariant(
|
|
596
|
+
!hasIncrementalDirective,
|
|
597
|
+
92,
|
|
598
|
+
operation[0].toUpperCase() + operation.slice(1),
|
|
599
|
+
operationName ?? "(anonymous)"
|
|
600
|
+
);
|
|
601
|
+
entry.observable = entry.observable.pipe(mergeMap((result) => {
|
|
602
|
+
return from(this.localState.execute({
|
|
603
|
+
client: this.client,
|
|
764
604
|
document: clientQuery,
|
|
765
605
|
remoteResult: result,
|
|
766
606
|
context,
|
|
@@ -768,60 +608,80 @@ export class QueryManager {
|
|
|
768
608
|
}));
|
|
769
609
|
}));
|
|
770
610
|
}
|
|
771
|
-
return
|
|
611
|
+
return {
|
|
612
|
+
restart: () => entry.restart?.(),
|
|
613
|
+
observable: entry.observable.pipe(catchError((error) => {
|
|
614
|
+
error = toErrorLike(error);
|
|
615
|
+
registerLinkError(error);
|
|
616
|
+
throw error;
|
|
617
|
+
})),
|
|
618
|
+
};
|
|
772
619
|
}
|
|
773
|
-
getResultsFromLink(queryInfo, cacheWriteBehavior,
|
|
620
|
+
getResultsFromLink(options, { queryInfo, cacheWriteBehavior, observableQuery, }) {
|
|
774
621
|
const requestId = (queryInfo.lastRequestId = this.generateRequestId());
|
|
775
622
|
const { errorPolicy } = options;
|
|
776
623
|
// Performing transformForLink here gives this.cache a chance to fill in
|
|
777
624
|
// missing fragment definitions (for example) before sending this document
|
|
778
625
|
// through the link chain.
|
|
779
626
|
const linkDocument = this.cache.transformForLink(options.query);
|
|
780
|
-
return this.getObservableFromLink(linkDocument, options.context, options.variables).pipe(map((
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
//
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
// ones used to obtain it from the link.
|
|
795
|
-
queryInfo.markResult(result, linkDocument, options, cacheWriteBehavior);
|
|
627
|
+
return this.getObservableFromLink(linkDocument, options.context, options.variables).observable.pipe(map((incoming) => {
|
|
628
|
+
// Use linkDocument rather than queryInfo.document so the
|
|
629
|
+
// operation/fragments used to write the result are the same as the
|
|
630
|
+
// ones used to obtain it from the link.
|
|
631
|
+
const result = queryInfo.markQueryResult(incoming, {
|
|
632
|
+
...options,
|
|
633
|
+
document: linkDocument,
|
|
634
|
+
cacheWriteBehavior,
|
|
635
|
+
});
|
|
636
|
+
const hasErrors = graphQLResultHasError(result);
|
|
637
|
+
if (hasErrors && errorPolicy === "none") {
|
|
638
|
+
queryInfo.resetLastWrite();
|
|
639
|
+
observableQuery?.["resetNotifications"]();
|
|
640
|
+
throw new CombinedGraphQLErrors(result);
|
|
796
641
|
}
|
|
797
642
|
const aqr = {
|
|
798
643
|
data: result.data,
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
644
|
+
...(queryInfo.hasNext ?
|
|
645
|
+
{
|
|
646
|
+
loading: true,
|
|
647
|
+
networkStatus: NetworkStatus.streaming,
|
|
648
|
+
dataState: "streaming",
|
|
649
|
+
partial: true,
|
|
650
|
+
}
|
|
651
|
+
: {
|
|
652
|
+
dataState: result.data ? "complete" : "empty",
|
|
653
|
+
loading: false,
|
|
654
|
+
networkStatus: NetworkStatus.ready,
|
|
655
|
+
partial: !result.data,
|
|
656
|
+
}),
|
|
802
657
|
};
|
|
803
658
|
// In the case we start multiple network requests simulatenously, we
|
|
804
659
|
// want to ensure we properly set `data` if we're reporting on an old
|
|
805
660
|
// result which will not be caught by the conditional above that ends up
|
|
806
661
|
// throwing the markError result.
|
|
807
|
-
if (hasErrors
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
662
|
+
if (hasErrors) {
|
|
663
|
+
if (errorPolicy === "none") {
|
|
664
|
+
aqr.data = void 0;
|
|
665
|
+
aqr.dataState = "empty";
|
|
666
|
+
}
|
|
667
|
+
if (errorPolicy !== "ignore") {
|
|
668
|
+
aqr.error = new CombinedGraphQLErrors(result);
|
|
669
|
+
if (aqr.dataState !== "streaming") {
|
|
670
|
+
aqr.networkStatus = NetworkStatus.error;
|
|
671
|
+
}
|
|
672
|
+
}
|
|
813
673
|
}
|
|
814
674
|
return aqr;
|
|
815
675
|
}), catchError((error) => {
|
|
816
|
-
error = toErrorLike(error);
|
|
817
676
|
// Avoid storing errors from older interrupted queries.
|
|
818
677
|
if (requestId >= queryInfo.lastRequestId && errorPolicy === "none") {
|
|
819
678
|
queryInfo.resetLastWrite();
|
|
820
|
-
|
|
679
|
+
observableQuery?.["resetNotifications"]();
|
|
821
680
|
throw error;
|
|
822
681
|
}
|
|
823
682
|
const aqr = {
|
|
824
683
|
data: undefined,
|
|
684
|
+
dataState: "empty",
|
|
825
685
|
loading: false,
|
|
826
686
|
networkStatus: NetworkStatus.ready,
|
|
827
687
|
partial: true,
|
|
@@ -833,11 +693,11 @@ export class QueryManager {
|
|
|
833
693
|
return of(aqr);
|
|
834
694
|
}));
|
|
835
695
|
}
|
|
836
|
-
fetchObservableWithInfo(
|
|
696
|
+
fetchObservableWithInfo(options, {
|
|
837
697
|
// The initial networkStatus for this fetch, most often
|
|
838
698
|
// NetworkStatus.loading, but also possibly fetchMore, poll, refetch,
|
|
839
699
|
// or setVariables.
|
|
840
|
-
networkStatus = NetworkStatus.loading, query = options.query,
|
|
700
|
+
networkStatus = NetworkStatus.loading, query = options.query, fetchQueryOperator = (x) => x, onCacheHit = () => { }, observableQuery, }) {
|
|
841
701
|
const variables = this.getVariables(query, options.variables);
|
|
842
702
|
const defaults = this.defaultOptions.watchQuery;
|
|
843
703
|
let { fetchPolicy = (defaults && defaults.fetchPolicy) || "cache-first", errorPolicy = (defaults && defaults.errorPolicy) || "none", returnPartialData = false, notifyOnNetworkStatusChange = true, context = {}, } = options;
|
|
@@ -854,33 +714,41 @@ export class QueryManager {
|
|
|
854
714
|
notifyOnNetworkStatusChange,
|
|
855
715
|
context,
|
|
856
716
|
});
|
|
717
|
+
const queryInfo = new QueryInfo(this, observableQuery);
|
|
857
718
|
const fromVariables = (variables) => {
|
|
858
719
|
// Since normalized is always a fresh copy of options, it's safe to
|
|
859
720
|
// modify its properties here, rather than creating yet another new
|
|
860
721
|
// WatchQueryOptions object.
|
|
861
722
|
normalized.variables = variables;
|
|
862
|
-
const
|
|
723
|
+
const cacheWriteBehavior = fetchPolicy === "no-cache" ? 0 /* CacheWriteBehavior.FORBID */
|
|
724
|
+
// Watched queries must opt into overwriting existing data on refetch,
|
|
725
|
+
// by passing refetchWritePolicy: "overwrite" in their WatchQueryOptions.
|
|
726
|
+
: (networkStatus === NetworkStatus.refetch &&
|
|
727
|
+
normalized.refetchWritePolicy !== "merge") ?
|
|
728
|
+
1 /* CacheWriteBehavior.OVERWRITE */
|
|
729
|
+
: 2 /* CacheWriteBehavior.MERGE */;
|
|
730
|
+
const observableWithInfo = this.fetchQueryByPolicy(normalized, { queryInfo, cacheWriteBehavior, onCacheHit, observableQuery });
|
|
731
|
+
observableWithInfo.observable =
|
|
732
|
+
observableWithInfo.observable.pipe(fetchQueryOperator);
|
|
863
733
|
if (
|
|
864
734
|
// If we're in standby, postpone advancing options.fetchPolicy using
|
|
865
735
|
// applyNextFetchPolicy.
|
|
866
|
-
normalized.fetchPolicy !== "standby"
|
|
867
|
-
|
|
868
|
-
queryInfo.observableQuery["applyNextFetchPolicy"]("after-fetch", options);
|
|
736
|
+
normalized.fetchPolicy !== "standby") {
|
|
737
|
+
observableQuery?.["applyNextFetchPolicy"]("after-fetch", options);
|
|
869
738
|
}
|
|
870
739
|
return observableWithInfo;
|
|
871
740
|
};
|
|
872
741
|
// This cancel function needs to be set before the concast is created,
|
|
873
742
|
// in case concast creation synchronously cancels the request.
|
|
874
743
|
const cleanupCancelFn = () => {
|
|
875
|
-
this.fetchCancelFns.delete(queryInfo.
|
|
876
|
-
// We need to call `complete` on the subject here otherwise the merged
|
|
877
|
-
// observable will never complete since it waits for all source
|
|
878
|
-
// observables to complete before itself completes.
|
|
879
|
-
fetchCancelSubject.complete();
|
|
744
|
+
this.fetchCancelFns.delete(queryInfo.id);
|
|
880
745
|
};
|
|
881
|
-
this.fetchCancelFns.set(queryInfo.
|
|
882
|
-
fetchCancelSubject.
|
|
883
|
-
|
|
746
|
+
this.fetchCancelFns.set(queryInfo.id, (error) => {
|
|
747
|
+
fetchCancelSubject.next({
|
|
748
|
+
kind: "E",
|
|
749
|
+
error,
|
|
750
|
+
source: "network",
|
|
751
|
+
});
|
|
884
752
|
});
|
|
885
753
|
const fetchCancelSubject = new Subject();
|
|
886
754
|
let observable, containsDataFromLink;
|
|
@@ -892,7 +760,15 @@ export class QueryManager {
|
|
|
892
760
|
// for backwards compatibility. TODO This code could be simpler if
|
|
893
761
|
// we deprecated and removed LocalState.
|
|
894
762
|
if (this.getDocumentInfo(normalized.query).hasClientExports) {
|
|
895
|
-
|
|
763
|
+
if (__DEV__) {
|
|
764
|
+
invariant(this.localState, 93, getOperationName(normalized.query, "(anonymous)"));
|
|
765
|
+
}
|
|
766
|
+
observable = from(this.localState.getExportedVariables({
|
|
767
|
+
client: this.client,
|
|
768
|
+
document: normalized.query,
|
|
769
|
+
variables: normalized.variables,
|
|
770
|
+
context: normalized.context,
|
|
771
|
+
})).pipe(mergeMap((variables) => fromVariables(variables).observable));
|
|
896
772
|
// there is just no way we can synchronously get the *right* value here,
|
|
897
773
|
// so we will assume `true`, which is the behaviour before the bug fix in
|
|
898
774
|
// #10597. This means that bug is not fixed in that case, and is probably
|
|
@@ -906,22 +782,36 @@ export class QueryManager {
|
|
|
906
782
|
observable = sourcesWithInfo.observable;
|
|
907
783
|
}
|
|
908
784
|
return {
|
|
909
|
-
|
|
785
|
+
// Merge `observable` with `fetchCancelSubject`, in a way that completing or
|
|
786
|
+
// erroring either of them will complete the merged obserable.
|
|
787
|
+
observable: new Observable((observer) => {
|
|
788
|
+
observer.add(cleanupCancelFn);
|
|
789
|
+
observable.subscribe(observer);
|
|
790
|
+
fetchCancelSubject.subscribe(observer);
|
|
791
|
+
}).pipe(share()),
|
|
910
792
|
fromLink: containsDataFromLink,
|
|
911
793
|
};
|
|
912
794
|
}
|
|
913
795
|
refetchQueries({ updateCache, include, optimistic = false, removeOptimistic = optimistic ? makeUniqueId("refetchQueries") : void 0, onQueryUpdated, }) {
|
|
914
|
-
const
|
|
796
|
+
const includedQueriesByOq = new Map();
|
|
915
797
|
if (include) {
|
|
916
|
-
this.getObservableQueries(include).forEach((oq
|
|
917
|
-
|
|
798
|
+
this.getObservableQueries(include).forEach((oq) => {
|
|
799
|
+
if (oq.options.fetchPolicy === "cache-only") {
|
|
800
|
+
return;
|
|
801
|
+
}
|
|
802
|
+
const current = oq.getCurrentResult();
|
|
803
|
+
includedQueriesByOq.set(oq, {
|
|
918
804
|
oq,
|
|
919
|
-
lastDiff:
|
|
805
|
+
lastDiff: {
|
|
806
|
+
result: current?.data,
|
|
807
|
+
complete: !current?.partial,
|
|
808
|
+
},
|
|
920
809
|
});
|
|
921
810
|
});
|
|
922
811
|
}
|
|
923
812
|
const results = new Map();
|
|
924
813
|
if (updateCache) {
|
|
814
|
+
const handled = new Set();
|
|
925
815
|
this.cache.batch({
|
|
926
816
|
update: updateCache,
|
|
927
817
|
// Since you can perform any combination of cache reads and/or writes in
|
|
@@ -963,18 +853,21 @@ export class QueryManager {
|
|
|
963
853
|
// temporary optimistic layer, in case that ever matters.
|
|
964
854
|
removeOptimistic,
|
|
965
855
|
onWatchUpdated(watch, diff, lastDiff) {
|
|
966
|
-
const oq = watch.watcher
|
|
967
|
-
if (oq) {
|
|
856
|
+
const oq = watch.watcher;
|
|
857
|
+
if (oq instanceof ObservableQuery && !handled.has(oq)) {
|
|
858
|
+
handled.add(oq);
|
|
968
859
|
if (onQueryUpdated) {
|
|
969
860
|
// Since we're about to handle this query now, remove it from
|
|
970
861
|
// includedQueriesById, in case it was added earlier because of
|
|
971
862
|
// options.include.
|
|
972
|
-
|
|
863
|
+
includedQueriesByOq.delete(oq);
|
|
973
864
|
let result = onQueryUpdated(oq, diff, lastDiff);
|
|
974
865
|
if (result === true) {
|
|
975
866
|
// The onQueryUpdated function requested the default refetching
|
|
976
867
|
// behavior by returning true.
|
|
977
|
-
result = oq
|
|
868
|
+
result = oq
|
|
869
|
+
.refetch()
|
|
870
|
+
.retain( /* create a persistent subscription on the query */);
|
|
978
871
|
}
|
|
979
872
|
// Record the result in the results Map, as long as onQueryUpdated
|
|
980
873
|
// did not return false to skip/ignore this result.
|
|
@@ -985,37 +878,37 @@ export class QueryManager {
|
|
|
985
878
|
// onQueryUpdated returns false.
|
|
986
879
|
return result;
|
|
987
880
|
}
|
|
988
|
-
if (onQueryUpdated !== null
|
|
881
|
+
if (onQueryUpdated !== null &&
|
|
882
|
+
oq.options.fetchPolicy !== "cache-only") {
|
|
989
883
|
// If we don't have an onQueryUpdated function, and onQueryUpdated
|
|
990
884
|
// was not disabled by passing null, make sure this query is
|
|
991
885
|
// "included" like any other options.include-specified query.
|
|
992
|
-
|
|
886
|
+
includedQueriesByOq.set(oq, { oq, lastDiff, diff });
|
|
993
887
|
}
|
|
994
888
|
}
|
|
995
889
|
},
|
|
996
890
|
});
|
|
997
891
|
}
|
|
998
|
-
if (
|
|
999
|
-
|
|
892
|
+
if (includedQueriesByOq.size) {
|
|
893
|
+
includedQueriesByOq.forEach(({ oq, lastDiff, diff }) => {
|
|
1000
894
|
let result;
|
|
1001
895
|
// If onQueryUpdated is provided, we want to use it for all included
|
|
1002
896
|
// queries, even the QueryOptions ones.
|
|
1003
897
|
if (onQueryUpdated) {
|
|
1004
898
|
if (!diff) {
|
|
1005
|
-
diff =
|
|
899
|
+
diff = oq.getCacheDiff();
|
|
1006
900
|
}
|
|
1007
901
|
result = onQueryUpdated(oq, diff, lastDiff);
|
|
1008
902
|
}
|
|
1009
903
|
// Otherwise, we fall back to refetching.
|
|
1010
904
|
if (!onQueryUpdated || result === true) {
|
|
1011
|
-
result = oq
|
|
905
|
+
result = oq
|
|
906
|
+
.refetch()
|
|
907
|
+
.retain( /* create a persistent subscription on the query */);
|
|
1012
908
|
}
|
|
1013
909
|
if (result !== false) {
|
|
1014
910
|
results.set(oq, result);
|
|
1015
911
|
}
|
|
1016
|
-
if (queryId.indexOf("legacyOneTimeQuery") >= 0) {
|
|
1017
|
-
this.removeQuery(queryId);
|
|
1018
|
-
}
|
|
1019
912
|
});
|
|
1020
913
|
}
|
|
1021
914
|
if (removeOptimistic) {
|
|
@@ -1030,20 +923,18 @@ export class QueryManager {
|
|
|
1030
923
|
}
|
|
1031
924
|
return results;
|
|
1032
925
|
}
|
|
1033
|
-
|
|
926
|
+
noCacheWarningsByCause = new WeakSet();
|
|
1034
927
|
maskOperation(options) {
|
|
1035
928
|
const { document, data } = options;
|
|
1036
929
|
if (__DEV__) {
|
|
1037
|
-
const { fetchPolicy,
|
|
930
|
+
const { fetchPolicy, cause = {} } = options;
|
|
1038
931
|
const operationType = getOperationDefinition(document)?.operation;
|
|
1039
|
-
const operationId = (operationType?.[0] ?? "o") + id;
|
|
1040
932
|
if (this.dataMasking &&
|
|
1041
933
|
fetchPolicy === "no-cache" &&
|
|
1042
934
|
!isFullyUnmaskedOperation(document) &&
|
|
1043
|
-
!this.
|
|
1044
|
-
this.
|
|
1045
|
-
__DEV__ && invariant.warn(
|
|
1046
|
-
`Unnamed ${operationType ?? "operation"}`);
|
|
935
|
+
!this.noCacheWarningsByCause.has(cause)) {
|
|
936
|
+
this.noCacheWarningsByCause.add(cause);
|
|
937
|
+
__DEV__ && invariant.warn(94, getOperationName(document, `Unnamed ${operationType ?? "operation"}`));
|
|
1047
938
|
}
|
|
1048
939
|
}
|
|
1049
940
|
return (this.dataMasking ?
|
|
@@ -1056,17 +947,14 @@ export class QueryManager {
|
|
|
1056
947
|
maskFragment(data, fragment, this.cache, fragmentName)
|
|
1057
948
|
: data;
|
|
1058
949
|
}
|
|
1059
|
-
fetchQueryByPolicy(
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
// or setVariables.
|
|
1063
|
-
newNetworkStatus, emitLoadingState) {
|
|
1064
|
-
queryInfo.init({
|
|
1065
|
-
document: query,
|
|
950
|
+
fetchQueryByPolicy({ query, variables, fetchPolicy, errorPolicy, returnPartialData, context, }, { cacheWriteBehavior, onCacheHit, queryInfo, observableQuery, }) {
|
|
951
|
+
const readCache = () => this.cache.diff({
|
|
952
|
+
query,
|
|
1066
953
|
variables,
|
|
954
|
+
returnPartialData: true,
|
|
955
|
+
optimistic: true,
|
|
1067
956
|
});
|
|
1068
|
-
const
|
|
1069
|
-
const resultsFromCache = (diff, networkStatus = newNetworkStatus) => {
|
|
957
|
+
const resultsFromCache = (diff, networkStatus) => {
|
|
1070
958
|
const data = diff.result;
|
|
1071
959
|
if (__DEV__ && !returnPartialData && data !== null) {
|
|
1072
960
|
logMissingFieldErrors(diff.missing);
|
|
@@ -1082,31 +970,44 @@ export class QueryManager {
|
|
|
1082
970
|
return {
|
|
1083
971
|
// TODO: Handle partial data
|
|
1084
972
|
data: data,
|
|
973
|
+
dataState: diff.complete ? "complete"
|
|
974
|
+
: data ? "partial"
|
|
975
|
+
: "empty",
|
|
1085
976
|
loading: isNetworkRequestInFlight(networkStatus),
|
|
1086
977
|
networkStatus,
|
|
1087
978
|
partial: !diff.complete,
|
|
1088
979
|
};
|
|
1089
980
|
};
|
|
1090
981
|
const fromData = (data) => {
|
|
1091
|
-
return of(
|
|
982
|
+
return of({
|
|
983
|
+
kind: "N",
|
|
984
|
+
value: toResult(data),
|
|
985
|
+
source: "cache",
|
|
986
|
+
});
|
|
1092
987
|
};
|
|
1093
|
-
if (
|
|
1094
|
-
|
|
1095
|
-
|
|
988
|
+
if (
|
|
989
|
+
// Don't attempt to run forced resolvers if we have incomplete cache
|
|
990
|
+
// data and partial isn't allowed since this result would get set to
|
|
991
|
+
// `undefined` anyways in `toResult`.
|
|
992
|
+
(diff.complete || returnPartialData) &&
|
|
993
|
+
this.getDocumentInfo(query).hasForcedResolvers) {
|
|
994
|
+
if (__DEV__) {
|
|
995
|
+
invariant(this.localState, 95, getOperationName(query, "(anonymous)"));
|
|
996
|
+
}
|
|
997
|
+
onCacheHit();
|
|
998
|
+
return from(this.localState.execute({
|
|
999
|
+
client: this.client,
|
|
1096
1000
|
document: query,
|
|
1097
|
-
|
|
1098
|
-
// statement contained a check against `data`, but this value was
|
|
1099
|
-
// always `{}` if nothing was in the cache, which meant the check
|
|
1100
|
-
// above always succeeded when there were forced resolvers. Now that
|
|
1101
|
-
// `data` is nullable, this `remoteResult` needs to be an empty
|
|
1102
|
-
// object. Ideally we can pass in `null` here and the resolvers
|
|
1103
|
-
// would be able to handle this the same way.
|
|
1104
|
-
remoteResult: { data: data || {} },
|
|
1001
|
+
remoteResult: data ? { data } : undefined,
|
|
1105
1002
|
context,
|
|
1106
1003
|
variables,
|
|
1107
1004
|
onlyRunForcedResolvers: true,
|
|
1108
|
-
|
|
1109
|
-
|
|
1005
|
+
returnPartialData: true,
|
|
1006
|
+
}).then((resolved) => ({
|
|
1007
|
+
kind: "N",
|
|
1008
|
+
value: toResult(resolved.data || void 0),
|
|
1009
|
+
source: "cache",
|
|
1010
|
+
})));
|
|
1110
1011
|
}
|
|
1111
1012
|
// Resolves https://github.com/apollographql/apollo-client/issues/10317.
|
|
1112
1013
|
// If errorPolicy is 'none' and notifyOnNetworkStatusChange is true,
|
|
@@ -1119,20 +1020,20 @@ export class QueryManager {
|
|
|
1119
1020
|
}
|
|
1120
1021
|
return fromData(data || undefined);
|
|
1121
1022
|
};
|
|
1122
|
-
const
|
|
1123
|
-
// Watched queries must opt into overwriting existing data on refetch,
|
|
1124
|
-
// by passing refetchWritePolicy: "overwrite" in their WatchQueryOptions.
|
|
1125
|
-
: (newNetworkStatus === NetworkStatus.refetch &&
|
|
1126
|
-
refetchWritePolicy !== "merge") ?
|
|
1127
|
-
1 /* CacheWriteBehavior.OVERWRITE */
|
|
1128
|
-
: 2 /* CacheWriteBehavior.MERGE */;
|
|
1129
|
-
const resultsFromLink = () => this.getResultsFromLink(queryInfo, cacheWriteBehavior, {
|
|
1023
|
+
const resultsFromLink = () => this.getResultsFromLink({
|
|
1130
1024
|
query,
|
|
1131
1025
|
variables,
|
|
1132
1026
|
context,
|
|
1133
1027
|
fetchPolicy,
|
|
1134
1028
|
errorPolicy,
|
|
1135
|
-
}
|
|
1029
|
+
}, {
|
|
1030
|
+
cacheWriteBehavior,
|
|
1031
|
+
queryInfo,
|
|
1032
|
+
observableQuery,
|
|
1033
|
+
}).pipe(validateDidEmitValue(), materialize(), map((result) => ({
|
|
1034
|
+
...result,
|
|
1035
|
+
source: "network",
|
|
1036
|
+
})));
|
|
1136
1037
|
switch (fetchPolicy) {
|
|
1137
1038
|
default:
|
|
1138
1039
|
case "cache-first": {
|
|
@@ -1143,20 +1044,20 @@ export class QueryManager {
|
|
|
1143
1044
|
observable: resultsFromCache(diff, NetworkStatus.ready),
|
|
1144
1045
|
};
|
|
1145
1046
|
}
|
|
1146
|
-
if (returnPartialData
|
|
1047
|
+
if (returnPartialData) {
|
|
1147
1048
|
return {
|
|
1148
1049
|
fromLink: true,
|
|
1149
|
-
observable: concat(resultsFromCache(diff), resultsFromLink()),
|
|
1050
|
+
observable: concat(resultsFromCache(diff, NetworkStatus.loading), resultsFromLink()),
|
|
1150
1051
|
};
|
|
1151
1052
|
}
|
|
1152
1053
|
return { fromLink: true, observable: resultsFromLink() };
|
|
1153
1054
|
}
|
|
1154
1055
|
case "cache-and-network": {
|
|
1155
1056
|
const diff = readCache();
|
|
1156
|
-
if (diff.complete || returnPartialData
|
|
1057
|
+
if (diff.complete || returnPartialData) {
|
|
1157
1058
|
return {
|
|
1158
1059
|
fromLink: true,
|
|
1159
|
-
observable: concat(resultsFromCache(diff), resultsFromLink()),
|
|
1060
|
+
observable: concat(resultsFromCache(diff, NetworkStatus.loading), resultsFromLink()),
|
|
1160
1061
|
};
|
|
1161
1062
|
}
|
|
1162
1063
|
return { fromLink: true, observable: resultsFromLink() };
|
|
@@ -1167,42 +1068,13 @@ export class QueryManager {
|
|
|
1167
1068
|
observable: concat(resultsFromCache(readCache(), NetworkStatus.ready)),
|
|
1168
1069
|
};
|
|
1169
1070
|
case "network-only":
|
|
1170
|
-
if (emitLoadingState) {
|
|
1171
|
-
return {
|
|
1172
|
-
fromLink: true,
|
|
1173
|
-
observable: concat(resultsFromCache(readCache()), resultsFromLink()),
|
|
1174
|
-
};
|
|
1175
|
-
}
|
|
1176
1071
|
return { fromLink: true, observable: resultsFromLink() };
|
|
1177
1072
|
case "no-cache":
|
|
1178
|
-
if (emitLoadingState) {
|
|
1179
|
-
return {
|
|
1180
|
-
fromLink: true,
|
|
1181
|
-
// Note that queryInfo.getDiff() for no-cache queries does not call
|
|
1182
|
-
// cache.diff, but instead returns a { complete: false } stub result
|
|
1183
|
-
// when there is no queryInfo.diff already defined.
|
|
1184
|
-
observable: concat(resultsFromCache(queryInfo.getDiff()), resultsFromLink()),
|
|
1185
|
-
};
|
|
1186
|
-
}
|
|
1187
1073
|
return { fromLink: true, observable: resultsFromLink() };
|
|
1188
1074
|
case "standby":
|
|
1189
1075
|
return { fromLink: false, observable: EMPTY };
|
|
1190
1076
|
}
|
|
1191
1077
|
}
|
|
1192
|
-
getOrCreateQuery(queryId) {
|
|
1193
|
-
if (queryId && !this.queries.has(queryId)) {
|
|
1194
|
-
this.queries.set(queryId, new QueryInfo(this, queryId));
|
|
1195
|
-
}
|
|
1196
|
-
return this.queries.get(queryId);
|
|
1197
|
-
}
|
|
1198
|
-
prepareContext(context = {}) {
|
|
1199
|
-
const newContext = this.localState.prepareContext(context);
|
|
1200
|
-
return {
|
|
1201
|
-
...this.defaultContext,
|
|
1202
|
-
...newContext,
|
|
1203
|
-
clientAwareness: this.clientAwareness,
|
|
1204
|
-
};
|
|
1205
|
-
}
|
|
1206
1078
|
}
|
|
1207
1079
|
function validateDidEmitValue() {
|
|
1208
1080
|
let didEmitValue = false;
|
|
@@ -1211,7 +1083,42 @@ function validateDidEmitValue() {
|
|
|
1211
1083
|
didEmitValue = true;
|
|
1212
1084
|
},
|
|
1213
1085
|
complete() {
|
|
1214
|
-
invariant(didEmitValue,
|
|
1086
|
+
invariant(didEmitValue, 96);
|
|
1087
|
+
},
|
|
1088
|
+
});
|
|
1089
|
+
}
|
|
1090
|
+
function isFullyUnmaskedOperation(document) {
|
|
1091
|
+
let isUnmasked = true;
|
|
1092
|
+
visit(document, {
|
|
1093
|
+
FragmentSpread: (node) => {
|
|
1094
|
+
isUnmasked =
|
|
1095
|
+
!!node.directives &&
|
|
1096
|
+
node.directives.some((directive) => directive.name.value === "unmask");
|
|
1097
|
+
if (!isUnmasked) {
|
|
1098
|
+
return BREAK;
|
|
1099
|
+
}
|
|
1100
|
+
},
|
|
1101
|
+
});
|
|
1102
|
+
return isUnmasked;
|
|
1103
|
+
}
|
|
1104
|
+
function addNonReactiveToNamedFragments(document) {
|
|
1105
|
+
return visit(document, {
|
|
1106
|
+
FragmentSpread: (node) => {
|
|
1107
|
+
// Do not add `@nonreactive` if the fragment is marked with `@unmask`
|
|
1108
|
+
// since we want to react to changes in this fragment.
|
|
1109
|
+
if (node.directives?.some((directive) => directive.name.value === "unmask")) {
|
|
1110
|
+
return;
|
|
1111
|
+
}
|
|
1112
|
+
return {
|
|
1113
|
+
...node,
|
|
1114
|
+
directives: [
|
|
1115
|
+
...(node.directives || []),
|
|
1116
|
+
{
|
|
1117
|
+
kind: Kind.DIRECTIVE,
|
|
1118
|
+
name: { kind: Kind.NAME, value: "nonreactive" },
|
|
1119
|
+
},
|
|
1120
|
+
],
|
|
1121
|
+
};
|
|
1215
1122
|
},
|
|
1216
1123
|
});
|
|
1217
1124
|
}
|