@apollo/client 4.3.0-alpha.2 → 4.3.0-alpha.4

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.
Files changed (142) hide show
  1. package/CHANGELOG.md +169 -0
  2. package/__cjs/cache/core/types/Cache.d.cts +25 -0
  3. package/__cjs/cache/index.cjs.map +1 -1
  4. package/__cjs/cache/index.d.cts +2 -2
  5. package/__cjs/cache/inmemory/entityStore.cjs +12 -6
  6. package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
  7. package/__cjs/cache/inmemory/entityStore.d.cts +1 -0
  8. package/__cjs/cache/inmemory/inMemoryCache.cjs +4 -0
  9. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  10. package/__cjs/cache/inmemory/inMemoryCache.d.cts +7 -3
  11. package/__cjs/cache/inmemory/readFromStore.cjs +453 -43
  12. package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  13. package/__cjs/cache/inmemory/readFromStore.d.cts +11 -2
  14. package/__cjs/cache/inmemory/types.d.cts +11 -1
  15. package/__cjs/cache/inmemory/writeToStore.cjs +2 -2
  16. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  17. package/__cjs/core/ObservableQuery.cjs +1 -3
  18. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  19. package/__cjs/core/QueryInfo.cjs +94 -16
  20. package/__cjs/core/QueryInfo.cjs.map +1 -1
  21. package/__cjs/core/QueryInfo.d.cts +12 -3
  22. package/__cjs/core/QueryManager.cjs +13 -18
  23. package/__cjs/core/QueryManager.cjs.map +1 -1
  24. package/__cjs/core/QueryManager.d.cts +0 -2
  25. package/__cjs/incremental/handlers/defer20220824.cjs.map +1 -1
  26. package/__cjs/incremental/handlers/defer20220824.d.cts +2 -4
  27. package/__cjs/incremental/handlers/graphql17Alpha9.cjs +20 -12
  28. package/__cjs/incremental/handlers/graphql17Alpha9.cjs.map +1 -1
  29. package/__cjs/incremental/handlers/graphql17Alpha9.d.cts +5 -5
  30. package/__cjs/incremental/types.d.cts +16 -3
  31. package/__cjs/utilities/caching/sizes.cjs.map +1 -1
  32. package/__cjs/utilities/caching/sizes.d.cts +39 -1
  33. package/__cjs/utilities/index.cjs.map +1 -1
  34. package/__cjs/utilities/index.d.cts +1 -0
  35. package/__cjs/utilities/internal/StreamArrayState.cjs +27 -0
  36. package/__cjs/utilities/internal/StreamArrayState.cjs.map +1 -0
  37. package/__cjs/utilities/internal/StreamArrayState.d.cts +12 -0
  38. package/__cjs/utilities/internal/constants.cjs +20 -1
  39. package/__cjs/utilities/internal/constants.cjs.map +1 -1
  40. package/__cjs/utilities/internal/constants.d.cts +19 -0
  41. package/__cjs/utilities/internal/getFragmentFromSelection.cjs +1 -1
  42. package/__cjs/utilities/internal/getFragmentFromSelection.cjs.map +1 -1
  43. package/__cjs/utilities/internal/getMemoryInternals.cjs +6 -0
  44. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
  45. package/__cjs/utilities/internal/getMemoryInternals.d.cts +4 -0
  46. package/__cjs/utilities/internal/index.cjs +13 -2
  47. package/__cjs/utilities/internal/index.cjs.map +1 -1
  48. package/__cjs/utilities/internal/index.d.cts +7 -1
  49. package/__cjs/utilities/internal/isDeferredFragment.cjs +38 -0
  50. package/__cjs/utilities/internal/isDeferredFragment.cjs.map +1 -0
  51. package/__cjs/utilities/internal/isDeferredFragment.d.cts +9 -0
  52. package/__cjs/utilities/internal/isStreamField.cjs +37 -0
  53. package/__cjs/utilities/internal/isStreamField.cjs.map +1 -0
  54. package/__cjs/utilities/internal/isStreamField.d.cts +9 -0
  55. package/__cjs/utilities/internal/isTypenameField.cjs +7 -0
  56. package/__cjs/utilities/internal/isTypenameField.cjs.map +1 -0
  57. package/__cjs/utilities/internal/isTypenameField.d.cts +3 -0
  58. package/__cjs/utilities/internal/makeStreamInfoTrie.cjs +17 -0
  59. package/__cjs/utilities/internal/makeStreamInfoTrie.cjs.map +1 -0
  60. package/__cjs/utilities/internal/makeStreamInfoTrie.d.cts +8 -0
  61. package/__cjs/utilities/internal/types/DeferInfo.cjs +3 -0
  62. package/__cjs/utilities/internal/types/DeferInfo.cjs.map +1 -0
  63. package/__cjs/utilities/internal/types/DeferInfo.d.cts +10 -0
  64. package/__cjs/utilities/internal/types/StreamInfoTrie.d.cts +2 -0
  65. package/__cjs/utilities/policies/pagination.cjs.map +1 -1
  66. package/__cjs/utilities/policies/pagination.d.cts +1 -1
  67. package/__cjs/utilities/subscriptions/relay/index.cjs +1 -0
  68. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
  69. package/__cjs/version.cjs +1 -1
  70. package/cache/core/types/Cache.d.ts +25 -0
  71. package/cache/core/types/Cache.js.map +1 -1
  72. package/cache/index.d.ts +2 -2
  73. package/cache/index.js.map +1 -1
  74. package/cache/inmemory/entityStore.d.ts +1 -0
  75. package/cache/inmemory/entityStore.js +12 -6
  76. package/cache/inmemory/entityStore.js.map +1 -1
  77. package/cache/inmemory/inMemoryCache.d.ts +7 -3
  78. package/cache/inmemory/inMemoryCache.js +5 -1
  79. package/cache/inmemory/inMemoryCache.js.map +1 -1
  80. package/cache/inmemory/readFromStore.d.ts +11 -2
  81. package/cache/inmemory/readFromStore.js +454 -44
  82. package/cache/inmemory/readFromStore.js.map +1 -1
  83. package/cache/inmemory/types.d.ts +12 -2
  84. package/cache/inmemory/types.js.map +1 -1
  85. package/cache/inmemory/writeToStore.js +3 -3
  86. package/cache/inmemory/writeToStore.js.map +1 -1
  87. package/core/ObservableQuery.js +1 -3
  88. package/core/ObservableQuery.js.map +1 -1
  89. package/core/QueryInfo.d.ts +12 -3
  90. package/core/QueryInfo.js +95 -17
  91. package/core/QueryInfo.js.map +1 -1
  92. package/core/QueryManager.d.ts +0 -2
  93. package/core/QueryManager.js +13 -18
  94. package/core/QueryManager.js.map +1 -1
  95. package/incremental/handlers/defer20220824.d.ts +2 -4
  96. package/incremental/handlers/defer20220824.js.map +1 -1
  97. package/incremental/handlers/graphql17Alpha9.d.ts +5 -5
  98. package/incremental/handlers/graphql17Alpha9.js +21 -13
  99. package/incremental/handlers/graphql17Alpha9.js.map +1 -1
  100. package/incremental/types.d.ts +16 -3
  101. package/incremental/types.js.map +1 -1
  102. package/package.json +1 -1
  103. package/utilities/caching/sizes.d.ts +39 -1
  104. package/utilities/caching/sizes.js.map +1 -1
  105. package/utilities/index.d.ts +1 -0
  106. package/utilities/index.js.map +1 -1
  107. package/utilities/internal/StreamArrayState.d.ts +12 -0
  108. package/utilities/internal/StreamArrayState.js +23 -0
  109. package/utilities/internal/StreamArrayState.js.map +1 -0
  110. package/utilities/internal/constants.d.ts +19 -0
  111. package/utilities/internal/constants.js +19 -0
  112. package/utilities/internal/constants.js.map +1 -1
  113. package/utilities/internal/getFragmentFromSelection.js +1 -1
  114. package/utilities/internal/getFragmentFromSelection.js.map +1 -1
  115. package/utilities/internal/getMemoryInternals.d.ts +4 -0
  116. package/utilities/internal/getMemoryInternals.js +6 -0
  117. package/utilities/internal/getMemoryInternals.js.map +1 -1
  118. package/utilities/internal/index.d.ts +7 -1
  119. package/utilities/internal/index.js +6 -1
  120. package/utilities/internal/index.js.map +1 -1
  121. package/utilities/internal/isDeferredFragment.d.ts +9 -0
  122. package/utilities/internal/isDeferredFragment.js +35 -0
  123. package/utilities/internal/isDeferredFragment.js.map +1 -0
  124. package/utilities/internal/isStreamField.d.ts +9 -0
  125. package/utilities/internal/isStreamField.js +34 -0
  126. package/utilities/internal/isStreamField.js.map +1 -0
  127. package/utilities/internal/isTypenameField.d.ts +3 -0
  128. package/utilities/internal/isTypenameField.js +4 -0
  129. package/utilities/internal/isTypenameField.js.map +1 -0
  130. package/utilities/internal/makeStreamInfoTrie.d.ts +8 -0
  131. package/utilities/internal/makeStreamInfoTrie.js +14 -0
  132. package/utilities/internal/makeStreamInfoTrie.js.map +1 -0
  133. package/utilities/internal/types/DeferInfo.d.ts +10 -0
  134. package/utilities/internal/types/DeferInfo.js +2 -0
  135. package/utilities/internal/types/DeferInfo.js.map +1 -0
  136. package/utilities/internal/types/StreamInfoTrie.d.ts +2 -0
  137. package/utilities/internal/types/StreamInfoTrie.js.map +1 -1
  138. package/utilities/policies/pagination.d.ts +1 -1
  139. package/utilities/policies/pagination.js.map +1 -1
  140. package/utilities/subscriptions/relay/index.js +1 -0
  141. package/utilities/subscriptions/relay/index.js.map +1 -1
  142. package/version.js +1 -1
