@apollo/client 4.0.0-alpha.9 → 4.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1012 -0
- package/README.md +80 -31
- package/__cjs/cache/core/cache.cjs +11 -9
- package/__cjs/cache/core/cache.cjs.map +1 -1
- package/__cjs/cache/core/cache.d.cts +11 -8
- package/__cjs/cache/index.cjs +1 -2
- package/__cjs/cache/index.cjs.map +1 -1
- package/__cjs/cache/index.d.cts +1 -1
- package/__cjs/cache/inmemory/entityStore.cjs +12 -11
- package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
- package/__cjs/cache/inmemory/fragmentRegistry.cjs +3 -2
- package/__cjs/cache/inmemory/fragmentRegistry.cjs.map +1 -1
- package/__cjs/cache/inmemory/helpers.cjs +10 -10
- package/__cjs/cache/inmemory/helpers.cjs.map +1 -1
- package/__cjs/cache/inmemory/helpers.d.cts +3 -3
- package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
- package/__cjs/cache/inmemory/inMemoryCache.d.cts +9 -7
- package/__cjs/cache/inmemory/key-extractor.cjs +10 -10
- package/__cjs/cache/inmemory/key-extractor.cjs.map +1 -1
- package/__cjs/cache/inmemory/policies.cjs +14 -13
- package/__cjs/cache/inmemory/policies.cjs.map +1 -1
- package/__cjs/cache/inmemory/policies.d.cts +2 -1
- package/__cjs/cache/inmemory/readFromStore.cjs +17 -16
- package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
- package/__cjs/cache/inmemory/writeToStore.cjs +50 -22
- package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
- package/__cjs/cache/inmemory/writeToStore.d.cts +2 -1
- package/__cjs/core/ApolloClient.cjs +53 -74
- package/__cjs/core/ApolloClient.cjs.map +1 -1
- package/__cjs/core/ApolloClient.d.cts +29 -55
- package/__cjs/core/ObservableQuery.cjs +768 -468
- package/__cjs/core/ObservableQuery.cjs.map +1 -1
- package/__cjs/core/ObservableQuery.d.cts +290 -60
- package/__cjs/core/QueryInfo.cjs +271 -180
- package/__cjs/core/QueryInfo.cjs.map +1 -1
- package/__cjs/core/QueryInfo.d.cts +55 -30
- package/__cjs/core/QueryManager.cjs +509 -587
- package/__cjs/core/QueryManager.cjs.map +1 -1
- package/__cjs/core/QueryManager.d.cts +52 -62
- package/__cjs/core/equalByQuery.cjs +7 -7
- package/__cjs/core/equalByQuery.cjs.map +1 -1
- package/__cjs/core/index.cjs +11 -10
- package/__cjs/core/index.cjs.map +1 -1
- package/__cjs/core/index.d.cts +10 -12
- package/__cjs/core/networkStatus.cjs +7 -1
- package/__cjs/core/networkStatus.cjs.map +1 -1
- package/__cjs/core/networkStatus.d.cts +7 -1
- package/__cjs/core/types.d.cts +137 -25
- package/__cjs/core/watchQueryOptions.d.cts +16 -101
- package/__cjs/dev/loadErrorMessageHandler.cjs +2 -3
- package/__cjs/dev/loadErrorMessageHandler.cjs.map +1 -1
- package/__cjs/dev/setErrorMessageHandler.cjs +2 -3
- package/__cjs/dev/setErrorMessageHandler.cjs.map +1 -1
- package/__cjs/errors/CombinedGraphQLErrors.cjs +28 -13
- package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
- package/__cjs/errors/CombinedGraphQLErrors.d.cts +21 -2
- package/__cjs/errors/CombinedProtocolErrors.cjs +13 -6
- package/__cjs/errors/CombinedProtocolErrors.cjs.map +1 -1
- package/__cjs/errors/CombinedProtocolErrors.d.cts +9 -0
- package/__cjs/errors/LinkError.cjs +24 -0
- package/__cjs/errors/LinkError.cjs.map +1 -0
- package/__cjs/errors/LinkError.d.cts +18 -0
- package/__cjs/errors/LocalStateError.cjs +27 -0
- package/__cjs/errors/LocalStateError.cjs.map +1 -0
- package/__cjs/errors/LocalStateError.d.cts +20 -0
- package/__cjs/errors/ServerError.cjs +9 -4
- package/__cjs/errors/ServerError.cjs.map +1 -1
- package/__cjs/errors/ServerError.d.cts +10 -8
- package/__cjs/errors/ServerParseError.cjs +6 -0
- package/__cjs/errors/ServerParseError.cjs.map +1 -1
- package/__cjs/errors/ServerParseError.d.cts +2 -0
- package/__cjs/errors/UnconventionalError.cjs +6 -0
- package/__cjs/errors/UnconventionalError.cjs.map +1 -1
- package/__cjs/errors/UnconventionalError.d.cts +2 -0
- package/__cjs/errors/index.cjs +12 -12
- package/__cjs/errors/index.cjs.map +1 -1
- package/__cjs/errors/index.d.cts +5 -8
- package/__cjs/errors/isErrorLike.cjs +12 -0
- package/__cjs/errors/isErrorLike.cjs.map +1 -0
- package/__cjs/errors/isErrorLike.d.cts +3 -0
- package/__cjs/errors/utils.cjs +18 -0
- package/__cjs/errors/utils.cjs.map +1 -0
- package/__cjs/errors/utils.d.cts +3 -0
- package/__cjs/incremental/handlers/defer20220824.cjs +102 -0
- package/__cjs/incremental/handlers/defer20220824.cjs.map +1 -0
- package/__cjs/incremental/handlers/defer20220824.d.cts +55 -0
- package/__cjs/incremental/handlers/notImplemented.cjs +19 -0
- package/__cjs/incremental/handlers/notImplemented.cjs.map +1 -0
- package/__cjs/incremental/handlers/notImplemented.d.cts +9 -0
- package/__cjs/incremental/index.cjs +9 -0
- package/__cjs/incremental/index.cjs.map +1 -0
- package/__cjs/incremental/index.d.cts +4 -0
- package/__cjs/incremental/types.cjs +3 -0
- package/__cjs/incremental/types.cjs.map +1 -0
- package/__cjs/incremental/types.d.cts +24 -0
- package/__cjs/invariantErrorCodes.cjs +275 -172
- package/__cjs/link/batch/batchLink.cjs +2 -2
- package/__cjs/link/batch/batchLink.cjs.map +1 -1
- package/__cjs/link/batch/batchLink.d.cts +2 -2
- package/__cjs/link/batch/batching.cjs.map +1 -1
- package/__cjs/link/batch/batching.d.cts +1 -1
- package/__cjs/link/batch-http/batchHttpLink.cjs +21 -67
- package/__cjs/link/batch-http/batchHttpLink.cjs.map +1 -1
- package/__cjs/link/batch-http/batchHttpLink.d.cts +9 -4
- package/__cjs/link/batch-http/index.cjs +2 -1
- package/__cjs/link/batch-http/index.cjs.map +1 -1
- package/__cjs/link/batch-http/index.d.cts +1 -1
- package/__cjs/link/client-awareness/ClientAwarenessLink.cjs +45 -0
- package/__cjs/link/client-awareness/ClientAwarenessLink.cjs.map +1 -0
- package/__cjs/link/client-awareness/ClientAwarenessLink.d.cts +62 -0
- package/__cjs/link/client-awareness/index.cjs +6 -0
- package/__cjs/link/client-awareness/index.cjs.map +1 -0
- package/__cjs/link/client-awareness/index.d.cts +2 -0
- package/__cjs/link/context/index.cjs +37 -26
- package/__cjs/link/context/index.cjs.map +1 -1
- package/__cjs/link/context/index.d.cts +11 -5
- package/__cjs/link/core/ApolloLink.cjs +19 -13
- package/__cjs/link/core/ApolloLink.cjs.map +1 -1
- package/__cjs/link/core/ApolloLink.d.cts +17 -11
- package/__cjs/link/core/types.d.cts +14 -36
- package/__cjs/link/error/index.cjs +69 -66
- package/__cjs/link/error/index.cjs.map +1 -1
- package/__cjs/link/error/index.d.cts +17 -16
- package/__cjs/link/http/BaseHttpLink.cjs +111 -0
- package/__cjs/link/http/BaseHttpLink.cjs.map +1 -0
- package/__cjs/link/http/BaseHttpLink.d.cts +6 -0
- package/__cjs/link/http/HttpLink.cjs +14 -7
- package/__cjs/link/http/HttpLink.cjs.map +1 -1
- package/__cjs/link/http/HttpLink.d.cts +145 -4
- package/__cjs/link/http/checkFetcher.cjs +1 -1
- package/__cjs/link/http/index.cjs +4 -3
- package/__cjs/link/http/index.cjs.map +1 -1
- package/__cjs/link/http/index.d.cts +2 -3
- package/__cjs/link/http/parseAndCheckHttpResponse.cjs +74 -113
- package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
- package/__cjs/link/http/parseAndCheckHttpResponse.d.cts +1 -3
- package/__cjs/link/http/rewriteURIForGET.cjs.map +1 -1
- package/__cjs/link/http/rewriteURIForGET.d.cts +2 -2
- package/__cjs/link/http/selectHttpOptionsAndBody.cjs +7 -6
- package/__cjs/link/http/selectHttpOptionsAndBody.cjs.map +1 -1
- package/__cjs/link/http/selectHttpOptionsAndBody.d.cts +8 -83
- package/__cjs/link/http/selectURI.cjs.map +1 -1
- package/__cjs/link/http/selectURI.d.cts +1 -1
- package/__cjs/link/http/serializeFetchParameter.cjs +1 -1
- package/__cjs/link/index.cjs +16 -0
- package/__cjs/link/index.cjs.map +1 -0
- package/__cjs/link/index.d.cts +8 -0
- package/__cjs/link/persisted-queries/index.cjs +162 -142
- package/__cjs/link/persisted-queries/index.cjs.map +1 -1
- package/__cjs/link/persisted-queries/index.d.cts +21 -21
- package/__cjs/link/remove-typename/index.cjs +2 -1
- package/__cjs/link/remove-typename/index.cjs.map +1 -1
- package/__cjs/link/remove-typename/index.d.cts +1 -1
- package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs +37 -25
- package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs.map +1 -1
- package/__cjs/link/remove-typename/removeTypenameFromVariables.d.cts +9 -10
- package/__cjs/link/retry/delayFunction.cjs.map +1 -1
- package/__cjs/link/retry/delayFunction.d.cts +1 -1
- package/__cjs/link/retry/retryFunction.cjs.map +1 -1
- package/__cjs/link/retry/retryFunction.d.cts +1 -1
- package/__cjs/link/retry/retryLink.cjs +2 -2
- package/__cjs/link/retry/retryLink.cjs.map +1 -1
- package/__cjs/link/retry/retryLink.d.cts +2 -2
- package/__cjs/link/schema/index.cjs +2 -2
- package/__cjs/link/schema/index.cjs.map +1 -1
- package/__cjs/link/schema/index.d.cts +2 -2
- package/__cjs/link/subscriptions/index.cjs +5 -5
- package/__cjs/link/subscriptions/index.cjs.map +1 -1
- package/__cjs/link/subscriptions/index.d.cts +2 -2
- package/__cjs/link/utils/createOperation.cjs +5 -1
- package/__cjs/link/utils/createOperation.cjs.map +1 -1
- package/__cjs/link/utils/createOperation.d.cts +2 -2
- package/__cjs/link/utils/transformOperation.cjs +2 -2
- package/__cjs/link/utils/transformOperation.cjs.map +1 -1
- package/__cjs/link/utils/transformOperation.d.cts +1 -1
- package/__cjs/link/utils/validateOperation.cjs +1 -1
- package/__cjs/link/utils/validateOperation.cjs.map +1 -1
- package/__cjs/link/utils/validateOperation.d.cts +1 -1
- package/__cjs/link/ws/index.cjs +2 -2
- package/__cjs/link/ws/index.cjs.map +1 -1
- package/__cjs/link/ws/index.d.cts +2 -2
- package/__cjs/local-state/LocalState.cjs +527 -0
- package/__cjs/local-state/LocalState.cjs.map +1 -0
- package/__cjs/local-state/LocalState.d.cts +88 -0
- package/__cjs/local-state/index.cjs +6 -0
- package/__cjs/local-state/index.cjs.map +1 -0
- package/__cjs/local-state/index.d.cts +2 -0
- package/__cjs/masking/GraphQLCodegenDataMasking.cjs +3 -0
- package/__cjs/masking/GraphQLCodegenDataMasking.cjs.map +1 -0
- package/__cjs/masking/GraphQLCodegenDataMasking.d.cts +79 -0
- package/__cjs/masking/index.cjs.map +1 -1
- package/__cjs/masking/index.d.cts +1 -0
- package/__cjs/masking/internal/types.d.cts +1 -2
- package/__cjs/masking/maskDefinition.cjs +6 -6
- package/__cjs/masking/maskDefinition.cjs.map +1 -1
- package/__cjs/masking/maskDefinition.d.cts +1 -1
- package/__cjs/masking/maskFragment.cjs +9 -13
- package/__cjs/masking/maskFragment.cjs.map +1 -1
- package/__cjs/masking/maskFragment.d.cts +5 -1
- package/__cjs/masking/maskOperation.cjs +9 -13
- package/__cjs/masking/maskOperation.cjs.map +1 -1
- package/__cjs/masking/maskOperation.d.cts +5 -1
- package/__cjs/masking/types.d.cts +12 -26
- package/__cjs/masking/utils.cjs +32 -7
- package/__cjs/masking/utils.cjs.map +1 -1
- package/__cjs/masking/utils.d.cts +7 -2
- package/__cjs/react/context/ApolloConsumer.cjs +1 -1
- package/__cjs/react/context/ApolloContext.cjs +1 -1
- package/__cjs/react/context/ApolloProvider.cjs +1 -1
- package/__cjs/react/hooks/internal/__use.cjs +6 -6
- package/__cjs/react/hooks/internal/__use.cjs.map +1 -1
- package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs +2 -2
- package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs.map +1 -1
- package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs +28 -0
- package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs.map +1 -0
- package/__cjs/react/hooks/internal/validateSuspenseHookOptions.d.cts +3 -0
- package/__cjs/react/hooks/internal/wrapHook.cjs +36 -34
- package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
- package/__cjs/react/hooks/internal/wrapHook.d.cts +42 -38
- package/__cjs/react/hooks/useApolloClient.cjs +1 -1
- package/__cjs/react/hooks/useBackgroundQuery.cjs +3 -2
- package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useBackgroundQuery.d.cts +59 -28
- package/__cjs/react/hooks/useFragment.cjs +1 -0
- package/__cjs/react/hooks/useFragment.cjs.map +1 -1
- package/__cjs/react/hooks/useFragment.d.cts +2 -1
- package/__cjs/react/hooks/useLazyQuery.cjs +18 -16
- package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useLazyQuery.d.cts +55 -80
- package/__cjs/react/hooks/useLoadableQuery.cjs +23 -4
- package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useLoadableQuery.d.cts +8 -10
- package/__cjs/react/hooks/useMutation.cjs +2 -2
- package/__cjs/react/hooks/useMutation.cjs.map +1 -1
- package/__cjs/react/hooks/useMutation.d.cts +47 -14
- package/__cjs/react/hooks/useQuery.cjs +36 -48
- package/__cjs/react/hooks/useQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useQuery.d.cts +19 -71
- package/__cjs/react/hooks/useQueryRefHandlers.cjs +1 -0
- package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
- package/__cjs/react/hooks/useQueryRefHandlers.d.cts +2 -2
- package/__cjs/react/hooks/useReadQuery.cjs +2 -0
- package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useReadQuery.d.cts +4 -11
- package/__cjs/react/hooks/useSubscription.cjs +13 -18
- package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
- package/__cjs/react/hooks/useSubscription.d.cts +6 -8
- package/__cjs/react/hooks/useSuspenseFragment.cjs +1 -0
- package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
- package/__cjs/react/hooks/useSuspenseFragment.d.cts +1 -2
- package/__cjs/react/hooks/useSuspenseQuery.cjs +8 -28
- package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useSuspenseQuery.d.cts +19 -36
- package/__cjs/react/hooks/useSyncExternalStore.cjs +22 -3
- package/__cjs/react/hooks/useSyncExternalStore.cjs.map +1 -1
- package/__cjs/react/index.cjs +3 -1
- package/__cjs/react/index.cjs.map +1 -1
- package/__cjs/react/index.d.cts +2 -1
- package/__cjs/react/internal/cache/FragmentReference.cjs +8 -5
- package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -1
- package/__cjs/react/internal/cache/FragmentReference.d.cts +2 -2
- package/__cjs/react/internal/cache/QueryReference.cjs +27 -38
- package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
- package/__cjs/react/internal/cache/QueryReference.d.cts +48 -108
- package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
- package/__cjs/react/internal/cache/SuspenseCache.d.cts +3 -3
- package/__cjs/react/internal/index.cjs.map +1 -1
- package/__cjs/react/internal/index.d.cts +2 -2
- package/__cjs/react/internal/types.d.cts +3 -45
- package/__cjs/react/query-preloader/createQueryPreloader.cjs +8 -2
- package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
- package/__cjs/react/query-preloader/createQueryPreloader.d.cts +46 -38
- package/__cjs/react/ssr/prerenderStatic.cjs +9 -2
- package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -1
- package/__cjs/react/ssr/useSSRQuery.cjs +12 -2
- package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -1
- package/__cjs/react/types/deprecated.d.cts +3 -3
- package/__cjs/react/types/types.documentation.d.cts +12 -0
- package/__cjs/testing/core/mocking/mockLink.cjs +21 -22
- package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
- package/__cjs/testing/core/mocking/mockLink.d.cts +31 -24
- package/__cjs/testing/core/mocking/mockSubscriptionLink.cjs +2 -6
- package/__cjs/testing/core/mocking/mockSubscriptionLink.cjs.map +1 -1
- package/__cjs/testing/core/mocking/mockSubscriptionLink.d.cts +9 -8
- package/__cjs/testing/core/types/deprecated.cjs +3 -0
- package/__cjs/testing/core/types/deprecated.cjs.map +1 -0
- package/__cjs/testing/core/types/deprecated.d.cts +10 -0
- package/__cjs/testing/index.cjs +6 -13
- package/__cjs/testing/index.cjs.map +1 -1
- package/__cjs/testing/index.d.cts +3 -2
- package/__cjs/testing/react/MockedProvider.cjs +4 -4
- package/__cjs/testing/react/MockedProvider.cjs.map +1 -1
- package/__cjs/testing/react/MockedProvider.d.cts +5 -6
- package/__cjs/utilities/DeepPartial.cjs.map +1 -0
- package/__cjs/utilities/DeepPartial.d.cts +15 -0
- package/__cjs/utilities/HKT.cjs +3 -0
- package/__cjs/utilities/HKT.cjs.map +1 -0
- package/__cjs/utilities/HKT.d.cts +35 -0
- package/__cjs/utilities/caching/index.cjs +1 -4
- package/__cjs/utilities/caching/index.cjs.map +1 -1
- package/__cjs/utilities/caching/index.d.cts +0 -1
- package/__cjs/utilities/caching/sizes.cjs +1 -1
- package/__cjs/utilities/caching/sizes.cjs.map +1 -1
- package/__cjs/utilities/caching/sizes.d.cts +6 -0
- package/__cjs/utilities/common/stripTypename.cjs +8 -2
- package/__cjs/utilities/common/stripTypename.cjs.map +1 -1
- package/__cjs/utilities/common/stripTypename.d.cts +7 -1
- package/__cjs/utilities/graphql/DocumentTransform.cjs +13 -9
- package/__cjs/utilities/graphql/DocumentTransform.cjs.map +1 -1
- package/__cjs/utilities/graphql/DocumentTransform.d.cts +10 -6
- package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs +9 -0
- package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs.map +1 -0
- package/__cjs/utilities/graphql/isFormattedExecutionResult.d.cts +3 -0
- package/__cjs/utilities/graphql/operations.cjs +23 -2
- package/__cjs/utilities/graphql/operations.cjs.map +1 -1
- package/__cjs/utilities/graphql/operations.d.cts +21 -0
- package/__cjs/utilities/graphql/print.cjs +9 -1
- package/__cjs/utilities/graphql/print.cjs.map +1 -1
- package/__cjs/utilities/graphql/print.d.cts +8 -0
- package/__cjs/utilities/graphql/storeUtils.cjs +5 -206
- package/__cjs/utilities/graphql/storeUtils.cjs.map +1 -1
- package/__cjs/utilities/graphql/storeUtils.d.cts +14 -22
- package/__cjs/utilities/graphql/transform.cjs +8 -454
- package/__cjs/utilities/graphql/transform.cjs.map +1 -1
- package/__cjs/utilities/graphql/transform.d.cts +6 -24
- package/__cjs/utilities/index.cjs +4 -90
- package/__cjs/utilities/index.cjs.map +1 -1
- package/__cjs/utilities/index.d.cts +8 -38
- package/__cjs/utilities/internal/DeepMerger.cjs +67 -0
- package/__cjs/utilities/internal/DeepMerger.cjs.map +1 -0
- package/__cjs/utilities/internal/DeepMerger.d.cts +17 -0
- package/__cjs/utilities/internal/argumentsObjectFromField.cjs +18 -0
- package/__cjs/utilities/internal/argumentsObjectFromField.cjs.map +1 -0
- package/__cjs/utilities/internal/argumentsObjectFromField.d.cts +8 -0
- package/__cjs/utilities/internal/caches.cjs +76 -0
- package/__cjs/utilities/internal/caches.cjs.map +1 -0
- package/__cjs/utilities/internal/caches.d.cts +42 -0
- package/__cjs/utilities/internal/canUseDOM.cjs +11 -0
- package/__cjs/utilities/internal/canUseDOM.cjs.map +1 -0
- package/__cjs/utilities/internal/canUseDOM.d.cts +7 -0
- package/__cjs/utilities/internal/checkDocument.cjs +69 -0
- package/__cjs/utilities/internal/checkDocument.cjs.map +1 -0
- package/__cjs/utilities/internal/checkDocument.d.cts +10 -0
- package/__cjs/utilities/internal/cloneDeep.cjs +45 -0
- package/__cjs/utilities/internal/cloneDeep.cjs.map +1 -0
- package/__cjs/utilities/internal/cloneDeep.d.cts +9 -0
- package/__cjs/utilities/internal/compact.cjs +26 -0
- package/__cjs/utilities/internal/compact.cjs.map +1 -0
- package/__cjs/utilities/internal/compact.d.cts +11 -0
- package/__cjs/utilities/internal/createFragmentMap.cjs +19 -0
- package/__cjs/utilities/internal/createFragmentMap.cjs.map +1 -0
- package/__cjs/utilities/internal/createFragmentMap.d.cts +12 -0
- package/__cjs/utilities/internal/createFulfilledPromise.cjs +15 -0
- package/__cjs/utilities/internal/createFulfilledPromise.cjs.map +1 -0
- package/__cjs/utilities/internal/createFulfilledPromise.d.cts +8 -0
- package/__cjs/utilities/internal/createRejectedPromise.cjs +17 -0
- package/__cjs/utilities/internal/createRejectedPromise.cjs.map +1 -0
- package/__cjs/utilities/internal/createRejectedPromise.d.cts +8 -0
- package/__cjs/utilities/internal/dealias.cjs +21 -0
- package/__cjs/utilities/internal/dealias.cjs.map +1 -0
- package/__cjs/utilities/internal/dealias.d.cts +5 -0
- package/__cjs/utilities/internal/decoratePromise.cjs +33 -0
- package/__cjs/utilities/internal/decoratePromise.cjs.map +1 -0
- package/__cjs/utilities/internal/decoratePromise.d.cts +8 -0
- package/__cjs/utilities/internal/deepFreeze.cjs +39 -0
- package/__cjs/utilities/internal/deepFreeze.cjs.map +1 -0
- package/__cjs/utilities/internal/deepFreeze.d.cts +7 -0
- package/__cjs/utilities/internal/filterMap.cjs +31 -0
- package/__cjs/utilities/internal/filterMap.cjs.map +1 -0
- package/__cjs/utilities/internal/filterMap.d.cts +4 -0
- package/__cjs/utilities/internal/getDefaultValues.cjs +22 -0
- package/__cjs/utilities/internal/getDefaultValues.cjs.map +1 -0
- package/__cjs/utilities/internal/getDefaultValues.d.cts +8 -0
- package/__cjs/utilities/internal/getFragmentDefinition.cjs +17 -0
- package/__cjs/utilities/internal/getFragmentDefinition.cjs.map +1 -0
- package/__cjs/utilities/internal/getFragmentDefinition.d.cts +8 -0
- package/__cjs/utilities/internal/getFragmentDefinitions.cjs +12 -0
- package/__cjs/utilities/internal/getFragmentDefinitions.cjs.map +1 -0
- package/__cjs/utilities/internal/getFragmentDefinitions.d.cts +8 -0
- package/__cjs/utilities/internal/getFragmentFromSelection.cjs +27 -0
- package/__cjs/utilities/internal/getFragmentFromSelection.cjs.map +1 -0
- package/__cjs/utilities/internal/getFragmentFromSelection.d.cts +10 -0
- package/__cjs/utilities/internal/getFragmentQueryDocument.cjs +86 -0
- package/__cjs/utilities/internal/getFragmentQueryDocument.cjs.map +1 -0
- package/__cjs/utilities/internal/getFragmentQueryDocument.d.cts +29 -0
- package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs +12 -0
- package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs.map +1 -0
- package/__cjs/utilities/internal/getGraphQLErrorsFromResult.d.cts +10 -0
- package/__cjs/utilities/internal/getMainDefinition.cjs +38 -0
- package/__cjs/utilities/internal/getMainDefinition.cjs.map +1 -0
- package/__cjs/utilities/internal/getMainDefinition.d.cts +12 -0
- package/__cjs/utilities/internal/getMemoryInternals.cjs +16 -9
- package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
- package/__cjs/utilities/internal/getMemoryInternals.d.cts +15 -10
- package/__cjs/utilities/internal/getOperationDefinition.cjs +14 -0
- package/__cjs/utilities/internal/getOperationDefinition.cjs.map +1 -0
- package/__cjs/utilities/internal/getOperationDefinition.d.cts +8 -0
- package/__cjs/utilities/internal/getOperationName.cjs +12 -0
- package/__cjs/utilities/internal/getOperationName.cjs.map +1 -0
- package/__cjs/utilities/internal/getOperationName.d.cts +8 -0
- package/__cjs/utilities/internal/getQueryDefinition.cjs +16 -0
- package/__cjs/utilities/internal/getQueryDefinition.cjs.map +1 -0
- package/__cjs/utilities/internal/getQueryDefinition.d.cts +8 -0
- package/__cjs/utilities/internal/getStoreKeyName.cjs +73 -0
- package/__cjs/utilities/internal/getStoreKeyName.cjs.map +1 -0
- package/__cjs/utilities/internal/getStoreKeyName.d.cts +16 -0
- package/__cjs/utilities/internal/globals/global.cjs.map +1 -0
- package/__cjs/utilities/internal/globals/index.cjs.map +1 -0
- package/__cjs/utilities/internal/globals/maybe.cjs.map +1 -0
- package/__cjs/utilities/internal/graphQLResultHasError.cjs +12 -0
- package/__cjs/utilities/internal/graphQLResultHasError.cjs.map +1 -0
- package/__cjs/utilities/internal/graphQLResultHasError.d.cts +8 -0
- package/__cjs/utilities/internal/hasDirectives.cjs +24 -0
- package/__cjs/utilities/internal/hasDirectives.cjs.map +1 -0
- package/__cjs/utilities/internal/hasDirectives.d.cts +8 -0
- package/__cjs/utilities/internal/hasForcedResolvers.cjs +23 -0
- package/__cjs/utilities/internal/hasForcedResolvers.cjs.map +1 -0
- package/__cjs/utilities/internal/hasForcedResolvers.d.cts +3 -0
- package/__cjs/utilities/internal/index.cjs +97 -5
- package/__cjs/utilities/internal/index.cjs.map +1 -1
- package/__cjs/utilities/internal/index.d.cts +62 -2
- package/__cjs/utilities/internal/isArray.cjs +12 -0
- package/__cjs/utilities/internal/isArray.cjs.map +1 -0
- package/__cjs/utilities/internal/isArray.d.cts +9 -0
- package/__cjs/utilities/internal/isDocumentNode.cjs +15 -0
- package/__cjs/utilities/internal/isDocumentNode.cjs.map +1 -0
- package/__cjs/utilities/internal/isDocumentNode.d.cts +8 -0
- package/__cjs/utilities/internal/isField.cjs +12 -0
- package/__cjs/utilities/internal/isField.cjs.map +1 -0
- package/__cjs/utilities/internal/isField.d.cts +8 -0
- package/__cjs/utilities/internal/isNonEmptyArray.cjs +12 -0
- package/__cjs/utilities/internal/isNonEmptyArray.cjs.map +1 -0
- package/__cjs/utilities/internal/isNonEmptyArray.d.cts +7 -0
- package/__cjs/utilities/internal/isNonNullObject.cjs +12 -0
- package/__cjs/utilities/internal/isNonNullObject.cjs.map +1 -0
- package/__cjs/utilities/internal/isNonNullObject.d.cts +7 -0
- package/__cjs/utilities/internal/isPlainObject.cjs +15 -0
- package/__cjs/utilities/internal/isPlainObject.cjs.map +1 -0
- package/__cjs/utilities/internal/isPlainObject.d.cts +7 -0
- package/__cjs/utilities/internal/makeReference.cjs +12 -0
- package/__cjs/utilities/internal/makeReference.cjs.map +1 -0
- package/__cjs/utilities/internal/makeReference.d.cts +8 -0
- package/__cjs/utilities/internal/makeUniqueId.cjs +18 -0
- package/__cjs/utilities/internal/makeUniqueId.cjs.map +1 -0
- package/__cjs/utilities/internal/makeUniqueId.d.cts +10 -0
- package/__cjs/utilities/internal/maybeDeepFreeze.cjs +17 -0
- package/__cjs/utilities/internal/maybeDeepFreeze.cjs.map +1 -0
- package/__cjs/utilities/internal/maybeDeepFreeze.d.cts +7 -0
- package/__cjs/utilities/internal/mergeDeep.cjs +26 -0
- package/__cjs/utilities/internal/mergeDeep.cjs.map +1 -0
- package/__cjs/utilities/internal/mergeDeep.d.cts +8 -0
- package/__cjs/utilities/internal/mergeDeepArray.cjs +27 -0
- package/__cjs/utilities/internal/mergeDeepArray.cjs.map +1 -0
- package/__cjs/utilities/internal/mergeDeepArray.d.cts +7 -0
- package/__cjs/utilities/internal/mergeOptions.cjs +18 -0
- package/__cjs/utilities/internal/mergeOptions.cjs.map +1 -0
- package/__cjs/utilities/internal/mergeOptions.d.cts +10 -0
- package/__cjs/utilities/internal/omitDeep.cjs +48 -0
- package/__cjs/utilities/internal/omitDeep.cjs.map +1 -0
- package/__cjs/utilities/internal/omitDeep.d.cts +8 -0
- package/__cjs/utilities/internal/preventUnhandledRejection.cjs.map +1 -0
- package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs +306 -0
- package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs.map +1 -0
- package/__cjs/utilities/internal/removeDirectivesFromDocument.d.cts +14 -0
- package/__cjs/utilities/internal/resultKeyNameFromField.cjs +12 -0
- package/__cjs/utilities/internal/resultKeyNameFromField.cjs.map +1 -0
- package/__cjs/utilities/internal/resultKeyNameFromField.d.cts +8 -0
- package/__cjs/utilities/internal/shouldInclude.cjs +50 -0
- package/__cjs/utilities/internal/shouldInclude.cjs.map +1 -0
- package/__cjs/utilities/internal/shouldInclude.d.cts +8 -0
- package/__cjs/utilities/internal/storeKeyNameFromField.cjs +29 -0
- package/__cjs/utilities/internal/storeKeyNameFromField.cjs.map +1 -0
- package/__cjs/utilities/internal/storeKeyNameFromField.d.cts +8 -0
- package/__cjs/utilities/internal/stringifyForDisplay.cjs +18 -0
- package/__cjs/utilities/internal/stringifyForDisplay.cjs.map +1 -0
- package/__cjs/utilities/internal/stringifyForDisplay.d.cts +7 -0
- package/__cjs/utilities/internal/toQueryResult.cjs +5 -0
- package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -1
- package/__cjs/utilities/internal/toQueryResult.d.cts +5 -0
- package/__cjs/utilities/internal/types/ApplyHKT.cjs +3 -0
- package/__cjs/utilities/internal/types/ApplyHKT.cjs.map +1 -0
- package/__cjs/utilities/internal/types/ApplyHKT.d.cts +13 -0
- package/__cjs/utilities/internal/types/ApplyHKTImplementationWithDefault.cjs +3 -0
- package/__cjs/utilities/internal/types/ApplyHKTImplementationWithDefault.cjs.map +1 -0
- package/__cjs/utilities/internal/types/ApplyHKTImplementationWithDefault.d.cts +11 -0
- package/__cjs/utilities/internal/types/DecoratedPromise.cjs +3 -0
- package/__cjs/utilities/internal/types/DecoratedPromise.cjs.map +1 -0
- package/__cjs/utilities/internal/types/DecoratedPromise.d.cts +10 -0
- package/__cjs/utilities/internal/types/DeepOmit.d.cts +15 -0
- package/__cjs/utilities/internal/types/FragmentMap.cjs +3 -0
- package/__cjs/utilities/internal/types/FragmentMap.cjs.map +1 -0
- package/__cjs/utilities/internal/types/FragmentMap.d.cts +12 -0
- package/__cjs/utilities/internal/types/FragmentMapFunction.cjs +3 -0
- package/__cjs/utilities/internal/types/FragmentMapFunction.cjs.map +1 -0
- package/__cjs/utilities/internal/types/FragmentMapFunction.d.cts +8 -0
- package/__cjs/utilities/internal/types/FulfilledPromise.cjs +3 -0
- package/__cjs/utilities/internal/types/FulfilledPromise.cjs.map +1 -0
- package/__cjs/utilities/internal/types/FulfilledPromise.d.cts +10 -0
- package/__cjs/utilities/internal/types/IsAny.cjs +3 -0
- package/__cjs/utilities/internal/types/IsAny.cjs.map +1 -0
- package/__cjs/utilities/internal/types/IsAny.d.cts +7 -0
- package/__cjs/utilities/internal/types/NoInfer.d.cts +29 -0
- package/__cjs/utilities/internal/types/PendingPromise.cjs +3 -0
- package/__cjs/utilities/internal/types/PendingPromise.cjs.map +1 -0
- package/__cjs/utilities/internal/types/PendingPromise.d.cts +9 -0
- package/__cjs/utilities/internal/types/Prettify.d.cts +9 -0
- package/__cjs/utilities/internal/types/Primitive.d.cts +7 -0
- package/__cjs/utilities/internal/types/RejectedPromise.cjs +3 -0
- package/__cjs/utilities/internal/types/RejectedPromise.cjs.map +1 -0
- package/__cjs/utilities/internal/types/RejectedPromise.d.cts +10 -0
- package/__cjs/utilities/internal/types/RemoveIndexSignature.d.cts +9 -0
- package/__cjs/utilities/internal/types/TupleToIntersection.cjs +3 -0
- package/__cjs/utilities/internal/types/TupleToIntersection.cjs.map +1 -0
- package/__cjs/utilities/internal/types/TupleToIntersection.d.cts +2 -0
- package/__cjs/utilities/internal/types/VariablesOption.cjs +3 -0
- package/__cjs/utilities/internal/types/VariablesOption.cjs.map +1 -0
- package/__cjs/utilities/internal/types/VariablesOption.d.cts +30 -0
- package/__cjs/utilities/internal/valueToObjectRepresentation.cjs +44 -0
- package/__cjs/utilities/internal/valueToObjectRepresentation.cjs.map +1 -0
- package/__cjs/utilities/internal/valueToObjectRepresentation.d.cts +8 -0
- package/__cjs/utilities/invariant/index.cjs +3 -2
- package/__cjs/utilities/invariant/index.cjs.map +1 -1
- package/__cjs/utilities/policies/pagination.cjs +26 -9
- package/__cjs/utilities/policies/pagination.cjs.map +1 -1
- package/__cjs/utilities/policies/pagination.d.cts +23 -0
- package/__cjs/utilities/shared/canonicalStringify.cjs +91 -0
- package/__cjs/utilities/shared/canonicalStringify.cjs.map +1 -0
- package/__cjs/utilities/subscriptions/relay/index.cjs +4 -4
- package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
- package/__cjs/version.cjs +3 -2
- package/__cjs/version.cjs.map +1 -1
- package/__cjs/version.d.cts +1 -0
- package/cache/core/cache.d.ts +11 -8
- package/cache/core/cache.js +11 -9
- package/cache/core/cache.js.map +1 -1
- package/cache/index.d.ts +1 -1
- package/cache/index.js +1 -1
- package/cache/index.js.map +1 -1
- package/cache/inmemory/entityStore.js +5 -4
- package/cache/inmemory/entityStore.js.map +1 -1
- package/cache/inmemory/fragmentRegistry.js +2 -1
- package/cache/inmemory/fragmentRegistry.js.map +1 -1
- package/cache/inmemory/helpers.d.ts +3 -3
- package/cache/inmemory/helpers.js +2 -2
- package/cache/inmemory/helpers.js.map +1 -1
- package/cache/inmemory/inMemoryCache.d.ts +9 -7
- package/cache/inmemory/inMemoryCache.js.map +1 -1
- package/cache/inmemory/key-extractor.js +3 -3
- package/cache/inmemory/key-extractor.js.map +1 -1
- package/cache/inmemory/policies.d.ts +2 -1
- package/cache/inmemory/policies.js +7 -6
- package/cache/inmemory/policies.js.map +1 -1
- package/cache/inmemory/readFromStore.js +5 -4
- package/cache/inmemory/readFromStore.js.map +1 -1
- package/cache/inmemory/writeToStore.d.ts +2 -1
- package/cache/inmemory/writeToStore.js +34 -6
- package/cache/inmemory/writeToStore.js.map +1 -1
- package/core/ApolloClient.d.ts +29 -55
- package/core/ApolloClient.js +52 -77
- package/core/ApolloClient.js.map +1 -1
- package/core/ObservableQuery.d.ts +290 -60
- package/core/ObservableQuery.js +766 -466
- package/core/ObservableQuery.js.map +1 -1
- package/core/QueryInfo.d.ts +55 -30
- package/core/QueryInfo.js +267 -178
- package/core/QueryInfo.js.map +1 -1
- package/core/QueryManager.d.ts +52 -62
- package/core/QueryManager.js +480 -573
- package/core/QueryManager.js.map +1 -1
- package/core/equalByQuery.js +1 -1
- package/core/equalByQuery.js.map +1 -1
- package/core/index.d.ts +10 -12
- package/core/index.js +5 -5
- package/core/index.js.map +1 -1
- package/core/networkStatus.d.ts +7 -1
- package/core/networkStatus.js +7 -1
- package/core/networkStatus.js.map +1 -1
- package/core/types.d.ts +137 -25
- package/core/watchQueryOptions.d.ts +16 -101
- package/dev/loadErrorMessageHandler.js +1 -1
- package/dev/loadErrorMessageHandler.js.map +1 -1
- package/dev/setErrorMessageHandler.js +1 -1
- package/dev/setErrorMessageHandler.js.map +1 -1
- package/errors/CombinedGraphQLErrors.d.ts +21 -2
- package/errors/CombinedGraphQLErrors.js +28 -13
- package/errors/CombinedGraphQLErrors.js.map +1 -1
- package/errors/CombinedProtocolErrors.d.ts +9 -0
- package/errors/CombinedProtocolErrors.js +13 -6
- package/errors/CombinedProtocolErrors.js.map +1 -1
- package/errors/LinkError.d.ts +18 -0
- package/errors/LinkError.js +20 -0
- package/errors/LinkError.js.map +1 -0
- package/errors/LocalStateError.d.ts +20 -0
- package/errors/LocalStateError.js +23 -0
- package/errors/LocalStateError.js.map +1 -0
- package/errors/ServerError.d.ts +10 -8
- package/errors/ServerError.js +9 -4
- package/errors/ServerError.js.map +1 -1
- package/errors/ServerParseError.d.ts +2 -0
- package/errors/ServerParseError.js +6 -0
- package/errors/ServerParseError.js.map +1 -1
- package/errors/UnconventionalError.d.ts +2 -0
- package/errors/UnconventionalError.js +6 -0
- package/errors/UnconventionalError.js.map +1 -1
- package/errors/index.d.ts +5 -8
- package/errors/index.js +6 -10
- package/errors/index.js.map +1 -1
- package/errors/isErrorLike.d.ts +3 -0
- package/errors/isErrorLike.js +9 -0
- package/errors/isErrorLike.js.map +1 -0
- package/errors/utils.d.ts +3 -0
- package/errors/utils.js +14 -0
- package/errors/utils.js.map +1 -0
- package/incremental/handlers/defer20220824.d.ts +55 -0
- package/incremental/handlers/defer20220824.js +97 -0
- package/incremental/handlers/defer20220824.js.map +1 -0
- package/incremental/handlers/notImplemented.d.ts +9 -0
- package/incremental/handlers/notImplemented.js +15 -0
- package/incremental/handlers/notImplemented.js.map +1 -0
- package/incremental/index.d.ts +4 -0
- package/incremental/index.js +3 -0
- package/incremental/index.js.map +1 -0
- package/incremental/types.d.ts +24 -0
- package/incremental/types.js +2 -0
- package/incremental/types.js.map +1 -0
- package/invariantErrorCodes.js +276 -176
- package/legacyEntryPoints/incremental/incremental.cjs +1 -0
- package/legacyEntryPoints/incremental/incremental.d.cts +1 -0
- package/legacyEntryPoints/incremental/index.d.ts +1 -0
- package/legacyEntryPoints/incremental/index.js +1 -0
- package/legacyEntryPoints/link/client-awareness/client-awareness.cjs +1 -0
- package/legacyEntryPoints/link/client-awareness/client-awareness.d.cts +1 -0
- package/legacyEntryPoints/link/client-awareness/index.d.ts +1 -0
- package/legacyEntryPoints/link/client-awareness/index.js +1 -0
- package/legacyEntryPoints/link/index.d.ts +1 -0
- package/legacyEntryPoints/link/index.js +1 -0
- package/legacyEntryPoints/link/link.cjs +1 -0
- package/legacyEntryPoints/link/link.d.cts +1 -0
- package/legacyEntryPoints/local-state/index.d.ts +1 -0
- package/legacyEntryPoints/local-state/index.js +1 -0
- package/legacyEntryPoints/local-state/local-state.cjs +1 -0
- package/legacyEntryPoints/local-state/local-state.d.cts +1 -0
- package/legacyEntryPoints/utilities/internal/globals/globals.cjs +1 -0
- package/legacyEntryPoints/utilities/internal/globals/globals.d.cts +1 -0
- package/legacyEntryPoints/utilities/internal/globals/index.d.ts +1 -0
- package/legacyEntryPoints/utilities/internal/globals/index.js +1 -0
- package/link/batch/batchLink.d.ts +2 -2
- package/link/batch/batchLink.js +1 -1
- package/link/batch/batchLink.js.map +1 -1
- package/link/batch/batching.d.ts +1 -1
- package/link/batch/batching.js.map +1 -1
- package/link/batch-http/batchHttpLink.d.ts +9 -4
- package/link/batch-http/batchHttpLink.js +15 -62
- package/link/batch-http/batchHttpLink.js.map +1 -1
- package/link/batch-http/index.d.ts +1 -1
- package/link/batch-http/index.js +1 -1
- package/link/batch-http/index.js.map +1 -1
- package/link/client-awareness/ClientAwarenessLink.d.ts +62 -0
- package/link/client-awareness/ClientAwarenessLink.js +41 -0
- package/link/client-awareness/ClientAwarenessLink.js.map +1 -0
- package/link/client-awareness/index.d.ts +2 -0
- package/link/client-awareness/index.js +2 -0
- package/link/client-awareness/index.js.map +1 -0
- package/link/context/index.d.ts +11 -5
- package/link/context/index.js +35 -26
- package/link/context/index.js.map +1 -1
- package/link/core/ApolloLink.d.ts +17 -11
- package/link/core/ApolloLink.js +19 -13
- package/link/core/ApolloLink.js.map +1 -1
- package/link/core/types.d.ts +14 -36
- package/link/error/index.d.ts +17 -16
- package/link/error/index.js +69 -66
- package/link/error/index.js.map +1 -1
- package/link/http/BaseHttpLink.d.ts +6 -0
- package/link/http/BaseHttpLink.js +107 -0
- package/link/http/BaseHttpLink.js.map +1 -0
- package/link/http/HttpLink.d.ts +145 -4
- package/link/http/HttpLink.js +11 -5
- package/link/http/HttpLink.js.map +1 -1
- package/link/http/checkFetcher.js +1 -1
- package/link/http/index.d.ts +2 -3
- package/link/http/index.js +2 -2
- package/link/http/index.js.map +1 -1
- package/link/http/parseAndCheckHttpResponse.d.ts +1 -3
- package/link/http/parseAndCheckHttpResponse.js +74 -112
- package/link/http/parseAndCheckHttpResponse.js.map +1 -1
- package/link/http/rewriteURIForGET.d.ts +2 -2
- package/link/http/rewriteURIForGET.js.map +1 -1
- package/link/http/selectHttpOptionsAndBody.d.ts +8 -83
- package/link/http/selectHttpOptionsAndBody.js +7 -6
- package/link/http/selectHttpOptionsAndBody.js.map +1 -1
- package/link/http/selectURI.d.ts +1 -1
- package/link/http/selectURI.js.map +1 -1
- package/link/http/serializeFetchParameter.js +1 -1
- package/link/index.d.ts +8 -0
- package/link/index.js +7 -0
- package/link/index.js.map +1 -0
- package/link/persisted-queries/index.d.ts +21 -21
- package/link/persisted-queries/index.js +159 -140
- package/link/persisted-queries/index.js.map +1 -1
- package/link/remove-typename/index.d.ts +1 -1
- package/link/remove-typename/index.js +1 -1
- package/link/remove-typename/index.js.map +1 -1
- package/link/remove-typename/removeTypenameFromVariables.d.ts +9 -10
- package/link/remove-typename/removeTypenameFromVariables.js +35 -24
- package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
- package/link/retry/delayFunction.d.ts +1 -1
- package/link/retry/delayFunction.js.map +1 -1
- package/link/retry/retryFunction.d.ts +1 -1
- package/link/retry/retryFunction.js.map +1 -1
- package/link/retry/retryLink.d.ts +2 -2
- package/link/retry/retryLink.js +1 -1
- package/link/retry/retryLink.js.map +1 -1
- package/link/schema/index.d.ts +2 -2
- package/link/schema/index.js +1 -1
- package/link/schema/index.js.map +1 -1
- package/link/subscriptions/index.d.ts +2 -2
- package/link/subscriptions/index.js +2 -2
- package/link/subscriptions/index.js.map +1 -1
- package/link/utils/createOperation.d.ts +2 -2
- package/link/utils/createOperation.js +5 -1
- package/link/utils/createOperation.js.map +1 -1
- package/link/utils/transformOperation.d.ts +1 -1
- package/link/utils/transformOperation.js +2 -2
- package/link/utils/transformOperation.js.map +1 -1
- package/link/utils/validateOperation.d.ts +1 -1
- package/link/utils/validateOperation.js +1 -1
- package/link/utils/validateOperation.js.map +1 -1
- package/link/ws/index.d.ts +2 -2
- package/link/ws/index.js +1 -1
- package/link/ws/index.js.map +1 -1
- package/local-state/LocalState.d.ts +88 -0
- package/local-state/LocalState.js +519 -0
- package/local-state/LocalState.js.map +1 -0
- package/local-state/index.d.ts +2 -0
- package/local-state/index.js +2 -0
- package/local-state/index.js.map +1 -0
- package/masking/GraphQLCodegenDataMasking.d.ts +79 -0
- package/masking/GraphQLCodegenDataMasking.js +2 -0
- package/masking/GraphQLCodegenDataMasking.js.map +1 -0
- package/masking/index.d.ts +1 -0
- package/masking/index.js.map +1 -1
- package/masking/internal/types.d.ts +1 -2
- package/masking/maskDefinition.d.ts +1 -1
- package/masking/maskDefinition.js +4 -4
- package/masking/maskDefinition.js.map +1 -1
- package/masking/maskFragment.d.ts +5 -1
- package/masking/maskFragment.js +8 -12
- package/masking/maskFragment.js.map +1 -1
- package/masking/maskOperation.d.ts +5 -1
- package/masking/maskOperation.js +7 -11
- package/masking/maskOperation.js.map +1 -1
- package/masking/types.d.ts +12 -26
- package/masking/utils.d.ts +7 -2
- package/masking/utils.js +31 -7
- package/masking/utils.js.map +1 -1
- package/package.json +38 -185
- package/react/context/ApolloConsumer.js +1 -1
- package/react/context/ApolloContext.js +1 -1
- package/react/context/ApolloProvider.js +1 -1
- package/react/hooks/internal/__use.js +6 -6
- package/react/hooks/internal/__use.js.map +1 -1
- package/react/hooks/internal/useIsomorphicLayoutEffect.js +1 -1
- package/react/hooks/internal/useIsomorphicLayoutEffect.js.map +1 -1
- package/react/hooks/internal/validateSuspenseHookOptions.d.ts +3 -0
- package/react/hooks/internal/validateSuspenseHookOptions.js +22 -0
- package/react/hooks/internal/validateSuspenseHookOptions.js.map +1 -0
- package/react/hooks/internal/wrapHook.d.ts +42 -38
- package/react/hooks/internal/wrapHook.js +36 -34
- package/react/hooks/internal/wrapHook.js.map +1 -1
- package/react/hooks/useApolloClient.js +15 -2
- package/react/hooks/useApolloClient.js.map +1 -1
- package/react/hooks/useBackgroundQuery.d.ts +59 -28
- package/react/hooks/useBackgroundQuery.js +9 -8
- package/react/hooks/useBackgroundQuery.js.map +1 -1
- package/react/hooks/useFragment.d.ts +2 -1
- package/react/hooks/useFragment.js +12 -11
- package/react/hooks/useFragment.js.map +1 -1
- package/react/hooks/useLazyQuery.d.ts +55 -80
- package/react/hooks/useLazyQuery.js +30 -28
- package/react/hooks/useLazyQuery.js.map +1 -1
- package/react/hooks/useLoadableQuery.d.ts +8 -10
- package/react/hooks/useLoadableQuery.js +232 -53
- package/react/hooks/useLoadableQuery.js.map +1 -1
- package/react/hooks/useMutation.d.ts +47 -14
- package/react/hooks/useMutation.js +192 -82
- package/react/hooks/useMutation.js.map +1 -1
- package/react/hooks/useQuery.d.ts +19 -71
- package/react/hooks/useQuery.js +253 -94
- package/react/hooks/useQuery.js.map +1 -1
- package/react/hooks/useQueryRefHandlers.d.ts +2 -2
- package/react/hooks/useQueryRefHandlers.js +64 -23
- package/react/hooks/useQueryRefHandlers.js.map +1 -1
- package/react/hooks/useReadQuery.d.ts +4 -11
- package/react/hooks/useReadQuery.js +4 -2
- package/react/hooks/useReadQuery.js.map +1 -1
- package/react/hooks/useSubscription.d.ts +6 -8
- package/react/hooks/useSubscription.js +16 -21
- package/react/hooks/useSubscription.js.map +1 -1
- package/react/hooks/useSuspenseFragment.d.ts +1 -2
- package/react/hooks/useSuspenseFragment.js +1 -0
- package/react/hooks/useSuspenseFragment.js.map +1 -1
- package/react/hooks/useSuspenseQuery.d.ts +19 -36
- package/react/hooks/useSuspenseQuery.js +63 -54
- package/react/hooks/useSuspenseQuery.js.map +1 -1
- package/react/hooks/useSyncExternalStore.js +21 -2
- package/react/hooks/useSyncExternalStore.js.map +1 -1
- package/react/index.d.ts +2 -1
- package/react/index.js +1 -0
- package/react/index.js.map +1 -1
- package/react/internal/cache/FragmentReference.d.ts +2 -2
- package/react/internal/cache/FragmentReference.js +6 -3
- package/react/internal/cache/FragmentReference.js.map +1 -1
- package/react/internal/cache/QueryReference.d.ts +48 -108
- package/react/internal/cache/QueryReference.js +24 -35
- package/react/internal/cache/QueryReference.js.map +1 -1
- package/react/internal/cache/SuspenseCache.d.ts +3 -3
- package/react/internal/cache/SuspenseCache.js.map +1 -1
- package/react/internal/index.d.ts +2 -2
- package/react/internal/index.js.map +1 -1
- package/react/internal/types.d.ts +3 -45
- package/react/query-preloader/createQueryPreloader.d.ts +46 -38
- package/react/query-preloader/createQueryPreloader.js +9 -3
- package/react/query-preloader/createQueryPreloader.js.map +1 -1
- package/react/ssr/prerenderStatic.js +9 -2
- package/react/ssr/prerenderStatic.js.map +1 -1
- package/react/ssr/useSSRQuery.js +12 -2
- package/react/ssr/useSSRQuery.js.map +1 -1
- package/react/types/deprecated.d.ts +3 -3
- package/react/types/types.documentation.d.ts +12 -0
- package/testing/core/mocking/mockLink.d.ts +31 -24
- package/testing/core/mocking/mockLink.js +15 -15
- package/testing/core/mocking/mockLink.js.map +1 -1
- package/testing/core/mocking/mockSubscriptionLink.d.ts +9 -8
- package/testing/core/mocking/mockSubscriptionLink.js +1 -4
- package/testing/core/mocking/mockSubscriptionLink.js.map +1 -1
- package/testing/core/types/deprecated.d.ts +10 -0
- package/testing/core/types/deprecated.js +2 -0
- package/testing/core/types/deprecated.js.map +1 -0
- package/testing/index.d.ts +3 -2
- package/testing/index.js +2 -1
- package/testing/index.js.map +1 -1
- package/testing/react/MockedProvider.d.ts +5 -6
- package/testing/react/MockedProvider.js +3 -3
- package/testing/react/MockedProvider.js.map +1 -1
- package/utilities/DeepPartial.d.ts +15 -0
- package/utilities/DeepPartial.js.map +1 -0
- package/utilities/HKT.d.ts +35 -0
- package/utilities/HKT.js +2 -0
- package/utilities/HKT.js.map +1 -0
- package/utilities/caching/index.d.ts +0 -1
- package/utilities/caching/index.js +0 -1
- package/utilities/caching/index.js.map +1 -1
- package/utilities/caching/sizes.d.ts +6 -0
- package/utilities/caching/sizes.js +1 -1
- package/utilities/caching/sizes.js.map +1 -1
- package/utilities/common/stripTypename.d.ts +7 -1
- package/utilities/common/stripTypename.js +7 -1
- package/utilities/common/stripTypename.js.map +1 -1
- package/utilities/graphql/DocumentTransform.d.ts +10 -6
- package/utilities/graphql/DocumentTransform.js +12 -8
- package/utilities/graphql/DocumentTransform.js.map +1 -1
- package/utilities/graphql/isFormattedExecutionResult.d.ts +3 -0
- package/utilities/graphql/isFormattedExecutionResult.js +6 -0
- package/utilities/graphql/isFormattedExecutionResult.js.map +1 -0
- package/utilities/graphql/operations.d.ts +21 -0
- package/utilities/graphql/operations.js +22 -1
- package/utilities/graphql/operations.js.map +1 -1
- package/utilities/graphql/print.d.ts +8 -0
- package/utilities/graphql/print.js +10 -2
- package/utilities/graphql/print.js.map +1 -1
- package/utilities/graphql/storeUtils.d.ts +14 -22
- package/utilities/graphql/storeUtils.js +5 -196
- package/utilities/graphql/storeUtils.js.map +1 -1
- package/utilities/graphql/transform.d.ts +6 -24
- package/utilities/graphql/transform.js +7 -443
- package/utilities/graphql/transform.js.map +1 -1
- package/utilities/index.d.ts +8 -38
- package/utilities/index.js +5 -23
- package/utilities/index.js.map +1 -1
- package/utilities/internal/DeepMerger.d.ts +17 -0
- package/utilities/internal/DeepMerger.js +63 -0
- package/utilities/internal/DeepMerger.js.map +1 -0
- package/utilities/internal/argumentsObjectFromField.d.ts +8 -0
- package/utilities/internal/argumentsObjectFromField.js +15 -0
- package/utilities/internal/argumentsObjectFromField.js.map +1 -0
- package/utilities/internal/caches.d.ts +42 -0
- package/utilities/internal/caches.js +73 -0
- package/utilities/internal/caches.js.map +1 -0
- package/utilities/internal/canUseDOM.d.ts +7 -0
- package/utilities/internal/canUseDOM.js +8 -0
- package/utilities/internal/canUseDOM.js.map +1 -0
- package/utilities/internal/checkDocument.d.ts +10 -0
- package/utilities/internal/checkDocument.js +66 -0
- package/utilities/internal/checkDocument.js.map +1 -0
- package/utilities/internal/cloneDeep.d.ts +9 -0
- package/utilities/internal/cloneDeep.js +42 -0
- package/utilities/internal/cloneDeep.js.map +1 -0
- package/utilities/internal/compact.d.ts +11 -0
- package/utilities/internal/compact.js +23 -0
- package/utilities/internal/compact.js.map +1 -0
- package/utilities/internal/createFragmentMap.d.ts +12 -0
- package/utilities/internal/createFragmentMap.js +16 -0
- package/utilities/internal/createFragmentMap.js.map +1 -0
- package/utilities/internal/createFulfilledPromise.d.ts +8 -0
- package/utilities/internal/createFulfilledPromise.js +12 -0
- package/utilities/internal/createFulfilledPromise.js.map +1 -0
- package/utilities/internal/createRejectedPromise.d.ts +8 -0
- package/utilities/internal/createRejectedPromise.js +14 -0
- package/utilities/internal/createRejectedPromise.js.map +1 -0
- package/utilities/internal/dealias.d.ts +5 -0
- package/utilities/internal/dealias.js +18 -0
- package/utilities/internal/dealias.js.map +1 -0
- package/utilities/internal/decoratePromise.d.ts +8 -0
- package/utilities/internal/decoratePromise.js +30 -0
- package/utilities/internal/decoratePromise.js.map +1 -0
- package/utilities/internal/deepFreeze.d.ts +7 -0
- package/utilities/internal/deepFreeze.js +36 -0
- package/utilities/internal/deepFreeze.js.map +1 -0
- package/utilities/internal/filterMap.d.ts +4 -0
- package/utilities/internal/filterMap.js +28 -0
- package/utilities/internal/filterMap.js.map +1 -0
- package/utilities/internal/getDefaultValues.d.ts +8 -0
- package/utilities/internal/getDefaultValues.js +19 -0
- package/utilities/internal/getDefaultValues.js.map +1 -0
- package/utilities/internal/getFragmentDefinition.d.ts +8 -0
- package/utilities/internal/getFragmentDefinition.js +14 -0
- package/utilities/internal/getFragmentDefinition.js.map +1 -0
- package/utilities/internal/getFragmentDefinitions.d.ts +8 -0
- package/utilities/internal/getFragmentDefinitions.js +9 -0
- package/utilities/internal/getFragmentDefinitions.js.map +1 -0
- package/utilities/internal/getFragmentFromSelection.d.ts +10 -0
- package/utilities/internal/getFragmentFromSelection.js +24 -0
- package/utilities/internal/getFragmentFromSelection.js.map +1 -0
- package/utilities/internal/getFragmentQueryDocument.d.ts +29 -0
- package/utilities/internal/getFragmentQueryDocument.js +83 -0
- package/utilities/internal/getFragmentQueryDocument.js.map +1 -0
- package/utilities/internal/getGraphQLErrorsFromResult.d.ts +10 -0
- package/utilities/internal/getGraphQLErrorsFromResult.js +9 -0
- package/utilities/internal/getGraphQLErrorsFromResult.js.map +1 -0
- package/utilities/internal/getMainDefinition.d.ts +12 -0
- package/utilities/internal/getMainDefinition.js +35 -0
- package/utilities/internal/getMainDefinition.js.map +1 -0
- package/utilities/internal/getMemoryInternals.d.ts +15 -10
- package/utilities/internal/getMemoryInternals.js +16 -9
- package/utilities/internal/getMemoryInternals.js.map +1 -1
- package/utilities/internal/getOperationDefinition.d.ts +8 -0
- package/utilities/internal/getOperationDefinition.js +11 -0
- package/utilities/internal/getOperationDefinition.js.map +1 -0
- package/utilities/internal/getOperationName.d.ts +8 -0
- package/utilities/internal/getOperationName.js +9 -0
- package/utilities/internal/getOperationName.js.map +1 -0
- package/utilities/internal/getQueryDefinition.d.ts +8 -0
- package/utilities/internal/getQueryDefinition.js +13 -0
- package/utilities/internal/getQueryDefinition.js.map +1 -0
- package/utilities/internal/getStoreKeyName.d.ts +16 -0
- package/utilities/internal/getStoreKeyName.js +70 -0
- package/utilities/internal/getStoreKeyName.js.map +1 -0
- package/utilities/internal/globals/global.js +14 -0
- package/utilities/internal/globals/global.js.map +1 -0
- package/utilities/internal/globals/index.js.map +1 -0
- package/utilities/internal/globals/maybe.js.map +1 -0
- package/utilities/internal/graphQLResultHasError.d.ts +8 -0
- package/utilities/internal/graphQLResultHasError.js +9 -0
- package/utilities/internal/graphQLResultHasError.js.map +1 -0
- package/utilities/internal/hasDirectives.d.ts +8 -0
- package/utilities/internal/hasDirectives.js +21 -0
- package/utilities/internal/hasDirectives.js.map +1 -0
- package/utilities/internal/hasForcedResolvers.d.ts +3 -0
- package/utilities/internal/hasForcedResolvers.js +20 -0
- package/utilities/internal/hasForcedResolvers.js.map +1 -0
- package/utilities/internal/index.d.ts +62 -2
- package/utilities/internal/index.js +47 -2
- package/utilities/internal/index.js.map +1 -1
- package/utilities/internal/isArray.d.ts +9 -0
- package/utilities/internal/isArray.js +9 -0
- package/utilities/internal/isArray.js.map +1 -0
- package/utilities/internal/isDocumentNode.d.ts +8 -0
- package/utilities/internal/isDocumentNode.js +12 -0
- package/utilities/internal/isDocumentNode.js.map +1 -0
- package/utilities/internal/isField.d.ts +8 -0
- package/utilities/internal/isField.js +9 -0
- package/utilities/internal/isField.js.map +1 -0
- package/utilities/internal/isNonEmptyArray.d.ts +7 -0
- package/utilities/internal/isNonEmptyArray.js +9 -0
- package/utilities/internal/isNonEmptyArray.js.map +1 -0
- package/utilities/internal/isNonNullObject.d.ts +7 -0
- package/utilities/internal/isNonNullObject.js +9 -0
- package/utilities/internal/isNonNullObject.js.map +1 -0
- package/utilities/internal/isPlainObject.d.ts +7 -0
- package/utilities/internal/isPlainObject.js +12 -0
- package/utilities/internal/isPlainObject.js.map +1 -0
- package/utilities/internal/makeReference.d.ts +8 -0
- package/utilities/internal/makeReference.js +9 -0
- package/utilities/internal/makeReference.js.map +1 -0
- package/utilities/internal/makeUniqueId.d.ts +10 -0
- package/utilities/internal/makeUniqueId.js +15 -0
- package/utilities/internal/makeUniqueId.js.map +1 -0
- package/utilities/internal/maybeDeepFreeze.d.ts +7 -0
- package/utilities/internal/maybeDeepFreeze.js +14 -0
- package/utilities/internal/maybeDeepFreeze.js.map +1 -0
- package/utilities/internal/mergeDeep.d.ts +8 -0
- package/utilities/internal/mergeDeep.js +23 -0
- package/utilities/internal/mergeDeep.js.map +1 -0
- package/utilities/internal/mergeDeepArray.d.ts +7 -0
- package/utilities/internal/mergeDeepArray.js +24 -0
- package/utilities/internal/mergeDeepArray.js.map +1 -0
- package/utilities/internal/mergeOptions.d.ts +10 -0
- package/utilities/internal/mergeOptions.js +15 -0
- package/utilities/internal/mergeOptions.js.map +1 -0
- package/utilities/internal/omitDeep.d.ts +8 -0
- package/utilities/internal/omitDeep.js +45 -0
- package/utilities/internal/omitDeep.js.map +1 -0
- package/utilities/internal/preventUnhandledRejection.js.map +1 -0
- package/utilities/internal/removeDirectivesFromDocument.d.ts +14 -0
- package/utilities/internal/removeDirectivesFromDocument.js +300 -0
- package/utilities/internal/removeDirectivesFromDocument.js.map +1 -0
- package/utilities/internal/resultKeyNameFromField.d.ts +8 -0
- package/utilities/internal/resultKeyNameFromField.js +9 -0
- package/utilities/internal/resultKeyNameFromField.js.map +1 -0
- package/utilities/internal/shouldInclude.d.ts +8 -0
- package/utilities/internal/shouldInclude.js +47 -0
- package/utilities/internal/shouldInclude.js.map +1 -0
- package/utilities/internal/storeKeyNameFromField.d.ts +8 -0
- package/utilities/internal/storeKeyNameFromField.js +26 -0
- package/utilities/internal/storeKeyNameFromField.js.map +1 -0
- package/utilities/internal/stringifyForDisplay.d.ts +7 -0
- package/utilities/internal/stringifyForDisplay.js +15 -0
- package/utilities/internal/stringifyForDisplay.js.map +1 -0
- package/utilities/internal/toQueryResult.d.ts +5 -0
- package/utilities/internal/toQueryResult.js +5 -0
- package/utilities/internal/toQueryResult.js.map +1 -1
- package/utilities/internal/types/ApplyHKT.d.ts +13 -0
- package/utilities/internal/types/ApplyHKT.js +2 -0
- package/utilities/internal/types/ApplyHKT.js.map +1 -0
- package/utilities/internal/types/ApplyHKTImplementationWithDefault.d.ts +11 -0
- package/utilities/internal/types/ApplyHKTImplementationWithDefault.js +2 -0
- package/utilities/internal/types/ApplyHKTImplementationWithDefault.js.map +1 -0
- package/utilities/internal/types/DecoratedPromise.d.ts +10 -0
- package/utilities/internal/types/DecoratedPromise.js +2 -0
- package/utilities/internal/types/DecoratedPromise.js.map +1 -0
- package/utilities/internal/types/DeepOmit.d.ts +15 -0
- package/utilities/internal/types/FragmentMap.d.ts +12 -0
- package/utilities/internal/types/FragmentMap.js +2 -0
- package/utilities/internal/types/FragmentMap.js.map +1 -0
- package/utilities/internal/types/FragmentMapFunction.d.ts +8 -0
- package/utilities/internal/types/FragmentMapFunction.js +2 -0
- package/utilities/internal/types/FragmentMapFunction.js.map +1 -0
- package/utilities/internal/types/FulfilledPromise.d.ts +10 -0
- package/utilities/internal/types/FulfilledPromise.js +2 -0
- package/utilities/internal/types/FulfilledPromise.js.map +1 -0
- package/utilities/internal/types/IsAny.d.ts +7 -0
- package/utilities/internal/types/IsAny.js +2 -0
- package/utilities/internal/types/IsAny.js.map +1 -0
- package/utilities/internal/types/NoInfer.d.ts +29 -0
- package/utilities/internal/types/PendingPromise.d.ts +9 -0
- package/utilities/internal/types/PendingPromise.js +2 -0
- package/utilities/internal/types/PendingPromise.js.map +1 -0
- package/utilities/internal/types/Prettify.d.ts +9 -0
- package/utilities/internal/types/Primitive.d.ts +7 -0
- package/utilities/internal/types/RejectedPromise.d.ts +10 -0
- package/utilities/internal/types/RejectedPromise.js +2 -0
- package/utilities/internal/types/RejectedPromise.js.map +1 -0
- package/utilities/internal/types/RemoveIndexSignature.d.ts +9 -0
- package/utilities/internal/types/TupleToIntersection.d.ts +2 -0
- package/utilities/internal/types/TupleToIntersection.js +2 -0
- package/utilities/internal/types/TupleToIntersection.js.map +1 -0
- package/utilities/internal/types/VariablesOption.d.ts +30 -0
- package/utilities/internal/types/VariablesOption.js +2 -0
- package/utilities/internal/types/VariablesOption.js.map +1 -0
- package/utilities/internal/valueToObjectRepresentation.d.ts +8 -0
- package/utilities/internal/valueToObjectRepresentation.js +41 -0
- package/utilities/internal/valueToObjectRepresentation.js.map +1 -0
- package/utilities/invariant/index.js +3 -2
- package/utilities/invariant/index.js.map +1 -1
- package/utilities/policies/pagination.d.ts +23 -0
- package/utilities/policies/pagination.js +24 -7
- package/utilities/policies/pagination.js.map +1 -1
- package/utilities/shared/canonicalStringify.js +88 -0
- package/utilities/shared/canonicalStringify.js.map +1 -0
- package/utilities/subscriptions/relay/index.js +3 -3
- package/utilities/subscriptions/relay/index.js.map +1 -1
- package/version.d.ts +1 -0
- package/version.js +2 -1
- package/version.js.map +1 -1
- package/.changeset/README.md +0 -8
- package/.changeset/afraid-moons-arrive.md +0 -5
- package/.changeset/beige-mirrors-talk.md +0 -15
- package/.changeset/brave-radios-wait.md +0 -5
- package/.changeset/bright-ads-share.md +0 -5
- package/.changeset/calm-frogs-remain.md +0 -7
- package/.changeset/calm-seals-relate.md +0 -5
- package/.changeset/chatty-planes-grin.md +0 -5
- package/.changeset/clean-sheep-hide.md +0 -6
- package/.changeset/clever-zebras-mate.md +0 -5
- package/.changeset/config.json +0 -14
- package/.changeset/cool-bikes-shake.md +0 -12
- package/.changeset/cuddly-spiders-tie.md +0 -5
- package/.changeset/curvy-pianos-count.md +0 -5
- package/.changeset/dirty-eagles-poke.md +0 -5
- package/.changeset/dirty-trees-pump.md +0 -5
- package/.changeset/early-eggs-develop.md +0 -22
- package/.changeset/eighty-squids-fix.md +0 -15
- package/.changeset/eleven-kangaroos-jump.md +0 -5
- package/.changeset/empty-rabbits-move.md +0 -5
- package/.changeset/fluffy-shoes-applaud.md +0 -5
- package/.changeset/forty-hairs-occur.md +0 -5
- package/.changeset/forty-shrimps-fry.md +0 -5
- package/.changeset/forty-tomatoes-punch.md +0 -5
- package/.changeset/four-ghosts-watch.md +0 -5
- package/.changeset/fresh-moose-hope.md +0 -5
- package/.changeset/funny-jeans-invent.md +0 -16
- package/.changeset/fuzzy-tips-sit.md +0 -5
- package/.changeset/giant-apes-thank.md +0 -5
- package/.changeset/giant-bags-share.md +0 -5
- package/.changeset/good-dolphins-peel.md +0 -113
- package/.changeset/gorgeous-chefs-tap.md +0 -5
- package/.changeset/grumpy-vans-type.md +0 -5
- package/.changeset/healthy-apes-sneeze.md +0 -5
- package/.changeset/hip-vans-act.md +0 -5
- package/.changeset/hot-cycles-notice.md +0 -5
- package/.changeset/itchy-drinks-refuse.md +0 -5
- package/.changeset/itchy-roses-accept.md +0 -5
- package/.changeset/khaki-keys-deliver.md +0 -5
- package/.changeset/khaki-spies-work.md +0 -11
- package/.changeset/kind-fishes-develop.md +0 -17
- package/.changeset/large-plants-know.md +0 -5
- package/.changeset/late-trainers-peel.md +0 -7
- package/.changeset/light-apes-rescue.md +0 -5
- package/.changeset/light-dolphins-taste.md +0 -5
- package/.changeset/light-sloths-end.md +0 -16
- package/.changeset/little-spoons-kick.md +0 -7
- package/.changeset/loud-cows-raise.md +0 -7
- package/.changeset/lucky-hats-push.md +0 -7
- package/.changeset/many-buses-allow.md +0 -5
- package/.changeset/many-papayas-hide.md +0 -5
- package/.changeset/mean-lizards-think.md +0 -5
- package/.changeset/metal-needles-search.md +0 -5
- package/.changeset/mighty-penguins-wink.md +0 -16
- package/.changeset/modern-feet-do.md +0 -5
- package/.changeset/moody-lobsters-listen.md +0 -7
- package/.changeset/nervous-fireants-bow.md +0 -5
- package/.changeset/nervous-goats-allow.md +0 -5
- package/.changeset/nice-donkeys-reflect.md +0 -5
- package/.changeset/nice-dots-matter.md +0 -5
- package/.changeset/nice-waves-work.md +0 -7
- package/.changeset/ninety-bags-bake.md +0 -17
- package/.changeset/odd-lemons-relax.md +0 -5
- package/.changeset/perfect-vans-give.md +0 -7
- package/.changeset/polite-bees-care.md +0 -26
- package/.changeset/poor-eels-punch.md +0 -5
- package/.changeset/popular-games-sleep.md +0 -5
- package/.changeset/pre.json +0 -121
- package/.changeset/purple-bears-flash.md +0 -5
- package/.changeset/purple-lions-cough.md +0 -5
- package/.changeset/rare-houses-prove.md +0 -5
- package/.changeset/real-gorillas-move.md +0 -21
- package/.changeset/real-teachers-peel.md +0 -5
- package/.changeset/rich-eagles-cross.md +0 -5
- package/.changeset/rich-kids-carry.md +0 -9
- package/.changeset/rude-fans-study.md +0 -5
- package/.changeset/seven-foxes-melt.md +0 -5
- package/.changeset/shaggy-pugs-add.md +0 -52
- package/.changeset/shiny-carrots-invent.md +0 -5
- package/.changeset/short-jokes-jam.md +0 -27
- package/.changeset/short-months-complain.md +0 -5
- package/.changeset/silly-knives-exist.md +0 -5
- package/.changeset/slimy-chicken-melt.md +0 -5
- package/.changeset/slimy-maps-press.md +0 -5
- package/.changeset/slow-ravens-explain.md +0 -19
- package/.changeset/small-buttons-rhyme.md +0 -5
- package/.changeset/small-cycles-rescue.md +0 -5
- package/.changeset/small-kids-film.md +0 -14
- package/.changeset/smart-rats-explode.md +0 -5
- package/.changeset/smooth-coins-collect.md +0 -5
- package/.changeset/smooth-pens-reply.md +0 -7
- package/.changeset/soft-mails-clean.md +0 -5
- package/.changeset/sour-pillows-guess.md +0 -7
- package/.changeset/strange-seahorses-impress.md +0 -17
- package/.changeset/swift-rivers-share.md +0 -13
- package/.changeset/tall-bikes-develop.md +0 -5
- package/.changeset/tall-cups-suffer.md +0 -13
- package/.changeset/tame-doors-shop.md +0 -14
- package/.changeset/tame-points-work.md +0 -11
- package/.changeset/tender-swans-flash.md +0 -16
- package/.changeset/thick-books-grin.md +0 -5
- package/.changeset/thin-peas-hear.md +0 -16
- package/.changeset/tidy-squids-poke.md +0 -12
- package/.changeset/tough-rockets-allow.md +0 -5
- package/.changeset/tough-taxis-smoke.md +0 -7
- package/.changeset/tough-tips-drop.md +0 -15
- package/.changeset/tricky-tables-shave.md +0 -5
- package/.changeset/twenty-snakes-sort.md +0 -7
- package/.changeset/unlucky-kiwis-sell.md +0 -5
- package/.changeset/unlucky-sheep-change.md +0 -5
- package/.changeset/warm-ties-sit.md +0 -7
- package/.changeset/wicked-forks-double.md +0 -33
- package/.changeset/yellow-cats-judge.md +0 -13
- package/.changeset/young-phones-fold.md +0 -5
- package/.changeset/young-turtles-explode.md +0 -5
- package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs +0 -20
- package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs.map +0 -1
- package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.d.cts +0 -3
- package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs +0 -18
- package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs.map +0 -1
- package/__cjs/config/jest/areCombinedProtocolErrorsEqual.d.cts +0 -3
- package/__cjs/config/jest/areGraphQlErrorsEqual.cjs +0 -11
- package/__cjs/config/jest/areGraphQlErrorsEqual.cjs.map +0 -1
- package/__cjs/config/jest/areGraphQlErrorsEqual.d.cts +0 -3
- package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs +0 -20
- package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs.map +0 -1
- package/__cjs/config/jest/areMissingFieldErrorsEqual.d.cts +0 -3
- package/__cjs/config/jest/areServerErrorsEqual.cjs +0 -21
- package/__cjs/config/jest/areServerErrorsEqual.cjs.map +0 -1
- package/__cjs/config/jest/areServerErrorsEqual.d.cts +0 -3
- package/__cjs/config/jest/resolver.cjs +0 -32
- package/__cjs/config/jest/resolver.cjs.map +0 -1
- package/__cjs/config/jest/resolver.d.cts +0 -3
- package/__cjs/config/jest/setup.cjs +0 -65
- package/__cjs/config/jest/setup.cjs.map +0 -1
- package/__cjs/config/jest/setup.d.cts +0 -3
- package/__cjs/core/LocalState.cjs +0 -333
- package/__cjs/core/LocalState.cjs.map +0 -1
- package/__cjs/core/LocalState.d.cts +0 -53
- package/__cjs/link/core/index.cjs +0 -16
- package/__cjs/link/core/index.cjs.map +0 -1
- package/__cjs/link/core/index.d.cts +0 -8
- package/__cjs/link/http/createHttpLink.cjs +0 -158
- package/__cjs/link/http/createHttpLink.cjs.map +0 -1
- package/__cjs/link/http/createHttpLink.d.cts +0 -4
- package/__cjs/masking/__benches__/types.bench.cjs +0 -223
- package/__cjs/masking/__benches__/types.bench.cjs.map +0 -1
- package/__cjs/masking/__benches__/types.bench.d.cts +0 -2
- package/__cjs/testing/core/index.cjs +0 -20
- package/__cjs/testing/core/index.cjs.map +0 -1
- package/__cjs/testing/core/index.d.cts +0 -7
- package/__cjs/testing/core/mocking/mockClient.cjs +0 -17
- package/__cjs/testing/core/mocking/mockClient.cjs.map +0 -1
- package/__cjs/testing/core/mocking/mockClient.d.cts +0 -4
- package/__cjs/testing/core/wait.cjs +0 -11
- package/__cjs/testing/core/wait.cjs.map +0 -1
- package/__cjs/testing/core/wait.d.cts +0 -3
- package/__cjs/testing/core/withConsoleSpy.cjs +0 -33
- package/__cjs/testing/core/withConsoleSpy.cjs.map +0 -1
- package/__cjs/testing/core/withConsoleSpy.d.cts +0 -7
- package/__cjs/testing/experimental/createSchemaFetch.cjs +0 -92
- package/__cjs/testing/experimental/createSchemaFetch.cjs.map +0 -1
- package/__cjs/testing/experimental/createSchemaFetch.d.cts +0 -43
- package/__cjs/testing/experimental/createTestSchema.cjs +0 -110
- package/__cjs/testing/experimental/createTestSchema.cjs.map +0 -1
- package/__cjs/testing/experimental/createTestSchema.d.cts +0 -57
- package/__cjs/testing/experimental/graphql-tools/utils.cjs +0 -177
- package/__cjs/testing/experimental/graphql-tools/utils.cjs.map +0 -1
- package/__cjs/testing/experimental/graphql-tools/utils.d.cts +0 -26
- package/__cjs/testing/experimental/graphql-tools/utils.test.cjs +0 -200
- package/__cjs/testing/experimental/graphql-tools/utils.test.cjs.map +0 -1
- package/__cjs/testing/experimental/graphql-tools/utils.test.d.cts +0 -2
- package/__cjs/testing/experimental/index.cjs +0 -8
- package/__cjs/testing/experimental/index.cjs.map +0 -1
- package/__cjs/testing/experimental/index.d.cts +0 -3
- package/__cjs/testing/internal/ObservableStream.cjs +0 -98
- package/__cjs/testing/internal/ObservableStream.cjs.map +0 -1
- package/__cjs/testing/internal/ObservableStream.d.cts +0 -28
- package/__cjs/testing/internal/disposables/enableFakeTimers.cjs +0 -19
- package/__cjs/testing/internal/disposables/enableFakeTimers.cjs.map +0 -1
- package/__cjs/testing/internal/disposables/enableFakeTimers.d.cts +0 -7
- package/__cjs/testing/internal/disposables/index.cjs +0 -12
- package/__cjs/testing/internal/disposables/index.cjs.map +0 -1
- package/__cjs/testing/internal/disposables/index.d.cts +0 -5
- package/__cjs/testing/internal/disposables/spyOnConsole.cjs +0 -24
- package/__cjs/testing/internal/disposables/spyOnConsole.cjs.map +0 -1
- package/__cjs/testing/internal/disposables/spyOnConsole.d.cts +0 -8
- package/__cjs/testing/internal/disposables/withCleanup.cjs +0 -18
- package/__cjs/testing/internal/disposables/withCleanup.cjs.map +0 -1
- package/__cjs/testing/internal/disposables/withCleanup.d.cts +0 -3
- package/__cjs/testing/internal/disposables/withProdMode.cjs +0 -17
- package/__cjs/testing/internal/disposables/withProdMode.cjs.map +0 -1
- package/__cjs/testing/internal/disposables/withProdMode.d.cts +0 -4
- package/__cjs/testing/internal/incremental.cjs +0 -124
- package/__cjs/testing/internal/incremental.cjs.map +0 -1
- package/__cjs/testing/internal/incremental.d.cts +0 -16
- package/__cjs/testing/internal/index.cjs +0 -31
- package/__cjs/testing/internal/index.cjs.map +0 -1
- package/__cjs/testing/internal/index.d.cts +0 -11
- package/__cjs/testing/internal/messageChannelPolyfill.cjs +0 -18
- package/__cjs/testing/internal/messageChannelPolyfill.cjs.map +0 -1
- package/__cjs/testing/internal/messageChannelPolyfill.d.cts +0 -2
- package/__cjs/testing/internal/renderHelpers.cjs +0 -21
- package/__cjs/testing/internal/renderHelpers.cjs.map +0 -1
- package/__cjs/testing/internal/renderHelpers.d.cts +0 -14
- package/__cjs/testing/internal/resetApolloContext.cjs +0 -24
- package/__cjs/testing/internal/resetApolloContext.cjs.map +0 -1
- package/__cjs/testing/internal/resetApolloContext.d.cts +0 -10
- package/__cjs/testing/internal/rtl/actAsync.cjs +0 -18
- package/__cjs/testing/internal/rtl/actAsync.cjs.map +0 -1
- package/__cjs/testing/internal/rtl/actAsync.d.cts +0 -2
- package/__cjs/testing/internal/rtl/renderAsync.cjs +0 -15
- package/__cjs/testing/internal/rtl/renderAsync.cjs.map +0 -1
- package/__cjs/testing/internal/rtl/renderAsync.d.cts +0 -9
- package/__cjs/testing/internal/rtl/renderHookAsync.cjs +0 -37
- package/__cjs/testing/internal/rtl/renderHookAsync.cjs.map +0 -1
- package/__cjs/testing/internal/rtl/renderHookAsync.d.cts +0 -8
- package/__cjs/testing/internal/scenarios/index.cjs +0 -104
- package/__cjs/testing/internal/scenarios/index.cjs.map +0 -1
- package/__cjs/testing/internal/scenarios/index.d.cts +0 -83
- package/__cjs/testing/matchers/arrayWithLength.cjs +0 -15
- package/__cjs/testing/matchers/arrayWithLength.cjs.map +0 -1
- package/__cjs/testing/matchers/arrayWithLength.d.cts +0 -3
- package/__cjs/testing/matchers/index.cjs +0 -28
- package/__cjs/testing/matchers/index.cjs.map +0 -1
- package/__cjs/testing/matchers/index.d.cts +0 -2
- package/__cjs/testing/matchers/toBeDisposed.cjs +0 -20
- package/__cjs/testing/matchers/toBeDisposed.cjs.map +0 -1
- package/__cjs/testing/matchers/toBeDisposed.d.cts +0 -3
- package/__cjs/testing/matchers/toBeGarbageCollected.cjs +0 -43
- package/__cjs/testing/matchers/toBeGarbageCollected.cjs.map +0 -1
- package/__cjs/testing/matchers/toBeGarbageCollected.d.cts +0 -8
- package/__cjs/testing/matchers/toComplete.cjs +0 -30
- package/__cjs/testing/matchers/toComplete.cjs.map +0 -1
- package/__cjs/testing/matchers/toComplete.d.cts +0 -4
- package/__cjs/testing/matchers/toEmitAnything.cjs +0 -33
- package/__cjs/testing/matchers/toEmitAnything.cjs.map +0 -1
- package/__cjs/testing/matchers/toEmitAnything.d.cts +0 -4
- package/__cjs/testing/matchers/toEmitError.cjs +0 -46
- package/__cjs/testing/matchers/toEmitError.cjs.map +0 -1
- package/__cjs/testing/matchers/toEmitError.d.cts +0 -7
- package/__cjs/testing/matchers/toEmitNext.cjs +0 -30
- package/__cjs/testing/matchers/toEmitNext.cjs.map +0 -1
- package/__cjs/testing/matchers/toEmitNext.d.cts +0 -4
- package/__cjs/testing/matchers/toEmitTypedValue.cjs +0 -42
- package/__cjs/testing/matchers/toEmitTypedValue.cjs.map +0 -1
- package/__cjs/testing/matchers/toEmitTypedValue.d.cts +0 -7
- package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs +0 -26
- package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs.map +0 -1
- package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.d.cts +0 -11
- package/__cjs/testing/matchers/toMatchDocument.cjs +0 -36
- package/__cjs/testing/matchers/toMatchDocument.cjs.map +0 -1
- package/__cjs/testing/matchers/toMatchDocument.d.cts +0 -4
- package/__cjs/testing/matchers/toStrictEqualTyped.cjs +0 -26
- package/__cjs/testing/matchers/toStrictEqualTyped.cjs.map +0 -1
- package/__cjs/testing/matchers/toStrictEqualTyped.d.cts +0 -3
- package/__cjs/testing/matchers/utils/getSerializableProperties.cjs +0 -23
- package/__cjs/testing/matchers/utils/getSerializableProperties.cjs.map +0 -1
- package/__cjs/testing/matchers/utils/getSerializableProperties.d.cts +0 -2
- package/__cjs/utilities/caching/caches.cjs +0 -72
- package/__cjs/utilities/caching/caches.cjs.map +0 -1
- package/__cjs/utilities/caching/caches.d.cts +0 -34
- package/__cjs/utilities/common/arrays.cjs +0 -10
- package/__cjs/utilities/common/arrays.cjs.map +0 -1
- package/__cjs/utilities/common/arrays.d.cts +0 -3
- package/__cjs/utilities/common/canUse.cjs +0 -24
- package/__cjs/utilities/common/canUse.cjs.map +0 -1
- package/__cjs/utilities/common/canUse.d.cts +0 -3
- package/__cjs/utilities/common/canonicalStringify.cjs +0 -88
- package/__cjs/utilities/common/canonicalStringify.cjs.map +0 -1
- package/__cjs/utilities/common/cloneDeep.cjs +0 -41
- package/__cjs/utilities/common/cloneDeep.cjs.map +0 -1
- package/__cjs/utilities/common/cloneDeep.d.cts +0 -5
- package/__cjs/utilities/common/compact.cjs +0 -22
- package/__cjs/utilities/common/compact.cjs.map +0 -1
- package/__cjs/utilities/common/compact.d.cts +0 -7
- package/__cjs/utilities/common/errorHandling.cjs +0 -23
- package/__cjs/utilities/common/errorHandling.cjs.map +0 -1
- package/__cjs/utilities/common/errorHandling.d.cts +0 -4
- package/__cjs/utilities/common/incrementalResult.cjs +0 -45
- package/__cjs/utilities/common/incrementalResult.cjs.map +0 -1
- package/__cjs/utilities/common/incrementalResult.d.cts +0 -7
- package/__cjs/utilities/common/makeUniqueId.cjs +0 -12
- package/__cjs/utilities/common/makeUniqueId.cjs.map +0 -1
- package/__cjs/utilities/common/makeUniqueId.d.cts +0 -2
- package/__cjs/utilities/common/maybeDeepFreeze.cjs +0 -42
- package/__cjs/utilities/common/maybeDeepFreeze.cjs.map +0 -1
- package/__cjs/utilities/common/maybeDeepFreeze.d.cts +0 -4
- package/__cjs/utilities/common/mergeDeep.cjs +0 -84
- package/__cjs/utilities/common/mergeDeep.cjs.map +0 -1
- package/__cjs/utilities/common/mergeDeep.d.cts +0 -14
- package/__cjs/utilities/common/mergeOptions.cjs +0 -13
- package/__cjs/utilities/common/mergeOptions.cjs.map +0 -1
- package/__cjs/utilities/common/mergeOptions.d.cts +0 -5
- package/__cjs/utilities/common/objects.cjs +0 -14
- package/__cjs/utilities/common/objects.cjs.map +0 -1
- package/__cjs/utilities/common/objects.d.cts +0 -3
- package/__cjs/utilities/common/omitDeep.cjs +0 -43
- package/__cjs/utilities/common/omitDeep.cjs.map +0 -1
- package/__cjs/utilities/common/omitDeep.d.cts +0 -3
- package/__cjs/utilities/common/stringifyForDisplay.cjs +0 -13
- package/__cjs/utilities/common/stringifyForDisplay.cjs.map +0 -1
- package/__cjs/utilities/common/stringifyForDisplay.d.cts +0 -2
- package/__cjs/utilities/globals/global.cjs.map +0 -1
- package/__cjs/utilities/globals/index.cjs.map +0 -1
- package/__cjs/utilities/globals/maybe.cjs.map +0 -1
- package/__cjs/utilities/graphql/directives.cjs +0 -114
- package/__cjs/utilities/graphql/directives.cjs.map +0 -1
- package/__cjs/utilities/graphql/directives.d.cts +0 -20
- package/__cjs/utilities/graphql/fragments.cjs +0 -126
- package/__cjs/utilities/graphql/fragments.cjs.map +0 -1
- package/__cjs/utilities/graphql/fragments.d.cts +0 -35
- package/__cjs/utilities/graphql/getFromAST.cjs +0 -101
- package/__cjs/utilities/graphql/getFromAST.cjs.map +0 -1
- package/__cjs/utilities/graphql/getFromAST.d.cts +0 -15
- package/__cjs/utilities/internal/observables.cjs +0 -29
- package/__cjs/utilities/internal/observables.cjs.map +0 -1
- package/__cjs/utilities/internal/observables.d.cts +0 -14
- package/__cjs/utilities/promises/decoration.cjs +0 -45
- package/__cjs/utilities/promises/decoration.cjs.map +0 -1
- package/__cjs/utilities/promises/decoration.d.cts +0 -18
- package/__cjs/utilities/promises/preventUnhandledRejection.cjs.map +0 -1
- package/__cjs/utilities/types/DeepOmit.d.cts +0 -10
- package/__cjs/utilities/types/DeepPartial.cjs.map +0 -1
- package/__cjs/utilities/types/DeepPartial.d.cts +0 -12
- package/__cjs/utilities/types/IsStrictlyAny.cjs +0 -3
- package/__cjs/utilities/types/IsStrictlyAny.cjs.map +0 -1
- package/__cjs/utilities/types/IsStrictlyAny.d.cts +0 -5
- package/__cjs/utilities/types/NoInfer.d.cts +0 -27
- package/__cjs/utilities/types/OnlyRequiredProperties.cjs +0 -3
- package/__cjs/utilities/types/OnlyRequiredProperties.cjs.map +0 -1
- package/__cjs/utilities/types/OnlyRequiredProperties.d.cts +0 -7
- package/__cjs/utilities/types/Prettify.d.cts +0 -4
- package/__cjs/utilities/types/Primitive.d.cts +0 -2
- package/__cjs/utilities/types/RemoveIndexSignature.d.cts +0 -4
- package/__cjs/utilities/types/UnionToIntersection.cjs +0 -3
- package/__cjs/utilities/types/UnionToIntersection.cjs.map +0 -1
- package/__cjs/utilities/types/UnionToIntersection.d.cts +0 -2
- package/config/jest/areCombinedGraphQLErrorsEqual.d.ts +0 -3
- package/config/jest/areCombinedGraphQLErrorsEqual.js +0 -16
- package/config/jest/areCombinedGraphQLErrorsEqual.js.map +0 -1
- package/config/jest/areCombinedProtocolErrorsEqual.d.ts +0 -3
- package/config/jest/areCombinedProtocolErrorsEqual.js +0 -14
- package/config/jest/areCombinedProtocolErrorsEqual.js.map +0 -1
- package/config/jest/areGraphQlErrorsEqual.d.ts +0 -3
- package/config/jest/areGraphQlErrorsEqual.js +0 -7
- package/config/jest/areGraphQlErrorsEqual.js.map +0 -1
- package/config/jest/areMissingFieldErrorsEqual.d.ts +0 -3
- package/config/jest/areMissingFieldErrorsEqual.js +0 -16
- package/config/jest/areMissingFieldErrorsEqual.js.map +0 -1
- package/config/jest/areServerErrorsEqual.d.ts +0 -3
- package/config/jest/areServerErrorsEqual.js +0 -17
- package/config/jest/areServerErrorsEqual.js.map +0 -1
- package/config/jest/resolver.d.ts +0 -3
- package/config/jest/resolver.js +0 -29
- package/config/jest/resolver.js.map +0 -1
- package/config/jest/setup.d.ts +0 -3
- package/config/jest/setup.js +0 -62
- package/config/jest/setup.js.map +0 -1
- package/core/LocalState.d.ts +0 -53
- package/core/LocalState.js +0 -329
- package/core/LocalState.js.map +0 -1
- package/legacyEntryPoints/link/core/core.cjs +0 -1
- package/legacyEntryPoints/link/core/core.d.cts +0 -1
- package/legacyEntryPoints/link/core/index.d.ts +0 -1
- package/legacyEntryPoints/link/core/index.js +0 -1
- package/legacyEntryPoints/testing/core/core.cjs +0 -1
- package/legacyEntryPoints/testing/core/core.d.cts +0 -1
- package/legacyEntryPoints/testing/core/index.d.ts +0 -1
- package/legacyEntryPoints/testing/core/index.js +0 -1
- package/legacyEntryPoints/testing/experimental/experimental.cjs +0 -1
- package/legacyEntryPoints/testing/experimental/experimental.d.cts +0 -1
- package/legacyEntryPoints/testing/experimental/index.d.ts +0 -1
- package/legacyEntryPoints/testing/experimental/index.js +0 -1
- package/legacyEntryPoints/testing/internal/index.d.ts +0 -1
- package/legacyEntryPoints/testing/internal/index.js +0 -1
- package/legacyEntryPoints/testing/internal/internal.cjs +0 -1
- package/legacyEntryPoints/testing/internal/internal.d.cts +0 -1
- package/legacyEntryPoints/utilities/globals/globals.cjs +0 -1
- package/legacyEntryPoints/utilities/globals/globals.d.cts +0 -1
- package/legacyEntryPoints/utilities/globals/index.d.ts +0 -1
- package/legacyEntryPoints/utilities/globals/index.js +0 -1
- package/link/core/index.d.ts +0 -8
- package/link/core/index.js +0 -7
- package/link/core/index.js.map +0 -1
- package/link/http/createHttpLink.d.ts +0 -4
- package/link/http/createHttpLink.js +0 -150
- package/link/http/createHttpLink.js.map +0 -1
- package/masking/__benches__/types.bench.d.ts +0 -2
- package/masking/__benches__/types.bench.js +0 -221
- package/masking/__benches__/types.bench.js.map +0 -1
- package/testing/core/index.d.ts +0 -7
- package/testing/core/index.js +0 -6
- package/testing/core/index.js.map +0 -1
- package/testing/core/mocking/mockClient.d.ts +0 -4
- package/testing/core/mocking/mockClient.js +0 -14
- package/testing/core/mocking/mockClient.js.map +0 -1
- package/testing/core/wait.d.ts +0 -3
- package/testing/core/wait.js +0 -7
- package/testing/core/wait.js.map +0 -1
- package/testing/core/withConsoleSpy.d.ts +0 -7
- package/testing/core/withConsoleSpy.js +0 -28
- package/testing/core/withConsoleSpy.js.map +0 -1
- package/testing/experimental/createSchemaFetch.d.ts +0 -43
- package/testing/experimental/createSchemaFetch.js +0 -89
- package/testing/experimental/createSchemaFetch.js.map +0 -1
- package/testing/experimental/createTestSchema.d.ts +0 -57
- package/testing/experimental/createTestSchema.js +0 -107
- package/testing/experimental/createTestSchema.js.map +0 -1
- package/testing/experimental/graphql-tools/utils.d.ts +0 -26
- package/testing/experimental/graphql-tools/utils.js +0 -174
- package/testing/experimental/graphql-tools/utils.js.map +0 -1
- package/testing/experimental/graphql-tools/utils.test.d.ts +0 -2
- package/testing/experimental/graphql-tools/utils.test.js +0 -198
- package/testing/experimental/graphql-tools/utils.test.js.map +0 -1
- package/testing/experimental/index.d.ts +0 -3
- package/testing/experimental/index.js +0 -3
- package/testing/experimental/index.js.map +0 -1
- package/testing/internal/ObservableStream.d.ts +0 -28
- package/testing/internal/ObservableStream.js +0 -93
- package/testing/internal/ObservableStream.js.map +0 -1
- package/testing/internal/disposables/enableFakeTimers.d.ts +0 -7
- package/testing/internal/disposables/enableFakeTimers.js +0 -16
- package/testing/internal/disposables/enableFakeTimers.js.map +0 -1
- package/testing/internal/disposables/index.d.ts +0 -5
- package/testing/internal/disposables/index.js +0 -5
- package/testing/internal/disposables/index.js.map +0 -1
- package/testing/internal/disposables/spyOnConsole.d.ts +0 -8
- package/testing/internal/disposables/spyOnConsole.js +0 -21
- package/testing/internal/disposables/spyOnConsole.js.map +0 -1
- package/testing/internal/disposables/withCleanup.d.ts +0 -3
- package/testing/internal/disposables/withCleanup.js +0 -15
- package/testing/internal/disposables/withCleanup.js.map +0 -1
- package/testing/internal/disposables/withProdMode.d.ts +0 -4
- package/testing/internal/disposables/withProdMode.js +0 -13
- package/testing/internal/disposables/withProdMode.js.map +0 -1
- package/testing/internal/incremental.d.ts +0 -16
- package/testing/internal/incremental.js +0 -120
- package/testing/internal/incremental.js.map +0 -1
- package/testing/internal/index.d.ts +0 -11
- package/testing/internal/index.js +0 -10
- package/testing/internal/index.js.map +0 -1
- package/testing/internal/messageChannelPolyfill.d.ts +0 -2
- package/testing/internal/messageChannelPolyfill.js +0 -16
- package/testing/internal/messageChannelPolyfill.js.map +0 -1
- package/testing/internal/renderHelpers.d.ts +0 -14
- package/testing/internal/renderHelpers.js +0 -16
- package/testing/internal/renderHelpers.js.map +0 -1
- package/testing/internal/resetApolloContext.d.ts +0 -10
- package/testing/internal/resetApolloContext.js +0 -20
- package/testing/internal/resetApolloContext.js.map +0 -1
- package/testing/internal/rtl/actAsync.d.ts +0 -2
- package/testing/internal/rtl/actAsync.js +0 -14
- package/testing/internal/rtl/actAsync.js.map +0 -1
- package/testing/internal/rtl/renderAsync.d.ts +0 -9
- package/testing/internal/rtl/renderAsync.js +0 -12
- package/testing/internal/rtl/renderAsync.js.map +0 -1
- package/testing/internal/rtl/renderHookAsync.d.ts +0 -8
- package/testing/internal/rtl/renderHookAsync.js +0 -33
- package/testing/internal/rtl/renderHookAsync.js.map +0 -1
- package/testing/internal/scenarios/index.d.ts +0 -83
- package/testing/internal/scenarios/index.js +0 -97
- package/testing/internal/scenarios/index.js.map +0 -1
- package/testing/matchers/arrayWithLength.d.ts +0 -3
- package/testing/matchers/arrayWithLength.js +0 -11
- package/testing/matchers/arrayWithLength.js.map +0 -1
- package/testing/matchers/index.d.ts +0 -2
- package/testing/matchers/index.js +0 -26
- package/testing/matchers/index.js.map +0 -1
- package/testing/matchers/toBeDisposed.d.ts +0 -3
- package/testing/matchers/toBeDisposed.js +0 -16
- package/testing/matchers/toBeDisposed.js.map +0 -1
- package/testing/matchers/toBeGarbageCollected.d.ts +0 -8
- package/testing/matchers/toBeGarbageCollected.js +0 -39
- package/testing/matchers/toBeGarbageCollected.js.map +0 -1
- package/testing/matchers/toComplete.d.ts +0 -4
- package/testing/matchers/toComplete.js +0 -26
- package/testing/matchers/toComplete.js.map +0 -1
- package/testing/matchers/toEmitAnything.d.ts +0 -4
- package/testing/matchers/toEmitAnything.js +0 -29
- package/testing/matchers/toEmitAnything.js.map +0 -1
- package/testing/matchers/toEmitError.d.ts +0 -7
- package/testing/matchers/toEmitError.js +0 -42
- package/testing/matchers/toEmitError.js.map +0 -1
- package/testing/matchers/toEmitNext.d.ts +0 -4
- package/testing/matchers/toEmitNext.js +0 -26
- package/testing/matchers/toEmitNext.js.map +0 -1
- package/testing/matchers/toEmitTypedValue.d.ts +0 -7
- package/testing/matchers/toEmitTypedValue.js +0 -38
- package/testing/matchers/toEmitTypedValue.js.map +0 -1
- package/testing/matchers/toHaveSuspenseCacheEntryUsing.d.ts +0 -11
- package/testing/matchers/toHaveSuspenseCacheEntryUsing.js +0 -22
- package/testing/matchers/toHaveSuspenseCacheEntryUsing.js.map +0 -1
- package/testing/matchers/toMatchDocument.d.ts +0 -4
- package/testing/matchers/toMatchDocument.js +0 -32
- package/testing/matchers/toMatchDocument.js.map +0 -1
- package/testing/matchers/toStrictEqualTyped.d.ts +0 -3
- package/testing/matchers/toStrictEqualTyped.js +0 -22
- package/testing/matchers/toStrictEqualTyped.js.map +0 -1
- package/testing/matchers/utils/getSerializableProperties.d.ts +0 -2
- package/testing/matchers/utils/getSerializableProperties.js +0 -20
- package/testing/matchers/utils/getSerializableProperties.js.map +0 -1
- package/utilities/caching/caches.d.ts +0 -34
- package/utilities/caching/caches.js +0 -69
- package/utilities/caching/caches.js.map +0 -1
- package/utilities/common/arrays.d.ts +0 -3
- package/utilities/common/arrays.js +0 -6
- package/utilities/common/arrays.js.map +0 -1
- package/utilities/common/canUse.d.ts +0 -3
- package/utilities/common/canUse.js +0 -21
- package/utilities/common/canUse.js.map +0 -1
- package/utilities/common/canonicalStringify.js +0 -85
- package/utilities/common/canonicalStringify.js.map +0 -1
- package/utilities/common/cloneDeep.d.ts +0 -5
- package/utilities/common/cloneDeep.js +0 -38
- package/utilities/common/cloneDeep.js.map +0 -1
- package/utilities/common/compact.d.ts +0 -7
- package/utilities/common/compact.js +0 -19
- package/utilities/common/compact.js.map +0 -1
- package/utilities/common/errorHandling.d.ts +0 -4
- package/utilities/common/errorHandling.js +0 -19
- package/utilities/common/errorHandling.js.map +0 -1
- package/utilities/common/incrementalResult.d.ts +0 -7
- package/utilities/common/incrementalResult.js +0 -38
- package/utilities/common/incrementalResult.js.map +0 -1
- package/utilities/common/makeUniqueId.d.ts +0 -2
- package/utilities/common/makeUniqueId.js +0 -9
- package/utilities/common/makeUniqueId.js.map +0 -1
- package/utilities/common/maybeDeepFreeze.d.ts +0 -4
- package/utilities/common/maybeDeepFreeze.js +0 -38
- package/utilities/common/maybeDeepFreeze.js.map +0 -1
- package/utilities/common/mergeDeep.d.ts +0 -14
- package/utilities/common/mergeDeep.js +0 -78
- package/utilities/common/mergeDeep.js.map +0 -1
- package/utilities/common/mergeOptions.d.ts +0 -5
- package/utilities/common/mergeOptions.js +0 -10
- package/utilities/common/mergeOptions.js.map +0 -1
- package/utilities/common/objects.d.ts +0 -3
- package/utilities/common/objects.js +0 -10
- package/utilities/common/objects.js.map +0 -1
- package/utilities/common/omitDeep.d.ts +0 -3
- package/utilities/common/omitDeep.js +0 -40
- package/utilities/common/omitDeep.js.map +0 -1
- package/utilities/common/stringifyForDisplay.d.ts +0 -2
- package/utilities/common/stringifyForDisplay.js +0 -10
- package/utilities/common/stringifyForDisplay.js.map +0 -1
- package/utilities/globals/global.js +0 -14
- package/utilities/globals/global.js.map +0 -1
- package/utilities/globals/index.js.map +0 -1
- package/utilities/globals/maybe.js.map +0 -1
- package/utilities/graphql/directives.d.ts +0 -20
- package/utilities/graphql/directives.js +0 -99
- package/utilities/graphql/directives.js.map +0 -1
- package/utilities/graphql/fragments.d.ts +0 -35
- package/utilities/graphql/fragments.js +0 -120
- package/utilities/graphql/fragments.js.map +0 -1
- package/utilities/graphql/getFromAST.d.ts +0 -15
- package/utilities/graphql/getFromAST.js +0 -91
- package/utilities/graphql/getFromAST.js.map +0 -1
- package/utilities/internal/observables.d.ts +0 -14
- package/utilities/internal/observables.js +0 -26
- package/utilities/internal/observables.js.map +0 -1
- package/utilities/promises/decoration.d.ts +0 -18
- package/utilities/promises/decoration.js +0 -39
- package/utilities/promises/decoration.js.map +0 -1
- package/utilities/promises/preventUnhandledRejection.js.map +0 -1
- package/utilities/types/DeepOmit.d.ts +0 -10
- package/utilities/types/DeepPartial.d.ts +0 -12
- package/utilities/types/DeepPartial.js.map +0 -1
- package/utilities/types/IsStrictlyAny.d.ts +0 -5
- package/utilities/types/IsStrictlyAny.js +0 -2
- package/utilities/types/IsStrictlyAny.js.map +0 -1
- package/utilities/types/NoInfer.d.ts +0 -27
- package/utilities/types/OnlyRequiredProperties.d.ts +0 -7
- package/utilities/types/OnlyRequiredProperties.js +0 -2
- package/utilities/types/OnlyRequiredProperties.js.map +0 -1
- package/utilities/types/Prettify.d.ts +0 -4
- package/utilities/types/Primitive.d.ts +0 -2
- package/utilities/types/RemoveIndexSignature.d.ts +0 -4
- package/utilities/types/UnionToIntersection.d.ts +0 -2
- package/utilities/types/UnionToIntersection.js +0 -2
- package/utilities/types/UnionToIntersection.js.map +0 -1
- /package/__cjs/utilities/{types/DeepPartial.cjs → DeepPartial.cjs} +0 -0
- /package/__cjs/utilities/{globals → internal/globals}/global.cjs +0 -0
- /package/__cjs/utilities/{globals → internal/globals}/global.d.cts +0 -0
- /package/__cjs/utilities/{globals → internal/globals}/index.cjs +0 -0
- /package/__cjs/utilities/{globals → internal/globals}/index.d.cts +0 -0
- /package/__cjs/utilities/{globals → internal/globals}/maybe.cjs +0 -0
- /package/__cjs/utilities/{globals → internal/globals}/maybe.d.cts +0 -0
- /package/__cjs/utilities/{promises → internal}/preventUnhandledRejection.cjs +0 -0
- /package/__cjs/utilities/{promises → internal}/preventUnhandledRejection.d.cts +0 -0
- /package/__cjs/utilities/{types → internal/types}/DeepOmit.cjs +0 -0
- /package/__cjs/utilities/{types → internal/types}/DeepOmit.cjs.map +0 -0
- /package/__cjs/utilities/{types → internal/types}/NoInfer.cjs +0 -0
- /package/__cjs/utilities/{types → internal/types}/NoInfer.cjs.map +0 -0
- /package/__cjs/utilities/{types → internal/types}/Prettify.cjs +0 -0
- /package/__cjs/utilities/{types → internal/types}/Prettify.cjs.map +0 -0
- /package/__cjs/utilities/{types → internal/types}/Primitive.cjs +0 -0
- /package/__cjs/utilities/{types → internal/types}/Primitive.cjs.map +0 -0
- /package/__cjs/utilities/{types → internal/types}/RemoveIndexSignature.cjs +0 -0
- /package/__cjs/utilities/{types → internal/types}/RemoveIndexSignature.cjs.map +0 -0
- /package/__cjs/utilities/{common → shared}/canonicalStringify.d.cts +0 -0
- /package/utilities/{types/DeepPartial.js → DeepPartial.js} +0 -0
- /package/utilities/{globals → internal/globals}/global.d.ts +0 -0
- /package/utilities/{globals → internal/globals}/index.d.ts +0 -0
- /package/utilities/{globals → internal/globals}/index.js +0 -0
- /package/utilities/{globals → internal/globals}/maybe.d.ts +0 -0
- /package/utilities/{globals → internal/globals}/maybe.js +0 -0
- /package/utilities/{promises → internal}/preventUnhandledRejection.d.ts +0 -0
- /package/utilities/{promises → internal}/preventUnhandledRejection.js +0 -0
- /package/utilities/{types → internal/types}/DeepOmit.js +0 -0
- /package/utilities/{types → internal/types}/DeepOmit.js.map +0 -0
- /package/utilities/{types → internal/types}/NoInfer.js +0 -0
- /package/utilities/{types → internal/types}/NoInfer.js.map +0 -0
- /package/utilities/{types → internal/types}/Prettify.js +0 -0
- /package/utilities/{types → internal/types}/Prettify.js.map +0 -0
- /package/utilities/{types → internal/types}/Primitive.js +0 -0
- /package/utilities/{types → internal/types}/Primitive.js.map +0 -0
- /package/utilities/{types → internal/types}/RemoveIndexSignature.js +0 -0
- /package/utilities/{types → internal/types}/RemoveIndexSignature.js.map +0 -0
- /package/utilities/{common → shared}/canonicalStringify.d.ts +0 -0
|
@@ -7,125 +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
|
|
20
|
-
|
|
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
|
+
};
|
|
21
31
|
class ObservableQuery {
|
|
22
|
-
/**
|
|
23
|
-
* @internal
|
|
24
|
-
* A slot used by the `useQuery` hook to indicate that `client.watchQuery`
|
|
25
|
-
* should not register the query immediately, but instead wait for the query to
|
|
26
|
-
* be started registered with the `QueryManager` when `useSyncExternalStore`
|
|
27
|
-
* actively subscribes to it.
|
|
28
|
-
*/
|
|
29
|
-
static inactiveOnCreation = new optimism_1.Slot();
|
|
30
32
|
options;
|
|
31
|
-
queryId;
|
|
32
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;
|
|
33
40
|
// The `query` computed property will always reflect the document transformed
|
|
34
41
|
// by the last run query. `this.options.query` will always reflect the raw
|
|
35
42
|
// untransformed query to ensure document transforms with runtime conditionals
|
|
36
43
|
// are run on the original document.
|
|
37
44
|
get query() {
|
|
38
|
-
return this.lastQuery
|
|
45
|
+
return this.lastQuery;
|
|
39
46
|
}
|
|
40
|
-
// Computed shorthand for this.options.variables, preserved for
|
|
41
|
-
// backwards compatibility.
|
|
42
47
|
/**
|
|
43
48
|
* An object containing the variables that were provided for the query.
|
|
44
49
|
*/
|
|
45
50
|
get variables() {
|
|
46
51
|
return this.options.variables;
|
|
47
52
|
}
|
|
53
|
+
unsubscribeFromCache;
|
|
54
|
+
input;
|
|
48
55
|
subject;
|
|
49
|
-
observable;
|
|
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
|
-
this.subject = new rxjs_1.BehaviorSubject(uninitialized);
|
|
65
|
-
this.observable = this.subject.pipe((0, rxjs_1.tap)({
|
|
66
|
-
subscribe: () => {
|
|
67
|
-
if (startedInactive) {
|
|
68
|
-
queryManager["queries"].set(this.queryId, queryInfo);
|
|
69
|
-
startedInactive = false;
|
|
70
|
-
}
|
|
71
|
-
if (!this.subject.observed) {
|
|
72
|
-
if (this.subject.value === uninitialized) {
|
|
73
|
-
// Emitting a value in the `subscribe` callback of `tap` gives
|
|
74
|
-
// the subject a chance to save this initial result without
|
|
75
|
-
// emitting the placeholder value since this callback is executed
|
|
76
|
-
// before `tap` subscribes to the source observable (the subject).
|
|
77
|
-
// `reobserve` also has the chance to update this value if it
|
|
78
|
-
// synchronously emits one (usually due to reporting a cache
|
|
79
|
-
// value).
|
|
80
|
-
//
|
|
81
|
-
// We don't initialize the `BehaviorSubject` with
|
|
82
|
-
// `getInitialResult` because its possible the cache might have
|
|
83
|
-
// updated between when the `ObservableQuery` was instantiated and
|
|
84
|
-
// when it is subscribed to. Updating the value here ensures we
|
|
85
|
-
// report the most up-to-date result from the cache.
|
|
86
|
-
this.subject.next(this.getInitialResult());
|
|
87
|
-
}
|
|
88
|
-
this.reobserve();
|
|
89
|
-
// TODO: See if we can rework updatePolling to better handle this.
|
|
90
|
-
// reobserve calls updatePolling but this `subscribe` callback is
|
|
91
|
-
// called before the subject is subscribed to so `updatePolling`
|
|
92
|
-
// can't accurately detect if there is an active subscription.
|
|
93
|
-
// Calling it again here ensures that it can detect if it can poll
|
|
94
|
-
setTimeout(() => this.updatePolling());
|
|
95
|
-
}
|
|
96
|
-
},
|
|
97
|
-
unsubscribe: () => {
|
|
98
|
-
if (!this.subject.observed) {
|
|
99
|
-
this.tearDownQuery();
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
|
-
}), (0, rxjs_1.filter)((result) => {
|
|
103
|
-
return (this.options.fetchPolicy !== "standby" &&
|
|
104
|
-
(this.options.notifyOnNetworkStatusChange ||
|
|
105
|
-
!result.loading ||
|
|
106
|
-
// data could be defined for cache-and-network fetch policies
|
|
107
|
-
// when emitting the cache result while loading the network result
|
|
108
|
-
!!result.data));
|
|
109
|
-
}));
|
|
110
|
-
this["@@observable"] = () => this;
|
|
111
|
-
if (Symbol.observable) {
|
|
112
|
-
this[Symbol.observable] = () => this;
|
|
113
|
-
}
|
|
114
|
-
this.pipe = this.observable.pipe.bind(this.observable);
|
|
115
|
-
this.subscribe = this.observable.subscribe.bind(this.observable);
|
|
116
|
-
// related classes
|
|
117
|
-
this.queryInfo = queryInfo;
|
|
68
|
+
get networkStatus() {
|
|
69
|
+
return this.subject.getValue().result.networkStatus;
|
|
70
|
+
}
|
|
71
|
+
constructor({ queryManager, options, transformedQuery = queryManager.transform(options.query), }) {
|
|
118
72
|
this.queryManager = queryManager;
|
|
119
73
|
// active state
|
|
120
|
-
this.
|
|
74
|
+
this.waitForNetworkResult = options.fetchPolicy === "network-only";
|
|
121
75
|
this.isTornDown = false;
|
|
122
|
-
this.subscribe = this.subscribe.bind(this);
|
|
123
76
|
this.subscribeToMore = this.subscribeToMore.bind(this);
|
|
124
77
|
this.maskResult = this.maskResult.bind(this);
|
|
125
78
|
const { watchQuery: { fetchPolicy: defaultFetchPolicy = "cache-first" } = {}, } = queryManager.defaultOptions;
|
|
126
79
|
const { fetchPolicy = defaultFetchPolicy,
|
|
127
80
|
// Make sure we don't store "standby" as the initialFetchPolicy.
|
|
128
81
|
initialFetchPolicy = fetchPolicy === "standby" ? defaultFetchPolicy : (fetchPolicy), } = options;
|
|
82
|
+
this.lastQuery = transformedQuery;
|
|
129
83
|
this.options = {
|
|
130
84
|
...options,
|
|
131
85
|
// Remember the initial options.fetchPolicy so we can revert back to this
|
|
@@ -135,11 +89,84 @@ class ObservableQuery {
|
|
|
135
89
|
// This ensures this.options.fetchPolicy always has a string value, in
|
|
136
90
|
// case options.fetchPolicy was not provided.
|
|
137
91
|
fetchPolicy,
|
|
92
|
+
variables: this.getVariablesWithDefaults(options.variables),
|
|
138
93
|
};
|
|
139
|
-
this.
|
|
140
|
-
|
|
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);
|
|
141
100
|
this.queryName = opDef && opDef.name && opDef.name.value;
|
|
142
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
|
+
}
|
|
143
170
|
// We can't use Observable['subscribe'] here as the type as it conflicts with
|
|
144
171
|
// the ability to infer T from Subscribable<T>. This limits the surface area
|
|
145
172
|
// to the non-deprecated signature which works properly with type inference.
|
|
@@ -147,36 +174,48 @@ class ObservableQuery {
|
|
|
147
174
|
pipe;
|
|
148
175
|
[Symbol.observable];
|
|
149
176
|
["@@observable"];
|
|
150
|
-
/**
|
|
151
|
-
|
|
152
|
-
|
|
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
|
+
});
|
|
153
189
|
}
|
|
154
|
-
getInitialResult() {
|
|
190
|
+
getInitialResult(initialFetchPolicy) {
|
|
155
191
|
const fetchPolicy = this.queryManager.prioritizeCacheValues ?
|
|
156
192
|
"cache-first"
|
|
157
|
-
: this.options.fetchPolicy;
|
|
158
|
-
const defaultResult = {
|
|
159
|
-
data: undefined,
|
|
160
|
-
loading: true,
|
|
161
|
-
networkStatus: networkStatus_js_1.NetworkStatus.loading,
|
|
162
|
-
partial: true,
|
|
163
|
-
};
|
|
193
|
+
: initialFetchPolicy || this.options.fetchPolicy;
|
|
164
194
|
const cacheResult = () => {
|
|
165
|
-
const diff = this.
|
|
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;
|
|
166
201
|
return this.maskResult({
|
|
167
|
-
data
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
diff.result ?? undefined
|
|
172
|
-
: undefined,
|
|
202
|
+
data,
|
|
203
|
+
dataState: diff.complete ? "complete"
|
|
204
|
+
: data === undefined ? "empty"
|
|
205
|
+
: "partial",
|
|
173
206
|
loading: !diff.complete,
|
|
174
207
|
networkStatus: diff.complete ? networkStatus_js_1.NetworkStatus.ready : networkStatus_js_1.NetworkStatus.loading,
|
|
175
208
|
partial: !diff.complete,
|
|
176
209
|
});
|
|
177
210
|
};
|
|
178
211
|
switch (fetchPolicy) {
|
|
179
|
-
case "cache-only":
|
|
212
|
+
case "cache-only": {
|
|
213
|
+
return {
|
|
214
|
+
...cacheResult(),
|
|
215
|
+
loading: false,
|
|
216
|
+
networkStatus: networkStatus_js_1.NetworkStatus.ready,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
180
219
|
case "cache-first":
|
|
181
220
|
return cacheResult();
|
|
182
221
|
case "cache-and-network":
|
|
@@ -186,127 +225,102 @@ class ObservableQuery {
|
|
|
186
225
|
networkStatus: networkStatus_js_1.NetworkStatus.loading,
|
|
187
226
|
};
|
|
188
227
|
case "standby":
|
|
189
|
-
return
|
|
190
|
-
...defaultResult,
|
|
191
|
-
loading: false,
|
|
192
|
-
networkStatus: networkStatus_js_1.NetworkStatus.ready,
|
|
193
|
-
};
|
|
228
|
+
return empty;
|
|
194
229
|
default:
|
|
195
|
-
return
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
getCurrentFullResult(saveAsLastResult = true) {
|
|
199
|
-
// Use the last result as long as the variables match this.variables.
|
|
200
|
-
const lastResult = this.getLastResult(true);
|
|
201
|
-
const networkStatus = this.networkStatus;
|
|
202
|
-
const result = {
|
|
203
|
-
data: undefined,
|
|
204
|
-
partial: true,
|
|
205
|
-
...lastResult,
|
|
206
|
-
loading: (0, networkStatus_js_1.isNetworkRequestInFlight)(networkStatus),
|
|
207
|
-
networkStatus,
|
|
208
|
-
};
|
|
209
|
-
let { fetchPolicy = "cache-first" } = this.options;
|
|
210
|
-
const { prioritizeCacheValues } = this.queryManager;
|
|
211
|
-
if (prioritizeCacheValues) {
|
|
212
|
-
fetchPolicy = "cache-first";
|
|
213
|
-
}
|
|
214
|
-
if (
|
|
215
|
-
// These fetch policies should never deliver data from the cache, unless
|
|
216
|
-
// redelivering a previously delivered result.
|
|
217
|
-
skipCacheDataFor(fetchPolicy) ||
|
|
218
|
-
// If this.options.query has @client(always: true) fields, we cannot
|
|
219
|
-
// trust diff.result, since it was read from the cache without running
|
|
220
|
-
// local resolvers (and it's too late to run resolvers now, since we must
|
|
221
|
-
// return a result synchronously).
|
|
222
|
-
this.queryManager.getDocumentInfo(this.query).hasForcedResolvers) {
|
|
223
|
-
// Fall through.
|
|
224
|
-
}
|
|
225
|
-
else if (this.waitForOwnResult && !prioritizeCacheValues) {
|
|
226
|
-
// This would usually be a part of `QueryInfo.getDiff()`.
|
|
227
|
-
// which we skip in the waitForOwnResult case since we are not
|
|
228
|
-
// interested in the diff.
|
|
229
|
-
this.queryInfo["updateWatch"]();
|
|
230
|
+
return uninitialized;
|
|
230
231
|
}
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
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;
|
|
249
265
|
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
(
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
// since the observable will terminate.
|
|
309
|
-
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;
|
|
310
324
|
}
|
|
311
325
|
/**
|
|
312
326
|
* Update the variables of this observable query, and fetch the new results.
|
|
@@ -316,6 +330,7 @@ class ObservableQuery {
|
|
|
316
330
|
* the previous values of those variables will be used.
|
|
317
331
|
*/
|
|
318
332
|
refetch(variables) {
|
|
333
|
+
const { fetchPolicy } = this.options;
|
|
319
334
|
const reobserveOptions = {
|
|
320
335
|
// Always disable polling for refetches.
|
|
321
336
|
pollInterval: 0,
|
|
@@ -323,7 +338,6 @@ class ObservableQuery {
|
|
|
323
338
|
// Unless the provided fetchPolicy always consults the network
|
|
324
339
|
// (no-cache, network-only, or cache-and-network), override it with
|
|
325
340
|
// network-only to force the refetch for this fetchQuery call.
|
|
326
|
-
const { fetchPolicy } = this.options;
|
|
327
341
|
if (fetchPolicy === "no-cache") {
|
|
328
342
|
reobserveOptions.fetchPolicy = "no-cache";
|
|
329
343
|
}
|
|
@@ -331,38 +345,40 @@ class ObservableQuery {
|
|
|
331
345
|
reobserveOptions.fetchPolicy = "network-only";
|
|
332
346
|
}
|
|
333
347
|
if (environment_1.__DEV__ && variables && hasOwnProperty.call(variables, "variables")) {
|
|
334
|
-
const queryDef = (0,
|
|
348
|
+
const queryDef = (0, internal_1.getQueryDefinition)(this.query);
|
|
335
349
|
const vars = queryDef.variableDefinitions;
|
|
336
350
|
if (!vars || !vars.some((v) => v.variable.name.value === "variables")) {
|
|
337
|
-
__DEV__ && invariant_1.invariant.warn(
|
|
351
|
+
__DEV__ && invariant_1.invariant.warn(79, variables, queryDef.name?.value || queryDef);
|
|
338
352
|
}
|
|
339
353
|
}
|
|
340
|
-
if (variables && !(0, equality_1.equal)(this.
|
|
354
|
+
if (variables && !(0, equality_1.equal)(this.variables, variables)) {
|
|
341
355
|
// Update the existing options with new variables
|
|
342
|
-
reobserveOptions.variables = this.options.variables =
|
|
343
|
-
...this.
|
|
344
|
-
...variables,
|
|
345
|
-
};
|
|
356
|
+
reobserveOptions.variables = this.options.variables =
|
|
357
|
+
this.getVariablesWithDefaults({ ...this.variables, ...variables });
|
|
346
358
|
}
|
|
347
|
-
this.
|
|
348
|
-
return this.
|
|
349
|
-
|
|
350
|
-
[newNetworkStatusSymbol]: networkStatus_js_1.NetworkStatus.refetch,
|
|
359
|
+
this._lastWrite = undefined;
|
|
360
|
+
return this._reobserve(reobserveOptions, {
|
|
361
|
+
newNetworkStatus: networkStatus_js_1.NetworkStatus.refetch,
|
|
351
362
|
});
|
|
352
363
|
}
|
|
353
364
|
/**
|
|
354
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/).
|
|
355
366
|
*/
|
|
356
|
-
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
|
+
);
|
|
357
373
|
const combinedOptions = {
|
|
358
|
-
...(
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
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,
|
|
366
382
|
})),
|
|
367
383
|
// The fetchMore request goes immediately to the network and does
|
|
368
384
|
// not automatically write its result to the cache (hence no-cache
|
|
@@ -373,36 +389,34 @@ class ObservableQuery {
|
|
|
373
389
|
notifyOnNetworkStatusChange: this.options.notifyOnNetworkStatusChange,
|
|
374
390
|
};
|
|
375
391
|
combinedOptions.query = this.transformDocument(combinedOptions.query);
|
|
376
|
-
const qid = this.queryManager.generateQueryId();
|
|
377
392
|
// If a temporary query is passed to `fetchMore`, we don't want to store
|
|
378
393
|
// it as the last query result since it may be an optimized query for
|
|
379
394
|
// pagination. We will however run the transforms on the original document
|
|
380
395
|
// as well as the document passed in `fetchMoreOptions` to ensure the cache
|
|
381
396
|
// uses the most up-to-date document which may rely on runtime conditionals.
|
|
382
397
|
this.lastQuery =
|
|
383
|
-
|
|
398
|
+
query ?
|
|
384
399
|
this.transformDocument(this.options.query)
|
|
385
400
|
: combinedOptions.query;
|
|
386
|
-
|
|
387
|
-
// result.networkStatus === NetworkStatus.fetchMore.
|
|
388
|
-
const originalNetworkStatus = this.networkStatus;
|
|
389
|
-
this.networkStatus = networkStatus_js_1.NetworkStatus.fetchMore;
|
|
390
|
-
if (combinedOptions.notifyOnNetworkStatusChange) {
|
|
391
|
-
this.observe();
|
|
392
|
-
}
|
|
393
|
-
const updatedQuerySet = new Set();
|
|
394
|
-
const updateQuery = fetchMoreOptions?.updateQuery;
|
|
401
|
+
let wasUpdated = false;
|
|
395
402
|
const isCached = this.options.fetchPolicy !== "no-cache";
|
|
396
403
|
if (!isCached) {
|
|
397
|
-
(0, invariant_1.invariant)(updateQuery,
|
|
404
|
+
(0, invariant_1.invariant)(updateQuery, 81);
|
|
398
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 */ });
|
|
399
412
|
return this.queryManager
|
|
400
|
-
.fetchQuery(
|
|
413
|
+
.fetchQuery(combinedOptions, networkStatus_js_1.NetworkStatus.fetchMore)
|
|
401
414
|
.then((fetchMoreResult) => {
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
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();
|
|
406
420
|
if (isCached) {
|
|
407
421
|
// Performing this cache update inside a cache.batch transaction ensures
|
|
408
422
|
// any affected cache.watch watchers are notified at most once about any
|
|
@@ -411,7 +425,6 @@ class ObservableQuery {
|
|
|
411
425
|
// fetchMore cache results back to this ObservableQuery.
|
|
412
426
|
this.queryManager.cache.batch({
|
|
413
427
|
update: (cache) => {
|
|
414
|
-
const { updateQuery } = fetchMoreOptions;
|
|
415
428
|
if (updateQuery) {
|
|
416
429
|
cache.updateQuery({
|
|
417
430
|
query: this.query,
|
|
@@ -437,9 +450,9 @@ class ObservableQuery {
|
|
|
437
450
|
}
|
|
438
451
|
},
|
|
439
452
|
onWatchUpdated: (watch) => {
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
453
|
+
if (watch.watcher === this) {
|
|
454
|
+
wasUpdated = true;
|
|
455
|
+
}
|
|
443
456
|
},
|
|
444
457
|
});
|
|
445
458
|
}
|
|
@@ -458,28 +471,41 @@ class ObservableQuery {
|
|
|
458
471
|
// adjustment to the types on `updateQuery` since that function
|
|
459
472
|
// expects that the first argument always contains previous result
|
|
460
473
|
// data, but not `undefined`.
|
|
461
|
-
const lastResult = this.
|
|
474
|
+
const lastResult = this.getCurrentResult();
|
|
462
475
|
const data = updateQuery(lastResult.data, {
|
|
463
476
|
fetchMoreResult: fetchMoreResult.data,
|
|
464
477
|
variables: combinedOptions.variables,
|
|
465
478
|
});
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
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
|
+
});
|
|
472
492
|
}
|
|
473
493
|
return this.maskResult(fetchMoreResult);
|
|
474
494
|
})
|
|
475
495
|
.finally(() => {
|
|
496
|
+
// call `finalize` a second time in case the `.then` case above was not reached
|
|
497
|
+
finalize();
|
|
476
498
|
// In case the cache writes above did not generate a broadcast
|
|
477
499
|
// notification (which would have been intercepted by onWatchUpdated),
|
|
478
500
|
// likely because the written data were the same as what was already in
|
|
479
501
|
// the cache, we still want fetchMore to deliver its final loading:false
|
|
480
502
|
// result with the unchanged data.
|
|
481
|
-
if (isCached && !
|
|
482
|
-
|
|
503
|
+
if (isCached && !wasUpdated) {
|
|
504
|
+
pushNotification({
|
|
505
|
+
kind: "N",
|
|
506
|
+
source: "newNetworkStatus",
|
|
507
|
+
value: {},
|
|
508
|
+
}, { shouldEmit: 1 /* EmitBehavior.force */ });
|
|
483
509
|
}
|
|
484
510
|
});
|
|
485
511
|
}
|
|
@@ -507,7 +533,7 @@ class ObservableQuery {
|
|
|
507
533
|
onError(error);
|
|
508
534
|
}
|
|
509
535
|
else {
|
|
510
|
-
__DEV__ && invariant_1.invariant.error(
|
|
536
|
+
__DEV__ && invariant_1.invariant.error(82, error);
|
|
511
537
|
}
|
|
512
538
|
return;
|
|
513
539
|
}
|
|
@@ -526,10 +552,15 @@ class ObservableQuery {
|
|
|
526
552
|
}
|
|
527
553
|
};
|
|
528
554
|
}
|
|
529
|
-
/**
|
|
530
|
-
|
|
531
|
-
|
|
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 || {});
|
|
532
562
|
assign(this.options, mergedOptions);
|
|
563
|
+
this.updatePolling();
|
|
533
564
|
}
|
|
534
565
|
/**
|
|
535
566
|
* Update the variables of this observable query, and fetch the new results
|
|
@@ -550,23 +581,23 @@ class ObservableQuery {
|
|
|
550
581
|
* the previous values of those variables will be used.
|
|
551
582
|
*/
|
|
552
583
|
async setVariables(variables) {
|
|
584
|
+
variables = this.getVariablesWithDefaults(variables);
|
|
553
585
|
if ((0, equality_1.equal)(this.variables, variables)) {
|
|
554
586
|
// If we have no observers, then we don't actually want to make a network
|
|
555
587
|
// request. As soon as someone observes the query, the request will kick
|
|
556
588
|
// off. For now, we just store any changes. (See #1077)
|
|
557
|
-
return (0, internal_1.toQueryResult)(this.
|
|
589
|
+
return (0, internal_1.toQueryResult)(this.getCurrentResult());
|
|
558
590
|
}
|
|
559
591
|
this.options.variables = variables;
|
|
560
592
|
// See comment above
|
|
561
593
|
if (!this.hasObservers()) {
|
|
562
|
-
return (0, internal_1.toQueryResult)(this.
|
|
594
|
+
return (0, internal_1.toQueryResult)(this.getCurrentResult());
|
|
563
595
|
}
|
|
564
|
-
return this.
|
|
596
|
+
return this._reobserve({
|
|
565
597
|
// Reset options.fetchPolicy to its original value.
|
|
566
598
|
fetchPolicy: this.options.initialFetchPolicy,
|
|
567
599
|
variables,
|
|
568
|
-
|
|
569
|
-
});
|
|
600
|
+
}, { newNetworkStatus: networkStatus_js_1.NetworkStatus.setVariables });
|
|
570
601
|
}
|
|
571
602
|
/**
|
|
572
603
|
* A function that enables you to update the query's cached result without executing a followup GraphQL operation.
|
|
@@ -575,12 +606,7 @@ class ObservableQuery {
|
|
|
575
606
|
*/
|
|
576
607
|
updateQuery(mapFn) {
|
|
577
608
|
const { queryManager } = this;
|
|
578
|
-
const { result, complete } =
|
|
579
|
-
query: this.options.query,
|
|
580
|
-
variables: this.variables,
|
|
581
|
-
returnPartialData: true,
|
|
582
|
-
optimistic: false,
|
|
583
|
-
});
|
|
609
|
+
const { result, complete } = this.getCacheDiff({ optimistic: false });
|
|
584
610
|
const newResult = mapFn(result, {
|
|
585
611
|
variables: this.variables,
|
|
586
612
|
complete: !!complete,
|
|
@@ -632,12 +658,7 @@ class ObservableQuery {
|
|
|
632
658
|
// that end, the options.nextFetchPolicy option provides an easy way to
|
|
633
659
|
// update options.fetchPolicy after the initial network request, without
|
|
634
660
|
// having to call observableQuery.reobserve.
|
|
635
|
-
options.fetchPolicy = options.nextFetchPolicy(fetchPolicy, {
|
|
636
|
-
reason,
|
|
637
|
-
options,
|
|
638
|
-
observable: this,
|
|
639
|
-
initialFetchPolicy,
|
|
640
|
-
});
|
|
661
|
+
options.fetchPolicy = options.nextFetchPolicy.call(options, fetchPolicy, { reason, options, observable: this, initialFetchPolicy });
|
|
641
662
|
}
|
|
642
663
|
else if (reason === "variables-changed") {
|
|
643
664
|
options.fetchPolicy = initialFetchPolicy;
|
|
@@ -648,35 +669,133 @@ class ObservableQuery {
|
|
|
648
669
|
}
|
|
649
670
|
return options.fetchPolicy;
|
|
650
671
|
}
|
|
651
|
-
fetch(options,
|
|
672
|
+
fetch(options, networkStatus, fetchQuery, operator) {
|
|
652
673
|
// TODO Make sure we update the networkStatus (and infer fetchVariables)
|
|
653
674
|
// before actually committing to the fetch.
|
|
654
|
-
const
|
|
655
|
-
|
|
656
|
-
|
|
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 };
|
|
657
768
|
}
|
|
658
769
|
// Turns polling on or off based on this.options.pollInterval.
|
|
770
|
+
didWarnCacheOnlyPolling = false;
|
|
659
771
|
updatePolling() {
|
|
660
772
|
// Avoid polling in SSR mode
|
|
661
773
|
if (this.queryManager.ssrMode) {
|
|
662
774
|
return;
|
|
663
775
|
}
|
|
664
|
-
const { pollingInfo, options: { pollInterval }, } = this;
|
|
665
|
-
if (!pollInterval || !this.hasObservers()) {
|
|
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
|
+
}
|
|
785
|
+
}
|
|
666
786
|
this.cancelPolling();
|
|
667
787
|
return;
|
|
668
788
|
}
|
|
669
|
-
if (pollingInfo
|
|
789
|
+
if (pollingInfo?.interval === pollInterval) {
|
|
670
790
|
return;
|
|
671
791
|
}
|
|
672
|
-
(0, invariant_1.invariant)(pollInterval, 70);
|
|
673
792
|
const info = pollingInfo || (this.pollingInfo = {});
|
|
674
793
|
info.interval = pollInterval;
|
|
675
794
|
const maybeFetch = () => {
|
|
676
795
|
if (this.pollingInfo) {
|
|
677
796
|
if (!(0, networkStatus_js_1.isNetworkRequestInFlight)(this.networkStatus) &&
|
|
678
797
|
!this.options.skipPollAttempt?.()) {
|
|
679
|
-
this.
|
|
798
|
+
this._reobserve({
|
|
680
799
|
// Most fetchPolicy options don't make sense to use in a polling context, as
|
|
681
800
|
// users wouldn't want to be polling the cache directly. However, network-only and
|
|
682
801
|
// no-cache are both useful for when the user wants to control whether or not the
|
|
@@ -684,7 +803,8 @@ class ObservableQuery {
|
|
|
684
803
|
fetchPolicy: this.options.initialFetchPolicy === "no-cache" ?
|
|
685
804
|
"no-cache"
|
|
686
805
|
: "network-only",
|
|
687
|
-
|
|
806
|
+
}, {
|
|
807
|
+
newNetworkStatus: networkStatus_js_1.NetworkStatus.poll,
|
|
688
808
|
}).then(poll, poll);
|
|
689
809
|
}
|
|
690
810
|
else {
|
|
@@ -708,47 +828,29 @@ class ObservableQuery {
|
|
|
708
828
|
delete this.pollingInfo;
|
|
709
829
|
}
|
|
710
830
|
}
|
|
711
|
-
updateLastResult(newResult, variables = this.variables) {
|
|
712
|
-
let error = this.getLastError();
|
|
713
|
-
// Preserve this.last.error unless the variables have changed.
|
|
714
|
-
if (error && this.last && !(0, equality_1.equal)(variables, this.last.variables)) {
|
|
715
|
-
error = void 0;
|
|
716
|
-
}
|
|
717
|
-
return (this.last = {
|
|
718
|
-
result: this.queryManager.assumeImmutableResults ?
|
|
719
|
-
newResult
|
|
720
|
-
: (0, utilities_1.cloneDeep)(newResult),
|
|
721
|
-
variables,
|
|
722
|
-
...(error ? { error } : null),
|
|
723
|
-
});
|
|
724
|
-
}
|
|
725
831
|
/**
|
|
726
832
|
* Reevaluate the query, optionally against new options. New options will be
|
|
727
833
|
* merged with the current options when given.
|
|
728
834
|
*/
|
|
729
835
|
reobserve(newOptions) {
|
|
836
|
+
return this._reobserve(newOptions);
|
|
837
|
+
}
|
|
838
|
+
_reobserve(newOptions, internalOptions) {
|
|
730
839
|
this.isTornDown = false;
|
|
731
|
-
let newNetworkStatus;
|
|
732
|
-
|
|
733
|
-
newNetworkStatus = newOptions[newNetworkStatusSymbol];
|
|
734
|
-
// Avoid setting the symbol option in this.options
|
|
735
|
-
delete newOptions[newNetworkStatusSymbol];
|
|
736
|
-
}
|
|
840
|
+
let { newNetworkStatus } = internalOptions || {};
|
|
841
|
+
this.queryManager.obsQueries.add(this);
|
|
737
842
|
const useDisposableObservable =
|
|
738
843
|
// Refetching uses a disposable Observable to allow refetches using different
|
|
739
|
-
// options
|
|
844
|
+
// options, without permanently altering the options of the
|
|
740
845
|
// original ObservableQuery.
|
|
741
846
|
newNetworkStatus === networkStatus_js_1.NetworkStatus.refetch ||
|
|
742
|
-
// The fetchMore method does not actually call the reobserve method, but,
|
|
743
|
-
// if it did, it would definitely use a disposable Observable.
|
|
744
|
-
newNetworkStatus === networkStatus_js_1.NetworkStatus.fetchMore ||
|
|
745
847
|
// Polling uses a disposable Observable so the polling options (which force
|
|
746
848
|
// fetchPolicy to be "network-only" or "no-cache") won't override the original options.
|
|
747
849
|
newNetworkStatus === networkStatus_js_1.NetworkStatus.poll;
|
|
748
850
|
// Save the old variables, since Object.assign may modify them below.
|
|
749
|
-
const oldVariables = this.
|
|
851
|
+
const oldVariables = this.variables;
|
|
750
852
|
const oldFetchPolicy = this.options.fetchPolicy;
|
|
751
|
-
const mergedOptions = (0,
|
|
853
|
+
const mergedOptions = (0, internal_1.compact)(this.options, newOptions || {});
|
|
752
854
|
const options = useDisposableObservable ?
|
|
753
855
|
// Disposable Observable fetches receive a shallow copy of this.options
|
|
754
856
|
// (merged with newOptions), leaving this.options unmodified.
|
|
@@ -759,8 +861,17 @@ class ObservableQuery {
|
|
|
759
861
|
// We want to ensure we can re-run the custom document transforms the next
|
|
760
862
|
// time a request is made against the original query.
|
|
761
863
|
const query = this.transformDocument(options.query);
|
|
762
|
-
const { fetchPolicy } = options;
|
|
763
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
|
+
}
|
|
764
875
|
if (!useDisposableObservable) {
|
|
765
876
|
// We can skip calling updatePolling if we're not changing this.options.
|
|
766
877
|
this.updatePolling();
|
|
@@ -770,13 +881,14 @@ class ObservableQuery {
|
|
|
770
881
|
newOptions.variables &&
|
|
771
882
|
!(0, equality_1.equal)(newOptions.variables, oldVariables) &&
|
|
772
883
|
// Don't mess with the fetchPolicy if it's currently "standby".
|
|
773
|
-
fetchPolicy !== "standby" &&
|
|
884
|
+
options.fetchPolicy !== "standby" &&
|
|
774
885
|
// If we're changing the fetchPolicy anyway, don't try to change it here
|
|
775
886
|
// using applyNextFetchPolicy. The explicit options.fetchPolicy wins.
|
|
776
|
-
(fetchPolicy === oldFetchPolicy ||
|
|
887
|
+
(options.fetchPolicy === oldFetchPolicy ||
|
|
777
888
|
// A `nextFetchPolicy` function has even higher priority, though,
|
|
778
889
|
// so in that case `applyNextFetchPolicy` must be called.
|
|
779
890
|
typeof options.nextFetchPolicy === "function")) {
|
|
891
|
+
// This might mutate options.fetchPolicy
|
|
780
892
|
this.applyNextFetchPolicy("variables-changed", options);
|
|
781
893
|
if (newNetworkStatus === void 0) {
|
|
782
894
|
newNetworkStatus = networkStatus_js_1.NetworkStatus.setVariables;
|
|
@@ -793,187 +905,334 @@ class ObservableQuery {
|
|
|
793
905
|
}
|
|
794
906
|
// QueryManager does not emit any values for standby fetch policies so we
|
|
795
907
|
// want ensure that the networkStatus remains ready.
|
|
796
|
-
if (fetchPolicy === "standby") {
|
|
908
|
+
if (options.fetchPolicy === "standby") {
|
|
797
909
|
newNetworkStatus = networkStatus_js_1.NetworkStatus.ready;
|
|
798
910
|
}
|
|
799
911
|
}
|
|
800
|
-
if (fetchPolicy === "standby") {
|
|
912
|
+
if (options.fetchPolicy === "standby") {
|
|
801
913
|
this.cancelPolling();
|
|
802
914
|
}
|
|
803
|
-
this.
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
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;
|
|
808
923
|
}
|
|
809
|
-
}
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
finishWaitingForOwnResult();
|
|
819
|
-
this.reportResult(result, variables);
|
|
820
|
-
}
|
|
821
|
-
},
|
|
822
|
-
error: (error) => {
|
|
823
|
-
if ((0, equality_1.equal)(this.variables, variables)) {
|
|
824
|
-
finishWaitingForOwnResult();
|
|
825
|
-
this.reportError(error, variables);
|
|
826
|
-
}
|
|
827
|
-
},
|
|
828
|
-
};
|
|
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);
|
|
829
933
|
if (!useDisposableObservable && (fromLink || !this.linkSubscription)) {
|
|
830
934
|
if (this.linkSubscription) {
|
|
831
935
|
this.linkSubscription.unsubscribe();
|
|
832
936
|
}
|
|
833
|
-
this.
|
|
834
|
-
this.linkSubscription = observable.subscribe(observer);
|
|
937
|
+
this.linkSubscription = subscription;
|
|
835
938
|
}
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
this.reportResult(
|
|
855
|
-
// Passing false is important so that this.getCurrentResult doesn't
|
|
856
|
-
// save the fetchMore result as this.lastResult, causing it to be
|
|
857
|
-
// ignored due to the this.isDifferentFromLastResult check in
|
|
858
|
-
// this.reportResult.
|
|
859
|
-
this.getCurrentFullResult(false), this.variables);
|
|
860
|
-
}
|
|
861
|
-
reportResult(result, variables) {
|
|
862
|
-
const lastError = this.getLastError();
|
|
863
|
-
const isDifferent = this.isDifferentFromLastResult(result, variables);
|
|
864
|
-
// Update the last result even when isDifferentFromLastResult returns false,
|
|
865
|
-
// because the query may be using the @nonreactive directive, and we want to
|
|
866
|
-
// save the the latest version of any nonreactive subtrees (in case
|
|
867
|
-
// getCurrentResult is called), even though we skip broadcasting changes.
|
|
868
|
-
this.updateLastResult(result, variables);
|
|
869
|
-
this.networkStatus = result.networkStatus;
|
|
870
|
-
if (lastError || isDifferent) {
|
|
871
|
-
this.subject.next(this.maskResult(result));
|
|
872
|
-
}
|
|
873
|
-
}
|
|
874
|
-
reportError(error, variables) {
|
|
875
|
-
// Since we don't get the current result on errors, only the error, we
|
|
876
|
-
// must mirror the updates that occur in QueryStore.markQueryError here
|
|
877
|
-
const errorResult = {
|
|
878
|
-
data: undefined,
|
|
879
|
-
partial: true,
|
|
880
|
-
...this.getLastResult(),
|
|
881
|
-
error,
|
|
882
|
-
networkStatus: networkStatus_js_1.NetworkStatus.error,
|
|
883
|
-
loading: false,
|
|
884
|
-
};
|
|
885
|
-
this.updateLastResult(errorResult, variables);
|
|
886
|
-
this.networkStatus = networkStatus_js_1.NetworkStatus.error;
|
|
887
|
-
this.last.error = error;
|
|
888
|
-
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;
|
|
889
957
|
}
|
|
890
958
|
hasObservers() {
|
|
891
959
|
return this.subject.observed;
|
|
892
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
|
+
}
|
|
893
969
|
tearDownQuery() {
|
|
894
970
|
if (this.isTornDown)
|
|
895
971
|
return;
|
|
896
|
-
|
|
972
|
+
this.resetNotifications();
|
|
973
|
+
this.unsubscribeFromCache?.();
|
|
974
|
+
if (this.linkSubscription) {
|
|
897
975
|
this.linkSubscription.unsubscribe();
|
|
898
|
-
delete this.linkObservable;
|
|
899
976
|
delete this.linkSubscription;
|
|
900
977
|
}
|
|
901
978
|
this.stopPolling();
|
|
902
979
|
// stop all active GraphQL subscriptions
|
|
903
980
|
this.subscriptions.forEach((sub) => sub.unsubscribe());
|
|
904
981
|
this.subscriptions.clear();
|
|
905
|
-
this.queryManager.
|
|
982
|
+
this.queryManager.obsQueries.delete(this);
|
|
906
983
|
this.isTornDown = true;
|
|
984
|
+
this.abortActiveOperations();
|
|
985
|
+
this._lastWrite = undefined;
|
|
907
986
|
}
|
|
908
987
|
transformDocument(document) {
|
|
909
988
|
return this.queryManager.transform(document);
|
|
910
989
|
}
|
|
911
990
|
maskResult(result) {
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
}),
|
|
921
|
-
}
|
|
922
|
-
: 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 };
|
|
923
999
|
}
|
|
924
1000
|
dirty = false;
|
|
925
1001
|
notifyTimeout;
|
|
926
|
-
/**
|
|
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
|
+
*/
|
|
927
1007
|
resetNotifications() {
|
|
928
|
-
this.cancelNotifyTimeout();
|
|
929
|
-
this.dirty = false;
|
|
930
|
-
}
|
|
931
|
-
cancelNotifyTimeout() {
|
|
932
1008
|
if (this.notifyTimeout) {
|
|
933
1009
|
clearTimeout(this.notifyTimeout);
|
|
934
1010
|
this.notifyTimeout = void 0;
|
|
935
1011
|
}
|
|
1012
|
+
this.dirty = false;
|
|
936
1013
|
}
|
|
937
|
-
/**
|
|
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
|
+
*/
|
|
938
1019
|
scheduleNotify() {
|
|
939
1020
|
if (this.dirty)
|
|
940
1021
|
return;
|
|
941
1022
|
this.dirty = true;
|
|
942
1023
|
if (!this.notifyTimeout) {
|
|
943
|
-
this.notifyTimeout = setTimeout(() => this.notify(), 0);
|
|
1024
|
+
this.notifyTimeout = setTimeout(() => this.notify(true), 0);
|
|
944
1025
|
}
|
|
945
1026
|
}
|
|
946
|
-
/**
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
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" ||
|
|
951
1047
|
this.options.fetchPolicy == "cache-and-network" ||
|
|
952
|
-
!
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
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
|
+
});
|
|
973
1088
|
}
|
|
974
1089
|
}
|
|
975
|
-
this.dirty = false;
|
|
976
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
|
+
});
|
|
977
1236
|
// Reobserve with fetchPolicy effectively set to "cache-first", triggering
|
|
978
1237
|
// delivery of any new data from the cache, possibly falling back to the network
|
|
979
1238
|
// if any cache data are missing. This allows _complete_ cache results to be
|
|
@@ -984,7 +1243,7 @@ class ObservableQuery {
|
|
|
984
1243
|
reobserveCacheFirst() {
|
|
985
1244
|
const { fetchPolicy, nextFetchPolicy } = this.options;
|
|
986
1245
|
if (fetchPolicy === "cache-and-network" || fetchPolicy === "network-only") {
|
|
987
|
-
|
|
1246
|
+
this.reobserve({
|
|
988
1247
|
fetchPolicy: "cache-first",
|
|
989
1248
|
// Use a temporary nextFetchPolicy function that replaces itself with the
|
|
990
1249
|
// previous nextFetchPolicy value and returns the original fetchPolicy.
|
|
@@ -1002,18 +1261,59 @@ class ObservableQuery {
|
|
|
1002
1261
|
},
|
|
1003
1262
|
});
|
|
1004
1263
|
}
|
|
1005
|
-
|
|
1264
|
+
else {
|
|
1265
|
+
this.reobserve();
|
|
1266
|
+
}
|
|
1267
|
+
}
|
|
1268
|
+
getVariablesWithDefaults(variables) {
|
|
1269
|
+
return this.queryManager.getVariables(this.query, variables);
|
|
1006
1270
|
}
|
|
1007
1271
|
}
|
|
1008
1272
|
exports.ObservableQuery = ObservableQuery;
|
|
1009
1273
|
function logMissingFieldErrors(missing) {
|
|
1010
1274
|
if (environment_1.__DEV__ && missing) {
|
|
1011
|
-
__DEV__ && invariant_1.invariant.debug(
|
|
1275
|
+
__DEV__ && invariant_1.invariant.debug(84, missing);
|
|
1012
1276
|
}
|
|
1013
1277
|
}
|
|
1014
|
-
function
|
|
1015
|
-
return (
|
|
1016
|
-
|
|
1017
|
-
|
|
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 };
|
|
1018
1318
|
}
|
|
1019
1319
|
//# sourceMappingURL=ObservableQuery.cjs.map
|