@apollo/client 4.0.0-alpha.8 → 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 +1041 -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 +798 -435
- package/__cjs/core/ObservableQuery.cjs.map +1 -1
- package/__cjs/core/ObservableQuery.d.cts +292 -61
- 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 +511 -589
- 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 +17 -102
- 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 +32 -33
- package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useLazyQuery.d.cts +56 -81
- 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 +48 -15
- package/__cjs/react/hooks/useQuery.cjs +36 -48
- package/__cjs/react/hooks/useQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useQuery.d.cts +20 -72
- 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 +9 -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 +14 -2
- 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 +292 -61
- package/core/ObservableQuery.js +796 -433
- 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 +482 -575
- 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 +17 -102
- 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 +56 -81
- package/react/hooks/useLazyQuery.js +40 -41
- 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 +48 -15
- package/react/hooks/useMutation.js +192 -82
- package/react/hooks/useMutation.js.map +1 -1
- package/react/hooks/useQuery.d.ts +20 -72
- 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 +10 -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 +14 -2
- 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/four-ghosts-watch.md +0 -5
- package/.changeset/fresh-moose-hope.md +0 -5
- package/.changeset/funny-jeans-invent.md +0 -16
- 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-spies-work.md +0 -11
- package/.changeset/kind-fishes-develop.md +0 -17
- 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/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 -115
- 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/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/index.cjs +0 -26
- 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/index.d.ts +0 -2
- package/testing/matchers/index.js +0 -24
- 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
|
@@ -7,120 +7,79 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
exports.ObservableQuery = void 0;
|
|
8
8
|
exports.logMissingFieldErrors = logMissingFieldErrors;
|
|
9
9
|
const equality_1 = require("@wry/equality");
|
|
10
|
-
const optimism_1 = require("optimism");
|
|
11
10
|
const rxjs_1 = require("rxjs");
|
|
12
|
-
const utilities_1 = require("@apollo/client/utilities");
|
|
13
11
|
const environment_1 = require("@apollo/client/utilities/environment");
|
|
14
12
|
const internal_1 = require("@apollo/client/utilities/internal");
|
|
15
13
|
const invariant_1 = require("@apollo/client/utilities/invariant");
|
|
16
14
|
const equalByQuery_js_1 = require("./equalByQuery.cjs");
|
|
17
15
|
const networkStatus_js_1 = require("./networkStatus.cjs");
|
|
18
16
|
const { assign, hasOwnProperty } = Object;
|
|
19
|
-
const
|
|
17
|
+
const uninitialized = {
|
|
18
|
+
loading: true,
|
|
19
|
+
networkStatus: networkStatus_js_1.NetworkStatus.loading,
|
|
20
|
+
data: undefined,
|
|
21
|
+
dataState: "empty",
|
|
22
|
+
partial: true,
|
|
23
|
+
};
|
|
24
|
+
const empty = {
|
|
25
|
+
loading: false,
|
|
26
|
+
networkStatus: networkStatus_js_1.NetworkStatus.ready,
|
|
27
|
+
data: undefined,
|
|
28
|
+
dataState: "empty",
|
|
29
|
+
partial: true,
|
|
30
|
+
};
|
|
20
31
|
class ObservableQuery {
|
|
21
|
-
/**
|
|
22
|
-
* @internal
|
|
23
|
-
* A slot used by the `useQuery` hook to indicate that `client.watchQuery`
|
|
24
|
-
* should not register the query immediately, but instead wait for the query to
|
|
25
|
-
* be started registered with the `QueryManager` when `useSyncExternalStore`
|
|
26
|
-
* actively subscribes to it.
|
|
27
|
-
*/
|
|
28
|
-
static inactiveOnCreation = new optimism_1.Slot();
|
|
29
32
|
options;
|
|
30
|
-
queryId;
|
|
31
33
|
queryName;
|
|
34
|
+
/**
|
|
35
|
+
* @internal will be read and written from `QueryInfo`
|
|
36
|
+
*
|
|
37
|
+
* @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
|
|
38
|
+
*/
|
|
39
|
+
_lastWrite;
|
|
32
40
|
// The `query` computed property will always reflect the document transformed
|
|
33
41
|
// by the last run query. `this.options.query` will always reflect the raw
|
|
34
42
|
// untransformed query to ensure document transforms with runtime conditionals
|
|
35
43
|
// are run on the original document.
|
|
36
44
|
get query() {
|
|
37
|
-
return this.lastQuery
|
|
45
|
+
return this.lastQuery;
|
|
38
46
|
}
|
|
39
|
-
// Computed shorthand for this.options.variables, preserved for
|
|
40
|
-
// backwards compatibility.
|
|
41
47
|
/**
|
|
42
48
|
* An object containing the variables that were provided for the query.
|
|
43
49
|
*/
|
|
44
50
|
get variables() {
|
|
45
51
|
return this.options.variables;
|
|
46
52
|
}
|
|
53
|
+
unsubscribeFromCache;
|
|
54
|
+
input;
|
|
47
55
|
subject;
|
|
48
|
-
observable;
|
|
49
|
-
initialResult;
|
|
50
56
|
isTornDown;
|
|
51
57
|
queryManager;
|
|
52
58
|
subscriptions = new Set();
|
|
53
|
-
|
|
54
|
-
|
|
59
|
+
/**
|
|
60
|
+
* If an `ObservableQuery` is created with a `network-only` fetch policy,
|
|
61
|
+
* it should actually start receiving cache updates, but not before it has
|
|
62
|
+
* received the first result from the network.
|
|
63
|
+
*/
|
|
64
|
+
waitForNetworkResult;
|
|
55
65
|
lastQuery;
|
|
56
|
-
queryInfo;
|
|
57
66
|
linkSubscription;
|
|
58
|
-
linkObservable;
|
|
59
67
|
pollingInfo;
|
|
60
|
-
networkStatus
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
data: undefined,
|
|
65
|
-
loading: true,
|
|
66
|
-
networkStatus: this.networkStatus,
|
|
67
|
-
partial: true,
|
|
68
|
-
};
|
|
69
|
-
let startedInactive = ObservableQuery.inactiveOnCreation.getValue();
|
|
70
|
-
this.subject = new rxjs_1.BehaviorSubject(this.initialResult);
|
|
71
|
-
this.observable = this.subject.pipe((0, rxjs_1.tap)({
|
|
72
|
-
subscribe: () => {
|
|
73
|
-
if (startedInactive) {
|
|
74
|
-
queryManager["queries"].set(this.queryId, queryInfo);
|
|
75
|
-
startedInactive = false;
|
|
76
|
-
}
|
|
77
|
-
if (!this.subject.observed) {
|
|
78
|
-
this.reobserve();
|
|
79
|
-
// TODO: See if we can rework updatePolling to better handle this.
|
|
80
|
-
// reobserve calls updatePolling but this `subscribe` callback is
|
|
81
|
-
// called before the subject is subscribed to so `updatePolling`
|
|
82
|
-
// can't accurately detect if there is an active subscription.
|
|
83
|
-
// Calling it again here ensures that it can detect if it can poll
|
|
84
|
-
setTimeout(() => this.updatePolling());
|
|
85
|
-
}
|
|
86
|
-
},
|
|
87
|
-
unsubscribe: () => {
|
|
88
|
-
if (!this.subject.observed) {
|
|
89
|
-
this.tearDownQuery();
|
|
90
|
-
}
|
|
91
|
-
},
|
|
92
|
-
}),
|
|
93
|
-
// TODO: Conditionally filter when notifyOnNetworkStatusChange is true or
|
|
94
|
-
// not. We want to emit the loading result if notifyOnNetworkStatusChange
|
|
95
|
-
// is true.
|
|
96
|
-
(0, rxjs_1.filter)((result) =>
|
|
97
|
-
// TODO: Remove this behavior when unifying loading state for notifyOnNetworkStatusChange
|
|
98
|
-
(this.options.fetchPolicy === "no-cache" &&
|
|
99
|
-
this.options.notifyOnNetworkStatusChange) ||
|
|
100
|
-
// TODO: Remove this behavior when unifying loading state for notifyOnNetworkStatusChange
|
|
101
|
-
(this.options.fetchPolicy === "network-only" &&
|
|
102
|
-
!this.queryManager.prioritizeCacheValues &&
|
|
103
|
-
this.queryInfo.getDiff().complete) ||
|
|
104
|
-
result !== this.initialResult));
|
|
105
|
-
this["@@observable"] = () => this;
|
|
106
|
-
if (Symbol.observable) {
|
|
107
|
-
this[Symbol.observable] = () => this;
|
|
108
|
-
}
|
|
109
|
-
this.pipe = this.observable.pipe.bind(this.observable);
|
|
110
|
-
this.subscribe = this.observable.subscribe.bind(this.observable);
|
|
111
|
-
// related classes
|
|
112
|
-
this.queryInfo = queryInfo;
|
|
68
|
+
get networkStatus() {
|
|
69
|
+
return this.subject.getValue().result.networkStatus;
|
|
70
|
+
}
|
|
71
|
+
constructor({ queryManager, options, transformedQuery = queryManager.transform(options.query), }) {
|
|
113
72
|
this.queryManager = queryManager;
|
|
114
73
|
// active state
|
|
115
|
-
this.
|
|
74
|
+
this.waitForNetworkResult = options.fetchPolicy === "network-only";
|
|
116
75
|
this.isTornDown = false;
|
|
117
|
-
this.subscribe = this.subscribe.bind(this);
|
|
118
76
|
this.subscribeToMore = this.subscribeToMore.bind(this);
|
|
119
77
|
this.maskResult = this.maskResult.bind(this);
|
|
120
78
|
const { watchQuery: { fetchPolicy: defaultFetchPolicy = "cache-first" } = {}, } = queryManager.defaultOptions;
|
|
121
79
|
const { fetchPolicy = defaultFetchPolicy,
|
|
122
80
|
// Make sure we don't store "standby" as the initialFetchPolicy.
|
|
123
81
|
initialFetchPolicy = fetchPolicy === "standby" ? defaultFetchPolicy : (fetchPolicy), } = options;
|
|
82
|
+
this.lastQuery = transformedQuery;
|
|
124
83
|
this.options = {
|
|
125
84
|
...options,
|
|
126
85
|
// Remember the initial options.fetchPolicy so we can revert back to this
|
|
@@ -130,11 +89,84 @@ class ObservableQuery {
|
|
|
130
89
|
// This ensures this.options.fetchPolicy always has a string value, in
|
|
131
90
|
// case options.fetchPolicy was not provided.
|
|
132
91
|
fetchPolicy,
|
|
92
|
+
variables: this.getVariablesWithDefaults(options.variables),
|
|
133
93
|
};
|
|
134
|
-
this.
|
|
135
|
-
|
|
94
|
+
this.initializeObservablesQueue();
|
|
95
|
+
this["@@observable"] = () => this;
|
|
96
|
+
if (Symbol.observable) {
|
|
97
|
+
this[Symbol.observable] = () => this;
|
|
98
|
+
}
|
|
99
|
+
const opDef = (0, internal_1.getOperationDefinition)(this.query);
|
|
136
100
|
this.queryName = opDef && opDef.name && opDef.name.value;
|
|
137
101
|
}
|
|
102
|
+
initializeObservablesQueue() {
|
|
103
|
+
this.subject = new rxjs_1.BehaviorSubject({
|
|
104
|
+
query: this.query,
|
|
105
|
+
variables: this.variables,
|
|
106
|
+
result: uninitialized,
|
|
107
|
+
meta: {},
|
|
108
|
+
});
|
|
109
|
+
const observable = this.subject.pipe((0, rxjs_1.tap)({
|
|
110
|
+
subscribe: () => {
|
|
111
|
+
if (!this.subject.observed) {
|
|
112
|
+
this.reobserve();
|
|
113
|
+
// TODO: See if we can rework updatePolling to better handle this.
|
|
114
|
+
// reobserve calls updatePolling but this `subscribe` callback is
|
|
115
|
+
// called before the subject is subscribed to so `updatePolling`
|
|
116
|
+
// can't accurately detect if there is an active subscription.
|
|
117
|
+
// Calling it again here ensures that it can detect if it can poll
|
|
118
|
+
setTimeout(() => this.updatePolling());
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
unsubscribe: () => {
|
|
122
|
+
if (!this.subject.observed) {
|
|
123
|
+
this.tearDownQuery();
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
}), (0, internal_1.filterMap)(({ query, variables, result: current, meta }, context) => {
|
|
127
|
+
const { shouldEmit } = meta;
|
|
128
|
+
if (current === uninitialized) {
|
|
129
|
+
// reset internal state after `ObservableQuery.reset()`
|
|
130
|
+
context.previous = undefined;
|
|
131
|
+
context.previousVariables = undefined;
|
|
132
|
+
}
|
|
133
|
+
if (this.options.fetchPolicy === "standby" ||
|
|
134
|
+
shouldEmit === 2 /* EmitBehavior.never */)
|
|
135
|
+
return;
|
|
136
|
+
if (shouldEmit === 1 /* EmitBehavior.force */)
|
|
137
|
+
return emit();
|
|
138
|
+
const { previous, previousVariables } = context;
|
|
139
|
+
if (previous) {
|
|
140
|
+
const documentInfo = this.queryManager.getDocumentInfo(query);
|
|
141
|
+
const dataMasking = this.queryManager.dataMasking;
|
|
142
|
+
const maskedQuery = dataMasking ? documentInfo.nonReactiveQuery : query;
|
|
143
|
+
const resultIsEqual = dataMasking || documentInfo.hasNonreactiveDirective ?
|
|
144
|
+
(0, equalByQuery_js_1.equalByQuery)(maskedQuery, previous, current, variables)
|
|
145
|
+
: (0, equality_1.equal)(previous, current);
|
|
146
|
+
if (resultIsEqual && (0, equality_1.equal)(previousVariables, variables)) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
if (shouldEmit === 3 /* EmitBehavior.networkStatusChange */ &&
|
|
151
|
+
(!this.options.notifyOnNetworkStatusChange ||
|
|
152
|
+
(0, equality_1.equal)(previous, current))) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
return emit();
|
|
156
|
+
function emit() {
|
|
157
|
+
context.previous = current;
|
|
158
|
+
context.previousVariables = variables;
|
|
159
|
+
return current;
|
|
160
|
+
}
|
|
161
|
+
}, () => ({})));
|
|
162
|
+
this.pipe = observable.pipe.bind(observable);
|
|
163
|
+
this.subscribe = observable.subscribe.bind(observable);
|
|
164
|
+
this.input = new rxjs_1.Subject();
|
|
165
|
+
// we want to feed many streams into `this.subject`, but none of them should
|
|
166
|
+
// be able to close `this.input`
|
|
167
|
+
this.input.complete = () => { };
|
|
168
|
+
this.input.pipe(this.operator).subscribe(this.subject);
|
|
169
|
+
}
|
|
138
170
|
// We can't use Observable['subscribe'] here as the type as it conflicts with
|
|
139
171
|
// the ability to infer T from Subscribable<T>. This limits the surface area
|
|
140
172
|
// to the non-deprecated signature which works properly with type inference.
|
|
@@ -142,122 +174,153 @@ class ObservableQuery {
|
|
|
142
174
|
pipe;
|
|
143
175
|
[Symbol.observable];
|
|
144
176
|
["@@observable"];
|
|
145
|
-
/**
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
177
|
+
/**
|
|
178
|
+
* @internal
|
|
179
|
+
*
|
|
180
|
+
* @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
|
|
181
|
+
*/
|
|
182
|
+
getCacheDiff({ optimistic = true } = {}) {
|
|
183
|
+
return this.queryManager.cache.diff({
|
|
184
|
+
query: this.query,
|
|
185
|
+
variables: this.variables,
|
|
186
|
+
returnPartialData: true,
|
|
187
|
+
optimistic,
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
getInitialResult(initialFetchPolicy) {
|
|
191
|
+
const fetchPolicy = this.queryManager.prioritizeCacheValues ?
|
|
192
|
+
"cache-first"
|
|
193
|
+
: initialFetchPolicy || this.options.fetchPolicy;
|
|
194
|
+
const cacheResult = () => {
|
|
195
|
+
const diff = this.getCacheDiff();
|
|
196
|
+
// TODO: queryInfo.getDiff should handle this since cache.diff returns a
|
|
197
|
+
// null when returnPartialData is false
|
|
198
|
+
const data = this.options.returnPartialData || diff.complete ?
|
|
199
|
+
diff.result ?? undefined
|
|
200
|
+
: undefined;
|
|
201
|
+
return this.maskResult({
|
|
202
|
+
data,
|
|
203
|
+
dataState: diff.complete ? "complete"
|
|
204
|
+
: data === undefined ? "empty"
|
|
205
|
+
: "partial",
|
|
206
|
+
loading: !diff.complete,
|
|
207
|
+
networkStatus: diff.complete ? networkStatus_js_1.NetworkStatus.ready : networkStatus_js_1.NetworkStatus.loading,
|
|
208
|
+
partial: !diff.complete,
|
|
209
|
+
});
|
|
159
210
|
};
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
this.queryInfo["updateWatch"]();
|
|
211
|
+
switch (fetchPolicy) {
|
|
212
|
+
case "cache-only": {
|
|
213
|
+
return {
|
|
214
|
+
...cacheResult(),
|
|
215
|
+
loading: false,
|
|
216
|
+
networkStatus: networkStatus_js_1.NetworkStatus.ready,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
case "cache-first":
|
|
220
|
+
return cacheResult();
|
|
221
|
+
case "cache-and-network":
|
|
222
|
+
return {
|
|
223
|
+
...cacheResult(),
|
|
224
|
+
loading: true,
|
|
225
|
+
networkStatus: networkStatus_js_1.NetworkStatus.loading,
|
|
226
|
+
};
|
|
227
|
+
case "standby":
|
|
228
|
+
return empty;
|
|
229
|
+
default:
|
|
230
|
+
return uninitialized;
|
|
181
231
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
232
|
+
}
|
|
233
|
+
resubscribeCache() {
|
|
234
|
+
const { variables, fetchPolicy } = this.options;
|
|
235
|
+
const query = this.query;
|
|
236
|
+
const shouldUnsubscribe = fetchPolicy === "standby" ||
|
|
237
|
+
fetchPolicy === "no-cache" ||
|
|
238
|
+
this.waitForNetworkResult;
|
|
239
|
+
const shouldResubscribe = !isEqualQuery({ query, variables }, this.unsubscribeFromCache) &&
|
|
240
|
+
!this.waitForNetworkResult;
|
|
241
|
+
if (shouldUnsubscribe || shouldResubscribe) {
|
|
242
|
+
this.unsubscribeFromCache?.();
|
|
243
|
+
}
|
|
244
|
+
if (shouldUnsubscribe || !shouldResubscribe) {
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
const watch = {
|
|
248
|
+
query,
|
|
249
|
+
variables,
|
|
250
|
+
optimistic: true,
|
|
251
|
+
watcher: this,
|
|
252
|
+
callback: (diff) => {
|
|
253
|
+
const info = this.queryManager.getDocumentInfo(query);
|
|
254
|
+
if (info.hasClientExports || info.hasForcedResolvers) {
|
|
255
|
+
// If this is not set to something different than `diff`, we will
|
|
256
|
+
// not be notified about future cache changes with an equal `diff`.
|
|
257
|
+
// That would be the case if we are working with client-only fields
|
|
258
|
+
// that are forced or with `exports` fields that might change, causing
|
|
259
|
+
// local resovlers to return a new result.
|
|
260
|
+
// This is based on an implementation detail of `InMemoryCache`, which
|
|
261
|
+
// is not optimal - but the only alternative to this would be to
|
|
262
|
+
// resubscribe to the cache asynchonouly, which would bear the risk of
|
|
263
|
+
// missing further synchronous updates.
|
|
264
|
+
watch.lastDiff = undefined;
|
|
200
265
|
}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
(
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
// since the observable will terminate.
|
|
260
|
-
this.isTornDown = false;
|
|
266
|
+
if (watch.lastOwnDiff === diff) {
|
|
267
|
+
// skip cache updates that were caused by our own writes
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
const { result: previousResult } = this.subject.getValue();
|
|
271
|
+
if (!diff.complete &&
|
|
272
|
+
// If we are trying to deliver an incomplete cache result, we avoid
|
|
273
|
+
// reporting it if the query has errored, otherwise we let the broadcast try
|
|
274
|
+
// and repair the partial result by refetching the query. This check avoids
|
|
275
|
+
// a situation where a query that errors and another succeeds with
|
|
276
|
+
// overlapping data does not report the partial data result to the errored
|
|
277
|
+
// query.
|
|
278
|
+
//
|
|
279
|
+
// See https://github.com/apollographql/apollo-client/issues/11400 for more
|
|
280
|
+
// information on this issue.
|
|
281
|
+
(previousResult.error ||
|
|
282
|
+
// Prevent to schedule a notify directly after the `ObservableQuery`
|
|
283
|
+
// has been `reset` (which will set the `previousResult` to `uninitialized` or `empty`)
|
|
284
|
+
// as in those cases, `resetCache` will manually call `refetch` with more intentional timing.
|
|
285
|
+
previousResult === uninitialized ||
|
|
286
|
+
previousResult === empty)) {
|
|
287
|
+
return;
|
|
288
|
+
}
|
|
289
|
+
if (!(0, equality_1.equal)(previousResult.data, diff.result)) {
|
|
290
|
+
this.scheduleNotify();
|
|
291
|
+
}
|
|
292
|
+
},
|
|
293
|
+
};
|
|
294
|
+
const cancelWatch = this.queryManager.cache.watch(watch);
|
|
295
|
+
this.unsubscribeFromCache = Object.assign(() => {
|
|
296
|
+
this.unsubscribeFromCache = undefined;
|
|
297
|
+
cancelWatch();
|
|
298
|
+
}, { query, variables });
|
|
299
|
+
}
|
|
300
|
+
stableLastResult;
|
|
301
|
+
getCurrentResult() {
|
|
302
|
+
const { result: current } = this.subject.getValue();
|
|
303
|
+
let value = (
|
|
304
|
+
// if the `current` result is in an error state, we will always return that
|
|
305
|
+
// error state, even if we have no observers
|
|
306
|
+
(current.networkStatus === networkStatus_js_1.NetworkStatus.error ||
|
|
307
|
+
// if we have observers, we are watching the cache and
|
|
308
|
+
// this.subject.getValue() will always be up to date
|
|
309
|
+
this.hasObservers() || // if we are using a `no-cache` fetch policy in which case this
|
|
310
|
+
// `ObservableQuery` cannot have been updated from the outside - in
|
|
311
|
+
// that case, we prefer to keep the current value
|
|
312
|
+
this.options.fetchPolicy === "no-cache")) ?
|
|
313
|
+
current
|
|
314
|
+
// otherwise, the `current` value might be outdated due to missed
|
|
315
|
+
// external updates - calculate it again
|
|
316
|
+
: this.getInitialResult();
|
|
317
|
+
if (value === uninitialized) {
|
|
318
|
+
value = this.getInitialResult();
|
|
319
|
+
}
|
|
320
|
+
if (!(0, equality_1.equal)(this.stableLastResult, value)) {
|
|
321
|
+
this.stableLastResult = value;
|
|
322
|
+
}
|
|
323
|
+
return this.stableLastResult;
|
|
261
324
|
}
|
|
262
325
|
/**
|
|
263
326
|
* Update the variables of this observable query, and fetch the new results.
|
|
@@ -267,6 +330,7 @@ class ObservableQuery {
|
|
|
267
330
|
* the previous values of those variables will be used.
|
|
268
331
|
*/
|
|
269
332
|
refetch(variables) {
|
|
333
|
+
const { fetchPolicy } = this.options;
|
|
270
334
|
const reobserveOptions = {
|
|
271
335
|
// Always disable polling for refetches.
|
|
272
336
|
pollInterval: 0,
|
|
@@ -274,7 +338,6 @@ class ObservableQuery {
|
|
|
274
338
|
// Unless the provided fetchPolicy always consults the network
|
|
275
339
|
// (no-cache, network-only, or cache-and-network), override it with
|
|
276
340
|
// network-only to force the refetch for this fetchQuery call.
|
|
277
|
-
const { fetchPolicy } = this.options;
|
|
278
341
|
if (fetchPolicy === "no-cache") {
|
|
279
342
|
reobserveOptions.fetchPolicy = "no-cache";
|
|
280
343
|
}
|
|
@@ -282,38 +345,40 @@ class ObservableQuery {
|
|
|
282
345
|
reobserveOptions.fetchPolicy = "network-only";
|
|
283
346
|
}
|
|
284
347
|
if (environment_1.__DEV__ && variables && hasOwnProperty.call(variables, "variables")) {
|
|
285
|
-
const queryDef = (0,
|
|
348
|
+
const queryDef = (0, internal_1.getQueryDefinition)(this.query);
|
|
286
349
|
const vars = queryDef.variableDefinitions;
|
|
287
350
|
if (!vars || !vars.some((v) => v.variable.name.value === "variables")) {
|
|
288
|
-
__DEV__ && invariant_1.invariant.warn(
|
|
351
|
+
__DEV__ && invariant_1.invariant.warn(79, variables, queryDef.name?.value || queryDef);
|
|
289
352
|
}
|
|
290
353
|
}
|
|
291
|
-
if (variables && !(0, equality_1.equal)(this.
|
|
354
|
+
if (variables && !(0, equality_1.equal)(this.variables, variables)) {
|
|
292
355
|
// Update the existing options with new variables
|
|
293
|
-
reobserveOptions.variables = this.options.variables =
|
|
294
|
-
...this.
|
|
295
|
-
...variables,
|
|
296
|
-
};
|
|
356
|
+
reobserveOptions.variables = this.options.variables =
|
|
357
|
+
this.getVariablesWithDefaults({ ...this.variables, ...variables });
|
|
297
358
|
}
|
|
298
|
-
this.
|
|
299
|
-
return this.
|
|
300
|
-
|
|
301
|
-
[newNetworkStatusSymbol]: networkStatus_js_1.NetworkStatus.refetch,
|
|
359
|
+
this._lastWrite = undefined;
|
|
360
|
+
return this._reobserve(reobserveOptions, {
|
|
361
|
+
newNetworkStatus: networkStatus_js_1.NetworkStatus.refetch,
|
|
302
362
|
});
|
|
303
363
|
}
|
|
304
364
|
/**
|
|
305
365
|
* A function that helps you fetch the next set of results for a [paginated list field](https://www.apollographql.com/docs/react/pagination/core-api/).
|
|
306
366
|
*/
|
|
307
|
-
fetchMore(
|
|
367
|
+
fetchMore({ query, variables, context, errorPolicy, updateQuery, }) {
|
|
368
|
+
(0, invariant_1.invariant)(
|
|
369
|
+
this.options.fetchPolicy !== "cache-only",
|
|
370
|
+
80,
|
|
371
|
+
(0, internal_1.getOperationName)(this.query, "(anonymous)")
|
|
372
|
+
);
|
|
308
373
|
const combinedOptions = {
|
|
309
|
-
...(
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
374
|
+
...(0, internal_1.compact)(this.options, { errorPolicy: "none" }, {
|
|
375
|
+
query,
|
|
376
|
+
context,
|
|
377
|
+
errorPolicy,
|
|
378
|
+
}),
|
|
379
|
+
variables: (query ? variables : ({
|
|
380
|
+
...this.variables,
|
|
381
|
+
...variables,
|
|
317
382
|
})),
|
|
318
383
|
// The fetchMore request goes immediately to the network and does
|
|
319
384
|
// not automatically write its result to the cache (hence no-cache
|
|
@@ -321,38 +386,37 @@ class ObservableQuery {
|
|
|
321
386
|
// fetchMore to provide an updateQuery callback that determines how
|
|
322
387
|
// the data gets written to the cache.
|
|
323
388
|
fetchPolicy: "no-cache",
|
|
389
|
+
notifyOnNetworkStatusChange: this.options.notifyOnNetworkStatusChange,
|
|
324
390
|
};
|
|
325
391
|
combinedOptions.query = this.transformDocument(combinedOptions.query);
|
|
326
|
-
const qid = this.queryManager.generateQueryId();
|
|
327
392
|
// If a temporary query is passed to `fetchMore`, we don't want to store
|
|
328
393
|
// it as the last query result since it may be an optimized query for
|
|
329
394
|
// pagination. We will however run the transforms on the original document
|
|
330
395
|
// as well as the document passed in `fetchMoreOptions` to ensure the cache
|
|
331
396
|
// uses the most up-to-date document which may rely on runtime conditionals.
|
|
332
397
|
this.lastQuery =
|
|
333
|
-
|
|
398
|
+
query ?
|
|
334
399
|
this.transformDocument(this.options.query)
|
|
335
400
|
: combinedOptions.query;
|
|
336
|
-
|
|
337
|
-
// result.networkStatus === NetworkStatus.fetchMore.
|
|
338
|
-
const originalNetworkStatus = this.networkStatus;
|
|
339
|
-
this.networkStatus = networkStatus_js_1.NetworkStatus.fetchMore;
|
|
340
|
-
if (combinedOptions.notifyOnNetworkStatusChange) {
|
|
341
|
-
this.observe();
|
|
342
|
-
}
|
|
343
|
-
const updatedQuerySet = new Set();
|
|
344
|
-
const updateQuery = fetchMoreOptions?.updateQuery;
|
|
401
|
+
let wasUpdated = false;
|
|
345
402
|
const isCached = this.options.fetchPolicy !== "no-cache";
|
|
346
403
|
if (!isCached) {
|
|
347
|
-
(0, invariant_1.invariant)(updateQuery,
|
|
404
|
+
(0, invariant_1.invariant)(updateQuery, 81);
|
|
348
405
|
}
|
|
406
|
+
const { finalize, pushNotification } = this.pushOperation(networkStatus_js_1.NetworkStatus.fetchMore);
|
|
407
|
+
pushNotification({
|
|
408
|
+
source: "newNetworkStatus",
|
|
409
|
+
kind: "N",
|
|
410
|
+
value: {},
|
|
411
|
+
}, { shouldEmit: 3 /* EmitBehavior.networkStatusChange */ });
|
|
349
412
|
return this.queryManager
|
|
350
|
-
.fetchQuery(
|
|
413
|
+
.fetchQuery(combinedOptions, networkStatus_js_1.NetworkStatus.fetchMore)
|
|
351
414
|
.then((fetchMoreResult) => {
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
415
|
+
// disable the `fetchMore` override that is currently active
|
|
416
|
+
// the next updates caused by this should not be `fetchMore` anymore,
|
|
417
|
+
// but `ready` or whatever other calculated loading state is currently
|
|
418
|
+
// appropriate
|
|
419
|
+
finalize();
|
|
356
420
|
if (isCached) {
|
|
357
421
|
// Performing this cache update inside a cache.batch transaction ensures
|
|
358
422
|
// any affected cache.watch watchers are notified at most once about any
|
|
@@ -361,7 +425,6 @@ class ObservableQuery {
|
|
|
361
425
|
// fetchMore cache results back to this ObservableQuery.
|
|
362
426
|
this.queryManager.cache.batch({
|
|
363
427
|
update: (cache) => {
|
|
364
|
-
const { updateQuery } = fetchMoreOptions;
|
|
365
428
|
if (updateQuery) {
|
|
366
429
|
cache.updateQuery({
|
|
367
430
|
query: this.query,
|
|
@@ -387,9 +450,9 @@ class ObservableQuery {
|
|
|
387
450
|
}
|
|
388
451
|
},
|
|
389
452
|
onWatchUpdated: (watch) => {
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
453
|
+
if (watch.watcher === this) {
|
|
454
|
+
wasUpdated = true;
|
|
455
|
+
}
|
|
393
456
|
},
|
|
394
457
|
});
|
|
395
458
|
}
|
|
@@ -408,28 +471,41 @@ class ObservableQuery {
|
|
|
408
471
|
// adjustment to the types on `updateQuery` since that function
|
|
409
472
|
// expects that the first argument always contains previous result
|
|
410
473
|
// data, but not `undefined`.
|
|
411
|
-
const lastResult = this.
|
|
474
|
+
const lastResult = this.getCurrentResult();
|
|
412
475
|
const data = updateQuery(lastResult.data, {
|
|
413
476
|
fetchMoreResult: fetchMoreResult.data,
|
|
414
477
|
variables: combinedOptions.variables,
|
|
415
478
|
});
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
479
|
+
// was reportResult
|
|
480
|
+
pushNotification({
|
|
481
|
+
kind: "N",
|
|
482
|
+
value: {
|
|
483
|
+
...lastResult,
|
|
484
|
+
networkStatus: networkStatus_js_1.NetworkStatus.ready,
|
|
485
|
+
// will be overwritten anyways, just here for types sake
|
|
486
|
+
loading: false,
|
|
487
|
+
data: data,
|
|
488
|
+
dataState: lastResult.dataState === "streaming" ? "streaming" : "complete",
|
|
489
|
+
},
|
|
490
|
+
source: "network",
|
|
491
|
+
});
|
|
422
492
|
}
|
|
423
493
|
return this.maskResult(fetchMoreResult);
|
|
424
494
|
})
|
|
425
495
|
.finally(() => {
|
|
496
|
+
// call `finalize` a second time in case the `.then` case above was not reached
|
|
497
|
+
finalize();
|
|
426
498
|
// In case the cache writes above did not generate a broadcast
|
|
427
499
|
// notification (which would have been intercepted by onWatchUpdated),
|
|
428
500
|
// likely because the written data were the same as what was already in
|
|
429
501
|
// the cache, we still want fetchMore to deliver its final loading:false
|
|
430
502
|
// result with the unchanged data.
|
|
431
|
-
if (isCached && !
|
|
432
|
-
|
|
503
|
+
if (isCached && !wasUpdated) {
|
|
504
|
+
pushNotification({
|
|
505
|
+
kind: "N",
|
|
506
|
+
source: "newNetworkStatus",
|
|
507
|
+
value: {},
|
|
508
|
+
}, { shouldEmit: 1 /* EmitBehavior.force */ });
|
|
433
509
|
}
|
|
434
510
|
});
|
|
435
511
|
}
|
|
@@ -457,7 +533,7 @@ class ObservableQuery {
|
|
|
457
533
|
onError(error);
|
|
458
534
|
}
|
|
459
535
|
else {
|
|
460
|
-
__DEV__ && invariant_1.invariant.error(
|
|
536
|
+
__DEV__ && invariant_1.invariant.error(82, error);
|
|
461
537
|
}
|
|
462
538
|
return;
|
|
463
539
|
}
|
|
@@ -476,10 +552,15 @@ class ObservableQuery {
|
|
|
476
552
|
}
|
|
477
553
|
};
|
|
478
554
|
}
|
|
479
|
-
/**
|
|
480
|
-
|
|
481
|
-
|
|
555
|
+
/**
|
|
556
|
+
* @internal
|
|
557
|
+
*
|
|
558
|
+
* @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
|
|
559
|
+
*/
|
|
560
|
+
applyOptions(newOptions) {
|
|
561
|
+
const mergedOptions = (0, internal_1.compact)(this.options, newOptions || {});
|
|
482
562
|
assign(this.options, mergedOptions);
|
|
563
|
+
this.updatePolling();
|
|
483
564
|
}
|
|
484
565
|
/**
|
|
485
566
|
* Update the variables of this observable query, and fetch the new results
|
|
@@ -500,23 +581,23 @@ class ObservableQuery {
|
|
|
500
581
|
* the previous values of those variables will be used.
|
|
501
582
|
*/
|
|
502
583
|
async setVariables(variables) {
|
|
584
|
+
variables = this.getVariablesWithDefaults(variables);
|
|
503
585
|
if ((0, equality_1.equal)(this.variables, variables)) {
|
|
504
586
|
// If we have no observers, then we don't actually want to make a network
|
|
505
587
|
// request. As soon as someone observes the query, the request will kick
|
|
506
588
|
// off. For now, we just store any changes. (See #1077)
|
|
507
|
-
return (0, internal_1.toQueryResult)(this.
|
|
589
|
+
return (0, internal_1.toQueryResult)(this.getCurrentResult());
|
|
508
590
|
}
|
|
509
591
|
this.options.variables = variables;
|
|
510
592
|
// See comment above
|
|
511
593
|
if (!this.hasObservers()) {
|
|
512
|
-
return (0, internal_1.toQueryResult)(this.
|
|
594
|
+
return (0, internal_1.toQueryResult)(this.getCurrentResult());
|
|
513
595
|
}
|
|
514
|
-
return this.
|
|
596
|
+
return this._reobserve({
|
|
515
597
|
// Reset options.fetchPolicy to its original value.
|
|
516
598
|
fetchPolicy: this.options.initialFetchPolicy,
|
|
517
599
|
variables,
|
|
518
|
-
|
|
519
|
-
});
|
|
600
|
+
}, { newNetworkStatus: networkStatus_js_1.NetworkStatus.setVariables });
|
|
520
601
|
}
|
|
521
602
|
/**
|
|
522
603
|
* A function that enables you to update the query's cached result without executing a followup GraphQL operation.
|
|
@@ -525,12 +606,7 @@ class ObservableQuery {
|
|
|
525
606
|
*/
|
|
526
607
|
updateQuery(mapFn) {
|
|
527
608
|
const { queryManager } = this;
|
|
528
|
-
const { result, complete } =
|
|
529
|
-
query: this.options.query,
|
|
530
|
-
variables: this.variables,
|
|
531
|
-
returnPartialData: true,
|
|
532
|
-
optimistic: false,
|
|
533
|
-
});
|
|
609
|
+
const { result, complete } = this.getCacheDiff({ optimistic: false });
|
|
534
610
|
const newResult = mapFn(result, {
|
|
535
611
|
variables: this.variables,
|
|
536
612
|
complete: !!complete,
|
|
@@ -582,12 +658,7 @@ class ObservableQuery {
|
|
|
582
658
|
// that end, the options.nextFetchPolicy option provides an easy way to
|
|
583
659
|
// update options.fetchPolicy after the initial network request, without
|
|
584
660
|
// having to call observableQuery.reobserve.
|
|
585
|
-
options.fetchPolicy = options.nextFetchPolicy(fetchPolicy, {
|
|
586
|
-
reason,
|
|
587
|
-
options,
|
|
588
|
-
observable: this,
|
|
589
|
-
initialFetchPolicy,
|
|
590
|
-
});
|
|
661
|
+
options.fetchPolicy = options.nextFetchPolicy.call(options, fetchPolicy, { reason, options, observable: this, initialFetchPolicy });
|
|
591
662
|
}
|
|
592
663
|
else if (reason === "variables-changed") {
|
|
593
664
|
options.fetchPolicy = initialFetchPolicy;
|
|
@@ -598,38 +669,133 @@ class ObservableQuery {
|
|
|
598
669
|
}
|
|
599
670
|
return options.fetchPolicy;
|
|
600
671
|
}
|
|
601
|
-
fetch(options,
|
|
672
|
+
fetch(options, networkStatus, fetchQuery, operator) {
|
|
602
673
|
// TODO Make sure we update the networkStatus (and infer fetchVariables)
|
|
603
674
|
// before actually committing to the fetch.
|
|
604
|
-
const
|
|
605
|
-
|
|
606
|
-
|
|
675
|
+
const initialFetchPolicy = this.options.fetchPolicy;
|
|
676
|
+
options.context ??= {};
|
|
677
|
+
let synchronouslyEmitted = false;
|
|
678
|
+
const onCacheHit = () => {
|
|
679
|
+
synchronouslyEmitted = true;
|
|
680
|
+
};
|
|
681
|
+
const fetchQueryOperator = // we cannot use `tap` here, since it allows only for a "before subscription"
|
|
682
|
+
|
|
683
|
+
// hook with `subscribe` and we care for "directly before and after subscription"
|
|
684
|
+
(source) => new rxjs_1.Observable((subscriber) => {
|
|
685
|
+
try {
|
|
686
|
+
return source.subscribe({
|
|
687
|
+
next(value) {
|
|
688
|
+
synchronouslyEmitted = true;
|
|
689
|
+
subscriber.next(value);
|
|
690
|
+
},
|
|
691
|
+
error: (error) => subscriber.error(error),
|
|
692
|
+
complete: () => subscriber.complete(),
|
|
693
|
+
});
|
|
694
|
+
}
|
|
695
|
+
finally {
|
|
696
|
+
if (!synchronouslyEmitted) {
|
|
697
|
+
operation.override = networkStatus;
|
|
698
|
+
this.input.next({
|
|
699
|
+
kind: "N",
|
|
700
|
+
source: "newNetworkStatus",
|
|
701
|
+
value: {
|
|
702
|
+
resetError: true,
|
|
703
|
+
},
|
|
704
|
+
query,
|
|
705
|
+
variables,
|
|
706
|
+
meta: {
|
|
707
|
+
shouldEmit: 3 /* EmitBehavior.networkStatusChange */,
|
|
708
|
+
/*
|
|
709
|
+
* The moment this notification is emitted, `nextFetchPolicy`
|
|
710
|
+
* might already have switched from a `network-only` to a
|
|
711
|
+
* `cache-something` policy, so we want to ensure that the
|
|
712
|
+
* loading state emit doesn't accidentally read from the cache
|
|
713
|
+
* in those cases.
|
|
714
|
+
*/
|
|
715
|
+
fetchPolicy: initialFetchPolicy,
|
|
716
|
+
},
|
|
717
|
+
});
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
});
|
|
721
|
+
let { observable, fromLink } = this.queryManager.fetchObservableWithInfo(options, {
|
|
722
|
+
networkStatus,
|
|
723
|
+
query: fetchQuery,
|
|
724
|
+
onCacheHit,
|
|
725
|
+
fetchQueryOperator,
|
|
726
|
+
observableQuery: this,
|
|
727
|
+
});
|
|
728
|
+
// track query and variables from the start of the operation
|
|
729
|
+
const { query, variables } = this;
|
|
730
|
+
const operation = {
|
|
731
|
+
abort: () => {
|
|
732
|
+
subscription.unsubscribe();
|
|
733
|
+
},
|
|
734
|
+
query,
|
|
735
|
+
variables,
|
|
736
|
+
};
|
|
737
|
+
this.activeOperations.add(operation);
|
|
738
|
+
let forceFirstValueEmit = networkStatus == networkStatus_js_1.NetworkStatus.refetch ||
|
|
739
|
+
networkStatus == networkStatus_js_1.NetworkStatus.setVariables;
|
|
740
|
+
observable = observable.pipe(operator, (0, rxjs_1.share)());
|
|
741
|
+
const subscription = observable
|
|
742
|
+
.pipe((0, rxjs_1.tap)({
|
|
743
|
+
next: (notification) => {
|
|
744
|
+
if (notification.source === "newNetworkStatus" ||
|
|
745
|
+
(notification.kind === "N" && notification.value.loading)) {
|
|
746
|
+
operation.override = networkStatus;
|
|
747
|
+
}
|
|
748
|
+
else {
|
|
749
|
+
delete operation.override;
|
|
750
|
+
}
|
|
751
|
+
},
|
|
752
|
+
finalize: () => this.activeOperations.delete(operation),
|
|
753
|
+
}))
|
|
754
|
+
.subscribe({
|
|
755
|
+
next: (value) => {
|
|
756
|
+
const meta = {};
|
|
757
|
+
if (forceFirstValueEmit &&
|
|
758
|
+
value.kind === "N" &&
|
|
759
|
+
"loading" in value.value &&
|
|
760
|
+
!value.value.loading) {
|
|
761
|
+
forceFirstValueEmit = false;
|
|
762
|
+
meta.shouldEmit = 1 /* EmitBehavior.force */;
|
|
763
|
+
}
|
|
764
|
+
this.input.next({ ...value, query, variables, meta });
|
|
765
|
+
},
|
|
766
|
+
});
|
|
767
|
+
return { fromLink, subscription, observable };
|
|
607
768
|
}
|
|
608
769
|
// Turns polling on or off based on this.options.pollInterval.
|
|
770
|
+
didWarnCacheOnlyPolling = false;
|
|
609
771
|
updatePolling() {
|
|
610
772
|
// Avoid polling in SSR mode
|
|
611
773
|
if (this.queryManager.ssrMode) {
|
|
612
774
|
return;
|
|
613
775
|
}
|
|
614
|
-
const { pollingInfo, options: { pollInterval }, } = this;
|
|
615
|
-
if (!pollInterval || !this.hasObservers()) {
|
|
616
|
-
if (
|
|
617
|
-
|
|
618
|
-
|
|
776
|
+
const { pollingInfo, options: { fetchPolicy, pollInterval }, } = this;
|
|
777
|
+
if (!pollInterval || !this.hasObservers() || fetchPolicy === "cache-only") {
|
|
778
|
+
if (environment_1.__DEV__) {
|
|
779
|
+
if (!this.didWarnCacheOnlyPolling &&
|
|
780
|
+
pollInterval &&
|
|
781
|
+
fetchPolicy === "cache-only") {
|
|
782
|
+
__DEV__ && invariant_1.invariant.warn(83, (0, internal_1.getOperationName)(this.query, "(anonymous)"));
|
|
783
|
+
this.didWarnCacheOnlyPolling = true;
|
|
784
|
+
}
|
|
619
785
|
}
|
|
786
|
+
this.cancelPolling();
|
|
620
787
|
return;
|
|
621
788
|
}
|
|
622
|
-
if (pollingInfo
|
|
789
|
+
if (pollingInfo?.interval === pollInterval) {
|
|
623
790
|
return;
|
|
624
791
|
}
|
|
625
|
-
(0, invariant_1.invariant)(pollInterval, 70);
|
|
626
792
|
const info = pollingInfo || (this.pollingInfo = {});
|
|
627
793
|
info.interval = pollInterval;
|
|
628
794
|
const maybeFetch = () => {
|
|
629
795
|
if (this.pollingInfo) {
|
|
630
796
|
if (!(0, networkStatus_js_1.isNetworkRequestInFlight)(this.networkStatus) &&
|
|
631
797
|
!this.options.skipPollAttempt?.()) {
|
|
632
|
-
this.
|
|
798
|
+
this._reobserve({
|
|
633
799
|
// Most fetchPolicy options don't make sense to use in a polling context, as
|
|
634
800
|
// users wouldn't want to be polling the cache directly. However, network-only and
|
|
635
801
|
// no-cache are both useful for when the user wants to control whether or not the
|
|
@@ -637,7 +803,8 @@ class ObservableQuery {
|
|
|
637
803
|
fetchPolicy: this.options.initialFetchPolicy === "no-cache" ?
|
|
638
804
|
"no-cache"
|
|
639
805
|
: "network-only",
|
|
640
|
-
|
|
806
|
+
}, {
|
|
807
|
+
newNetworkStatus: networkStatus_js_1.NetworkStatus.poll,
|
|
641
808
|
}).then(poll, poll);
|
|
642
809
|
}
|
|
643
810
|
else {
|
|
@@ -654,47 +821,36 @@ class ObservableQuery {
|
|
|
654
821
|
};
|
|
655
822
|
poll();
|
|
656
823
|
}
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
824
|
+
// This differs from stopPolling in that it does not set pollInterval to 0
|
|
825
|
+
cancelPolling() {
|
|
826
|
+
if (this.pollingInfo) {
|
|
827
|
+
clearTimeout(this.pollingInfo.timeout);
|
|
828
|
+
delete this.pollingInfo;
|
|
662
829
|
}
|
|
663
|
-
return (this.last = {
|
|
664
|
-
result: this.queryManager.assumeImmutableResults ?
|
|
665
|
-
newResult
|
|
666
|
-
: (0, utilities_1.cloneDeep)(newResult),
|
|
667
|
-
variables,
|
|
668
|
-
...(error ? { error } : null),
|
|
669
|
-
});
|
|
670
830
|
}
|
|
671
831
|
/**
|
|
672
832
|
* Reevaluate the query, optionally against new options. New options will be
|
|
673
833
|
* merged with the current options when given.
|
|
674
834
|
*/
|
|
675
835
|
reobserve(newOptions) {
|
|
836
|
+
return this._reobserve(newOptions);
|
|
837
|
+
}
|
|
838
|
+
_reobserve(newOptions, internalOptions) {
|
|
676
839
|
this.isTornDown = false;
|
|
677
|
-
let newNetworkStatus;
|
|
678
|
-
|
|
679
|
-
newNetworkStatus = newOptions[newNetworkStatusSymbol];
|
|
680
|
-
// Avoid setting the symbol option in this.options
|
|
681
|
-
delete newOptions[newNetworkStatusSymbol];
|
|
682
|
-
}
|
|
840
|
+
let { newNetworkStatus } = internalOptions || {};
|
|
841
|
+
this.queryManager.obsQueries.add(this);
|
|
683
842
|
const useDisposableObservable =
|
|
684
843
|
// Refetching uses a disposable Observable to allow refetches using different
|
|
685
|
-
// options
|
|
844
|
+
// options, without permanently altering the options of the
|
|
686
845
|
// original ObservableQuery.
|
|
687
846
|
newNetworkStatus === networkStatus_js_1.NetworkStatus.refetch ||
|
|
688
|
-
// The fetchMore method does not actually call the reobserve method, but,
|
|
689
|
-
// if it did, it would definitely use a disposable Observable.
|
|
690
|
-
newNetworkStatus === networkStatus_js_1.NetworkStatus.fetchMore ||
|
|
691
847
|
// Polling uses a disposable Observable so the polling options (which force
|
|
692
848
|
// fetchPolicy to be "network-only" or "no-cache") won't override the original options.
|
|
693
849
|
newNetworkStatus === networkStatus_js_1.NetworkStatus.poll;
|
|
694
850
|
// Save the old variables, since Object.assign may modify them below.
|
|
695
|
-
const oldVariables = this.
|
|
851
|
+
const oldVariables = this.variables;
|
|
696
852
|
const oldFetchPolicy = this.options.fetchPolicy;
|
|
697
|
-
const mergedOptions = (0,
|
|
853
|
+
const mergedOptions = (0, internal_1.compact)(this.options, newOptions || {});
|
|
698
854
|
const options = useDisposableObservable ?
|
|
699
855
|
// Disposable Observable fetches receive a shallow copy of this.options
|
|
700
856
|
// (merged with newOptions), leaving this.options unmodified.
|
|
@@ -706,6 +862,16 @@ class ObservableQuery {
|
|
|
706
862
|
// time a request is made against the original query.
|
|
707
863
|
const query = this.transformDocument(options.query);
|
|
708
864
|
this.lastQuery = query;
|
|
865
|
+
// Reevaluate variables to allow resetting variables with variables: undefined,
|
|
866
|
+
// otherwise `compact` will ignore the `variables` key in `newOptions`. We
|
|
867
|
+
// do this after we run the query transform to ensure we get default
|
|
868
|
+
// variables from the transformed query.
|
|
869
|
+
//
|
|
870
|
+
// Note: updating options.variables may mutate this.options.variables
|
|
871
|
+
// in the case of a non-disposable query. This is intentional.
|
|
872
|
+
if (newOptions && "variables" in newOptions) {
|
|
873
|
+
options.variables = this.getVariablesWithDefaults(newOptions.variables);
|
|
874
|
+
}
|
|
709
875
|
if (!useDisposableObservable) {
|
|
710
876
|
// We can skip calling updatePolling if we're not changing this.options.
|
|
711
877
|
this.updatePolling();
|
|
@@ -722,6 +888,7 @@ class ObservableQuery {
|
|
|
722
888
|
// A `nextFetchPolicy` function has even higher priority, though,
|
|
723
889
|
// so in that case `applyNextFetchPolicy` must be called.
|
|
724
890
|
typeof options.nextFetchPolicy === "function")) {
|
|
891
|
+
// This might mutate options.fetchPolicy
|
|
725
892
|
this.applyNextFetchPolicy("variables-changed", options);
|
|
726
893
|
if (newNetworkStatus === void 0) {
|
|
727
894
|
newNetworkStatus = networkStatus_js_1.NetworkStatus.setVariables;
|
|
@@ -736,181 +903,336 @@ class ObservableQuery {
|
|
|
736
903
|
!(0, equality_1.equal)(newOptions.variables, oldVariables)) {
|
|
737
904
|
newNetworkStatus = networkStatus_js_1.NetworkStatus.setVariables;
|
|
738
905
|
}
|
|
906
|
+
// QueryManager does not emit any values for standby fetch policies so we
|
|
907
|
+
// want ensure that the networkStatus remains ready.
|
|
908
|
+
if (options.fetchPolicy === "standby") {
|
|
909
|
+
newNetworkStatus = networkStatus_js_1.NetworkStatus.ready;
|
|
910
|
+
}
|
|
739
911
|
}
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
912
|
+
if (options.fetchPolicy === "standby") {
|
|
913
|
+
this.cancelPolling();
|
|
914
|
+
}
|
|
915
|
+
this.resubscribeCache();
|
|
916
|
+
const { promise, operator: promiseOperator } = getTrackingOperatorPromise((value) => {
|
|
917
|
+
switch (value.kind) {
|
|
918
|
+
case "E":
|
|
919
|
+
throw value.error;
|
|
920
|
+
case "N":
|
|
921
|
+
if (value.source !== "newNetworkStatus" && !value.value.loading)
|
|
922
|
+
return value.value;
|
|
745
923
|
}
|
|
746
|
-
}
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
finishWaitingForOwnResult();
|
|
756
|
-
this.reportResult(result, variables);
|
|
757
|
-
}
|
|
758
|
-
},
|
|
759
|
-
error: (error) => {
|
|
760
|
-
if ((0, equality_1.equal)(this.variables, variables)) {
|
|
761
|
-
finishWaitingForOwnResult();
|
|
762
|
-
this.reportError(error, variables);
|
|
763
|
-
}
|
|
764
|
-
},
|
|
765
|
-
};
|
|
924
|
+
},
|
|
925
|
+
// This default value should only be used when using a `fetchPolicy` of
|
|
926
|
+
// `standby` since that fetch policy completes without emitting a
|
|
927
|
+
// result. Since we are converting this to a QueryResult type, we
|
|
928
|
+
// omit the extra fields from ApolloQueryResult in the default value.
|
|
929
|
+
options.fetchPolicy === "standby" ?
|
|
930
|
+
{ data: undefined }
|
|
931
|
+
: undefined);
|
|
932
|
+
const { subscription, observable, fromLink } = this.fetch(options, newNetworkStatus, query, promiseOperator);
|
|
766
933
|
if (!useDisposableObservable && (fromLink || !this.linkSubscription)) {
|
|
767
934
|
if (this.linkSubscription) {
|
|
768
935
|
this.linkSubscription.unsubscribe();
|
|
769
936
|
}
|
|
770
|
-
this.
|
|
771
|
-
this.linkSubscription = observable.subscribe(observer);
|
|
937
|
+
this.linkSubscription = subscription;
|
|
772
938
|
}
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
this.reportResult(
|
|
792
|
-
// Passing false is important so that this.getCurrentResult doesn't
|
|
793
|
-
// save the fetchMore result as this.lastResult, causing it to be
|
|
794
|
-
// ignored due to the this.isDifferentFromLastResult check in
|
|
795
|
-
// this.reportResult.
|
|
796
|
-
this.getCurrentFullResult(false), this.variables);
|
|
797
|
-
}
|
|
798
|
-
reportResult(result, variables) {
|
|
799
|
-
const lastError = this.getLastError();
|
|
800
|
-
const isDifferent = this.isDifferentFromLastResult(result, variables);
|
|
801
|
-
// Update the last result even when isDifferentFromLastResult returns false,
|
|
802
|
-
// because the query may be using the @nonreactive directive, and we want to
|
|
803
|
-
// save the the latest version of any nonreactive subtrees (in case
|
|
804
|
-
// getCurrentResult is called), even though we skip broadcasting changes.
|
|
805
|
-
this.updateLastResult(result, variables);
|
|
806
|
-
this.networkStatus = result.networkStatus;
|
|
807
|
-
if (lastError || isDifferent) {
|
|
808
|
-
this.subject.next(this.maskResult(result));
|
|
809
|
-
}
|
|
810
|
-
}
|
|
811
|
-
reportError(error, variables) {
|
|
812
|
-
// Since we don't get the current result on errors, only the error, we
|
|
813
|
-
// must mirror the updates that occur in QueryStore.markQueryError here
|
|
814
|
-
const errorResult = {
|
|
815
|
-
data: undefined,
|
|
816
|
-
partial: true,
|
|
817
|
-
...this.getLastResult(),
|
|
818
|
-
error,
|
|
819
|
-
networkStatus: networkStatus_js_1.NetworkStatus.error,
|
|
820
|
-
loading: false,
|
|
821
|
-
};
|
|
822
|
-
this.updateLastResult(errorResult, variables);
|
|
823
|
-
this.networkStatus = networkStatus_js_1.NetworkStatus.error;
|
|
824
|
-
this.last.error = error;
|
|
825
|
-
this.subject.next(errorResult);
|
|
939
|
+
const ret = Object.assign((0, internal_1.preventUnhandledRejection)(promise
|
|
940
|
+
.then((result) => (0, internal_1.toQueryResult)(this.maskResult(result)))
|
|
941
|
+
.finally(() => {
|
|
942
|
+
if (!this.hasObservers() && this.activeOperations.size === 0) {
|
|
943
|
+
// If `reobserve` was called on a query without any obervers,
|
|
944
|
+
// the teardown logic would never be called, so we need to
|
|
945
|
+
// call it here to ensure the query is properly torn down.
|
|
946
|
+
this.tearDownQuery();
|
|
947
|
+
}
|
|
948
|
+
})), {
|
|
949
|
+
retain: () => {
|
|
950
|
+
const subscription = observable.subscribe({});
|
|
951
|
+
const unsubscribe = () => subscription.unsubscribe();
|
|
952
|
+
promise.then(unsubscribe, unsubscribe);
|
|
953
|
+
return ret;
|
|
954
|
+
},
|
|
955
|
+
});
|
|
956
|
+
return ret;
|
|
826
957
|
}
|
|
827
958
|
hasObservers() {
|
|
828
959
|
return this.subject.observed;
|
|
829
960
|
}
|
|
961
|
+
/**
|
|
962
|
+
* Tears down the `ObservableQuery` and stops all active operations by sending a `complete` notification.
|
|
963
|
+
*/
|
|
964
|
+
stop() {
|
|
965
|
+
this.subject.complete();
|
|
966
|
+
this.initializeObservablesQueue();
|
|
967
|
+
this.tearDownQuery();
|
|
968
|
+
}
|
|
830
969
|
tearDownQuery() {
|
|
831
970
|
if (this.isTornDown)
|
|
832
971
|
return;
|
|
833
|
-
|
|
972
|
+
this.resetNotifications();
|
|
973
|
+
this.unsubscribeFromCache?.();
|
|
974
|
+
if (this.linkSubscription) {
|
|
834
975
|
this.linkSubscription.unsubscribe();
|
|
835
|
-
delete this.linkObservable;
|
|
836
976
|
delete this.linkSubscription;
|
|
837
977
|
}
|
|
838
978
|
this.stopPolling();
|
|
839
979
|
// stop all active GraphQL subscriptions
|
|
840
980
|
this.subscriptions.forEach((sub) => sub.unsubscribe());
|
|
841
981
|
this.subscriptions.clear();
|
|
842
|
-
this.queryManager.
|
|
982
|
+
this.queryManager.obsQueries.delete(this);
|
|
843
983
|
this.isTornDown = true;
|
|
984
|
+
this.abortActiveOperations();
|
|
985
|
+
this._lastWrite = undefined;
|
|
844
986
|
}
|
|
845
987
|
transformDocument(document) {
|
|
846
988
|
return this.queryManager.transform(document);
|
|
847
989
|
}
|
|
848
990
|
maskResult(result) {
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
}),
|
|
858
|
-
}
|
|
859
|
-
: result;
|
|
991
|
+
const masked = this.queryManager.maskOperation({
|
|
992
|
+
document: this.query,
|
|
993
|
+
data: result.data,
|
|
994
|
+
fetchPolicy: this.options.fetchPolicy,
|
|
995
|
+
cause: this,
|
|
996
|
+
});
|
|
997
|
+
// Maintain object identity as much as possible
|
|
998
|
+
return masked === result.data ? result : { ...result, data: masked };
|
|
860
999
|
}
|
|
861
1000
|
dirty = false;
|
|
862
1001
|
notifyTimeout;
|
|
863
|
-
/**
|
|
1002
|
+
/**
|
|
1003
|
+
* @internal
|
|
1004
|
+
*
|
|
1005
|
+
* @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
|
|
1006
|
+
*/
|
|
864
1007
|
resetNotifications() {
|
|
865
|
-
this.cancelNotifyTimeout();
|
|
866
|
-
this.dirty = false;
|
|
867
|
-
}
|
|
868
|
-
cancelNotifyTimeout() {
|
|
869
1008
|
if (this.notifyTimeout) {
|
|
870
1009
|
clearTimeout(this.notifyTimeout);
|
|
871
1010
|
this.notifyTimeout = void 0;
|
|
872
1011
|
}
|
|
1012
|
+
this.dirty = false;
|
|
873
1013
|
}
|
|
874
|
-
/**
|
|
1014
|
+
/**
|
|
1015
|
+
* @internal
|
|
1016
|
+
*
|
|
1017
|
+
* @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
|
|
1018
|
+
*/
|
|
875
1019
|
scheduleNotify() {
|
|
876
1020
|
if (this.dirty)
|
|
877
1021
|
return;
|
|
878
1022
|
this.dirty = true;
|
|
879
1023
|
if (!this.notifyTimeout) {
|
|
880
|
-
this.notifyTimeout = setTimeout(() => this.notify(), 0);
|
|
1024
|
+
this.notifyTimeout = setTimeout(() => this.notify(true), 0);
|
|
881
1025
|
}
|
|
882
1026
|
}
|
|
883
|
-
/**
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
1027
|
+
/**
|
|
1028
|
+
* @internal
|
|
1029
|
+
*
|
|
1030
|
+
* @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
|
|
1031
|
+
*/
|
|
1032
|
+
notify(scheduled = false) {
|
|
1033
|
+
if (!scheduled) {
|
|
1034
|
+
// For queries with client exports or forced resolvers, we don't want to
|
|
1035
|
+
// synchronously reobserve the cache on broadcast,
|
|
1036
|
+
// but actually wait for the `scheduleNotify` timeout triggered by the
|
|
1037
|
+
// `cache.watch` callback from `resubscribeCache`.
|
|
1038
|
+
const info = this.queryManager.getDocumentInfo(this.query);
|
|
1039
|
+
if (info.hasClientExports || info.hasForcedResolvers) {
|
|
1040
|
+
return;
|
|
1041
|
+
}
|
|
1042
|
+
}
|
|
1043
|
+
const { dirty } = this;
|
|
1044
|
+
this.resetNotifications();
|
|
1045
|
+
if (dirty &&
|
|
1046
|
+
(this.options.fetchPolicy == "cache-only" ||
|
|
888
1047
|
this.options.fetchPolicy == "cache-and-network" ||
|
|
889
|
-
!
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
1048
|
+
!this.activeOperations.size)) {
|
|
1049
|
+
const diff = this.getCacheDiff();
|
|
1050
|
+
if (
|
|
1051
|
+
// `fromOptimisticTransaction` is not avaiable through the `cache.diff`
|
|
1052
|
+
// code path, so we need to check it this way
|
|
1053
|
+
(0, equality_1.equal)(diff.result, this.getCacheDiff({ optimistic: false }).result)) {
|
|
1054
|
+
//If this diff did not come from an optimistic transaction
|
|
1055
|
+
// make the ObservableQuery "reobserve" the latest data
|
|
1056
|
+
// using a temporary fetch policy of "cache-first", so complete cache
|
|
1057
|
+
// results have a chance to be delivered without triggering additional
|
|
1058
|
+
// network requests, even when options.fetchPolicy is "network-only"
|
|
1059
|
+
// or "cache-and-network". All other fetch policies are preserved by
|
|
1060
|
+
// this method, and are handled by calling oq.reobserve(). If this
|
|
1061
|
+
// reobservation is spurious, distinctUntilChanged still has a
|
|
1062
|
+
// chance to catch it before delivery to ObservableQuery subscribers.
|
|
1063
|
+
this.reobserveCacheFirst();
|
|
1064
|
+
}
|
|
1065
|
+
else {
|
|
1066
|
+
// If this diff came from an optimistic transaction, deliver the
|
|
1067
|
+
// current cache data to the ObservableQuery, but don't perform a
|
|
1068
|
+
// reobservation, since oq.reobserveCacheFirst might make a network
|
|
1069
|
+
// request, and we never want to trigger network requests in the
|
|
1070
|
+
// middle of optimistic updates.
|
|
1071
|
+
this.input.next({
|
|
1072
|
+
kind: "N",
|
|
1073
|
+
value: {
|
|
1074
|
+
data: diff.result,
|
|
1075
|
+
dataState: diff.complete ? "complete"
|
|
1076
|
+
: diff.result ? "partial"
|
|
1077
|
+
: "empty",
|
|
1078
|
+
networkStatus: networkStatus_js_1.NetworkStatus.ready,
|
|
1079
|
+
loading: false,
|
|
1080
|
+
error: undefined,
|
|
1081
|
+
partial: !diff.complete,
|
|
1082
|
+
},
|
|
1083
|
+
source: "cache",
|
|
1084
|
+
query: this.query,
|
|
1085
|
+
variables: this.variables,
|
|
1086
|
+
meta: {},
|
|
1087
|
+
});
|
|
910
1088
|
}
|
|
911
1089
|
}
|
|
912
|
-
this.dirty = false;
|
|
913
1090
|
}
|
|
1091
|
+
activeOperations = new Set();
|
|
1092
|
+
pushOperation(networkStatus) {
|
|
1093
|
+
let aborted = false;
|
|
1094
|
+
// track query and variables from the start of the operation
|
|
1095
|
+
const { query, variables } = this;
|
|
1096
|
+
const finalize = () => {
|
|
1097
|
+
this.activeOperations.delete(operation);
|
|
1098
|
+
};
|
|
1099
|
+
const operation = {
|
|
1100
|
+
override: networkStatus,
|
|
1101
|
+
abort: () => {
|
|
1102
|
+
aborted = true;
|
|
1103
|
+
finalize();
|
|
1104
|
+
},
|
|
1105
|
+
query,
|
|
1106
|
+
variables,
|
|
1107
|
+
};
|
|
1108
|
+
this.activeOperations.add(operation);
|
|
1109
|
+
return {
|
|
1110
|
+
finalize,
|
|
1111
|
+
pushNotification: (notification, additionalMeta) => {
|
|
1112
|
+
if (!aborted) {
|
|
1113
|
+
this.input.next({
|
|
1114
|
+
...notification,
|
|
1115
|
+
query,
|
|
1116
|
+
variables,
|
|
1117
|
+
meta: { ...additionalMeta },
|
|
1118
|
+
});
|
|
1119
|
+
}
|
|
1120
|
+
},
|
|
1121
|
+
};
|
|
1122
|
+
}
|
|
1123
|
+
calculateNetworkStatus(baseNetworkStatus) {
|
|
1124
|
+
if (baseNetworkStatus === networkStatus_js_1.NetworkStatus.streaming) {
|
|
1125
|
+
return baseNetworkStatus;
|
|
1126
|
+
}
|
|
1127
|
+
// in the future, this could be more complex logic, e.g. "refetch" and
|
|
1128
|
+
// "fetchMore" having priority over "polling" or "loading" network statuses
|
|
1129
|
+
// as for now we just take the "latest" operation that is still active,
|
|
1130
|
+
// as that lines up best with previous behavior[]
|
|
1131
|
+
const operation = Array.from(this.activeOperations.values()).findLast((operation) => isEqualQuery(operation, this) && operation.override !== undefined);
|
|
1132
|
+
return operation?.override ?? baseNetworkStatus;
|
|
1133
|
+
}
|
|
1134
|
+
abortActiveOperations() {
|
|
1135
|
+
this.activeOperations.forEach((operation) => operation.abort());
|
|
1136
|
+
}
|
|
1137
|
+
/**
|
|
1138
|
+
* @internal
|
|
1139
|
+
* Called from `clearStore`.
|
|
1140
|
+
* * resets the query to its initial state
|
|
1141
|
+
* * cancels all active operations and their subscriptions
|
|
1142
|
+
*
|
|
1143
|
+
* @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
|
|
1144
|
+
*/
|
|
1145
|
+
reset() {
|
|
1146
|
+
// exception for cache-only queries - we reset them into a "ready" state
|
|
1147
|
+
// as we won't trigger a refetch for them
|
|
1148
|
+
const resetToEmpty = this.options.fetchPolicy === "cache-only";
|
|
1149
|
+
this.setResult(resetToEmpty ? empty : uninitialized, {
|
|
1150
|
+
shouldEmit: resetToEmpty ? 1 /* EmitBehavior.force */ : 2 /* EmitBehavior.never */,
|
|
1151
|
+
});
|
|
1152
|
+
this.abortActiveOperations();
|
|
1153
|
+
}
|
|
1154
|
+
/**
|
|
1155
|
+
* @internal
|
|
1156
|
+
*
|
|
1157
|
+
* @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
|
|
1158
|
+
*/
|
|
1159
|
+
setResult(result, additionalMeta) {
|
|
1160
|
+
this.input.next({
|
|
1161
|
+
source: "setResult",
|
|
1162
|
+
kind: "N",
|
|
1163
|
+
value: result,
|
|
1164
|
+
query: this.query,
|
|
1165
|
+
variables: this.variables,
|
|
1166
|
+
meta: { ...additionalMeta },
|
|
1167
|
+
});
|
|
1168
|
+
}
|
|
1169
|
+
operator = (0, internal_1.filterMap)((notification) => {
|
|
1170
|
+
const { query, variables, meta } = notification;
|
|
1171
|
+
if (notification.source === "setResult") {
|
|
1172
|
+
return { query, variables, result: notification.value, meta };
|
|
1173
|
+
}
|
|
1174
|
+
if (notification.kind === "C" || !isEqualQuery(notification, this)) {
|
|
1175
|
+
return;
|
|
1176
|
+
}
|
|
1177
|
+
let result;
|
|
1178
|
+
const previous = this.subject.getValue();
|
|
1179
|
+
if (notification.source === "cache") {
|
|
1180
|
+
result = notification.value;
|
|
1181
|
+
if (result.networkStatus === networkStatus_js_1.NetworkStatus.ready &&
|
|
1182
|
+
result.partial &&
|
|
1183
|
+
(!this.options.returnPartialData ||
|
|
1184
|
+
previous.result.networkStatus === networkStatus_js_1.NetworkStatus.error) &&
|
|
1185
|
+
this.options.fetchPolicy !== "cache-only") {
|
|
1186
|
+
return;
|
|
1187
|
+
}
|
|
1188
|
+
}
|
|
1189
|
+
else if (notification.source === "network") {
|
|
1190
|
+
if (this.waitForNetworkResult) {
|
|
1191
|
+
this.waitForNetworkResult = false;
|
|
1192
|
+
this.resubscribeCache();
|
|
1193
|
+
}
|
|
1194
|
+
result =
|
|
1195
|
+
notification.kind === "E" ?
|
|
1196
|
+
{
|
|
1197
|
+
...(isEqualQuery(previous, notification) ?
|
|
1198
|
+
previous.result
|
|
1199
|
+
: { data: undefined, dataState: "empty", partial: true }),
|
|
1200
|
+
error: notification.error,
|
|
1201
|
+
networkStatus: networkStatus_js_1.NetworkStatus.error,
|
|
1202
|
+
loading: false,
|
|
1203
|
+
}
|
|
1204
|
+
: notification.value;
|
|
1205
|
+
if (notification.kind === "E" && result.dataState === "streaming") {
|
|
1206
|
+
result.dataState = "complete";
|
|
1207
|
+
}
|
|
1208
|
+
if (result.error) {
|
|
1209
|
+
meta.shouldEmit = 1 /* EmitBehavior.force */;
|
|
1210
|
+
}
|
|
1211
|
+
}
|
|
1212
|
+
else if (notification.source === "newNetworkStatus") {
|
|
1213
|
+
const baseResult = isEqualQuery(previous, notification) ?
|
|
1214
|
+
previous.result
|
|
1215
|
+
: this.getInitialResult(meta.fetchPolicy);
|
|
1216
|
+
const { resetError } = notification.value;
|
|
1217
|
+
const error = resetError ? undefined : baseResult.error;
|
|
1218
|
+
const networkStatus = error ? networkStatus_js_1.NetworkStatus.error : networkStatus_js_1.NetworkStatus.ready;
|
|
1219
|
+
result = {
|
|
1220
|
+
...baseResult,
|
|
1221
|
+
error,
|
|
1222
|
+
networkStatus,
|
|
1223
|
+
};
|
|
1224
|
+
}
|
|
1225
|
+
// every code path until here should have either returned or set a result,
|
|
1226
|
+
// but typescript needs a little help
|
|
1227
|
+
(0, invariant_1.invariant)(result);
|
|
1228
|
+
// normalize result shape
|
|
1229
|
+
if (!result.error)
|
|
1230
|
+
delete result.error;
|
|
1231
|
+
result.networkStatus = this.calculateNetworkStatus(result.networkStatus);
|
|
1232
|
+
result.loading = (0, networkStatus_js_1.isNetworkRequestInFlight)(result.networkStatus);
|
|
1233
|
+
result = this.maskResult(result);
|
|
1234
|
+
return { query, variables, result, meta };
|
|
1235
|
+
});
|
|
914
1236
|
// Reobserve with fetchPolicy effectively set to "cache-first", triggering
|
|
915
1237
|
// delivery of any new data from the cache, possibly falling back to the network
|
|
916
1238
|
// if any cache data are missing. This allows _complete_ cache results to be
|
|
@@ -921,7 +1243,7 @@ class ObservableQuery {
|
|
|
921
1243
|
reobserveCacheFirst() {
|
|
922
1244
|
const { fetchPolicy, nextFetchPolicy } = this.options;
|
|
923
1245
|
if (fetchPolicy === "cache-and-network" || fetchPolicy === "network-only") {
|
|
924
|
-
|
|
1246
|
+
this.reobserve({
|
|
925
1247
|
fetchPolicy: "cache-first",
|
|
926
1248
|
// Use a temporary nextFetchPolicy function that replaces itself with the
|
|
927
1249
|
// previous nextFetchPolicy value and returns the original fetchPolicy.
|
|
@@ -939,18 +1261,59 @@ class ObservableQuery {
|
|
|
939
1261
|
},
|
|
940
1262
|
});
|
|
941
1263
|
}
|
|
942
|
-
|
|
1264
|
+
else {
|
|
1265
|
+
this.reobserve();
|
|
1266
|
+
}
|
|
1267
|
+
}
|
|
1268
|
+
getVariablesWithDefaults(variables) {
|
|
1269
|
+
return this.queryManager.getVariables(this.query, variables);
|
|
943
1270
|
}
|
|
944
1271
|
}
|
|
945
1272
|
exports.ObservableQuery = ObservableQuery;
|
|
946
1273
|
function logMissingFieldErrors(missing) {
|
|
947
1274
|
if (environment_1.__DEV__ && missing) {
|
|
948
|
-
__DEV__ && invariant_1.invariant.debug(
|
|
1275
|
+
__DEV__ && invariant_1.invariant.debug(84, missing);
|
|
949
1276
|
}
|
|
950
1277
|
}
|
|
951
|
-
function
|
|
952
|
-
return (
|
|
953
|
-
|
|
954
|
-
|
|
1278
|
+
function isEqualQuery(a, b) {
|
|
1279
|
+
return !!(a && b && a.query === b.query && (0, equality_1.equal)(a.variables, b.variables));
|
|
1280
|
+
}
|
|
1281
|
+
function getTrackingOperatorPromise(filterMapCb, defaultValue) {
|
|
1282
|
+
let lastValue = defaultValue, resolve, reject;
|
|
1283
|
+
const promise = new Promise((res, rej) => {
|
|
1284
|
+
resolve = res;
|
|
1285
|
+
reject = rej;
|
|
1286
|
+
});
|
|
1287
|
+
const operator = (0, rxjs_1.tap)({
|
|
1288
|
+
next(value) {
|
|
1289
|
+
try {
|
|
1290
|
+
const newValue = filterMapCb(value);
|
|
1291
|
+
if (newValue !== undefined) {
|
|
1292
|
+
lastValue = newValue;
|
|
1293
|
+
}
|
|
1294
|
+
}
|
|
1295
|
+
catch (error) {
|
|
1296
|
+
reject(error);
|
|
1297
|
+
}
|
|
1298
|
+
},
|
|
1299
|
+
finalize: () => {
|
|
1300
|
+
if (lastValue) {
|
|
1301
|
+
resolve(lastValue);
|
|
1302
|
+
}
|
|
1303
|
+
else {
|
|
1304
|
+
const message = "The operation was aborted.";
|
|
1305
|
+
const name = "AbortError";
|
|
1306
|
+
reject(typeof DOMException !== "undefined" ?
|
|
1307
|
+
new DOMException(message, name)
|
|
1308
|
+
// some environments do not have `DOMException`, e.g. node
|
|
1309
|
+
// uses a normal `Error` with a `name` property instead: https://github.com/phryneas/node/blob/d0579b64f0f6b722f8e49bf8a471dd0d0604a21e/lib/internal/errors.js#L964
|
|
1310
|
+
// error.code is a legacy property that is not used anymore,
|
|
1311
|
+
// and also inconsistent across environments (in supporting
|
|
1312
|
+
// browsers it is `20`, in node `'ABORT_ERR'`) so we omit that.
|
|
1313
|
+
: Object.assign(new Error(message), { name }));
|
|
1314
|
+
}
|
|
1315
|
+
},
|
|
1316
|
+
});
|
|
1317
|
+
return { promise, operator };
|
|
955
1318
|
}
|
|
956
1319
|
//# sourceMappingURL=ObservableQuery.cjs.map
|