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