@apollo/client 0.0.0-pr-10521-20230206180228
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/LICENSE +22 -0
- package/README.md +45 -0
- package/apollo-client.cjs +7614 -0
- package/apollo-client.cjs.map +1 -0
- package/apollo-client.min.cjs +1 -0
- package/cache/cache.cjs +2425 -0
- package/cache/cache.cjs.map +1 -0
- package/cache/cache.cjs.native.js +2425 -0
- package/cache/core/cache.d.ts +32 -0
- package/cache/core/cache.d.ts.map +1 -0
- package/cache/core/cache.js +84 -0
- package/cache/core/cache.js.map +1 -0
- package/cache/core/types/Cache.d.ts +55 -0
- package/cache/core/types/Cache.d.ts.map +1 -0
- package/cache/core/types/Cache.js +4 -0
- package/cache/core/types/Cache.js.map +1 -0
- package/cache/core/types/DataProxy.d.ts +52 -0
- package/cache/core/types/DataProxy.d.ts.map +1 -0
- package/cache/core/types/DataProxy.js +2 -0
- package/cache/core/types/DataProxy.js.map +1 -0
- package/cache/core/types/common.d.ts +47 -0
- package/cache/core/types/common.d.ts.map +1 -0
- package/cache/core/types/common.js +26 -0
- package/cache/core/types/common.js.map +1 -0
- package/cache/index.d.ts +15 -0
- package/cache/index.d.ts.map +1 -0
- package/cache/index.js +14 -0
- package/cache/index.js.map +1 -0
- package/cache/inmemory/__mocks__/optimism.d.ts +2 -0
- package/cache/inmemory/__mocks__/optimism.d.ts.map +1 -0
- package/cache/inmemory/__mocks__/optimism.js +14 -0
- package/cache/inmemory/__mocks__/optimism.js.map +1 -0
- package/cache/inmemory/entityStore.d.ts +83 -0
- package/cache/inmemory/entityStore.d.ts.map +1 -0
- package/cache/inmemory/entityStore.js +467 -0
- package/cache/inmemory/entityStore.js.map +1 -0
- package/cache/inmemory/fixPolyfills.d.ts +1 -0
- package/cache/inmemory/fixPolyfills.d.ts.map +1 -0
- package/cache/inmemory/fixPolyfills.js +1 -0
- package/cache/inmemory/fixPolyfills.js.map +1 -0
- package/cache/inmemory/fixPolyfills.native.d.ts +2 -0
- package/cache/inmemory/fixPolyfills.native.d.ts.map +1 -0
- package/cache/inmemory/fixPolyfills.native.js +48 -0
- package/cache/inmemory/fixPolyfills.native.js.map +1 -0
- package/cache/inmemory/fragmentRegistry.d.ts +8 -0
- package/cache/inmemory/fragmentRegistry.d.ts.map +1 -0
- package/cache/inmemory/fragmentRegistry.js +113 -0
- package/cache/inmemory/fragmentRegistry.js.map +1 -0
- package/cache/inmemory/helpers.d.ts +27 -0
- package/cache/inmemory/helpers.d.ts.map +1 -0
- package/cache/inmemory/helpers.js +85 -0
- package/cache/inmemory/helpers.js.map +1 -0
- package/cache/inmemory/inMemoryCache.d.ts +52 -0
- package/cache/inmemory/inMemoryCache.d.ts.map +1 -0
- package/cache/inmemory/inMemoryCache.js +316 -0
- package/cache/inmemory/inMemoryCache.js.map +1 -0
- package/cache/inmemory/key-extractor.d.ts +9 -0
- package/cache/inmemory/key-extractor.d.ts.map +1 -0
- package/cache/inmemory/key-extractor.js +118 -0
- package/cache/inmemory/key-extractor.js.map +1 -0
- package/cache/inmemory/object-canon.d.ts +17 -0
- package/cache/inmemory/object-canon.d.ts.map +1 -0
- package/cache/inmemory/object-canon.js +120 -0
- package/cache/inmemory/object-canon.js.map +1 -0
- package/cache/inmemory/policies.d.ts +96 -0
- package/cache/inmemory/policies.d.ts.map +1 -0
- package/cache/inmemory/policies.js +416 -0
- package/cache/inmemory/policies.js.map +1 -0
- package/cache/inmemory/reactiveVars.d.ts +18 -0
- package/cache/inmemory/reactiveVars.d.ts.map +1 -0
- package/cache/inmemory/reactiveVars.js +65 -0
- package/cache/inmemory/reactiveVars.js.map +1 -0
- package/cache/inmemory/readFromStore.d.ts +36 -0
- package/cache/inmemory/readFromStore.d.ts.map +1 -0
- package/cache/inmemory/readFromStore.js +267 -0
- package/cache/inmemory/readFromStore.js.map +1 -0
- package/cache/inmemory/types.d.ts +81 -0
- package/cache/inmemory/types.d.ts.map +1 -0
- package/cache/inmemory/types.js +4 -0
- package/cache/inmemory/types.js.map +1 -0
- package/cache/inmemory/writeToStore.d.ts +37 -0
- package/cache/inmemory/writeToStore.d.ts.map +1 -0
- package/cache/inmemory/writeToStore.js +394 -0
- package/cache/inmemory/writeToStore.js.map +1 -0
- package/cache/package.json +8 -0
- package/config/jest/setup.d.ts +2 -0
- package/config/jest/setup.d.ts.map +1 -0
- package/config/jest/setup.js +5 -0
- package/config/jest/setup.js.map +1 -0
- package/core/ApolloClient.d.ts +76 -0
- package/core/ApolloClient.d.ts.map +1 -0
- package/core/ApolloClient.js +240 -0
- package/core/ApolloClient.js.map +1 -0
- package/core/LocalState.d.ts +69 -0
- package/core/LocalState.d.ts.map +1 -0
- package/core/LocalState.js +321 -0
- package/core/LocalState.js.map +1 -0
- package/core/ObservableQuery.d.ts +74 -0
- package/core/ObservableQuery.d.ts.map +1 -0
- package/core/ObservableQuery.js +507 -0
- package/core/ObservableQuery.js.map +1 -0
- package/core/QueryInfo.d.ts +62 -0
- package/core/QueryInfo.d.ts.map +1 -0
- package/core/QueryInfo.js +287 -0
- package/core/QueryInfo.js.map +1 -0
- package/core/QueryManager.d.ts +120 -0
- package/core/QueryManager.d.ts.map +1 -0
- package/core/QueryManager.js +890 -0
- package/core/QueryManager.js.map +1 -0
- package/core/core.cjs +2349 -0
- package/core/core.cjs.map +1 -0
- package/core/core.cjs.native.js +2349 -0
- package/core/index.d.ts +17 -0
- package/core/index.d.ts.map +1 -0
- package/core/index.js +17 -0
- package/core/index.js.map +1 -0
- package/core/networkStatus.d.ts +11 -0
- package/core/networkStatus.d.ts.map +1 -0
- package/core/networkStatus.js +14 -0
- package/core/networkStatus.js.map +1 -0
- package/core/package.json +8 -0
- package/core/types.d.ts +74 -0
- package/core/types.d.ts.map +1 -0
- package/core/types.js +3 -0
- package/core/types.js.map +1 -0
- package/core/watchQueryOptions.d.ts +78 -0
- package/core/watchQueryOptions.d.ts.map +1 -0
- package/core/watchQueryOptions.js +2 -0
- package/core/watchQueryOptions.js.map +1 -0
- package/errors/errors.cjs +49 -0
- package/errors/errors.cjs.map +1 -0
- package/errors/errors.cjs.native.js +49 -0
- package/errors/index.d.ts +23 -0
- package/errors/index.d.ts.map +1 -0
- package/errors/index.js +42 -0
- package/errors/index.js.map +1 -0
- package/errors/package.json +8 -0
- package/index.d.ts +3 -0
- package/index.d.ts.map +1 -0
- package/index.js +3 -0
- package/index.js.map +1 -0
- package/invariantErrorCodes.js +339 -0
- package/link/batch/batch.cjs +159 -0
- package/link/batch/batch.cjs.map +1 -0
- package/link/batch/batch.cjs.native.js +159 -0
- package/link/batch/batchLink.d.ts +19 -0
- package/link/batch/batchLink.d.ts.map +1 -0
- package/link/batch/batchLink.js +31 -0
- package/link/batch/batchLink.js.map +1 -0
- package/link/batch/batching.d.ts +27 -0
- package/link/batch/batching.d.ts.map +1 -0
- package/link/batch/batching.js +125 -0
- package/link/batch/batching.js.map +1 -0
- package/link/batch/index.d.ts +2 -0
- package/link/batch/index.d.ts.map +1 -0
- package/link/batch/index.js +2 -0
- package/link/batch/index.js.map +1 -0
- package/link/batch/package.json +8 -0
- package/link/batch-http/batch-http.cjs +137 -0
- package/link/batch-http/batch-http.cjs.map +1 -0
- package/link/batch-http/batch-http.cjs.native.js +137 -0
- package/link/batch-http/batchHttpLink.d.ts +16 -0
- package/link/batch-http/batchHttpLink.d.ts.map +1 -0
- package/link/batch-http/batchHttpLink.js +131 -0
- package/link/batch-http/batchHttpLink.js.map +1 -0
- package/link/batch-http/index.d.ts +2 -0
- package/link/batch-http/index.d.ts.map +1 -0
- package/link/batch-http/index.js +2 -0
- package/link/batch-http/index.js.map +1 -0
- package/link/batch-http/package.json +8 -0
- package/link/context/context.cjs +38 -0
- package/link/context/context.cjs.map +1 -0
- package/link/context/context.cjs.native.js +38 -0
- package/link/context/index.d.ts +5 -0
- package/link/context/index.d.ts.map +1 -0
- package/link/context/index.js +31 -0
- package/link/context/index.js.map +1 -0
- package/link/context/package.json +8 -0
- package/link/core/ApolloLink.d.ts +16 -0
- package/link/core/ApolloLink.d.ts.map +1 -0
- package/link/core/ApolloLink.js +100 -0
- package/link/core/ApolloLink.js.map +1 -0
- package/link/core/concat.d.ts +3 -0
- package/link/core/concat.d.ts.map +1 -0
- package/link/core/concat.js +3 -0
- package/link/core/concat.js.map +1 -0
- package/link/core/core.cjs +121 -0
- package/link/core/core.cjs.map +1 -0
- package/link/core/core.cjs.native.js +121 -0
- package/link/core/empty.d.ts +3 -0
- package/link/core/empty.d.ts.map +1 -0
- package/link/core/empty.js +3 -0
- package/link/core/empty.js.map +1 -0
- package/link/core/execute.d.ts +3 -0
- package/link/core/execute.d.ts.map +1 -0
- package/link/core/execute.js +3 -0
- package/link/core/execute.js.map +1 -0
- package/link/core/from.d.ts +3 -0
- package/link/core/from.d.ts.map +1 -0
- package/link/core/from.js +3 -0
- package/link/core/from.js.map +1 -0
- package/link/core/index.d.ts +9 -0
- package/link/core/index.d.ts.map +1 -0
- package/link/core/index.js +9 -0
- package/link/core/index.js.map +1 -0
- package/link/core/package.json +8 -0
- package/link/core/split.d.ts +3 -0
- package/link/core/split.d.ts.map +1 -0
- package/link/core/split.js +3 -0
- package/link/core/split.js.map +1 -0
- package/link/core/types.d.ts +52 -0
- package/link/core/types.d.ts.map +1 -0
- package/link/core/types.js +2 -0
- package/link/core/types.js.map +1 -0
- package/link/error/error.cjs +90 -0
- package/link/error/error.cjs.map +1 -0
- package/link/error/error.cjs.native.js +90 -0
- package/link/error/index.d.ts +24 -0
- package/link/error/index.d.ts.map +1 -0
- package/link/error/index.js +83 -0
- package/link/error/index.js.map +1 -0
- package/link/error/package.json +8 -0
- package/link/http/HttpLink.d.ts +8 -0
- package/link/http/HttpLink.d.ts.map +1 -0
- package/link/http/HttpLink.js +15 -0
- package/link/http/HttpLink.js.map +1 -0
- package/link/http/checkFetcher.d.ts +2 -0
- package/link/http/checkFetcher.d.ts.map +1 -0
- package/link/http/checkFetcher.js +7 -0
- package/link/http/checkFetcher.js.map +1 -0
- package/link/http/createHttpLink.d.ts +4 -0
- package/link/http/createHttpLink.d.ts.map +1 -0
- package/link/http/createHttpLink.js +127 -0
- package/link/http/createHttpLink.js.map +1 -0
- package/link/http/createSignalIfSupported.d.ts +8 -0
- package/link/http/createSignalIfSupported.d.ts.map +1 -0
- package/link/http/createSignalIfSupported.js +8 -0
- package/link/http/createSignalIfSupported.js.map +1 -0
- package/link/http/http.cjs +593 -0
- package/link/http/http.cjs.map +1 -0
- package/link/http/http.cjs.native.js +593 -0
- package/link/http/index.d.ts +11 -0
- package/link/http/index.d.ts.map +1 -0
- package/link/http/index.js +11 -0
- package/link/http/index.js.map +1 -0
- package/link/http/iterators/async.d.ts +2 -0
- package/link/http/iterators/async.d.ts.map +1 -0
- package/link/http/iterators/async.js +14 -0
- package/link/http/iterators/async.js.map +1 -0
- package/link/http/iterators/nodeStream.d.ts +4 -0
- package/link/http/iterators/nodeStream.d.ts.map +1 -0
- package/link/http/iterators/nodeStream.js +71 -0
- package/link/http/iterators/nodeStream.js.map +1 -0
- package/link/http/iterators/promise.d.ts +2 -0
- package/link/http/iterators/promise.d.ts.map +1 -0
- package/link/http/iterators/promise.js +28 -0
- package/link/http/iterators/promise.js.map +1 -0
- package/link/http/iterators/reader.d.ts +2 -0
- package/link/http/iterators/reader.d.ts.map +1 -0
- package/link/http/iterators/reader.js +15 -0
- package/link/http/iterators/reader.js.map +1 -0
- package/link/http/package.json +8 -0
- package/link/http/parseAndCheckHttpResponse.d.ts +14 -0
- package/link/http/parseAndCheckHttpResponse.d.ts.map +1 -0
- package/link/http/parseAndCheckHttpResponse.js +148 -0
- package/link/http/parseAndCheckHttpResponse.js.map +1 -0
- package/link/http/responseIterator.d.ts +3 -0
- package/link/http/responseIterator.d.ts.map +1 -0
- package/link/http/responseIterator.js +23 -0
- package/link/http/responseIterator.js.map +1 -0
- package/link/http/rewriteURIForGET.d.ts +9 -0
- package/link/http/rewriteURIForGET.d.ts.map +1 -0
- package/link/http/rewriteURIForGET.js +43 -0
- package/link/http/rewriteURIForGET.js.map +1 -0
- package/link/http/selectHttpOptionsAndBody.d.ts +57 -0
- package/link/http/selectHttpOptionsAndBody.d.ts.map +1 -0
- package/link/http/selectHttpOptionsAndBody.js +78 -0
- package/link/http/selectHttpOptionsAndBody.js.map +1 -0
- package/link/http/selectURI.d.ts +3 -0
- package/link/http/selectURI.d.ts.map +1 -0
- package/link/http/selectURI.js +14 -0
- package/link/http/selectURI.js.map +1 -0
- package/link/http/serializeFetchParameter.d.ts +6 -0
- package/link/http/serializeFetchParameter.d.ts.map +1 -0
- package/link/http/serializeFetchParameter.js +14 -0
- package/link/http/serializeFetchParameter.js.map +1 -0
- package/link/persisted-queries/index.d.ts +31 -0
- package/link/persisted-queries/index.d.ts.map +1 -0
- package/link/persisted-queries/index.js +170 -0
- package/link/persisted-queries/index.js.map +1 -0
- package/link/persisted-queries/package.json +8 -0
- package/link/persisted-queries/persisted-queries.cjs +174 -0
- package/link/persisted-queries/persisted-queries.cjs.map +1 -0
- package/link/persisted-queries/persisted-queries.cjs.native.js +174 -0
- package/link/retry/delayFunction.d.ts +11 -0
- package/link/retry/delayFunction.d.ts.map +1 -0
- package/link/retry/delayFunction.js +12 -0
- package/link/retry/delayFunction.js.map +1 -0
- package/link/retry/index.d.ts +2 -0
- package/link/retry/index.d.ts.map +1 -0
- package/link/retry/index.js +2 -0
- package/link/retry/index.js.map +1 -0
- package/link/retry/package.json +8 -0
- package/link/retry/retry.cjs +170 -0
- package/link/retry/retry.cjs.map +1 -0
- package/link/retry/retry.cjs.native.js +170 -0
- package/link/retry/retryFunction.d.ts +10 -0
- package/link/retry/retryFunction.d.ts.map +1 -0
- package/link/retry/retryFunction.js +9 -0
- package/link/retry/retryFunction.js.map +1 -0
- package/link/retry/retryLink.d.ts +17 -0
- package/link/retry/retryLink.d.ts.map +1 -0
- package/link/retry/retryLink.js +145 -0
- package/link/retry/retryLink.js.map +1 -0
- package/link/schema/index.d.ts +22 -0
- package/link/schema/index.d.ts.map +1 -0
- package/link/schema/index.js +50 -0
- package/link/schema/index.js.map +1 -0
- package/link/schema/package.json +8 -0
- package/link/schema/schema.cjs +56 -0
- package/link/schema/schema.cjs.map +1 -0
- package/link/schema/schema.cjs.native.js +56 -0
- package/link/subscriptions/index.d.ts +9 -0
- package/link/subscriptions/index.d.ts.map +1 -0
- package/link/subscriptions/index.js +39 -0
- package/link/subscriptions/index.js.map +1 -0
- package/link/subscriptions/package.json +8 -0
- package/link/subscriptions/subscriptions.cjs +45 -0
- package/link/subscriptions/subscriptions.cjs.map +1 -0
- package/link/subscriptions/subscriptions.cjs.native.js +45 -0
- package/link/utils/createOperation.d.ts +3 -0
- package/link/utils/createOperation.d.ts.map +1 -0
- package/link/utils/createOperation.js +23 -0
- package/link/utils/createOperation.js.map +1 -0
- package/link/utils/fromError.d.ts +3 -0
- package/link/utils/fromError.d.ts.map +1 -0
- package/link/utils/fromError.js +7 -0
- package/link/utils/fromError.js.map +1 -0
- package/link/utils/fromPromise.d.ts +3 -0
- package/link/utils/fromPromise.d.ts.map +1 -0
- package/link/utils/fromPromise.js +12 -0
- package/link/utils/fromPromise.js.map +1 -0
- package/link/utils/index.d.ts +9 -0
- package/link/utils/index.d.ts.map +1 -0
- package/link/utils/index.js +9 -0
- package/link/utils/index.js.map +1 -0
- package/link/utils/package.json +8 -0
- package/link/utils/throwServerError.d.ts +7 -0
- package/link/utils/throwServerError.d.ts.map +1 -0
- package/link/utils/throwServerError.js +9 -0
- package/link/utils/throwServerError.js.map +1 -0
- package/link/utils/toPromise.d.ts +3 -0
- package/link/utils/toPromise.d.ts.map +1 -0
- package/link/utils/toPromise.js +19 -0
- package/link/utils/toPromise.js.map +1 -0
- package/link/utils/transformOperation.d.ts +3 -0
- package/link/utils/transformOperation.d.ts.map +1 -0
- package/link/utils/transformOperation.js +17 -0
- package/link/utils/transformOperation.js.map +1 -0
- package/link/utils/utils.cjs +115 -0
- package/link/utils/utils.cjs.map +1 -0
- package/link/utils/utils.cjs.native.js +115 -0
- package/link/utils/validateOperation.d.ts +3 -0
- package/link/utils/validateOperation.d.ts.map +1 -0
- package/link/utils/validateOperation.js +18 -0
- package/link/utils/validateOperation.js.map +1 -0
- package/link/ws/index.d.ts +17 -0
- package/link/ws/index.d.ts.map +1 -0
- package/link/ws/index.js +22 -0
- package/link/ws/index.js.map +1 -0
- package/link/ws/package.json +8 -0
- package/link/ws/ws.cjs +28 -0
- package/link/ws/ws.cjs.map +1 -0
- package/link/ws/ws.cjs.native.js +28 -0
- package/main.cjs +16 -0
- package/main.cjs.map +1 -0
- package/main.cjs.native.js +16 -0
- package/package.json +141 -0
- package/react/cache/SuspenseCache.d.ts +18 -0
- package/react/cache/SuspenseCache.d.ts.map +1 -0
- package/react/cache/SuspenseCache.js +49 -0
- package/react/cache/SuspenseCache.js.map +1 -0
- package/react/cache/index.d.ts +2 -0
- package/react/cache/index.d.ts.map +1 -0
- package/react/cache/index.js +2 -0
- package/react/cache/index.js.map +1 -0
- package/react/components/Mutation.d.ts +12 -0
- package/react/components/Mutation.d.ts.map +1 -0
- package/react/components/Mutation.js +22 -0
- package/react/components/Mutation.js.map +1 -0
- package/react/components/Query.d.ts +12 -0
- package/react/components/Query.d.ts.map +1 -0
- package/react/components/Query.js +23 -0
- package/react/components/Query.js.map +1 -0
- package/react/components/Subscription.d.ts +12 -0
- package/react/components/Subscription.d.ts.map +1 -0
- package/react/components/Subscription.js +17 -0
- package/react/components/Subscription.js.map +1 -0
- package/react/components/components.cjs +81 -0
- package/react/components/components.cjs.map +1 -0
- package/react/components/components.cjs.native.js +81 -0
- package/react/components/index.d.ts +5 -0
- package/react/components/index.d.ts.map +1 -0
- package/react/components/index.js +5 -0
- package/react/components/index.js.map +1 -0
- package/react/components/package.json +8 -0
- package/react/components/types.d.ts +18 -0
- package/react/components/types.d.ts.map +1 -0
- package/react/components/types.js +2 -0
- package/react/components/types.js.map +1 -0
- package/react/context/ApolloConsumer.d.ts +7 -0
- package/react/context/ApolloConsumer.d.ts.map +1 -0
- package/react/context/ApolloConsumer.js +12 -0
- package/react/context/ApolloConsumer.js.map +1 -0
- package/react/context/ApolloContext.d.ts +12 -0
- package/react/context/ApolloContext.d.ts.map +1 -0
- package/react/context/ApolloContext.js +20 -0
- package/react/context/ApolloContext.js.map +1 -0
- package/react/context/ApolloProvider.d.ts +10 -0
- package/react/context/ApolloProvider.d.ts.map +1 -0
- package/react/context/ApolloProvider.js +20 -0
- package/react/context/ApolloProvider.js.map +1 -0
- package/react/context/context.cjs +70 -0
- package/react/context/context.cjs.map +1 -0
- package/react/context/context.cjs.native.js +70 -0
- package/react/context/index.d.ts +5 -0
- package/react/context/index.d.ts.map +1 -0
- package/react/context/index.js +5 -0
- package/react/context/index.js.map +1 -0
- package/react/context/package.json +8 -0
- package/react/hoc/graphql.d.ts +6 -0
- package/react/hoc/graphql.d.ts.map +1 -0
- package/react/hoc/graphql.js +17 -0
- package/react/hoc/graphql.js.map +1 -0
- package/react/hoc/hoc-utils.d.ts +17 -0
- package/react/hoc/hoc-utils.d.ts.map +1 -0
- package/react/hoc/hoc-utils.js +47 -0
- package/react/hoc/hoc-utils.js.map +1 -0
- package/react/hoc/hoc.cjs +325 -0
- package/react/hoc/hoc.cjs.map +1 -0
- package/react/hoc/hoc.cjs.native.js +325 -0
- package/react/hoc/index.d.ts +8 -0
- package/react/hoc/index.d.ts.map +1 -0
- package/react/hoc/index.js +8 -0
- package/react/hoc/index.js.map +1 -0
- package/react/hoc/mutation-hoc.d.ts +7 -0
- package/react/hoc/mutation-hoc.d.ts.map +1 -0
- package/react/hoc/mutation-hoc.js +63 -0
- package/react/hoc/mutation-hoc.js.map +1 -0
- package/react/hoc/package.json +8 -0
- package/react/hoc/query-hoc.d.ts +5 -0
- package/react/hoc/query-hoc.d.ts.map +1 -0
- package/react/hoc/query-hoc.js +70 -0
- package/react/hoc/query-hoc.js.map +1 -0
- package/react/hoc/subscription-hoc.d.ts +5 -0
- package/react/hoc/subscription-hoc.d.ts.map +1 -0
- package/react/hoc/subscription-hoc.js +80 -0
- package/react/hoc/subscription-hoc.js.map +1 -0
- package/react/hoc/types.d.ts +43 -0
- package/react/hoc/types.d.ts.map +1 -0
- package/react/hoc/types.js +2 -0
- package/react/hoc/types.js.map +1 -0
- package/react/hoc/withApollo.d.ts +4 -0
- package/react/hoc/withApollo.d.ts.map +1 -0
- package/react/hoc/withApollo.js +45 -0
- package/react/hoc/withApollo.js.map +1 -0
- package/react/hooks/compareResults.d.ts +3 -0
- package/react/hooks/compareResults.d.ts.map +1 -0
- package/react/hooks/compareResults.js +63 -0
- package/react/hooks/compareResults.js.map +1 -0
- package/react/hooks/hooks.cjs +913 -0
- package/react/hooks/hooks.cjs.map +1 -0
- package/react/hooks/hooks.cjs.native.js +913 -0
- package/react/hooks/index.d.ts +10 -0
- package/react/hooks/index.d.ts.map +1 -0
- package/react/hooks/index.js +10 -0
- package/react/hooks/index.js.map +1 -0
- package/react/hooks/internal/index.d.ts +3 -0
- package/react/hooks/internal/index.d.ts.map +1 -0
- package/react/hooks/internal/index.js +3 -0
- package/react/hooks/internal/index.js.map +1 -0
- package/react/hooks/internal/useDeepMemo.d.ts +3 -0
- package/react/hooks/internal/useDeepMemo.d.ts.map +1 -0
- package/react/hooks/internal/useDeepMemo.js +10 -0
- package/react/hooks/internal/useDeepMemo.js.map +1 -0
- package/react/hooks/internal/useIsomorphicLayoutEffect.d.ts +3 -0
- package/react/hooks/internal/useIsomorphicLayoutEffect.d.ts.map +1 -0
- package/react/hooks/internal/useIsomorphicLayoutEffect.js +6 -0
- package/react/hooks/internal/useIsomorphicLayoutEffect.js.map +1 -0
- package/react/hooks/package.json +8 -0
- package/react/hooks/useApolloClient.d.ts +3 -0
- package/react/hooks/useApolloClient.d.ts.map +1 -0
- package/react/hooks/useApolloClient.js +12 -0
- package/react/hooks/useApolloClient.js.map +1 -0
- package/react/hooks/useFragment.d.ts +13 -0
- package/react/hooks/useFragment.d.ts.map +1 -0
- package/react/hooks/useFragment.js +39 -0
- package/react/hooks/useFragment.js.map +1 -0
- package/react/hooks/useLazyQuery.d.ts +6 -0
- package/react/hooks/useLazyQuery.d.ts.map +1 -0
- package/react/hooks/useLazyQuery.js +71 -0
- package/react/hooks/useLazyQuery.js.map +1 -0
- package/react/hooks/useMutation.d.ts +6 -0
- package/react/hooks/useMutation.d.ts.map +1 -0
- package/react/hooks/useMutation.js +100 -0
- package/react/hooks/useMutation.js.map +1 -0
- package/react/hooks/useQuery.d.ts +41 -0
- package/react/hooks/useQuery.d.ts.map +1 -0
- package/react/hooks/useQuery.js +302 -0
- package/react/hooks/useQuery.js.map +1 -0
- package/react/hooks/useReactiveVar.d.ts +3 -0
- package/react/hooks/useReactiveVar.d.ts.map +1 -0
- package/react/hooks/useReactiveVar.js +16 -0
- package/react/hooks/useReactiveVar.js.map +1 -0
- package/react/hooks/useSubscription.d.ts +6 -0
- package/react/hooks/useSubscription.d.ts.map +1 -0
- package/react/hooks/useSubscription.js +141 -0
- package/react/hooks/useSubscription.js.map +1 -0
- package/react/hooks/useSuspenseCache.d.ts +2 -0
- package/react/hooks/useSuspenseCache.d.ts.map +1 -0
- package/react/hooks/useSuspenseCache.js +10 -0
- package/react/hooks/useSuspenseCache.js.map +1 -0
- package/react/hooks/useSuspenseQuery.d.ts +12 -0
- package/react/hooks/useSuspenseQuery.d.ts.map +1 -0
- package/react/hooks/useSuspenseQuery.js +181 -0
- package/react/hooks/useSuspenseQuery.js.map +1 -0
- package/react/hooks/useSyncExternalStore.d.ts +4 -0
- package/react/hooks/useSyncExternalStore.d.ts.map +1 -0
- package/react/hooks/useSyncExternalStore.js +48 -0
- package/react/hooks/useSyncExternalStore.js.map +1 -0
- package/react/index.d.ts +7 -0
- package/react/index.d.ts.map +1 -0
- package/react/index.js +7 -0
- package/react/index.js.map +1 -0
- package/react/package.json +8 -0
- package/react/parser/index.d.ts +15 -0
- package/react/parser/index.d.ts.map +1 -0
- package/react/parser/index.js +94 -0
- package/react/parser/index.js.map +1 -0
- package/react/parser/package.json +8 -0
- package/react/parser/parser.cjs +103 -0
- package/react/parser/parser.cjs.map +1 -0
- package/react/parser/parser.cjs.native.js +103 -0
- package/react/react.cjs +69 -0
- package/react/react.cjs.map +1 -0
- package/react/react.cjs.native.js +69 -0
- package/react/ssr/RenderPromises.d.ts +22 -0
- package/react/ssr/RenderPromises.d.ts.map +1 -0
- package/react/ssr/RenderPromises.js +90 -0
- package/react/ssr/RenderPromises.js.map +1 -0
- package/react/ssr/getDataFromTree.d.ts +13 -0
- package/react/ssr/getDataFromTree.d.ts.map +1 -0
- package/react/ssr/getDataFromTree.js +32 -0
- package/react/ssr/getDataFromTree.js.map +1 -0
- package/react/ssr/index.d.ts +4 -0
- package/react/ssr/index.d.ts.map +1 -0
- package/react/ssr/index.js +4 -0
- package/react/ssr/index.js.map +1 -0
- package/react/ssr/package.json +8 -0
- package/react/ssr/renderToStringWithData.d.ts +3 -0
- package/react/ssr/renderToStringWithData.d.ts.map +1 -0
- package/react/ssr/renderToStringWithData.js +9 -0
- package/react/ssr/renderToStringWithData.js.map +1 -0
- package/react/ssr/ssr.cjs +151 -0
- package/react/ssr/ssr.cjs.map +1 -0
- package/react/ssr/ssr.cjs.native.js +151 -0
- package/react/types/types.d.ts +130 -0
- package/react/types/types.d.ts.map +1 -0
- package/react/types/types.js +2 -0
- package/react/types/types.js.map +1 -0
- package/testing/core/core.cjs +315 -0
- package/testing/core/core.cjs.map +1 -0
- package/testing/core/core.cjs.native.js +315 -0
- package/testing/core/index.d.ts +8 -0
- package/testing/core/index.d.ts.map +1 -0
- package/testing/core/index.js +8 -0
- package/testing/core/index.js.map +1 -0
- package/testing/core/itAsync.d.ts +6 -0
- package/testing/core/itAsync.d.ts.map +1 -0
- package/testing/core/itAsync.js +19 -0
- package/testing/core/itAsync.js.map +1 -0
- package/testing/core/mocking/mockClient.d.ts +5 -0
- package/testing/core/mocking/mockClient.d.ts.map +1 -0
- package/testing/core/mocking/mockClient.js +14 -0
- package/testing/core/mocking/mockClient.js.map +1 -0
- package/testing/core/mocking/mockFetch.d.ts +24 -0
- package/testing/core/mocking/mockFetch.d.ts.map +1 -0
- package/testing/core/mocking/mockFetch.js +83 -0
- package/testing/core/mocking/mockFetch.js.map +1 -0
- package/testing/core/mocking/mockLink.d.ts +28 -0
- package/testing/core/mocking/mockLink.d.ts.map +1 -0
- package/testing/core/mocking/mockLink.js +139 -0
- package/testing/core/mocking/mockLink.js.map +1 -0
- package/testing/core/mocking/mockQueryManager.d.ts +5 -0
- package/testing/core/mocking/mockQueryManager.d.ts.map +1 -0
- package/testing/core/mocking/mockQueryManager.js +14 -0
- package/testing/core/mocking/mockQueryManager.js.map +1 -0
- package/testing/core/mocking/mockSubscriptionLink.d.ts +24 -0
- package/testing/core/mocking/mockSubscriptionLink.d.ts.map +1 -0
- package/testing/core/mocking/mockSubscriptionLink.js +62 -0
- package/testing/core/mocking/mockSubscriptionLink.js.map +1 -0
- package/testing/core/mocking/mockWatchQuery.d.ts +5 -0
- package/testing/core/mocking/mockWatchQuery.d.ts.map +1 -0
- package/testing/core/mocking/mockWatchQuery.js +15 -0
- package/testing/core/mocking/mockWatchQuery.js.map +1 -0
- package/testing/core/observableToPromise.d.ts +15 -0
- package/testing/core/observableToPromise.d.ts.map +1 -0
- package/testing/core/observableToPromise.js +65 -0
- package/testing/core/observableToPromise.js.map +1 -0
- package/testing/core/package.json +8 -0
- package/testing/core/subscribeAndCount.d.ts +3 -0
- package/testing/core/subscribeAndCount.d.ts.map +1 -0
- package/testing/core/subscribeAndCount.js +16 -0
- package/testing/core/subscribeAndCount.js.map +1 -0
- package/testing/core/wait.d.ts +3 -0
- package/testing/core/wait.d.ts.map +1 -0
- package/testing/core/wait.js +16 -0
- package/testing/core/wait.js.map +1 -0
- package/testing/core/withConsoleSpy.d.ts +4 -0
- package/testing/core/withConsoleSpy.d.ts.map +1 -0
- package/testing/core/withConsoleSpy.js +39 -0
- package/testing/core/withConsoleSpy.js.map +1 -0
- package/testing/core/wrap.d.ts +4 -0
- package/testing/core/wrap.d.ts.map +1 -0
- package/testing/core/wrap.js +26 -0
- package/testing/core/wrap.js.map +1 -0
- package/testing/index.d.ts +4 -0
- package/testing/index.d.ts.map +1 -0
- package/testing/index.js +4 -0
- package/testing/index.js.map +1 -0
- package/testing/package.json +8 -0
- package/testing/react/MockedProvider.d.ts +30 -0
- package/testing/react/MockedProvider.d.ts.map +1 -0
- package/testing/react/MockedProvider.js +39 -0
- package/testing/react/MockedProvider.js.map +1 -0
- package/testing/testing.cjs +109 -0
- package/testing/testing.cjs.map +1 -0
- package/testing/testing.cjs.native.js +109 -0
- package/utilities/common/arrays.d.ts +2 -0
- package/utilities/common/arrays.d.ts.map +1 -0
- package/utilities/common/arrays.js +4 -0
- package/utilities/common/arrays.js.map +1 -0
- package/utilities/common/canUse.d.ts +7 -0
- package/utilities/common/canUse.d.ts.map +1 -0
- package/utilities/common/canUse.js +11 -0
- package/utilities/common/canUse.js.map +1 -0
- package/utilities/common/cloneDeep.d.ts +2 -0
- package/utilities/common/cloneDeep.d.ts.map +1 -0
- package/utilities/common/cloneDeep.js +33 -0
- package/utilities/common/cloneDeep.js.map +1 -0
- package/utilities/common/compact.d.ts +3 -0
- package/utilities/common/compact.d.ts.map +1 -0
- package/utilities/common/compact.js +19 -0
- package/utilities/common/compact.js.map +1 -0
- package/utilities/common/errorHandling.d.ts +4 -0
- package/utilities/common/errorHandling.d.ts.map +1 -0
- package/utilities/common/errorHandling.js +21 -0
- package/utilities/common/errorHandling.js.map +1 -0
- package/utilities/common/filterInPlace.d.ts +2 -0
- package/utilities/common/filterInPlace.d.ts.map +1 -0
- package/utilities/common/filterInPlace.js +11 -0
- package/utilities/common/filterInPlace.js.map +1 -0
- package/utilities/common/incrementalResult.d.ts +6 -0
- package/utilities/common/incrementalResult.d.ts.map +1 -0
- package/utilities/common/incrementalResult.js +32 -0
- package/utilities/common/incrementalResult.js.map +1 -0
- package/utilities/common/makeUniqueId.d.ts +2 -0
- package/utilities/common/makeUniqueId.d.ts.map +1 -0
- package/utilities/common/makeUniqueId.js +7 -0
- package/utilities/common/makeUniqueId.js.map +1 -0
- package/utilities/common/maybeDeepFreeze.d.ts +2 -0
- package/utilities/common/maybeDeepFreeze.d.ts.map +1 -0
- package/utilities/common/maybeDeepFreeze.js +34 -0
- package/utilities/common/maybeDeepFreeze.js.map +1 -0
- package/utilities/common/mergeDeep.d.ts +14 -0
- package/utilities/common/mergeDeep.d.ts.map +1 -0
- package/utilities/common/mergeDeep.js +76 -0
- package/utilities/common/mergeDeep.js.map +1 -0
- package/utilities/common/mergeOptions.d.ts +5 -0
- package/utilities/common/mergeOptions.d.ts.map +1 -0
- package/utilities/common/mergeOptions.js +8 -0
- package/utilities/common/mergeOptions.js.map +1 -0
- package/utilities/common/objects.d.ts +2 -0
- package/utilities/common/objects.d.ts.map +1 -0
- package/utilities/common/objects.js +4 -0
- package/utilities/common/objects.js.map +1 -0
- package/utilities/common/responseIterator.d.ts +10 -0
- package/utilities/common/responseIterator.d.ts.map +1 -0
- package/utilities/common/responseIterator.js +21 -0
- package/utilities/common/responseIterator.js.map +1 -0
- package/utilities/common/stringifyForDisplay.d.ts +2 -0
- package/utilities/common/stringifyForDisplay.d.ts.map +1 -0
- package/utilities/common/stringifyForDisplay.js +8 -0
- package/utilities/common/stringifyForDisplay.js.map +1 -0
- package/utilities/globals/DEV.d.ts +3 -0
- package/utilities/globals/DEV.d.ts.map +1 -0
- package/utilities/globals/DEV.js +9 -0
- package/utilities/globals/DEV.js.map +1 -0
- package/utilities/globals/fix-graphql.d.ts +2 -0
- package/utilities/globals/fix-graphql.d.ts.map +1 -0
- package/utilities/globals/fix-graphql.js +6 -0
- package/utilities/globals/fix-graphql.js.map +1 -0
- package/utilities/globals/global.d.ts +5 -0
- package/utilities/globals/global.d.ts.map +1 -0
- package/utilities/globals/global.js +6 -0
- package/utilities/globals/global.js.map +1 -0
- package/utilities/globals/globals.cjs +42 -0
- package/utilities/globals/globals.cjs.map +1 -0
- package/utilities/globals/globals.cjs.native.js +42 -0
- package/utilities/globals/index.d.ts +8 -0
- package/utilities/globals/index.d.ts.map +1 -0
- package/utilities/globals/index.js +10 -0
- package/utilities/globals/index.js.map +1 -0
- package/utilities/globals/maybe.d.ts +2 -0
- package/utilities/globals/maybe.d.ts.map +1 -0
- package/utilities/globals/maybe.js +7 -0
- package/utilities/globals/maybe.js.map +1 -0
- package/utilities/globals/package.json +8 -0
- package/utilities/graphql/directives.d.ts +18 -0
- package/utilities/graphql/directives.d.ts.map +1 -0
- package/utilities/graphql/directives.js +72 -0
- package/utilities/graphql/directives.js.map +1 -0
- package/utilities/graphql/fragments.d.ts +9 -0
- package/utilities/graphql/fragments.d.ts.map +1 -0
- package/utilities/graphql/fragments.js +64 -0
- package/utilities/graphql/fragments.js.map +1 -0
- package/utilities/graphql/getFromAST.d.ts +10 -0
- package/utilities/graphql/getFromAST.d.ts.map +1 -0
- package/utilities/graphql/getFromAST.js +76 -0
- package/utilities/graphql/getFromAST.js.map +1 -0
- package/utilities/graphql/storeUtils.d.ts +32 -0
- package/utilities/graphql/storeUtils.d.ts.map +1 -0
- package/utilities/graphql/storeUtils.js +208 -0
- package/utilities/graphql/storeUtils.js.map +1 -0
- package/utilities/graphql/transform.d.ts +27 -0
- package/utilities/graphql/transform.d.ts.map +1 -0
- package/utilities/graphql/transform.js +281 -0
- package/utilities/graphql/transform.js.map +1 -0
- package/utilities/index.d.ts +27 -0
- package/utilities/index.d.ts.map +1 -0
- package/utilities/index.js +27 -0
- package/utilities/index.js.map +1 -0
- package/utilities/observables/Concast.d.ts +27 -0
- package/utilities/observables/Concast.d.ts.map +1 -0
- package/utilities/observables/Concast.js +137 -0
- package/utilities/observables/Concast.js.map +1 -0
- package/utilities/observables/Observable.d.ts +5 -0
- package/utilities/observables/Observable.d.ts.map +1 -0
- package/utilities/observables/Observable.js +9 -0
- package/utilities/observables/Observable.js.map +1 -0
- package/utilities/observables/asyncMap.d.ts +3 -0
- package/utilities/observables/asyncMap.d.ts.map +1 -0
- package/utilities/observables/asyncMap.js +49 -0
- package/utilities/observables/asyncMap.js.map +1 -0
- package/utilities/observables/iteration.d.ts +3 -0
- package/utilities/observables/iteration.d.ts.map +1 -0
- package/utilities/observables/iteration.js +6 -0
- package/utilities/observables/iteration.js.map +1 -0
- package/utilities/observables/subclassing.d.ts +3 -0
- package/utilities/observables/subclassing.d.ts.map +1 -0
- package/utilities/observables/subclassing.js +13 -0
- package/utilities/observables/subclassing.js.map +1 -0
- package/utilities/package.json +8 -0
- package/utilities/policies/pagination.d.ts +28 -0
- package/utilities/policies/pagination.d.ts.map +1 -0
- package/utilities/policies/pagination.js +151 -0
- package/utilities/policies/pagination.js.map +1 -0
- package/utilities/types/IsStrictlyAny.d.ts +5 -0
- package/utilities/types/IsStrictlyAny.d.ts.map +1 -0
- package/utilities/types/IsStrictlyAny.js +2 -0
- package/utilities/types/IsStrictlyAny.js.map +1 -0
- package/utilities/utilities.cjs +1371 -0
- package/utilities/utilities.cjs.map +1 -0
- package/utilities/utilities.cjs.native.js +1371 -0
- package/version.d.ts +2 -0
- package/version.d.ts.map +1 -0
- package/version.js +2 -0
- package/version.js.map +1 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { DocumentNode, GraphQLError } from 'graphql';
|
|
2
|
+
import { Cache } from '../cache';
|
|
3
|
+
import { WatchQueryOptions, ErrorPolicy } from './watchQueryOptions';
|
|
4
|
+
import { ObservableQuery } from './ObservableQuery';
|
|
5
|
+
import { QueryListener } from './types';
|
|
6
|
+
import { FetchResult } from '../link/core';
|
|
7
|
+
import { ObservableSubscription } from '../utilities';
|
|
8
|
+
import { NetworkStatus } from './networkStatus';
|
|
9
|
+
import { ApolloError } from '../errors';
|
|
10
|
+
import { QueryManager } from './QueryManager';
|
|
11
|
+
export type QueryStoreValue = Pick<QueryInfo, "variables" | "networkStatus" | "networkError" | "graphQLErrors">;
|
|
12
|
+
export declare const enum CacheWriteBehavior {
|
|
13
|
+
FORBID = 0,
|
|
14
|
+
OVERWRITE = 1,
|
|
15
|
+
MERGE = 2
|
|
16
|
+
}
|
|
17
|
+
export declare class QueryInfo {
|
|
18
|
+
readonly queryId: string;
|
|
19
|
+
listeners: Set<QueryListener>;
|
|
20
|
+
document: DocumentNode | null;
|
|
21
|
+
lastRequestId: number;
|
|
22
|
+
subscriptions: Set<ObservableSubscription>;
|
|
23
|
+
variables?: Record<string, any>;
|
|
24
|
+
networkStatus?: NetworkStatus;
|
|
25
|
+
networkError?: Error | null;
|
|
26
|
+
graphQLErrors?: ReadonlyArray<GraphQLError>;
|
|
27
|
+
stopped: boolean;
|
|
28
|
+
private cache;
|
|
29
|
+
constructor(queryManager: QueryManager<any>, queryId?: string);
|
|
30
|
+
init(query: {
|
|
31
|
+
document: DocumentNode;
|
|
32
|
+
variables: Record<string, any> | undefined;
|
|
33
|
+
networkStatus?: NetworkStatus;
|
|
34
|
+
observableQuery?: ObservableQuery<any>;
|
|
35
|
+
lastRequestId?: number;
|
|
36
|
+
}): this;
|
|
37
|
+
private dirty;
|
|
38
|
+
private notifyTimeout?;
|
|
39
|
+
reset(): void;
|
|
40
|
+
getDiff(variables?: Record<string, any> | undefined): Cache.DiffResult<any>;
|
|
41
|
+
private lastDiff?;
|
|
42
|
+
private updateLastDiff;
|
|
43
|
+
private getDiffOptions;
|
|
44
|
+
setDiff(diff: Cache.DiffResult<any> | null): void;
|
|
45
|
+
readonly observableQuery: ObservableQuery<any> | null;
|
|
46
|
+
private oqListener?;
|
|
47
|
+
setObservableQuery(oq: ObservableQuery<any> | null): void;
|
|
48
|
+
notify(): void;
|
|
49
|
+
private shouldNotify;
|
|
50
|
+
stop(): void;
|
|
51
|
+
private cancel;
|
|
52
|
+
private lastWatch?;
|
|
53
|
+
private updateWatch;
|
|
54
|
+
private lastWrite?;
|
|
55
|
+
resetLastWrite(): void;
|
|
56
|
+
private shouldWrite;
|
|
57
|
+
markResult<T>(result: FetchResult<T>, document: DocumentNode, options: Pick<WatchQueryOptions, "variables" | "fetchPolicy" | "errorPolicy">, cacheWriteBehavior: CacheWriteBehavior): void;
|
|
58
|
+
markReady(): NetworkStatus;
|
|
59
|
+
markError(error: ApolloError): ApolloError;
|
|
60
|
+
}
|
|
61
|
+
export declare function shouldWriteResult<T>(result: FetchResult<T>, errorPolicy?: ErrorPolicy): boolean;
|
|
62
|
+
//# sourceMappingURL=QueryInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryInfo.d.ts","sourceRoot":"","sources":["../../src/core/QueryInfo.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
import { __assign } from "tslib";
|
|
2
|
+
import { equal } from "@wry/equality";
|
|
3
|
+
import { DeepMerger } from "../utilities/index.js";
|
|
4
|
+
import { mergeIncrementalData } from "../utilities/index.js";
|
|
5
|
+
import { reobserveCacheFirst } from "./ObservableQuery.js";
|
|
6
|
+
import { isNonEmptyArray, graphQLResultHasError, canUseWeakMap, } from "../utilities/index.js";
|
|
7
|
+
import { NetworkStatus, isNetworkRequestInFlight, } from "./networkStatus.js";
|
|
8
|
+
;
|
|
9
|
+
var destructiveMethodCounts = new (canUseWeakMap ? WeakMap : Map)();
|
|
10
|
+
function wrapDestructiveCacheMethod(cache, methodName) {
|
|
11
|
+
var original = cache[methodName];
|
|
12
|
+
if (typeof original === "function") {
|
|
13
|
+
cache[methodName] = function () {
|
|
14
|
+
destructiveMethodCounts.set(cache, (destructiveMethodCounts.get(cache) + 1) % 1e15);
|
|
15
|
+
return original.apply(this, arguments);
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function cancelNotifyTimeout(info) {
|
|
20
|
+
if (info["notifyTimeout"]) {
|
|
21
|
+
clearTimeout(info["notifyTimeout"]);
|
|
22
|
+
info["notifyTimeout"] = void 0;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
var QueryInfo = (function () {
|
|
26
|
+
function QueryInfo(queryManager, queryId) {
|
|
27
|
+
if (queryId === void 0) { queryId = queryManager.generateQueryId(); }
|
|
28
|
+
this.queryId = queryId;
|
|
29
|
+
this.listeners = new Set();
|
|
30
|
+
this.document = null;
|
|
31
|
+
this.lastRequestId = 1;
|
|
32
|
+
this.subscriptions = new Set();
|
|
33
|
+
this.stopped = false;
|
|
34
|
+
this.dirty = false;
|
|
35
|
+
this.observableQuery = null;
|
|
36
|
+
var cache = this.cache = queryManager.cache;
|
|
37
|
+
if (!destructiveMethodCounts.has(cache)) {
|
|
38
|
+
destructiveMethodCounts.set(cache, 0);
|
|
39
|
+
wrapDestructiveCacheMethod(cache, "evict");
|
|
40
|
+
wrapDestructiveCacheMethod(cache, "modify");
|
|
41
|
+
wrapDestructiveCacheMethod(cache, "reset");
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
QueryInfo.prototype.init = function (query) {
|
|
45
|
+
var networkStatus = query.networkStatus || NetworkStatus.loading;
|
|
46
|
+
if (this.variables &&
|
|
47
|
+
this.networkStatus !== NetworkStatus.loading &&
|
|
48
|
+
!equal(this.variables, query.variables)) {
|
|
49
|
+
networkStatus = NetworkStatus.setVariables;
|
|
50
|
+
}
|
|
51
|
+
if (!equal(query.variables, this.variables)) {
|
|
52
|
+
this.lastDiff = void 0;
|
|
53
|
+
}
|
|
54
|
+
Object.assign(this, {
|
|
55
|
+
document: query.document,
|
|
56
|
+
variables: query.variables,
|
|
57
|
+
networkError: null,
|
|
58
|
+
graphQLErrors: this.graphQLErrors || [],
|
|
59
|
+
networkStatus: networkStatus,
|
|
60
|
+
});
|
|
61
|
+
if (query.observableQuery) {
|
|
62
|
+
this.setObservableQuery(query.observableQuery);
|
|
63
|
+
}
|
|
64
|
+
if (query.lastRequestId) {
|
|
65
|
+
this.lastRequestId = query.lastRequestId;
|
|
66
|
+
}
|
|
67
|
+
return this;
|
|
68
|
+
};
|
|
69
|
+
QueryInfo.prototype.reset = function () {
|
|
70
|
+
cancelNotifyTimeout(this);
|
|
71
|
+
this.dirty = false;
|
|
72
|
+
};
|
|
73
|
+
QueryInfo.prototype.getDiff = function (variables) {
|
|
74
|
+
if (variables === void 0) { variables = this.variables; }
|
|
75
|
+
var options = this.getDiffOptions(variables);
|
|
76
|
+
if (this.lastDiff && equal(options, this.lastDiff.options)) {
|
|
77
|
+
return this.lastDiff.diff;
|
|
78
|
+
}
|
|
79
|
+
this.updateWatch(this.variables = variables);
|
|
80
|
+
var oq = this.observableQuery;
|
|
81
|
+
if (oq && oq.options.fetchPolicy === "no-cache") {
|
|
82
|
+
return { complete: false };
|
|
83
|
+
}
|
|
84
|
+
var diff = this.cache.diff(options);
|
|
85
|
+
this.updateLastDiff(diff, options);
|
|
86
|
+
return diff;
|
|
87
|
+
};
|
|
88
|
+
QueryInfo.prototype.updateLastDiff = function (diff, options) {
|
|
89
|
+
this.lastDiff = diff ? {
|
|
90
|
+
diff: diff,
|
|
91
|
+
options: options || this.getDiffOptions(),
|
|
92
|
+
} : void 0;
|
|
93
|
+
};
|
|
94
|
+
QueryInfo.prototype.getDiffOptions = function (variables) {
|
|
95
|
+
var _a;
|
|
96
|
+
if (variables === void 0) { variables = this.variables; }
|
|
97
|
+
return {
|
|
98
|
+
query: this.document,
|
|
99
|
+
variables: variables,
|
|
100
|
+
returnPartialData: true,
|
|
101
|
+
optimistic: true,
|
|
102
|
+
canonizeResults: (_a = this.observableQuery) === null || _a === void 0 ? void 0 : _a.options.canonizeResults,
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
QueryInfo.prototype.setDiff = function (diff) {
|
|
106
|
+
var _this = this;
|
|
107
|
+
var oldDiff = this.lastDiff && this.lastDiff.diff;
|
|
108
|
+
this.updateLastDiff(diff);
|
|
109
|
+
if (!this.dirty &&
|
|
110
|
+
!equal(oldDiff && oldDiff.result, diff && diff.result)) {
|
|
111
|
+
this.dirty = true;
|
|
112
|
+
if (!this.notifyTimeout) {
|
|
113
|
+
this.notifyTimeout = setTimeout(function () { return _this.notify(); }, 0);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
QueryInfo.prototype.setObservableQuery = function (oq) {
|
|
118
|
+
var _this = this;
|
|
119
|
+
if (oq === this.observableQuery)
|
|
120
|
+
return;
|
|
121
|
+
if (this.oqListener) {
|
|
122
|
+
this.listeners.delete(this.oqListener);
|
|
123
|
+
}
|
|
124
|
+
this.observableQuery = oq;
|
|
125
|
+
if (oq) {
|
|
126
|
+
oq["queryInfo"] = this;
|
|
127
|
+
this.listeners.add(this.oqListener = function () {
|
|
128
|
+
var diff = _this.getDiff();
|
|
129
|
+
if (diff.fromOptimisticTransaction) {
|
|
130
|
+
oq["observe"]();
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
reobserveCacheFirst(oq);
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
delete this.oqListener;
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
QueryInfo.prototype.notify = function () {
|
|
142
|
+
var _this = this;
|
|
143
|
+
cancelNotifyTimeout(this);
|
|
144
|
+
if (this.shouldNotify()) {
|
|
145
|
+
this.listeners.forEach(function (listener) { return listener(_this); });
|
|
146
|
+
}
|
|
147
|
+
this.dirty = false;
|
|
148
|
+
};
|
|
149
|
+
QueryInfo.prototype.shouldNotify = function () {
|
|
150
|
+
if (!this.dirty || !this.listeners.size) {
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
if (isNetworkRequestInFlight(this.networkStatus) &&
|
|
154
|
+
this.observableQuery) {
|
|
155
|
+
var fetchPolicy = this.observableQuery.options.fetchPolicy;
|
|
156
|
+
if (fetchPolicy !== "cache-only" &&
|
|
157
|
+
fetchPolicy !== "cache-and-network") {
|
|
158
|
+
return false;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return true;
|
|
162
|
+
};
|
|
163
|
+
QueryInfo.prototype.stop = function () {
|
|
164
|
+
if (!this.stopped) {
|
|
165
|
+
this.stopped = true;
|
|
166
|
+
this.reset();
|
|
167
|
+
this.cancel();
|
|
168
|
+
this.cancel = QueryInfo.prototype.cancel;
|
|
169
|
+
this.subscriptions.forEach(function (sub) { return sub.unsubscribe(); });
|
|
170
|
+
var oq = this.observableQuery;
|
|
171
|
+
if (oq)
|
|
172
|
+
oq.stopPolling();
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
QueryInfo.prototype.cancel = function () { };
|
|
176
|
+
QueryInfo.prototype.updateWatch = function (variables) {
|
|
177
|
+
var _this = this;
|
|
178
|
+
if (variables === void 0) { variables = this.variables; }
|
|
179
|
+
var oq = this.observableQuery;
|
|
180
|
+
if (oq && oq.options.fetchPolicy === "no-cache") {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
var watchOptions = __assign(__assign({}, this.getDiffOptions(variables)), { watcher: this, callback: function (diff) { return _this.setDiff(diff); } });
|
|
184
|
+
if (!this.lastWatch ||
|
|
185
|
+
!equal(watchOptions, this.lastWatch)) {
|
|
186
|
+
this.cancel();
|
|
187
|
+
this.cancel = this.cache.watch(this.lastWatch = watchOptions);
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
QueryInfo.prototype.resetLastWrite = function () {
|
|
191
|
+
this.lastWrite = void 0;
|
|
192
|
+
};
|
|
193
|
+
QueryInfo.prototype.shouldWrite = function (result, variables) {
|
|
194
|
+
var lastWrite = this.lastWrite;
|
|
195
|
+
return !(lastWrite &&
|
|
196
|
+
lastWrite.dmCount === destructiveMethodCounts.get(this.cache) &&
|
|
197
|
+
equal(variables, lastWrite.variables) &&
|
|
198
|
+
equal(result.data, lastWrite.result.data));
|
|
199
|
+
};
|
|
200
|
+
QueryInfo.prototype.markResult = function (result, document, options, cacheWriteBehavior) {
|
|
201
|
+
var _this = this;
|
|
202
|
+
var merger = new DeepMerger();
|
|
203
|
+
var graphQLErrors = isNonEmptyArray(result.errors)
|
|
204
|
+
? result.errors.slice(0)
|
|
205
|
+
: [];
|
|
206
|
+
this.reset();
|
|
207
|
+
if ('incremental' in result && isNonEmptyArray(result.incremental)) {
|
|
208
|
+
var mergedData = mergeIncrementalData(this.getDiff().result, result);
|
|
209
|
+
result.data = mergedData;
|
|
210
|
+
}
|
|
211
|
+
else if ('hasNext' in result && result.hasNext) {
|
|
212
|
+
var diff = this.getDiff();
|
|
213
|
+
result.data = merger.merge(diff.result, result.data);
|
|
214
|
+
}
|
|
215
|
+
this.graphQLErrors = graphQLErrors;
|
|
216
|
+
if (options.fetchPolicy === 'no-cache') {
|
|
217
|
+
this.updateLastDiff({ result: result.data, complete: true }, this.getDiffOptions(options.variables));
|
|
218
|
+
}
|
|
219
|
+
else if (cacheWriteBehavior !== 0) {
|
|
220
|
+
if (shouldWriteResult(result, options.errorPolicy)) {
|
|
221
|
+
this.cache.performTransaction(function (cache) {
|
|
222
|
+
if (_this.shouldWrite(result, options.variables)) {
|
|
223
|
+
cache.writeQuery({
|
|
224
|
+
query: document,
|
|
225
|
+
data: result.data,
|
|
226
|
+
variables: options.variables,
|
|
227
|
+
overwrite: cacheWriteBehavior === 1,
|
|
228
|
+
});
|
|
229
|
+
_this.lastWrite = {
|
|
230
|
+
result: result,
|
|
231
|
+
variables: options.variables,
|
|
232
|
+
dmCount: destructiveMethodCounts.get(_this.cache),
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
if (_this.lastDiff &&
|
|
237
|
+
_this.lastDiff.diff.complete) {
|
|
238
|
+
result.data = _this.lastDiff.diff.result;
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
var diffOptions = _this.getDiffOptions(options.variables);
|
|
243
|
+
var diff = cache.diff(diffOptions);
|
|
244
|
+
if (!_this.stopped) {
|
|
245
|
+
_this.updateWatch(options.variables);
|
|
246
|
+
}
|
|
247
|
+
_this.updateLastDiff(diff, diffOptions);
|
|
248
|
+
if (diff.complete) {
|
|
249
|
+
result.data = diff.result;
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
this.lastWrite = void 0;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
QueryInfo.prototype.markReady = function () {
|
|
259
|
+
this.networkError = null;
|
|
260
|
+
return this.networkStatus = NetworkStatus.ready;
|
|
261
|
+
};
|
|
262
|
+
QueryInfo.prototype.markError = function (error) {
|
|
263
|
+
this.networkStatus = NetworkStatus.error;
|
|
264
|
+
this.lastWrite = void 0;
|
|
265
|
+
this.reset();
|
|
266
|
+
if (error.graphQLErrors) {
|
|
267
|
+
this.graphQLErrors = error.graphQLErrors;
|
|
268
|
+
}
|
|
269
|
+
if (error.networkError) {
|
|
270
|
+
this.networkError = error.networkError;
|
|
271
|
+
}
|
|
272
|
+
return error;
|
|
273
|
+
};
|
|
274
|
+
return QueryInfo;
|
|
275
|
+
}());
|
|
276
|
+
export { QueryInfo };
|
|
277
|
+
export function shouldWriteResult(result, errorPolicy) {
|
|
278
|
+
if (errorPolicy === void 0) { errorPolicy = "none"; }
|
|
279
|
+
var ignoreErrors = errorPolicy === "ignore" ||
|
|
280
|
+
errorPolicy === "all";
|
|
281
|
+
var writeWithErrors = !graphQLResultHasError(result);
|
|
282
|
+
if (!writeWithErrors && ignoreErrors && result.data) {
|
|
283
|
+
writeWithErrors = true;
|
|
284
|
+
}
|
|
285
|
+
return writeWithErrors;
|
|
286
|
+
}
|
|
287
|
+
//# sourceMappingURL=QueryInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryInfo.js","sourceRoot":"","sources":["../../src/core/QueryInfo.ts"],"names":[],"mappings":"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","sourcesContent":["import { DocumentNode, GraphQLError } from 'graphql';\nimport { equal } from \"@wry/equality\";\n\nimport { Cache, ApolloCache } from '../cache';\nimport { DeepMerger } from \"../utilities\"\nimport { mergeIncrementalData } from '../utilities';\nimport { WatchQueryOptions, ErrorPolicy } from './watchQueryOptions';\nimport { ObservableQuery, reobserveCacheFirst } from './ObservableQuery';\nimport { QueryListener } from './types';\nimport { FetchResult } from '../link/core';\nimport {\n ObservableSubscription,\n isNonEmptyArray,\n graphQLResultHasError,\n canUseWeakMap,\n} from '../utilities';\nimport {\n NetworkStatus,\n isNetworkRequestInFlight,\n} from './networkStatus';\nimport { ApolloError } from '../errors';\nimport { QueryManager } from './QueryManager';\n\nexport type QueryStoreValue = Pick<QueryInfo,\n | \"variables\"\n | \"networkStatus\"\n | \"networkError\"\n | \"graphQLErrors\"\n >;\n\nexport const enum CacheWriteBehavior {\n FORBID,\n OVERWRITE,\n MERGE,\n};\n\nconst destructiveMethodCounts = new (\n canUseWeakMap ? WeakMap : Map\n)<ApolloCache<any>, number>();\n\nfunction wrapDestructiveCacheMethod(\n cache: ApolloCache<any>,\n methodName: keyof ApolloCache<any>,\n) {\n const original = cache[methodName];\n if (typeof original === \"function\") {\n cache[methodName] = function () {\n destructiveMethodCounts.set(\n cache,\n // The %1e15 allows the count to wrap around to 0 safely every\n // quadrillion evictions, so there's no risk of overflow. To be\n // clear, this is more of a pedantic principle than something\n // that matters in any conceivable practical scenario.\n (destructiveMethodCounts.get(cache)! + 1) % 1e15,\n );\n return original.apply(this, arguments);\n };\n }\n}\n\nfunction cancelNotifyTimeout(info: QueryInfo) {\n if (info[\"notifyTimeout\"]) {\n clearTimeout(info[\"notifyTimeout\"]);\n info[\"notifyTimeout\"] = void 0;\n }\n}\n\n// A QueryInfo object represents a single query managed by the\n// QueryManager, which tracks all QueryInfo objects by queryId in its\n// this.queries Map. QueryInfo objects store the latest results and errors\n// for the given query, and are responsible for reporting those results to\n// the corresponding ObservableQuery, via the QueryInfo.notify method.\n// Results are reported asynchronously whenever setDiff marks the\n// QueryInfo object as dirty, though a call to the QueryManager's\n// broadcastQueries method may trigger the notification before it happens\n// automatically. This class used to be a simple interface type without\n// any field privacy or meaningful methods, which is why it still has so\n// many public fields. The effort to lock down and simplify the QueryInfo\n// interface is ongoing, and further improvements are welcome.\nexport class QueryInfo {\n listeners = new Set<QueryListener>();\n document: DocumentNode | null = null;\n lastRequestId = 1;\n subscriptions = new Set<ObservableSubscription>();\n variables?: Record<string, any>;\n networkStatus?: NetworkStatus;\n networkError?: Error | null;\n graphQLErrors?: ReadonlyArray<GraphQLError>;\n stopped = false;\n\n private cache: ApolloCache<any>;\n\n constructor(\n queryManager: QueryManager<any>,\n public readonly queryId = queryManager.generateQueryId(),\n ) {\n const cache = this.cache = queryManager.cache;\n\n // Track how often cache.evict is called, since we want eviction to\n // override the feud-stopping logic in the markResult method, by\n // causing shouldWrite to return true. Wrapping the cache.evict method\n // is a bit of a hack, but it saves us from having to make eviction\n // counting an official part of the ApolloCache API.\n if (!destructiveMethodCounts.has(cache)) {\n destructiveMethodCounts.set(cache, 0);\n wrapDestructiveCacheMethod(cache, \"evict\");\n wrapDestructiveCacheMethod(cache, \"modify\");\n wrapDestructiveCacheMethod(cache, \"reset\");\n }\n }\n\n public init(query: {\n document: DocumentNode;\n variables: Record<string, any> | undefined,\n // The initial networkStatus for this fetch, most often\n // NetworkStatus.loading, but also possibly fetchMore, poll, refetch,\n // or setVariables.\n networkStatus?: NetworkStatus,\n observableQuery?: ObservableQuery<any>;\n lastRequestId?: number;\n }): this {\n let networkStatus = query.networkStatus || NetworkStatus.loading;\n if (this.variables &&\n this.networkStatus !== NetworkStatus.loading &&\n !equal(this.variables, query.variables)) {\n networkStatus = NetworkStatus.setVariables;\n }\n\n if (!equal(query.variables, this.variables)) {\n this.lastDiff = void 0;\n }\n\n Object.assign(this, {\n document: query.document,\n variables: query.variables,\n networkError: null,\n graphQLErrors: this.graphQLErrors || [],\n networkStatus,\n });\n\n if (query.observableQuery) {\n this.setObservableQuery(query.observableQuery);\n }\n\n if (query.lastRequestId) {\n this.lastRequestId = query.lastRequestId;\n }\n\n return this;\n }\n\n private dirty: boolean = false;\n\n private notifyTimeout?: ReturnType<typeof setTimeout>;\n\n reset() {\n cancelNotifyTimeout(this);\n this.dirty = false;\n }\n\n getDiff(variables = this.variables): Cache.DiffResult<any> {\n const options = this.getDiffOptions(variables);\n\n if (this.lastDiff && equal(options, this.lastDiff.options)) {\n return this.lastDiff.diff;\n }\n\n this.updateWatch(this.variables = variables);\n\n const oq = this.observableQuery;\n if (oq && oq.options.fetchPolicy === \"no-cache\") {\n return { complete: false };\n }\n\n const diff = this.cache.diff(options);\n this.updateLastDiff(diff, options);\n return diff;\n }\n\n private lastDiff?: {\n diff: Cache.DiffResult<any>,\n options: Cache.DiffOptions,\n };\n\n private updateLastDiff(\n diff: Cache.DiffResult<any> | null,\n options?: Cache.DiffOptions,\n ) {\n this.lastDiff = diff ? {\n diff,\n options: options || this.getDiffOptions(),\n } : void 0;\n }\n\n private getDiffOptions(variables = this.variables): Cache.DiffOptions {\n return {\n query: this.document!,\n variables,\n returnPartialData: true,\n optimistic: true,\n canonizeResults: this.observableQuery?.options.canonizeResults,\n };\n }\n\n setDiff(diff: Cache.DiffResult<any> | null) {\n const oldDiff = this.lastDiff && this.lastDiff.diff;\n this.updateLastDiff(diff);\n if (!this.dirty &&\n !equal(oldDiff && oldDiff.result,\n diff && diff.result)) {\n this.dirty = true;\n if (!this.notifyTimeout) {\n this.notifyTimeout = setTimeout(() => this.notify(), 0);\n }\n }\n }\n\n public readonly observableQuery: ObservableQuery<any> | null = null;\n private oqListener?: QueryListener;\n\n setObservableQuery(oq: ObservableQuery<any> | null) {\n if (oq === this.observableQuery) return;\n\n if (this.oqListener) {\n this.listeners.delete(this.oqListener);\n }\n\n (this as any).observableQuery = oq;\n\n if (oq) {\n oq[\"queryInfo\"] = this;\n this.listeners.add(this.oqListener = () => {\n const diff = this.getDiff();\n if (diff.fromOptimisticTransaction) {\n // If this diff came from an optimistic transaction, deliver the\n // current cache data to the ObservableQuery, but don't perform a\n // reobservation, since oq.reobserveCacheFirst might make a network\n // request, and we never want to trigger network requests in the\n // middle of optimistic updates.\n oq[\"observe\"]();\n } else {\n // Otherwise, make the ObservableQuery \"reobserve\" the latest data\n // using a temporary fetch policy of \"cache-first\", so complete cache\n // results have a chance to be delivered without triggering additional\n // network requests, even when options.fetchPolicy is \"network-only\"\n // or \"cache-and-network\". All other fetch policies are preserved by\n // this method, and are handled by calling oq.reobserve(). If this\n // reobservation is spurious, isDifferentFromLastResult still has a\n // chance to catch it before delivery to ObservableQuery subscribers.\n reobserveCacheFirst(oq);\n }\n });\n } else {\n delete this.oqListener;\n }\n }\n\n notify() {\n cancelNotifyTimeout(this);\n\n if (this.shouldNotify()) {\n this.listeners.forEach(listener => listener(this));\n }\n\n this.dirty = false;\n }\n\n private shouldNotify() {\n if (!this.dirty || !this.listeners.size) {\n return false;\n }\n\n if (isNetworkRequestInFlight(this.networkStatus) &&\n this.observableQuery) {\n const { fetchPolicy } = this.observableQuery.options;\n if (fetchPolicy !== \"cache-only\" &&\n fetchPolicy !== \"cache-and-network\") {\n return false;\n }\n }\n\n return true;\n }\n\n public stop() {\n if (!this.stopped) {\n this.stopped = true;\n\n // Cancel the pending notify timeout\n this.reset();\n\n this.cancel();\n // Revert back to the no-op version of cancel inherited from\n // QueryInfo.prototype.\n this.cancel = QueryInfo.prototype.cancel;\n\n this.subscriptions.forEach(sub => sub.unsubscribe());\n\n const oq = this.observableQuery;\n if (oq) oq.stopPolling();\n }\n }\n\n // This method is a no-op by default, until/unless overridden by the\n // updateWatch method.\n private cancel() {}\n\n private lastWatch?: Cache.WatchOptions;\n\n private updateWatch(variables = this.variables) {\n const oq = this.observableQuery;\n if (oq && oq.options.fetchPolicy === \"no-cache\") {\n return;\n }\n\n const watchOptions: Cache.WatchOptions = {\n // Although this.getDiffOptions returns Cache.DiffOptions instead of\n // Cache.WatchOptions, all the overlapping options should be the same, so\n // we can reuse getDiffOptions here, for consistency.\n ...this.getDiffOptions(variables),\n watcher: this,\n callback: diff => this.setDiff(diff),\n };\n\n if (!this.lastWatch ||\n !equal(watchOptions, this.lastWatch)) {\n this.cancel();\n this.cancel = this.cache.watch(this.lastWatch = watchOptions);\n }\n }\n\n private lastWrite?: {\n result: FetchResult<any>;\n variables: WatchQueryOptions[\"variables\"];\n dmCount: number | undefined;\n };\n\n public resetLastWrite() {\n this.lastWrite = void 0;\n }\n\n private shouldWrite(\n result: FetchResult<any>,\n variables: WatchQueryOptions[\"variables\"],\n ) {\n const { lastWrite } = this;\n return !(\n lastWrite &&\n // If cache.evict has been called since the last time we wrote this\n // data into the cache, there's a chance writing this result into\n // the cache will repair what was evicted.\n lastWrite.dmCount === destructiveMethodCounts.get(this.cache) &&\n equal(variables, lastWrite.variables) &&\n equal(result.data, lastWrite.result.data)\n );\n }\n\n public markResult<T>(\n result: FetchResult<T>,\n document: DocumentNode,\n options: Pick<WatchQueryOptions,\n | \"variables\"\n | \"fetchPolicy\"\n | \"errorPolicy\">,\n cacheWriteBehavior: CacheWriteBehavior,\n ) {\n const merger = new DeepMerger();\n const graphQLErrors = isNonEmptyArray(result.errors)\n ? result.errors.slice(0)\n : [];\n\n // Cancel the pending notify timeout (if it exists) to prevent extraneous network\n // requests. To allow future notify timeouts, diff and dirty are reset as well.\n this.reset();\n\n if ('incremental' in result && isNonEmptyArray(result.incremental)) {\n const mergedData = mergeIncrementalData(this.getDiff().result, result);\n result.data = mergedData;\n\n // Detect the first chunk of a deferred query and merge it with existing\n // cache data. This ensures a `cache-first` fetch policy that returns\n // partial cache data or a `cache-and-network` fetch policy that already\n // has full data in the cache does not complain when trying to merge the\n // initial deferred server data with existing cache data.\n } else if ('hasNext' in result && result.hasNext) {\n const diff = this.getDiff();\n result.data = merger.merge(diff.result, result.data)\n }\n\n this.graphQLErrors = graphQLErrors;\n\n if (options.fetchPolicy === 'no-cache') {\n this.updateLastDiff(\n { result: result.data, complete: true },\n this.getDiffOptions(options.variables),\n );\n\n } else if (cacheWriteBehavior !== CacheWriteBehavior.FORBID) {\n if (shouldWriteResult(result, options.errorPolicy)) {\n // Using a transaction here so we have a chance to read the result\n // back from the cache before the watch callback fires as a result\n // of writeQuery, so we can store the new diff quietly and ignore\n // it when we receive it redundantly from the watch callback.\n this.cache.performTransaction(cache => {\n if (this.shouldWrite(result, options.variables)) {\n cache.writeQuery({\n query: document,\n data: result.data as T,\n variables: options.variables,\n overwrite: cacheWriteBehavior === CacheWriteBehavior.OVERWRITE,\n });\n\n this.lastWrite = {\n result,\n variables: options.variables,\n dmCount: destructiveMethodCounts.get(this.cache),\n };\n } else {\n // If result is the same as the last result we received from\n // the network (and the variables match too), avoid writing\n // result into the cache again. The wisdom of skipping this\n // cache write is far from obvious, since any cache write\n // could be the one that puts the cache back into a desired\n // state, fixing corruption or missing data. However, if we\n // always write every network result into the cache, we enable\n // feuds between queries competing to update the same data in\n // incompatible ways, which can lead to an endless cycle of\n // cache broadcasts and useless network requests. As with any\n // feud, eventually one side must step back from the brink,\n // letting the other side(s) have the last word(s). There may\n // be other points where we could break this cycle, such as\n // silencing the broadcast for cache.writeQuery (not a good\n // idea, since it just delays the feud a bit) or somehow\n // avoiding the network request that just happened (also bad,\n // because the server could return useful new data). All\n // options considered, skipping this cache write seems to be\n // the least damaging place to break the cycle, because it\n // reflects the intuition that we recently wrote this exact\n // result into the cache, so the cache *should* already/still\n // contain this data. If some other query has clobbered that\n // data in the meantime, that's too bad, but there will be no\n // winners if every query blindly reverts to its own version\n // of the data. This approach also gives the network a chance\n // to return new data, which will be written into the cache as\n // usual, notifying only those queries that are directly\n // affected by the cache updates, as usual. In the future, an\n // even more sophisticated cache could perhaps prevent or\n // mitigate the clobbering somehow, but that would make this\n // particular cache write even less important, and thus\n // skipping it would be even safer than it is today.\n if (this.lastDiff &&\n this.lastDiff.diff.complete) {\n // Reuse data from the last good (complete) diff that we\n // received, when possible.\n result.data = this.lastDiff.diff.result;\n return;\n }\n // If the previous this.diff was incomplete, fall through to\n // re-reading the latest data with cache.diff, below.\n }\n\n const diffOptions = this.getDiffOptions(options.variables);\n const diff = cache.diff<T>(diffOptions);\n\n // In case the QueryManager stops this QueryInfo before its\n // results are delivered, it's important to avoid restarting the\n // cache watch when markResult is called.\n if (!this.stopped) {\n // Any time we're about to update this.diff, we need to make\n // sure we've started watching the cache.\n this.updateWatch(options.variables);\n }\n\n // If we're allowed to write to the cache, and we can read a\n // complete result from the cache, update result.data to be the\n // result from the cache, rather than the raw network result.\n // Set without setDiff to avoid triggering a notify call, since\n // we have other ways of notifying for this result.\n this.updateLastDiff(diff, diffOptions);\n if (diff.complete) {\n result.data = diff.result;\n }\n });\n } else {\n this.lastWrite = void 0;\n }\n }\n }\n\n public markReady() {\n this.networkError = null;\n return this.networkStatus = NetworkStatus.ready;\n }\n\n public markError(error: ApolloError) {\n this.networkStatus = NetworkStatus.error;\n this.lastWrite = void 0;\n\n this.reset();\n\n if (error.graphQLErrors) {\n this.graphQLErrors = error.graphQLErrors;\n }\n\n if (error.networkError) {\n this.networkError = error.networkError;\n }\n\n return error;\n }\n}\n\nexport function shouldWriteResult<T>(\n result: FetchResult<T>,\n errorPolicy: ErrorPolicy = \"none\",\n) {\n const ignoreErrors =\n errorPolicy === \"ignore\" ||\n errorPolicy === \"all\";\n let writeWithErrors = !graphQLResultHasError(result);\n if (!writeWithErrors && ignoreErrors && result.data) {\n writeWithErrors = true;\n }\n return writeWithErrors;\n}\n"]}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { DocumentNode } from 'graphql';
|
|
2
|
+
import { ApolloLink, FetchResult } from '../link/core';
|
|
3
|
+
import { Cache, ApolloCache } from '../cache';
|
|
4
|
+
import { Observable, Concast } from '../utilities';
|
|
5
|
+
import { QueryOptions, WatchQueryOptions, SubscriptionOptions, MutationOptions, ErrorPolicy, MutationFetchPolicy } from './watchQueryOptions';
|
|
6
|
+
import { ObservableQuery } from './ObservableQuery';
|
|
7
|
+
import { NetworkStatus } from './networkStatus';
|
|
8
|
+
import { ApolloQueryResult, OperationVariables, MutationUpdaterFunction, OnQueryUpdated, InternalRefetchQueriesInclude, InternalRefetchQueriesOptions, InternalRefetchQueriesMap } from './types';
|
|
9
|
+
import { LocalState } from './LocalState';
|
|
10
|
+
import { QueryStoreValue } from './QueryInfo';
|
|
11
|
+
interface MutationStoreValue {
|
|
12
|
+
mutation: DocumentNode;
|
|
13
|
+
variables: Record<string, any>;
|
|
14
|
+
loading: boolean;
|
|
15
|
+
error: Error | null;
|
|
16
|
+
}
|
|
17
|
+
type UpdateQueries<TData> = MutationOptions<TData, any, any>["updateQueries"];
|
|
18
|
+
interface TransformCacheEntry {
|
|
19
|
+
document: DocumentNode;
|
|
20
|
+
hasClientExports: boolean;
|
|
21
|
+
hasForcedResolvers: boolean;
|
|
22
|
+
clientQuery: DocumentNode | null;
|
|
23
|
+
serverQuery: DocumentNode | null;
|
|
24
|
+
defaultVars: OperationVariables;
|
|
25
|
+
asQuery: DocumentNode;
|
|
26
|
+
}
|
|
27
|
+
type DefaultOptions = import("./ApolloClient").DefaultOptions;
|
|
28
|
+
export declare class QueryManager<TStore> {
|
|
29
|
+
cache: ApolloCache<TStore>;
|
|
30
|
+
link: ApolloLink;
|
|
31
|
+
defaultOptions: DefaultOptions;
|
|
32
|
+
readonly assumeImmutableResults: boolean;
|
|
33
|
+
readonly ssrMode: boolean;
|
|
34
|
+
private queryDeduplication;
|
|
35
|
+
private clientAwareness;
|
|
36
|
+
private localState;
|
|
37
|
+
private onBroadcast?;
|
|
38
|
+
mutationStore?: {
|
|
39
|
+
[mutationId: string]: MutationStoreValue;
|
|
40
|
+
};
|
|
41
|
+
private queries;
|
|
42
|
+
private fetchCancelFns;
|
|
43
|
+
constructor({ cache, link, defaultOptions, queryDeduplication, onBroadcast, ssrMode, clientAwareness, localState, assumeImmutableResults, }: {
|
|
44
|
+
cache: ApolloCache<TStore>;
|
|
45
|
+
link: ApolloLink;
|
|
46
|
+
defaultOptions?: DefaultOptions;
|
|
47
|
+
queryDeduplication?: boolean;
|
|
48
|
+
onBroadcast?: () => void;
|
|
49
|
+
ssrMode?: boolean;
|
|
50
|
+
clientAwareness?: Record<string, string>;
|
|
51
|
+
localState?: LocalState<TStore>;
|
|
52
|
+
assumeImmutableResults?: boolean;
|
|
53
|
+
});
|
|
54
|
+
stop(): void;
|
|
55
|
+
private cancelPendingFetches;
|
|
56
|
+
mutate<TData, TVariables extends OperationVariables, TContext extends Record<string, any>, TCache extends ApolloCache<any>>({ mutation, variables, optimisticResponse, updateQueries, refetchQueries, awaitRefetchQueries, update: updateWithProxyFn, onQueryUpdated, fetchPolicy, errorPolicy, keepRootFields, context, }: MutationOptions<TData, TVariables, TContext>): Promise<FetchResult<TData>>;
|
|
57
|
+
markMutationResult<TData, TVariables, TContext, TCache extends ApolloCache<any>>(mutation: {
|
|
58
|
+
mutationId: string;
|
|
59
|
+
result: FetchResult<TData>;
|
|
60
|
+
document: DocumentNode;
|
|
61
|
+
variables?: TVariables;
|
|
62
|
+
fetchPolicy?: MutationFetchPolicy;
|
|
63
|
+
errorPolicy: ErrorPolicy;
|
|
64
|
+
context?: TContext;
|
|
65
|
+
updateQueries: UpdateQueries<TData>;
|
|
66
|
+
update?: MutationUpdaterFunction<TData, TVariables, TContext, TCache>;
|
|
67
|
+
awaitRefetchQueries?: boolean;
|
|
68
|
+
refetchQueries?: InternalRefetchQueriesInclude;
|
|
69
|
+
removeOptimistic?: string;
|
|
70
|
+
onQueryUpdated?: OnQueryUpdated<any>;
|
|
71
|
+
keepRootFields?: boolean;
|
|
72
|
+
}, cache?: ApolloCache<TStore>): Promise<FetchResult<TData>>;
|
|
73
|
+
markMutationOptimistic<TData, TVariables, TContext, TCache extends ApolloCache<any>>(optimisticResponse: any, mutation: {
|
|
74
|
+
mutationId: string;
|
|
75
|
+
document: DocumentNode;
|
|
76
|
+
variables?: TVariables;
|
|
77
|
+
fetchPolicy?: MutationFetchPolicy;
|
|
78
|
+
errorPolicy: ErrorPolicy;
|
|
79
|
+
context?: TContext;
|
|
80
|
+
updateQueries: UpdateQueries<TData>;
|
|
81
|
+
update?: MutationUpdaterFunction<TData, TVariables, TContext, TCache>;
|
|
82
|
+
keepRootFields?: boolean;
|
|
83
|
+
}): void;
|
|
84
|
+
fetchQuery<TData, TVars extends OperationVariables>(queryId: string, options: WatchQueryOptions<TVars, TData>, networkStatus?: NetworkStatus): Promise<ApolloQueryResult<TData>>;
|
|
85
|
+
getQueryStore(): Record<string, QueryStoreValue>;
|
|
86
|
+
resetErrors(queryId: string): void;
|
|
87
|
+
private transformCache;
|
|
88
|
+
transform(document: DocumentNode): TransformCacheEntry;
|
|
89
|
+
private getVariables;
|
|
90
|
+
watchQuery<T, TVariables extends OperationVariables = OperationVariables>(options: WatchQueryOptions<TVariables, T>): ObservableQuery<T, TVariables>;
|
|
91
|
+
query<TData, TVars extends OperationVariables = OperationVariables>(options: QueryOptions<TVars, TData>, queryId?: string): Promise<ApolloQueryResult<TData>>;
|
|
92
|
+
private queryIdCounter;
|
|
93
|
+
generateQueryId(): string;
|
|
94
|
+
private requestIdCounter;
|
|
95
|
+
generateRequestId(): number;
|
|
96
|
+
private mutationIdCounter;
|
|
97
|
+
generateMutationId(): string;
|
|
98
|
+
stopQueryInStore(queryId: string): void;
|
|
99
|
+
private stopQueryInStoreNoBroadcast;
|
|
100
|
+
clearStore(options?: Cache.ResetOptions): Promise<void>;
|
|
101
|
+
getObservableQueries(include?: InternalRefetchQueriesInclude): Map<string, ObservableQuery<any, OperationVariables>>;
|
|
102
|
+
reFetchObservableQueries(includeStandby?: boolean): Promise<ApolloQueryResult<any>[]>;
|
|
103
|
+
setObservableQuery(observableQuery: ObservableQuery<any, any>): void;
|
|
104
|
+
startGraphQLSubscription<T = any>({ query, fetchPolicy, errorPolicy, variables, context, }: SubscriptionOptions): Observable<FetchResult<T>>;
|
|
105
|
+
stopQuery(queryId: string): void;
|
|
106
|
+
private stopQueryNoBroadcast;
|
|
107
|
+
removeQuery(queryId: string): void;
|
|
108
|
+
broadcastQueries(): void;
|
|
109
|
+
getLocalState(): LocalState<TStore>;
|
|
110
|
+
private inFlightLinkObservables;
|
|
111
|
+
private getObservableFromLink;
|
|
112
|
+
private getResultsFromLink;
|
|
113
|
+
fetchQueryObservable<TData, TVars extends OperationVariables>(queryId: string, options: WatchQueryOptions<TVars, TData>, networkStatus?: NetworkStatus): Concast<ApolloQueryResult<TData>>;
|
|
114
|
+
refetchQueries<TResult>({ updateCache, include, optimistic, removeOptimistic, onQueryUpdated, }: InternalRefetchQueriesOptions<ApolloCache<TStore>, TResult>): InternalRefetchQueriesMap<TResult>;
|
|
115
|
+
private fetchQueryByPolicy;
|
|
116
|
+
private getQuery;
|
|
117
|
+
private prepareContext;
|
|
118
|
+
}
|
|
119
|
+
export {};
|
|
120
|
+
//# sourceMappingURL=QueryManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryManager.d.ts","sourceRoot":"","sources":["../../src/core/QueryManager.ts"],"names":[],"mappings":"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"}
|