@@ -2,13 +2,13 @@ import type { DocumentNode, FragmentDefinitionNode, InlineFragmentNode } from "g
2
2
  import type { OperationVariables, TypedDocumentNode } from "@apollo/client";
3
3
  import type { DeepPartial, Reference, StoreObject } from "@apollo/client/utilities";
4
4
  import type { IsLooselyEqual, NoInfer } from "@apollo/client/utilities/internal";
5
- import { getInMemoryCacheMemoryInternals } from "@apollo/client/utilities/internal";
5
+ import { getInMemoryCacheMemoryInternals, handleIncrementalSymbol } from "@apollo/client/utilities/internal";
6
6
  import { ApolloCache } from "../core/cache.js";
7
7
  import type { Scalar } from "../core/Scalar.js";
8
8
  import type { Cache } from "../core/types/Cache.js";
9
9
  import { Policies } from "./policies.js";
10
10
  import { makeVar } from "./reactiveVars.js";
11
- import type { InMemoryCacheConfig, KnownScalars, NormalizedCacheObject } from "./types.js";
11
+ import type { DiffIncrementalInfo, InMemoryCacheConfig, KnownScalars, NormalizedCacheObject } from "./types.js";
12
12
  type BroadcastOptions = Pick<Cache.BatchOptions<InMemoryCache>, "optimistic" | "onWatchUpdated">;
