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