@apollo/client 4.3.0-alpha.1 → 4.3.0-alpha.10
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 +484 -0
- package/README.md +3 -7
- package/__cjs/cache/core/Scalar.cjs +36 -0
- package/__cjs/cache/core/Scalar.cjs.map +1 -0
- package/__cjs/cache/core/Scalar.d.cts +20 -0
- package/__cjs/cache/core/cache.cjs +32 -1
- package/__cjs/cache/core/cache.cjs.map +1 -1
- package/__cjs/cache/core/cache.d.cts +89 -6
- package/__cjs/cache/core/types/Cache.d.cts +25 -0
- package/__cjs/cache/index.cjs +3 -1
- package/__cjs/cache/index.cjs.map +1 -1
- package/__cjs/cache/index.d.cts +3 -2
- package/__cjs/cache/inmemory/entityStore.cjs +48 -5
- package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
- package/__cjs/cache/inmemory/entityStore.d.cts +3 -0
- package/__cjs/cache/inmemory/helpers.d.cts +9 -1
- package/__cjs/cache/inmemory/inMemoryCache.cjs +83 -4
- package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
- package/__cjs/cache/inmemory/inMemoryCache.d.cts +44 -5
- package/__cjs/cache/inmemory/key-extractor.cjs +1 -1
- package/__cjs/cache/inmemory/policies.cjs +35 -6
- package/__cjs/cache/inmemory/policies.cjs.map +1 -1
- package/__cjs/cache/inmemory/policies.d.cts +4 -1
- package/__cjs/cache/inmemory/readFromStore.cjs +490 -49
- package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
- package/__cjs/cache/inmemory/readFromStore.d.cts +11 -2
- package/__cjs/cache/inmemory/types.d.cts +29 -4
- package/__cjs/cache/inmemory/writeToStore.cjs +6 -6
- package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
- package/__cjs/core/ApolloClient.cjs +37 -38
- package/__cjs/core/ApolloClient.cjs.map +1 -1
- package/__cjs/core/ApolloClient.d.cts +44 -10
- package/__cjs/core/ObservableQuery.cjs +228 -76
- package/__cjs/core/ObservableQuery.cjs.map +1 -1
- package/__cjs/core/ObservableQuery.d.cts +16 -8
- package/__cjs/core/QueryInfo.cjs +178 -190
- package/__cjs/core/QueryInfo.cjs.map +1 -1
- package/__cjs/core/QueryInfo.d.cts +16 -21
- package/__cjs/core/QueryManager.cjs +88 -59
- package/__cjs/core/QueryManager.cjs.map +1 -1
- package/__cjs/core/QueryManager.d.cts +1 -3
- package/__cjs/core/RefetchEventManager.cjs +3 -3
- package/__cjs/core/dataStateErrorCache.cjs +12 -0
- package/__cjs/core/dataStateErrorCache.cjs.map +1 -0
- package/__cjs/core/dataStateErrorCache.d.cts +3 -0
- package/__cjs/core/index.cjs +2 -1
- package/__cjs/core/index.cjs.map +1 -1
- package/__cjs/core/index.d.cts +4 -3
- package/__cjs/core/types.d.cts +11 -4
- package/__cjs/incremental/GraphQLCodegenIncremental.cjs +3 -0
- package/__cjs/incremental/GraphQLCodegenIncremental.cjs.map +1 -0
- package/__cjs/incremental/GraphQLCodegenIncremental.d.cts +55 -0
- package/__cjs/incremental/handlers/defer20220824.cjs.map +1 -1
- package/__cjs/incremental/handlers/defer20220824.d.cts +2 -4
- package/__cjs/incremental/handlers/graphql17Alpha9.cjs +47 -16
- package/__cjs/incremental/handlers/graphql17Alpha9.cjs.map +1 -1
- package/__cjs/incremental/handlers/graphql17Alpha9.d.cts +29 -6
- package/__cjs/incremental/handlers/notImplemented.cjs +1 -1
- package/__cjs/incremental/index.cjs.map +1 -1
- package/__cjs/incremental/index.d.cts +1 -0
- package/__cjs/incremental/internal/types.cjs +3 -0
- package/__cjs/incremental/internal/types.cjs.map +1 -0
- package/__cjs/incremental/internal/types.d.cts +17 -0
- package/__cjs/incremental/types.d.cts +55 -4
- package/__cjs/invariantErrorCodes.cjs +167 -112
- package/__cjs/link/core/ApolloLink.cjs +3 -3
- package/__cjs/link/http/checkFetcher.cjs +1 -1
- package/__cjs/link/http/parseAndCheckHttpResponse.cjs +2 -2
- package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
- package/__cjs/link/persisted-queries/index.cjs +2 -2
- package/__cjs/link/ws/index.cjs +1 -1
- package/__cjs/local-state/LocalState.cjs +11 -11
- package/__cjs/masking/internal/types.d.cts +1 -2
- package/__cjs/masking/maskDefinition.cjs +2 -2
- package/__cjs/masking/maskFragment.cjs +2 -2
- package/__cjs/masking/maskOperation.cjs +1 -1
- package/__cjs/masking/utils.cjs +3 -3
- package/__cjs/react/context/ApolloContext.cjs +1 -1
- package/__cjs/react/context/ApolloProvider.cjs +1 -1
- package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs +2 -2
- package/__cjs/react/hooks/useApolloClient.cjs +1 -1
- package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useBackgroundQuery.d.cts +100 -47
- package/__cjs/react/hooks/useLazyQuery.cjs +2 -2
- package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useLazyQuery.d.cts +39 -33
- package/__cjs/react/hooks/useLoadableQuery.cjs +2 -2
- package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useLoadableQuery.d.cts +23 -15
- package/__cjs/react/hooks/useMutation.cjs.map +1 -1
- package/__cjs/react/hooks/useMutation.d.cts +10 -7
- package/__cjs/react/hooks/useQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useQuery.d.cts +74 -32
- package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
- package/__cjs/react/hooks/useSubscription.cjs +1 -1
- package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useSuspenseQuery.d.cts +83 -34
- package/__cjs/react/hooks/useSyncExternalStore.cjs +1 -1
- package/__cjs/react/internal/cache/QueryReference.cjs +1 -1
- package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
- package/__cjs/react/internal/types.d.cts +14 -3
- package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
- package/__cjs/react/query-preloader/createQueryPreloader.d.cts +20 -5
- package/__cjs/react/ssr/prerenderStatic.cjs +2 -2
- package/__cjs/testing/core/mocking/mockLink.cjs +25 -5
- package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
- package/__cjs/testing/core/mocking/mockLink.d.cts +1 -2
- package/__cjs/utilities/caching/sizes.cjs.map +1 -1
- package/__cjs/utilities/caching/sizes.d.cts +39 -1
- package/__cjs/utilities/graphql/DocumentTransform.cjs +1 -1
- package/__cjs/utilities/index.cjs.map +1 -1
- package/__cjs/utilities/index.d.cts +1 -0
- package/__cjs/utilities/internal/StreamArrayState.cjs +27 -0
- package/__cjs/utilities/internal/StreamArrayState.cjs.map +1 -0
- package/__cjs/utilities/internal/StreamArrayState.d.cts +12 -0
- package/__cjs/utilities/internal/addDeferFragmentLabels.cjs +33 -0
- package/__cjs/utilities/internal/addDeferFragmentLabels.cjs.map +1 -0
- package/__cjs/utilities/internal/addDeferFragmentLabels.d.cts +3 -0
- package/__cjs/utilities/internal/capitalize.cjs +12 -0
- package/__cjs/utilities/internal/capitalize.cjs.map +1 -0
- package/__cjs/utilities/internal/capitalize.d.cts +7 -0
- package/__cjs/utilities/internal/coerceScalarFieldsToParsed.cjs +69 -0
- package/__cjs/utilities/internal/coerceScalarFieldsToParsed.cjs.map +1 -0
- package/__cjs/utilities/internal/coerceScalarFieldsToParsed.d.cts +9 -0
- package/__cjs/utilities/internal/constants.cjs +20 -1
- package/__cjs/utilities/internal/constants.cjs.map +1 -1
- package/__cjs/utilities/internal/constants.d.cts +19 -0
- package/__cjs/utilities/internal/getDirectiveArgValue.cjs +19 -0
- package/__cjs/utilities/internal/getDirectiveArgValue.cjs.map +1 -0
- package/__cjs/utilities/internal/getDirectiveArgValue.d.cts +9 -0
- package/__cjs/utilities/internal/getFragmentDefinition.cjs +3 -3
- package/__cjs/utilities/internal/getFragmentFromSelection.cjs +2 -2
- package/__cjs/utilities/internal/getFragmentFromSelection.cjs.map +1 -1
- package/__cjs/utilities/internal/getFragmentQueryDocument.cjs +2 -2
- package/__cjs/utilities/internal/getMainDefinition.cjs +1 -1
- package/__cjs/utilities/internal/getMemoryInternals.cjs +6 -0
- package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
- package/__cjs/utilities/internal/getMemoryInternals.d.cts +4 -0
- package/__cjs/utilities/internal/getQueryDefinition.cjs +1 -1
- package/__cjs/utilities/internal/getUnwrappedType.cjs +20 -0
- package/__cjs/utilities/internal/getUnwrappedType.cjs.map +1 -0
- package/__cjs/utilities/internal/getUnwrappedType.d.cts +8 -0
- package/__cjs/utilities/internal/index.cjs +25 -2
- package/__cjs/utilities/internal/index.cjs.map +1 -1
- package/__cjs/utilities/internal/index.d.cts +16 -1
- package/__cjs/utilities/internal/isDeferredFragment.cjs +38 -0
- package/__cjs/utilities/internal/isDeferredFragment.cjs.map +1 -0
- package/__cjs/utilities/internal/isDeferredFragment.d.cts +9 -0
- package/__cjs/utilities/internal/isStreamField.cjs +37 -0
- package/__cjs/utilities/internal/isStreamField.cjs.map +1 -0
- package/__cjs/utilities/internal/isStreamField.d.cts +9 -0
- package/__cjs/utilities/internal/isTypenameField.cjs +7 -0
- package/__cjs/utilities/internal/isTypenameField.cjs.map +1 -0
- package/__cjs/utilities/internal/isTypenameField.d.cts +3 -0
- package/__cjs/utilities/internal/makeStreamInfoTrie.cjs +17 -0
- package/__cjs/utilities/internal/makeStreamInfoTrie.cjs.map +1 -0
- package/__cjs/utilities/internal/makeStreamInfoTrie.d.cts +8 -0
- package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs +1 -1
- package/__cjs/utilities/internal/shouldInclude.cjs +4 -4
- package/__cjs/utilities/internal/toDiffWithDataState.cjs +20 -0
- package/__cjs/utilities/internal/toDiffWithDataState.cjs.map +1 -0
- package/__cjs/utilities/internal/toDiffWithDataState.d.cts +8 -0
- package/__cjs/utilities/internal/types/DeferInfo.cjs +3 -0
- package/__cjs/utilities/internal/types/DeferInfo.cjs.map +1 -0
- package/__cjs/utilities/internal/types/DeferInfo.d.cts +10 -0
- package/__cjs/utilities/internal/types/Exact.cjs +3 -0
- package/__cjs/utilities/internal/types/Exact.cjs.map +1 -0
- package/__cjs/utilities/internal/types/Exact.d.cts +2 -0
- package/__cjs/utilities/internal/types/IsLooselyEqual.cjs +3 -0
- package/__cjs/utilities/internal/types/IsLooselyEqual.cjs.map +1 -0
- package/__cjs/utilities/internal/types/IsLooselyEqual.d.cts +10 -0
- package/__cjs/utilities/internal/types/IsNeverish.cjs +3 -0
- package/__cjs/utilities/internal/types/IsNeverish.cjs.map +1 -0
- package/__cjs/utilities/internal/types/IsNeverish.d.cts +4 -0
- package/__cjs/utilities/internal/types/StreamInfoTrie.d.cts +2 -0
- package/__cjs/utilities/internal/valueToObjectRepresentation.cjs +1 -1
- package/__cjs/utilities/policies/pagination.cjs.map +1 -1
- package/__cjs/utilities/policies/pagination.d.cts +1 -1
- package/__cjs/utilities/subscriptions/relay/index.cjs +1 -0
- package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
- package/__cjs/version.cjs +1 -1
- package/__cjs/version.cjs.map +1 -1
- package/cache/core/Scalar.d.ts +20 -0
- package/cache/core/Scalar.js +32 -0
- package/cache/core/Scalar.js.map +1 -0
- package/cache/core/cache.d.ts +89 -6
- package/cache/core/cache.js +33 -2
- package/cache/core/cache.js.map +1 -1
- package/cache/core/types/Cache.d.ts +25 -0
- package/cache/core/types/Cache.js.map +1 -1
- package/cache/index.d.ts +3 -2
- package/cache/index.js +1 -0
- package/cache/index.js.map +1 -1
- package/cache/inmemory/entityStore.d.ts +3 -0
- package/cache/inmemory/entityStore.js +49 -6
- package/cache/inmemory/entityStore.js.map +1 -1
- package/cache/inmemory/helpers.d.ts +9 -1
- package/cache/inmemory/inMemoryCache.d.ts +44 -5
- package/cache/inmemory/inMemoryCache.js +84 -5
- package/cache/inmemory/inMemoryCache.js.map +1 -1
- package/cache/inmemory/key-extractor.js +1 -1
- package/cache/inmemory/policies.d.ts +4 -1
- package/cache/inmemory/policies.js +35 -6
- package/cache/inmemory/policies.js.map +1 -1
- package/cache/inmemory/readFromStore.d.ts +11 -2
- package/cache/inmemory/readFromStore.js +486 -49
- package/cache/inmemory/readFromStore.js.map +1 -1
- package/cache/inmemory/types.d.ts +30 -5
- package/cache/inmemory/types.js.map +1 -1
- package/cache/inmemory/writeToStore.js +7 -7
- package/cache/inmemory/writeToStore.js.map +1 -1
- package/core/ApolloClient.d.ts +44 -10
- package/core/ApolloClient.js +37 -38
- package/core/ApolloClient.js.map +1 -1
- package/core/ObservableQuery.d.ts +16 -8
- package/core/ObservableQuery.js +225 -77
- package/core/ObservableQuery.js.map +1 -1
- package/core/QueryInfo.d.ts +17 -22
- package/core/QueryInfo.js +174 -190
- package/core/QueryInfo.js.map +1 -1
- package/core/QueryManager.d.ts +1 -3
- package/core/QueryManager.js +89 -60
- package/core/QueryManager.js.map +1 -1
- package/core/RefetchEventManager.js +3 -3
- package/core/dataStateErrorCache.d.ts +3 -0
- package/core/dataStateErrorCache.js +9 -0
- package/core/dataStateErrorCache.js.map +1 -0
- package/core/index.d.ts +4 -3
- package/core/index.js +1 -1
- package/core/index.js.map +1 -1
- package/core/types.d.ts +11 -4
- package/core/types.js.map +1 -1
- package/incremental/GraphQLCodegenIncremental.d.ts +55 -0
- package/incremental/GraphQLCodegenIncremental.js +2 -0
- package/incremental/GraphQLCodegenIncremental.js.map +1 -0
- package/incremental/handlers/defer20220824.d.ts +2 -4
- package/incremental/handlers/defer20220824.js.map +1 -1
- package/incremental/handlers/graphql17Alpha9.d.ts +29 -6
- package/incremental/handlers/graphql17Alpha9.js +48 -17
- package/incremental/handlers/graphql17Alpha9.js.map +1 -1
- package/incremental/handlers/notImplemented.js +1 -1
- package/incremental/index.d.ts +1 -0
- package/incremental/index.js.map +1 -1
- package/incremental/internal/types.d.ts +17 -0
- package/incremental/internal/types.js +2 -0
- package/incremental/internal/types.js.map +1 -0
- package/incremental/types.d.ts +55 -4
- package/incremental/types.js.map +1 -1
- package/invariantErrorCodes.js +167 -112
- package/link/core/ApolloLink.js +3 -3
- package/link/http/checkFetcher.js +1 -1
- package/link/http/parseAndCheckHttpResponse.js +2 -2
- package/link/http/parseAndCheckHttpResponse.js.map +1 -1
- package/link/persisted-queries/index.js +2 -2
- package/link/ws/index.js +1 -1
- package/local-state/LocalState.js +11 -11
- package/masking/internal/types.d.ts +1 -2
- package/masking/internal/types.js.map +1 -1
- package/masking/maskDefinition.js +2 -2
- package/masking/maskFragment.js +2 -2
- package/masking/maskOperation.js +1 -1
- package/masking/utils.js +3 -3
- package/package.json +1 -1
- package/react/context/ApolloContext.js +1 -1
- package/react/context/ApolloProvider.js +1 -1
- package/react/hooks/internal/validateSuspenseHookOptions.js +2 -2
- package/react/hooks/useApolloClient.js +1 -1
- package/react/hooks/useBackgroundQuery.d.ts +100 -47
- package/react/hooks/useBackgroundQuery.js.map +1 -1
- package/react/hooks/useLazyQuery.d.ts +39 -33
- package/react/hooks/useLazyQuery.js +2 -2
- package/react/hooks/useLazyQuery.js.map +1 -1
- package/react/hooks/useLoadableQuery.d.ts +23 -15
- package/react/hooks/useLoadableQuery.js +2 -2
- package/react/hooks/useLoadableQuery.js.map +1 -1
- package/react/hooks/useMutation.d.ts +10 -7
- package/react/hooks/useMutation.js.map +1 -1
- package/react/hooks/useQuery.d.ts +74 -32
- package/react/hooks/useQuery.js.map +1 -1
- package/react/hooks/useQueryRefHandlers.js.map +1 -1
- package/react/hooks/useSubscription.js +1 -1
- package/react/hooks/useSuspenseQuery.d.ts +83 -34
- package/react/hooks/useSuspenseQuery.js.map +1 -1
- package/react/hooks/useSyncExternalStore.js +1 -1
- package/react/hooks-compiled/internal/validateSuspenseHookOptions.js +2 -2
- package/react/hooks-compiled/useApolloClient.js +1 -1
- package/react/hooks-compiled/useBackgroundQuery.d.ts +100 -47
- package/react/hooks-compiled/useBackgroundQuery.js.map +1 -1
- package/react/hooks-compiled/useLazyQuery.d.ts +39 -33
- package/react/hooks-compiled/useLazyQuery.js +2 -2
- package/react/hooks-compiled/useLazyQuery.js.map +1 -1
- package/react/hooks-compiled/useLoadableQuery.d.ts +23 -15
- package/react/hooks-compiled/useLoadableQuery.js +2 -2
- package/react/hooks-compiled/useLoadableQuery.js.map +1 -1
- package/react/hooks-compiled/useMutation.d.ts +10 -7
- package/react/hooks-compiled/useMutation.js.map +1 -1
- package/react/hooks-compiled/useQuery.d.ts +74 -32
- package/react/hooks-compiled/useQuery.js.map +1 -1
- package/react/hooks-compiled/useQueryRefHandlers.js.map +1 -1
- package/react/hooks-compiled/useSubscription.js +1 -1
- package/react/hooks-compiled/useSuspenseQuery.d.ts +83 -34
- package/react/hooks-compiled/useSuspenseQuery.js.map +1 -1
- package/react/hooks-compiled/useSyncExternalStore.js +1 -1
- package/react/internal/cache/QueryReference.js +1 -1
- package/react/internal/cache/QueryReference.js.map +1 -1
- package/react/internal/types.d.ts +15 -4
- package/react/internal/types.js.map +1 -1
- package/react/query-preloader/createQueryPreloader.d.ts +20 -5
- package/react/query-preloader/createQueryPreloader.js.map +1 -1
- package/react/ssr/prerenderStatic.js +2 -2
- package/testing/core/mocking/mockLink.d.ts +1 -2
- package/testing/core/mocking/mockLink.js +25 -5
- package/testing/core/mocking/mockLink.js.map +1 -1
- package/utilities/caching/sizes.d.ts +39 -1
- package/utilities/caching/sizes.js.map +1 -1
- package/utilities/graphql/DocumentTransform.js +1 -1
- package/utilities/index.d.ts +1 -0
- package/utilities/index.js.map +1 -1
- package/utilities/internal/StreamArrayState.d.ts +12 -0
- package/utilities/internal/StreamArrayState.js +23 -0
- package/utilities/internal/StreamArrayState.js.map +1 -0
- package/utilities/internal/addDeferFragmentLabels.d.ts +3 -0
- package/utilities/internal/addDeferFragmentLabels.js +30 -0
- package/utilities/internal/addDeferFragmentLabels.js.map +1 -0
- package/utilities/internal/capitalize.d.ts +7 -0
- package/utilities/internal/capitalize.js +9 -0
- package/utilities/internal/capitalize.js.map +1 -0
- package/utilities/internal/coerceScalarFieldsToParsed.d.ts +9 -0
- package/utilities/internal/coerceScalarFieldsToParsed.js +66 -0
- package/utilities/internal/coerceScalarFieldsToParsed.js.map +1 -0
- package/utilities/internal/constants.d.ts +19 -0
- package/utilities/internal/constants.js +19 -0
- package/utilities/internal/constants.js.map +1 -1
- package/utilities/internal/getDirectiveArgValue.d.ts +9 -0
- package/utilities/internal/getDirectiveArgValue.js +16 -0
- package/utilities/internal/getDirectiveArgValue.js.map +1 -0
- package/utilities/internal/getFragmentDefinition.js +3 -3
- package/utilities/internal/getFragmentFromSelection.js +2 -2
- package/utilities/internal/getFragmentFromSelection.js.map +1 -1
- package/utilities/internal/getFragmentQueryDocument.js +2 -2
- package/utilities/internal/getMainDefinition.js +1 -1
- package/utilities/internal/getMemoryInternals.d.ts +4 -0
- package/utilities/internal/getMemoryInternals.js +6 -0
- package/utilities/internal/getMemoryInternals.js.map +1 -1
- package/utilities/internal/getQueryDefinition.js +1 -1
- package/utilities/internal/getUnwrappedType.d.ts +8 -0
- package/utilities/internal/getUnwrappedType.js +17 -0
- package/utilities/internal/getUnwrappedType.js.map +1 -0
- package/utilities/internal/index.d.ts +16 -1
- package/utilities/internal/index.js +12 -1
- package/utilities/internal/index.js.map +1 -1
- package/utilities/internal/isDeferredFragment.d.ts +9 -0
- package/utilities/internal/isDeferredFragment.js +35 -0
- package/utilities/internal/isDeferredFragment.js.map +1 -0
- package/utilities/internal/isStreamField.d.ts +9 -0
- package/utilities/internal/isStreamField.js +34 -0
- package/utilities/internal/isStreamField.js.map +1 -0
- package/utilities/internal/isTypenameField.d.ts +3 -0
- package/utilities/internal/isTypenameField.js +4 -0
- package/utilities/internal/isTypenameField.js.map +1 -0
- package/utilities/internal/makeStreamInfoTrie.d.ts +8 -0
- package/utilities/internal/makeStreamInfoTrie.js +14 -0
- package/utilities/internal/makeStreamInfoTrie.js.map +1 -0
- package/utilities/internal/removeDirectivesFromDocument.js +1 -1
- package/utilities/internal/shouldInclude.js +4 -4
- package/utilities/internal/toDiffWithDataState.d.ts +8 -0
- package/utilities/internal/toDiffWithDataState.js +17 -0
- package/utilities/internal/toDiffWithDataState.js.map +1 -0
- package/utilities/internal/types/DeferInfo.d.ts +10 -0
- package/utilities/internal/types/DeferInfo.js +2 -0
- package/utilities/internal/types/DeferInfo.js.map +1 -0
- package/utilities/internal/types/Exact.d.ts +2 -0
- package/utilities/internal/types/Exact.js +2 -0
- package/utilities/internal/types/Exact.js.map +1 -0
- package/utilities/internal/types/IsLooselyEqual.d.ts +10 -0
- package/utilities/internal/types/IsLooselyEqual.js +2 -0
- package/utilities/internal/types/IsLooselyEqual.js.map +1 -0
- package/utilities/internal/types/IsNeverish.d.ts +4 -0
- package/utilities/internal/types/IsNeverish.js +2 -0
- package/utilities/internal/types/IsNeverish.js.map +1 -0
- package/utilities/internal/types/StreamInfoTrie.d.ts +2 -0
- package/utilities/internal/types/StreamInfoTrie.js.map +1 -1
- package/utilities/internal/valueToObjectRepresentation.js +1 -1
- package/utilities/policies/pagination.d.ts +1 -1
- package/utilities/policies/pagination.js.map +1 -1
- package/utilities/subscriptions/relay/index.js +1 -0
- package/utilities/subscriptions/relay/index.js.map +1 -1
- package/version.js +1 -1
- package/version.js.map +1 -1
|
@@ -7,7 +7,15 @@ import type { KeyFieldsContext } from "./policies.js";
|
|
|
7
7
|
import type { InMemoryCacheConfig, NormalizedCache } from "./types.js";
|
|
8
8
|
export declare const hasOwn: (v: PropertyKey) => boolean;
|
|
9
9
|
export declare function defaultDataIdFromObject({ __typename, id, _id }: Readonly<StoreObject>, context?: KeyFieldsContext): string | undefined;
|
|
10
|
-
export declare function normalizeConfig(config: InMemoryCacheConfig):
|
|
10
|
+
export declare function normalizeConfig(config: InMemoryCacheConfig): import("./types.js").ApolloReducerConfig & {
|
|
11
|
+
resultCaching?: boolean;
|
|
12
|
+
possibleTypes?: import("./policies.js").PossibleTypesMap;
|
|
13
|
+
typePolicies?: import("./policies.js").TypePolicies;
|
|
14
|
+
fragments?: FragmentRegistryAPI;
|
|
15
|
+
inputObjects?: import("./types.js").InputObjectsOption;
|
|
16
|
+
} & {
|
|
17
|
+
scalars?: import("@apollo/client").InMemoryCache.ScalarsOption;
|
|
18
|
+
};
|
|
11
19
|
export declare function getTypenameFromStoreObject(store: NormalizedCache, objectOrReference: StoreObject | Reference): string | undefined;
|
|
12
20
|
export declare const TypeOrFieldNameRegExp: RegExp;
|
|
13
21
|
export declare function fieldNameFromStoreName(storeFieldName: string): string;
|
|
@@ -1,13 +1,31 @@
|
|
|
1
|
-
import type { DocumentNode, FragmentDefinitionNode, InlineFragmentNode } from "graphql";
|
|
2
|
-
import type { OperationVariables } from "@apollo/client";
|
|
1
|
+
import type { DocumentNode, FragmentDefinitionNode, InlineFragmentNode, OperationTypeNode } from "graphql";
|
|
2
|
+
import type { OperationVariables, TypedDocumentNode } from "@apollo/client";
|
|
3
3
|
import type { DeepPartial, Reference, StoreObject } from "@apollo/client/utilities";
|
|
4
|
+
import type { handleIncrementalSymbol, IsLooselyEqual, NoInfer } from "@apollo/client/utilities/internal";
|
|
4
5
|
import { getInMemoryCacheMemoryInternals } from "@apollo/client/utilities/internal";
|
|
5
6
|
import { ApolloCache } from "../core/cache.js";
|
|
7
|
+
import type { Scalar } from "../core/Scalar.js";
|
|
6
8
|
import type { Cache } from "../core/types/Cache.js";
|
|
7
9
|
import { Policies } from "./policies.js";
|
|
8
10
|
import { makeVar } from "./reactiveVars.js";
|
|
9
|
-
import type { InMemoryCacheConfig, NormalizedCacheObject } from "./types.js";
|
|
11
|
+
import type { DiffIncrementalInfo, InMemoryCacheConfig, KnownScalars, NormalizedCacheObject } from "./types.js";
|
|
10
12
|
type BroadcastOptions = Pick<Cache.BatchOptions<InMemoryCache>, "optimistic" | "onWatchUpdated">;
|
|
13
|
+
export declare namespace InMemoryCache {
|
|
14
|
+
type ScalarsOption = {
|
|
15
|
+
[ScalarName in keyof KnownScalars as IsLooselyEqual<KnownScalars[ScalarName]["serialized"], KnownScalars[ScalarName]["parsed"]> extends true ? ScalarName : never]?: KnownScalars[ScalarName] extends ({
|
|
16
|
+
serialized: infer TSerialized;
|
|
17
|
+
parsed: infer TParsed;
|
|
18
|
+
}) ? Scalar<TSerialized, TParsed> : never;
|
|
19
|
+
} & {
|
|
20
|
+
[ScalarName in keyof KnownScalars as IsLooselyEqual<KnownScalars[ScalarName]["serialized"], KnownScalars[ScalarName]["parsed"]> extends true ? never : ScalarName]: KnownScalars[ScalarName] extends ({
|
|
21
|
+
serialized: infer TSerialized;
|
|
22
|
+
parsed: infer TParsed;
|
|
23
|
+
}) ? Scalar<TSerialized, TParsed> : never;
|
|
24
|
+
} & (ApolloCache.Scalars extends (Record<string, {
|
|
25
|
+
serialized: infer TSerialized;
|
|
26
|
+
parsed: infer TParsed;
|
|
27
|
+
}>) ? Record<string, Scalar<TSerialized, TParsed>> : {});
|
|
28
|
+
}
|
|
11
29
|
export declare class InMemoryCache extends ApolloCache {
|
|
12
30
|
private data;
|
|
13
31
|
private optimisticData;
|
|
@@ -20,9 +38,27 @@ export declare class InMemoryCache extends ApolloCache {
|
|
|
20
38
|
readonly assumeImmutableResults = true;
|
|
21
39
|
readonly policies: Policies;
|
|
22
40
|
readonly makeVar: typeof makeVar;
|
|
23
|
-
constructor(
|
|
41
|
+
constructor(...args: {} extends InMemoryCache.ScalarsOption ? [
|
|
42
|
+
config?: InMemoryCacheConfig
|
|
43
|
+
] : [config: InMemoryCacheConfig]);
|
|
24
44
|
private init;
|
|
25
45
|
private resetResultCache;
|
|
46
|
+
getRootTypename(operation: OperationTypeNode): string;
|
|
47
|
+
getScalar<TKey extends keyof ApolloCache.Scalars>(key: TKey): ApolloCache.GetScalarType<TKey> extends (Scalar<infer TSerialized, infer TParsed>) ? IsLooselyEqual<TSerialized, TParsed> extends true ? ApolloCache.GetScalarType<TKey> | undefined : ApolloCache.GetScalarType<TKey> : never;
|
|
48
|
+
/** Get a scalar instance for a field in a type */
|
|
49
|
+
getScalarForField<TSerialized = unknown, TParsed = unknown>(typename: string, fieldName: string): Scalar<TSerialized, TParsed> | undefined;
|
|
50
|
+
configuresScalars(): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Serializes scalar values in the variables object
|
|
53
|
+
*/
|
|
54
|
+
serializeVariables<TVariables extends OperationVariables = OperationVariables>(document: DocumentNode | TypedDocumentNode<any, TVariables>, variables: NoInfer<TVariables>): TVariables;
|
|
55
|
+
/**
|
|
56
|
+
* Serializes scalar values in the variables object
|
|
57
|
+
*/
|
|
58
|
+
serializeVariables<TVariables extends OperationVariables = OperationVariables>(document: DocumentNode | TypedDocumentNode<any, TVariables>, variables: NoInfer<TVariables> | undefined): TVariables | undefined;
|
|
59
|
+
private serializeVariablesValue;
|
|
60
|
+
private serializeInputArray;
|
|
61
|
+
private serializeInputObject;
|
|
26
62
|
restore(data: NormalizedCacheObject): this;
|
|
27
63
|
extract(optimistic?: boolean): NormalizedCacheObject;
|
|
28
64
|
read<TData = unknown>(options: Cache.ReadOptions<TData, OperationVariables> & {
|
|
@@ -31,7 +67,10 @@ export declare class InMemoryCache extends ApolloCache {
|
|
|
31
67
|
read<TData = unknown>(options: Cache.ReadOptions<TData, OperationVariables>): TData | null;
|
|
32
68
|
write<TData = unknown, TVariables extends OperationVariables = OperationVariables>(options: Cache.WriteOptions<TData, TVariables>): Reference | undefined;
|
|
33
69
|
modify<Entity extends Record<string, any> = Record<string, any>>(options: Cache.ModifyOptions<Entity>): boolean;
|
|
34
|
-
diff<TData = unknown, TVariables extends OperationVariables = OperationVariables>(
|
|
70
|
+
diff<TData = unknown, TVariables extends OperationVariables = OperationVariables>(query: Cache.DiffOptions<TData, TVariables> & {
|
|
71
|
+
[handleIncrementalSymbol]: DiffIncrementalInfo | undefined;
|
|
72
|
+
}): Cache.InternalDiffResultWithDataState<TData>;
|
|
73
|
+
diff<TData = unknown, TVariables extends OperationVariables = OperationVariables>(query: Cache.DiffOptions<TData, TVariables>): Cache.DiffResult<TData>;
|
|
35
74
|
watch<TData = unknown, TVariables extends OperationVariables = OperationVariables>(watch: Cache.WatchOptions<TData, TVariables>): () => void;
|
|
36
75
|
gc(options?: {
|
|
37
76
|
resetResultCache?: boolean;
|
|
@@ -2,7 +2,7 @@ import { equal } from "@wry/equality";
|
|
|
2
2
|
import { wrap } from "optimism";
|
|
3
3
|
import { addTypenameToDocument, cacheSizes, canonicalStringify, DocumentTransform, isReference, print, } from "@apollo/client/utilities";
|
|
4
4
|
import { __DEV__ } from "@apollo/client/utilities/environment";
|
|
5
|
-
import { getInMemoryCacheMemoryInternals } from "@apollo/client/utilities/internal";
|
|
5
|
+
import { getInMemoryCacheMemoryInternals, getOperationDefinition, getUnwrappedType, isPlainObject, } from "@apollo/client/utilities/internal";
|
|
6
6
|
import { invariant } from "@apollo/client/utilities/invariant";
|
|
7
7
|
import { ApolloCache } from "../core/cache.js";
|
|
8
8
|
import { EntityStore, supportsResultCaching } from "./entityStore.js";
|
|
@@ -28,9 +28,9 @@ export class InMemoryCache extends ApolloCache {
|
|
|
28
28
|
// cache.policies.addPossibletypes.
|
|
29
29
|
policies;
|
|
30
30
|
makeVar = makeVar;
|
|
31
|
-
constructor(
|
|
31
|
+
constructor(...args) {
|
|
32
32
|
super();
|
|
33
|
-
this.config = normalizeConfig(
|
|
33
|
+
this.config = normalizeConfig(args[0] ?? {});
|
|
34
34
|
this.policies = new Policies({
|
|
35
35
|
cache: this,
|
|
36
36
|
dataIdFromObject: this.config.dataIdFromObject,
|
|
@@ -90,6 +90,78 @@ export class InMemoryCache extends ApolloCache {
|
|
|
90
90
|
// all CacheGroup dependency information.
|
|
91
91
|
new Set([this.data.group, this.optimisticData.group]).forEach((group) => group.resetCaching());
|
|
92
92
|
}
|
|
93
|
+
getRootTypename(operation) {
|
|
94
|
+
return this.policies.rootTypenamesById[`ROOT_${operation.toUpperCase()}`];
|
|
95
|
+
}
|
|
96
|
+
getScalar(key) {
|
|
97
|
+
return this.config.scalars?.[key];
|
|
98
|
+
}
|
|
99
|
+
/** Get a scalar instance for a field in a type */
|
|
100
|
+
getScalarForField(typename, fieldName) {
|
|
101
|
+
return this.policies.getScalarForField(typename, fieldName);
|
|
102
|
+
}
|
|
103
|
+
configuresScalars() {
|
|
104
|
+
return !!this.config.scalars;
|
|
105
|
+
}
|
|
106
|
+
serializeVariables(document, variables) {
|
|
107
|
+
if (!variables ||
|
|
108
|
+
Object.keys(variables).length === 0 ||
|
|
109
|
+
(!this.config.scalars && !this.config.inputObjects)) {
|
|
110
|
+
return variables;
|
|
111
|
+
}
|
|
112
|
+
const variableTypes = getOperationDefinition(document)?.variableDefinitions?.reduce((memo, node) => {
|
|
113
|
+
memo[node.variable.name.value] = getUnwrappedType(node.type);
|
|
114
|
+
return memo;
|
|
115
|
+
}, {});
|
|
116
|
+
if (!variableTypes || Object.keys(variableTypes).length === 0) {
|
|
117
|
+
return variables;
|
|
118
|
+
}
|
|
119
|
+
return this.serializeVariablesValue(variables, variableTypes);
|
|
120
|
+
}
|
|
121
|
+
serializeVariablesValue(value, variableTypes, scalar) {
|
|
122
|
+
if (Array.isArray(value)) {
|
|
123
|
+
return this.serializeInputArray(value, variableTypes, scalar);
|
|
124
|
+
}
|
|
125
|
+
if (scalar && value != null) {
|
|
126
|
+
return scalar.coerceToSerialized(value);
|
|
127
|
+
}
|
|
128
|
+
if (isPlainObject(value)) {
|
|
129
|
+
return this.serializeInputObject(value, variableTypes);
|
|
130
|
+
}
|
|
131
|
+
return value;
|
|
132
|
+
}
|
|
133
|
+
serializeInputArray(value, variableTypes, scalar) {
|
|
134
|
+
let changed = false;
|
|
135
|
+
const newValue = value.map((item) => {
|
|
136
|
+
const newItem = this.serializeVariablesValue(item, variableTypes, scalar);
|
|
137
|
+
changed ||= newItem !== item;
|
|
138
|
+
return newItem;
|
|
139
|
+
});
|
|
140
|
+
return changed ? newValue : value;
|
|
141
|
+
}
|
|
142
|
+
serializeInputObject(value, variableTypes) {
|
|
143
|
+
let changed = false;
|
|
144
|
+
const entries = Object.entries(value).map(([name, value]) => {
|
|
145
|
+
const type = variableTypes[name];
|
|
146
|
+
if (!type) {
|
|
147
|
+
return [name, value];
|
|
148
|
+
}
|
|
149
|
+
const inputObject = this.config.inputObjects?.[type];
|
|
150
|
+
if (inputObject) {
|
|
151
|
+
const newValue = this.serializeVariablesValue(value, inputObject.fields);
|
|
152
|
+
changed ||= newValue !== value;
|
|
153
|
+
return [name, newValue];
|
|
154
|
+
}
|
|
155
|
+
const scalar = this.getScalar(type);
|
|
156
|
+
if (scalar) {
|
|
157
|
+
const newValue = this.serializeVariablesValue(value, variableTypes, scalar);
|
|
158
|
+
changed ||= newValue !== value;
|
|
159
|
+
return [name, newValue];
|
|
160
|
+
}
|
|
161
|
+
return [name, value];
|
|
162
|
+
});
|
|
163
|
+
return changed ? Object.fromEntries(entries) : value;
|
|
164
|
+
}
|
|
93
165
|
restore(data) {
|
|
94
166
|
this.init();
|
|
95
167
|
// Since calling this.init() discards/replaces the entire StoreReader, along
|
|
@@ -103,7 +175,7 @@ export class InMemoryCache extends ApolloCache {
|
|
|
103
175
|
return (optimistic ? this.optimisticData : this.data).extract();
|
|
104
176
|
}
|
|
105
177
|
read(options) {
|
|
106
|
-
const {
|
|
178
|
+
const { query, variables,
|
|
107
179
|
// Since read returns data or null, without any additional metadata
|
|
108
180
|
// about whether/where there might have been missing fields, the
|
|
109
181
|
// default behavior cannot be returnPartialData = true (like it is
|
|
@@ -114,15 +186,20 @@ export class InMemoryCache extends ApolloCache {
|
|
|
114
186
|
returnPartialData = false, } = options;
|
|
115
187
|
return this.storeReader.diffQueryAgainstStore({
|
|
116
188
|
...options,
|
|
189
|
+
variables: this.serializeVariables(query, variables),
|
|
117
190
|
store: options.optimistic ? this.optimisticData : this.data,
|
|
118
191
|
config: this.config,
|
|
119
192
|
returnPartialData,
|
|
120
193
|
}).result;
|
|
121
194
|
}
|
|
122
195
|
write(options) {
|
|
196
|
+
const { query, variables } = options;
|
|
123
197
|
try {
|
|
124
198
|
++this.txCount;
|
|
125
|
-
return this.storeWriter.writeToStore(this.data,
|
|
199
|
+
return this.storeWriter.writeToStore(this.data, {
|
|
200
|
+
...options,
|
|
201
|
+
variables: this.serializeVariables(query, variables),
|
|
202
|
+
});
|
|
126
203
|
}
|
|
127
204
|
finally {
|
|
128
205
|
if (!--this.txCount && options.broadcast !== false) {
|
|
@@ -158,8 +235,10 @@ export class InMemoryCache extends ApolloCache {
|
|
|
158
235
|
}
|
|
159
236
|
}
|
|
160
237
|
diff(options) {
|
|
238
|
+
const { variables } = options;
|
|
161
239
|
return this.storeReader.diffQueryAgainstStore({
|
|
162
240
|
...options,
|
|
241
|
+
variables: this.serializeVariables(options.query, variables),
|
|
163
242
|
store: options.optimistic ? this.optimisticData : this.data,
|
|
164
243
|
rootId: options.id || "ROOT_QUERY",
|
|
165
244
|
config: this.config,
|