13
13
  export declare namespace InMemoryCache {
14
14
  type ScalarsOption = {
@@ -36,6 +36,7 @@ export declare class InMemoryCache extends ApolloCache {
36
36
  private addTypenameTransform;
37
37
  private maybeBroadcastWatch;
38
38
  readonly assumeImmutableResults = true;
39
+ readonly [handleIncrementalSymbol] = true;
39
40
  readonly policies: Policies;
40
41
  readonly makeVar: typeof makeVar;
41
42
  constructor(...args: {} extends InMemoryCache.ScalarsOption ? [
@@ -63,7 +64,10 @@ export declare class InMemoryCache extends ApolloCache {
63
64
  read<TData = unknown>(options: Cache.ReadOptions<TData, OperationVariables>): TData | null;
64
65
  write<TData = unknown, TVariables extends OperationVariables = OperationVariables>(options: Cache.WriteOptions<TData, TVariables>): Reference | undefined;
65
66
  modify<Entity extends Record<string, any> = Record<string, any>>(options: Cache.ModifyOptions<Entity>): boolean;
66
- diff<TData = unknown, TVariables extends OperationVariables = OperationVariables>(options: Cache.DiffOptions<TData, TVariables>): Cache.DiffResult<TData>;
67
+ diff<TData = unknown, TVariables extends OperationVariables = OperationVariables>(query: Cache.DiffOptions<TData, TVariables> & {
68
+ [handleIncrementalSymbol]: true | DiffIncrementalInfo;
69
+ }): Cache.InternalDiffResultWithDataState<TData>;
70
+ diff<TData = unknown, TVariables extends OperationVariables = OperationVariables>(query: Cache.DiffOptions<TData, TVariables>): Cache.DiffResult<TData>;
67
71
  watch<TData = unknown, TVariables extends OperationVariables = OperationVariables>(watch: Cache.WatchOptions<TData, TVariables>): () => void;
68
72
  gc(options?: {
69
73
  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, getOperationDefinition, getUnwrappedType, isPlainObject, } from "@apollo/client/utilities/internal";
5
+ import { getInMemoryCacheMemoryInternals, getOperationDefinition, getUnwrappedType, handleIncrementalSymbol, 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";
@@ -23,6 +23,10 @@ export class InMemoryCache extends ApolloCache {
23
23
  // Override the default value, since InMemoryCache result objects are frozen
24
24
  // in development and expected to remain logically immutable in production.
25
25
  assumeImmutableResults = true;
26
+ // InMemoryCache can handle incremental results in cache.diff. 3rd party
27
+ // caches that want to handle incremental results should talk to the Apollo
28
+ // Client team on how to handle this in Apollo Client 4.x.
29
+ [handleIncrementalSymbol] = true;
26
30
  // Dynamically imported code can augment existing typePolicies or
27
31
  // possibleTypes by calling cache.policies.addTypePolicies or
28
32
  // cache.policies.addPossibletypes.