@apollo/client 4.0.0-alpha.13 → 4.0.0-alpha.14

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 (594) hide show
  1. package/.changeset/curvy-flies-accept.md +5 -0
  2. package/.changeset/few-crabs-move.md +6 -0
  3. package/.changeset/funny-boats-wink.md +35 -0
  4. package/.changeset/gold-oranges-double.md +5 -0
  5. package/.changeset/little-parrots-bow.md +14 -0
  6. package/.changeset/olive-cougars-ring.md +9 -0
  7. package/.changeset/pre.json +13 -0
  8. package/.changeset/serious-items-develop.md +17 -0
  9. package/.changeset/sixty-bats-cry.md +6 -0
  10. package/.changeset/spotty-mugs-poke.md +5 -0
  11. package/.changeset/strong-rivers-fry.md +34 -0
  12. package/.changeset/stupid-pumpkins-travel.md +13 -0
  13. package/.changeset/thirty-pens-jump.md +5 -0
  14. package/.changeset/wicked-kiwis-buy.md +5 -0
  15. package/CHANGELOG.md +134 -0
  16. package/__cjs/cache/core/cache.cjs +9 -7
  17. package/__cjs/cache/core/cache.cjs.map +1 -1
  18. package/__cjs/cache/core/cache.d.cts +9 -7
  19. package/__cjs/cache/inmemory/entityStore.cjs +3 -3
  20. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  21. package/__cjs/cache/inmemory/inMemoryCache.d.cts +9 -7
  22. package/__cjs/cache/inmemory/key-extractor.cjs +1 -1
  23. package/__cjs/cache/inmemory/policies.cjs +4 -4
  24. package/__cjs/cache/inmemory/policies.cjs.map +1 -1
  25. package/__cjs/cache/inmemory/readFromStore.cjs +2 -2
  26. package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  27. package/__cjs/cache/inmemory/writeToStore.cjs +4 -4
  28. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  29. package/__cjs/core/ApolloClient.cjs +23 -45
  30. package/__cjs/core/ApolloClient.cjs.map +1 -1
  31. package/__cjs/core/ApolloClient.d.cts +9 -21
  32. package/__cjs/core/ObservableQuery.cjs +564 -346
  33. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  34. package/__cjs/core/ObservableQuery.d.cts +95 -33
  35. package/__cjs/core/QueryInfo.cjs +109 -179
  36. package/__cjs/core/QueryInfo.cjs.map +1 -1
  37. package/__cjs/core/QueryInfo.d.cts +9 -14
  38. package/__cjs/core/QueryManager.cjs +168 -108
  39. package/__cjs/core/QueryManager.cjs.map +1 -1
  40. package/__cjs/core/QueryManager.d.cts +12 -8
  41. package/__cjs/core/index.cjs +2 -1
  42. package/__cjs/core/index.cjs.map +1 -1
  43. package/__cjs/core/index.d.cts +2 -3
  44. package/__cjs/core/types.d.cts +18 -6
  45. package/__cjs/errors/LinkError.cjs +5 -1
  46. package/__cjs/errors/LinkError.cjs.map +1 -1
  47. package/__cjs/errors/LinkError.d.cts +5 -1
  48. package/__cjs/errors/LocalStateError.cjs +27 -0
  49. package/__cjs/errors/LocalStateError.cjs.map +1 -0
  50. package/__cjs/errors/LocalStateError.d.cts +20 -0
  51. package/__cjs/errors/index.cjs +5 -1
  52. package/__cjs/errors/index.cjs.map +1 -1
  53. package/__cjs/errors/index.d.cts +2 -0
  54. package/__cjs/invariantErrorCodes.cjs +130 -57
  55. package/__cjs/link/core/ApolloLink.cjs +17 -11
  56. package/__cjs/link/core/ApolloLink.cjs.map +1 -1
  57. package/__cjs/link/core/ApolloLink.d.cts +15 -9
  58. package/__cjs/link/http/checkFetcher.cjs +1 -1
  59. package/__cjs/link/http/createHttpLink.cjs +1 -1
  60. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +1 -1
  61. package/__cjs/link/http/serializeFetchParameter.cjs +1 -1
  62. package/__cjs/link/persisted-queries/index.cjs +2 -2
  63. package/__cjs/link/utils/transformOperation.cjs +1 -1
  64. package/__cjs/link/utils/transformOperation.cjs.map +1 -1
  65. package/__cjs/link/utils/validateOperation.cjs +1 -1
  66. package/__cjs/local-state/LocalState.cjs +535 -0
  67. package/__cjs/local-state/LocalState.cjs.map +1 -0
  68. package/__cjs/local-state/LocalState.d.cts +89 -0
  69. package/__cjs/local-state/index.cjs +6 -0
  70. package/__cjs/local-state/index.cjs.map +1 -0
  71. package/__cjs/local-state/index.d.cts +2 -0
  72. package/__cjs/masking/maskFragment.cjs +5 -1
  73. package/__cjs/masking/maskFragment.cjs.map +1 -1
  74. package/__cjs/masking/maskFragment.d.cts +5 -1
  75. package/__cjs/masking/maskOperation.cjs +5 -1
  76. package/__cjs/masking/maskOperation.cjs.map +1 -1
  77. package/__cjs/masking/maskOperation.d.cts +5 -1
  78. package/__cjs/masking/utils.cjs +5 -1
  79. package/__cjs/masking/utils.cjs.map +1 -1
  80. package/__cjs/masking/utils.d.cts +5 -1
  81. package/__cjs/react/hooks/internal/wrapHook.cjs +36 -34
  82. package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
  83. package/__cjs/react/hooks/internal/wrapHook.d.cts +42 -38
  84. package/__cjs/react/internal/cache/QueryReference.cjs +6 -9
  85. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
  86. package/__cjs/react/internal/cache/QueryReference.d.cts +25 -7
  87. package/__cjs/react/ssr/prerenderStatic.cjs +7 -0
  88. package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -1
  89. package/__cjs/testing/core/mocking/mockLink.cjs +7 -3
  90. package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
  91. package/__cjs/testing/core/mocking/mockLink.d.cts +10 -2
  92. package/__cjs/testing/internal/ObservableStream.cjs +13 -1
  93. package/__cjs/testing/internal/ObservableStream.cjs.map +1 -1
  94. package/__cjs/testing/internal/ObservableStream.d.cts +12 -1
  95. package/__cjs/testing/internal/disposables/withCleanup.cjs +5 -1
  96. package/__cjs/testing/internal/disposables/withCleanup.cjs.map +1 -1
  97. package/__cjs/testing/internal/disposables/withCleanup.d.cts +5 -1
  98. package/__cjs/testing/matchers/index.cjs +2 -2
  99. package/__cjs/testing/matchers/index.cjs.map +1 -1
  100. package/__cjs/testing/matchers/toEmitTypedValue.cjs +1 -1
  101. package/__cjs/testing/matchers/toEmitTypedValue.cjs.map +1 -1
  102. package/__cjs/testing/matchers/toEmitTypedValue.d.cts +6 -1
  103. package/__cjs/testing/matchers/toRerenderWithSimilarSnapshot.cjs +31 -18
  104. package/__cjs/testing/matchers/toRerenderWithSimilarSnapshot.cjs.map +1 -1
  105. package/__cjs/testing/matchers/toRerenderWithSimilarSnapshot.d.cts +13 -6
  106. package/__cjs/testing/matchers/toStrictEqualTyped.cjs +1 -1
  107. package/__cjs/testing/matchers/toStrictEqualTyped.cjs.map +1 -1
  108. package/__cjs/testing/matchers/toStrictEqualTyped.d.cts +4 -0
  109. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs +14 -2
  110. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs.map +1 -1
  111. package/__cjs/testing/react/MockedProvider.cjs +2 -2
  112. package/__cjs/testing/react/MockedProvider.cjs.map +1 -1
  113. package/__cjs/testing/react/MockedProvider.d.cts +2 -2
  114. package/__cjs/utilities/graphql/DocumentTransform.cjs +10 -6
  115. package/__cjs/utilities/graphql/DocumentTransform.cjs.map +1 -1
  116. package/__cjs/utilities/graphql/DocumentTransform.d.cts +10 -6
  117. package/__cjs/utilities/internal/DeepMerger.cjs +5 -1
  118. package/__cjs/utilities/internal/DeepMerger.cjs.map +1 -1
  119. package/__cjs/utilities/internal/DeepMerger.d.cts +5 -1
  120. package/__cjs/utilities/internal/argumentsObjectFromField.cjs +5 -1
  121. package/__cjs/utilities/internal/argumentsObjectFromField.cjs.map +1 -1
  122. package/__cjs/utilities/internal/argumentsObjectFromField.d.cts +5 -1
  123. package/__cjs/utilities/internal/caches.cjs +24 -20
  124. package/__cjs/utilities/internal/caches.cjs.map +1 -1
  125. package/__cjs/utilities/internal/caches.d.cts +32 -24
  126. package/__cjs/utilities/internal/canUseDOM.cjs +5 -1
  127. package/__cjs/utilities/internal/canUseDOM.cjs.map +1 -1
  128. package/__cjs/utilities/internal/canUseDOM.d.cts +5 -1
  129. package/__cjs/utilities/internal/checkDocument.cjs +6 -3
  130. package/__cjs/utilities/internal/checkDocument.cjs.map +1 -1
  131. package/__cjs/utilities/internal/checkDocument.d.cts +6 -3
  132. package/__cjs/utilities/internal/cloneDeep.cjs +6 -4
  133. package/__cjs/utilities/internal/cloneDeep.cjs.map +1 -1
  134. package/__cjs/utilities/internal/cloneDeep.d.cts +6 -4
  135. package/__cjs/utilities/internal/compact.cjs +7 -5
  136. package/__cjs/utilities/internal/compact.cjs.map +1 -1
  137. package/__cjs/utilities/internal/compact.d.cts +7 -5
  138. package/__cjs/utilities/internal/createFragmentMap.cjs +7 -4
  139. package/__cjs/utilities/internal/createFragmentMap.cjs.map +1 -1
  140. package/__cjs/utilities/internal/createFragmentMap.d.cts +7 -4
  141. package/__cjs/utilities/internal/createFulfilledPromise.cjs +5 -1
  142. package/__cjs/utilities/internal/createFulfilledPromise.cjs.map +1 -1
  143. package/__cjs/utilities/internal/createFulfilledPromise.d.cts +5 -1
  144. package/__cjs/utilities/internal/createRejectedPromise.cjs +5 -1
  145. package/__cjs/utilities/internal/createRejectedPromise.cjs.map +1 -1
  146. package/__cjs/utilities/internal/createRejectedPromise.d.cts +5 -1
  147. package/__cjs/utilities/internal/dealias.cjs +21 -0
  148. package/__cjs/utilities/internal/dealias.cjs.map +1 -0
  149. package/__cjs/utilities/internal/dealias.d.cts +5 -0
  150. package/__cjs/utilities/internal/decoratePromise.cjs +5 -1
  151. package/__cjs/utilities/internal/decoratePromise.cjs.map +1 -1
  152. package/__cjs/utilities/internal/decoratePromise.d.cts +5 -1
  153. package/__cjs/utilities/internal/deepFreeze.cjs +5 -1
  154. package/__cjs/utilities/internal/deepFreeze.cjs.map +1 -1
  155. package/__cjs/utilities/internal/deepFreeze.d.cts +5 -1
  156. package/__cjs/utilities/internal/filterMap.cjs +31 -0
  157. package/__cjs/utilities/internal/filterMap.cjs.map +1 -0
  158. package/__cjs/utilities/internal/filterMap.d.cts +4 -0
  159. package/__cjs/utilities/internal/getDefaultValues.cjs +5 -1
  160. package/__cjs/utilities/internal/getDefaultValues.cjs.map +1 -1
  161. package/__cjs/utilities/internal/getDefaultValues.d.cts +5 -1
  162. package/__cjs/utilities/internal/getFragmentDefinition.cjs +5 -1
  163. package/__cjs/utilities/internal/getFragmentDefinition.cjs.map +1 -1
  164. package/__cjs/utilities/internal/getFragmentDefinition.d.cts +5 -1
  165. package/__cjs/utilities/internal/getFragmentDefinitions.cjs +5 -1
  166. package/__cjs/utilities/internal/getFragmentDefinitions.cjs.map +1 -1
  167. package/__cjs/utilities/internal/getFragmentDefinitions.d.cts +5 -1
  168. package/__cjs/utilities/internal/getFragmentFromSelection.cjs +5 -1
  169. package/__cjs/utilities/internal/getFragmentFromSelection.cjs.map +1 -1
  170. package/__cjs/utilities/internal/getFragmentFromSelection.d.cts +5 -1
  171. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs +25 -23
  172. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs.map +1 -1
  173. package/__cjs/utilities/internal/getFragmentQueryDocument.d.cts +25 -23
  174. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs +5 -1
  175. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs.map +1 -1
  176. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.d.cts +5 -1
  177. package/__cjs/utilities/internal/getMainDefinition.cjs +8 -6
  178. package/__cjs/utilities/internal/getMainDefinition.cjs.map +1 -1
  179. package/__cjs/utilities/internal/getMainDefinition.d.cts +8 -6
  180. package/__cjs/utilities/internal/getMemoryInternals.cjs +15 -9
  181. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
  182. package/__cjs/utilities/internal/getMemoryInternals.d.cts +15 -9
  183. package/__cjs/utilities/internal/getOperationDefinition.cjs +5 -1
  184. package/__cjs/utilities/internal/getOperationDefinition.cjs.map +1 -1
  185. package/__cjs/utilities/internal/getOperationDefinition.d.cts +5 -1
  186. package/__cjs/utilities/internal/getOperationName.cjs +7 -5
  187. package/__cjs/utilities/internal/getOperationName.cjs.map +1 -1
  188. package/__cjs/utilities/internal/getOperationName.d.cts +6 -2
  189. package/__cjs/utilities/internal/getQueryDefinition.cjs +5 -1
  190. package/__cjs/utilities/internal/getQueryDefinition.cjs.map +1 -1
  191. package/__cjs/utilities/internal/getQueryDefinition.d.cts +5 -1
  192. package/__cjs/utilities/internal/getStoreKeyName.cjs +5 -1
  193. package/__cjs/utilities/internal/getStoreKeyName.cjs.map +1 -1
  194. package/__cjs/utilities/internal/getStoreKeyName.d.cts +5 -1
  195. package/__cjs/utilities/internal/graphQLResultHasError.cjs +5 -1
  196. package/__cjs/utilities/internal/graphQLResultHasError.cjs.map +1 -1
  197. package/__cjs/utilities/internal/graphQLResultHasError.d.cts +5 -1
  198. package/__cjs/utilities/internal/hasDirectives.cjs +5 -1
  199. package/__cjs/utilities/internal/hasDirectives.cjs.map +1 -1
  200. package/__cjs/utilities/internal/hasDirectives.d.cts +5 -1
  201. package/__cjs/utilities/internal/hasForcedResolvers.cjs +23 -0
  202. package/__cjs/utilities/internal/hasForcedResolvers.cjs.map +1 -0
  203. package/__cjs/utilities/internal/hasForcedResolvers.d.cts +3 -0
  204. package/__cjs/utilities/internal/index.cjs +8 -4
  205. package/__cjs/utilities/internal/index.cjs.map +1 -1
  206. package/__cjs/utilities/internal/index.d.cts +3 -1
  207. package/__cjs/utilities/internal/isArray.cjs +6 -4
  208. package/__cjs/utilities/internal/isArray.cjs.map +1 -1
  209. package/__cjs/utilities/internal/isArray.d.cts +6 -4
  210. package/__cjs/utilities/internal/isDocumentNode.cjs +5 -1
  211. package/__cjs/utilities/internal/isDocumentNode.cjs.map +1 -1
  212. package/__cjs/utilities/internal/isDocumentNode.d.cts +5 -1
  213. package/__cjs/utilities/internal/isExecutionPatchIncrementalResult.cjs +5 -1
  214. package/__cjs/utilities/internal/isExecutionPatchIncrementalResult.cjs.map +1 -1
  215. package/__cjs/utilities/internal/isExecutionPatchIncrementalResult.d.cts +5 -1
  216. package/__cjs/utilities/internal/isExecutionPatchIninitialResult.cjs +5 -1
  217. package/__cjs/utilities/internal/isExecutionPatchIninitialResult.cjs.map +1 -1
  218. package/__cjs/utilities/internal/isExecutionPatchIninitialResult.d.cts +5 -1
  219. package/__cjs/utilities/internal/isExecutionPatchResult.cjs +5 -1
  220. package/__cjs/utilities/internal/isExecutionPatchResult.cjs.map +1 -1
  221. package/__cjs/utilities/internal/isExecutionPatchResult.d.cts +5 -1
  222. package/__cjs/utilities/internal/isField.cjs +5 -1
  223. package/__cjs/utilities/internal/isField.cjs.map +1 -1
  224. package/__cjs/utilities/internal/isField.d.cts +5 -1
  225. package/__cjs/utilities/internal/isNonEmptyArray.cjs +5 -1
  226. package/__cjs/utilities/internal/isNonEmptyArray.cjs.map +1 -1
  227. package/__cjs/utilities/internal/isNonEmptyArray.d.cts +5 -1
  228. package/__cjs/utilities/internal/isNonNullObject.cjs +5 -1
  229. package/__cjs/utilities/internal/isNonNullObject.cjs.map +1 -1
  230. package/__cjs/utilities/internal/isNonNullObject.d.cts +5 -1
  231. package/__cjs/utilities/internal/isPlainObject.cjs +5 -1
  232. package/__cjs/utilities/internal/isPlainObject.cjs.map +1 -1
  233. package/__cjs/utilities/internal/isPlainObject.d.cts +5 -1
  234. package/__cjs/utilities/internal/makeReference.cjs +5 -1
  235. package/__cjs/utilities/internal/makeReference.cjs.map +1 -1
  236. package/__cjs/utilities/internal/makeReference.d.cts +5 -1
  237. package/__cjs/utilities/internal/makeUniqueId.cjs +7 -5
  238. package/__cjs/utilities/internal/makeUniqueId.cjs.map +1 -1
  239. package/__cjs/utilities/internal/makeUniqueId.d.cts +7 -5
  240. package/__cjs/utilities/internal/maybeDeepFreeze.cjs +5 -1
  241. package/__cjs/utilities/internal/maybeDeepFreeze.cjs.map +1 -1
  242. package/__cjs/utilities/internal/maybeDeepFreeze.d.cts +5 -1
  243. package/__cjs/utilities/internal/mergeDeep.cjs +5 -1
  244. package/__cjs/utilities/internal/mergeDeep.cjs.map +1 -1
  245. package/__cjs/utilities/internal/mergeDeep.d.cts +5 -1
  246. package/__cjs/utilities/internal/mergeDeepArray.cjs +5 -1
  247. package/__cjs/utilities/internal/mergeDeepArray.cjs.map +1 -1
  248. package/__cjs/utilities/internal/mergeDeepArray.d.cts +5 -1
  249. package/__cjs/utilities/internal/mergeIncrementalData.cjs +5 -1
  250. package/__cjs/utilities/internal/mergeIncrementalData.cjs.map +1 -1
  251. package/__cjs/utilities/internal/mergeIncrementalData.d.cts +5 -1
  252. package/__cjs/utilities/internal/mergeOptions.cjs +5 -1
  253. package/__cjs/utilities/internal/mergeOptions.cjs.map +1 -1
  254. package/__cjs/utilities/internal/mergeOptions.d.cts +5 -1
  255. package/__cjs/utilities/internal/omitDeep.cjs +5 -1
  256. package/__cjs/utilities/internal/omitDeep.cjs.map +1 -1
  257. package/__cjs/utilities/internal/omitDeep.d.cts +5 -1
  258. package/__cjs/utilities/internal/onAnyEvent.cjs +5 -1
  259. package/__cjs/utilities/internal/onAnyEvent.cjs.map +1 -1
  260. package/__cjs/utilities/internal/onAnyEvent.d.cts +5 -1
  261. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs +5 -1
  262. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs.map +1 -1
  263. package/__cjs/utilities/internal/removeDirectivesFromDocument.d.cts +5 -1
  264. package/__cjs/utilities/internal/resultKeyNameFromField.cjs +5 -1
  265. package/__cjs/utilities/internal/resultKeyNameFromField.cjs.map +1 -1
  266. package/__cjs/utilities/internal/resultKeyNameFromField.d.cts +5 -1
  267. package/__cjs/utilities/internal/shouldInclude.cjs +5 -1
  268. package/__cjs/utilities/internal/shouldInclude.cjs.map +1 -1
  269. package/__cjs/utilities/internal/shouldInclude.d.cts +5 -1
  270. package/__cjs/utilities/internal/storeKeyNameFromField.cjs +5 -1
  271. package/__cjs/utilities/internal/storeKeyNameFromField.cjs.map +1 -1
  272. package/__cjs/utilities/internal/storeKeyNameFromField.d.cts +5 -1
  273. package/__cjs/utilities/internal/stringifyForDisplay.cjs +5 -1
  274. package/__cjs/utilities/internal/stringifyForDisplay.cjs.map +1 -1
  275. package/__cjs/utilities/internal/stringifyForDisplay.d.cts +5 -1
  276. package/__cjs/utilities/internal/toQueryResult.cjs +5 -1
  277. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -1
  278. package/__cjs/utilities/internal/toQueryResult.d.cts +5 -1
  279. package/__cjs/utilities/internal/types/DecoratedPromise.d.cts +5 -1
  280. package/__cjs/utilities/internal/types/DeepOmit.d.cts +5 -1
  281. package/__cjs/utilities/internal/types/DeepPartial.d.cts +5 -1
  282. package/__cjs/utilities/internal/types/FragmentMap.d.cts +6 -4
  283. package/__cjs/utilities/internal/types/FragmentMapFunction.d.cts +5 -1
  284. package/__cjs/utilities/internal/types/FulfilledPromise.d.cts +5 -1
  285. package/__cjs/utilities/internal/types/IsAny.d.cts +5 -1
  286. package/__cjs/utilities/internal/types/PendingPromise.d.cts +5 -1
  287. package/__cjs/utilities/internal/types/Prettify.d.cts +5 -1
  288. package/__cjs/utilities/internal/types/Primitive.d.cts +5 -1
  289. package/__cjs/utilities/internal/types/RejectedPromise.d.cts +5 -1
  290. package/__cjs/utilities/internal/types/RemoveIndexSignature.d.cts +5 -1
  291. package/__cjs/utilities/internal/types/VariablesOption.d.cts +5 -1
  292. package/__cjs/utilities/internal/valueToObjectRepresentation.cjs +5 -1
  293. package/__cjs/utilities/internal/valueToObjectRepresentation.cjs.map +1 -1
  294. package/__cjs/utilities/internal/valueToObjectRepresentation.d.cts +5 -1
  295. package/__cjs/version.cjs +1 -1
  296. package/cache/core/cache.d.ts +9 -7
  297. package/cache/core/cache.js +9 -7
  298. package/cache/core/cache.js.map +1 -1
  299. package/cache/inmemory/entityStore.js +3 -3
  300. package/cache/inmemory/inMemoryCache.d.ts +9 -7
  301. package/cache/inmemory/inMemoryCache.js.map +1 -1
  302. package/cache/inmemory/key-extractor.js +1 -1
  303. package/cache/inmemory/policies.js +4 -4
  304. package/cache/inmemory/policies.js.map +1 -1
  305. package/cache/inmemory/readFromStore.js +2 -2
  306. package/cache/inmemory/readFromStore.js.map +1 -1
  307. package/cache/inmemory/writeToStore.js +4 -4
  308. package/cache/inmemory/writeToStore.js.map +1 -1
  309. package/core/ApolloClient.d.ts +9 -21
  310. package/core/ApolloClient.js +23 -45
  311. package/core/ApolloClient.js.map +1 -1
  312. package/core/ObservableQuery.d.ts +95 -33
  313. package/core/ObservableQuery.js +569 -351
  314. package/core/ObservableQuery.js.map +1 -1
  315. package/core/QueryInfo.d.ts +9 -14
  316. package/core/QueryInfo.js +109 -179
  317. package/core/QueryInfo.js.map +1 -1
  318. package/core/QueryManager.d.ts +12 -8
  319. package/core/QueryManager.js +151 -110
  320. package/core/QueryManager.js.map +1 -1
  321. package/core/index.d.ts +2 -3
  322. package/core/index.js +1 -1
  323. package/core/index.js.map +1 -1
  324. package/core/types.d.ts +18 -6
  325. package/errors/LinkError.d.ts +5 -1
  326. package/errors/LinkError.js +5 -1
  327. package/errors/LinkError.js.map +1 -1
  328. package/errors/LocalStateError.d.ts +20 -0
  329. package/errors/LocalStateError.js +23 -0
  330. package/errors/LocalStateError.js.map +1 -0
  331. package/errors/index.d.ts +2 -0
  332. package/errors/index.js +2 -0
  333. package/errors/index.js.map +1 -1
  334. package/invariantErrorCodes.js +130 -57
  335. package/legacyEntryPoints/local-state/index.d.ts +1 -0
  336. package/legacyEntryPoints/local-state/index.js +1 -0
  337. package/legacyEntryPoints/local-state/local-state.cjs +1 -0
  338. package/legacyEntryPoints/local-state/local-state.d.cts +1 -0
  339. package/link/core/ApolloLink.d.ts +15 -9
  340. package/link/core/ApolloLink.js +17 -11
  341. package/link/core/ApolloLink.js.map +1 -1
  342. package/link/http/checkFetcher.js +1 -1
  343. package/link/http/createHttpLink.js +1 -1
  344. package/link/http/parseAndCheckHttpResponse.js +1 -1
  345. package/link/http/serializeFetchParameter.js +1 -1
  346. package/link/persisted-queries/index.js +2 -2
  347. package/link/utils/transformOperation.js +1 -1
  348. package/link/utils/transformOperation.js.map +1 -1
  349. package/link/utils/validateOperation.js +1 -1
  350. package/local-state/LocalState.d.ts +89 -0
  351. package/local-state/LocalState.js +527 -0
  352. package/local-state/LocalState.js.map +1 -0
  353. package/local-state/index.d.ts +2 -0
  354. package/local-state/index.js +2 -0
  355. package/local-state/index.js.map +1 -0
  356. package/masking/maskFragment.d.ts +5 -1
  357. package/masking/maskFragment.js +5 -1
  358. package/masking/maskFragment.js.map +1 -1
  359. package/masking/maskOperation.d.ts +5 -1
  360. package/masking/maskOperation.js +5 -1
  361. package/masking/maskOperation.js.map +1 -1
  362. package/masking/utils.d.ts +5 -1
  363. package/masking/utils.js +5 -1
  364. package/masking/utils.js.map +1 -1
  365. package/package.json +11 -1
  366. package/react/hooks/internal/wrapHook.d.ts +42 -38
  367. package/react/hooks/internal/wrapHook.js +36 -34
  368. package/react/hooks/internal/wrapHook.js.map +1 -1
  369. package/react/internal/cache/QueryReference.d.ts +25 -7
  370. package/react/internal/cache/QueryReference.js +6 -9
  371. package/react/internal/cache/QueryReference.js.map +1 -1
  372. package/react/ssr/prerenderStatic.js +7 -0
  373. package/react/ssr/prerenderStatic.js.map +1 -1
  374. package/testing/core/mocking/mockLink.d.ts +10 -2
  375. package/testing/core/mocking/mockLink.js +9 -5
  376. package/testing/core/mocking/mockLink.js.map +1 -1
  377. package/testing/internal/ObservableStream.d.ts +12 -1
  378. package/testing/internal/ObservableStream.js +13 -1
  379. package/testing/internal/ObservableStream.js.map +1 -1
  380. package/testing/internal/disposables/withCleanup.d.ts +5 -1
  381. package/testing/internal/disposables/withCleanup.js +5 -1
  382. package/testing/internal/disposables/withCleanup.js.map +1 -1
  383. package/testing/matchers/index.js +2 -2
  384. package/testing/matchers/index.js.map +1 -1
  385. package/testing/matchers/toEmitTypedValue.d.ts +6 -1
  386. package/testing/matchers/toEmitTypedValue.js +1 -1
  387. package/testing/matchers/toEmitTypedValue.js.map +1 -1
  388. package/testing/matchers/toRerenderWithSimilarSnapshot.d.ts +13 -6
  389. package/testing/matchers/toRerenderWithSimilarSnapshot.js +30 -15
  390. package/testing/matchers/toRerenderWithSimilarSnapshot.js.map +1 -1
  391. package/testing/matchers/toStrictEqualTyped.d.ts +4 -0
  392. package/testing/matchers/toStrictEqualTyped.js +1 -1
  393. package/testing/matchers/toStrictEqualTyped.js.map +1 -1
  394. package/testing/matchers/utils/getSerializableProperties.js +14 -2
  395. package/testing/matchers/utils/getSerializableProperties.js.map +1 -1
  396. package/testing/react/MockedProvider.d.ts +2 -2
  397. package/testing/react/MockedProvider.js +2 -2
  398. package/testing/react/MockedProvider.js.map +1 -1
  399. package/utilities/graphql/DocumentTransform.d.ts +10 -6
  400. package/utilities/graphql/DocumentTransform.js +10 -6
  401. package/utilities/graphql/DocumentTransform.js.map +1 -1
  402. package/utilities/internal/DeepMerger.d.ts +5 -1
  403. package/utilities/internal/DeepMerger.js +5 -1
  404. package/utilities/internal/DeepMerger.js.map +1 -1
  405. package/utilities/internal/argumentsObjectFromField.d.ts +5 -1
  406. package/utilities/internal/argumentsObjectFromField.js +5 -1
  407. package/utilities/internal/argumentsObjectFromField.js.map +1 -1
  408. package/utilities/internal/caches.d.ts +32 -24
  409. package/utilities/internal/caches.js +24 -20
  410. package/utilities/internal/caches.js.map +1 -1
  411. package/utilities/internal/canUseDOM.d.ts +5 -1
  412. package/utilities/internal/canUseDOM.js +5 -1
  413. package/utilities/internal/canUseDOM.js.map +1 -1
  414. package/utilities/internal/checkDocument.d.ts +6 -3
  415. package/utilities/internal/checkDocument.js +6 -3
  416. package/utilities/internal/checkDocument.js.map +1 -1
  417. package/utilities/internal/cloneDeep.d.ts +6 -4
  418. package/utilities/internal/cloneDeep.js +6 -4
  419. package/utilities/internal/cloneDeep.js.map +1 -1
  420. package/utilities/internal/compact.d.ts +7 -5
  421. package/utilities/internal/compact.js +7 -5
  422. package/utilities/internal/compact.js.map +1 -1
  423. package/utilities/internal/createFragmentMap.d.ts +7 -4
  424. package/utilities/internal/createFragmentMap.js +7 -4
  425. package/utilities/internal/createFragmentMap.js.map +1 -1
  426. package/utilities/internal/createFulfilledPromise.d.ts +5 -1
  427. package/utilities/internal/createFulfilledPromise.js +5 -1
  428. package/utilities/internal/createFulfilledPromise.js.map +1 -1
  429. package/utilities/internal/createRejectedPromise.d.ts +5 -1
  430. package/utilities/internal/createRejectedPromise.js +5 -1
  431. package/utilities/internal/createRejectedPromise.js.map +1 -1
  432. package/utilities/internal/dealias.d.ts +5 -0
  433. package/utilities/internal/dealias.js +18 -0
  434. package/utilities/internal/dealias.js.map +1 -0
  435. package/utilities/internal/decoratePromise.d.ts +5 -1
  436. package/utilities/internal/decoratePromise.js +5 -1
  437. package/utilities/internal/decoratePromise.js.map +1 -1
  438. package/utilities/internal/deepFreeze.d.ts +5 -1
  439. package/utilities/internal/deepFreeze.js +5 -1
  440. package/utilities/internal/deepFreeze.js.map +1 -1
  441. package/utilities/internal/filterMap.d.ts +4 -0
  442. package/utilities/internal/filterMap.js +28 -0
  443. package/utilities/internal/filterMap.js.map +1 -0
  444. package/utilities/internal/getDefaultValues.d.ts +5 -1
  445. package/utilities/internal/getDefaultValues.js +5 -1
  446. package/utilities/internal/getDefaultValues.js.map +1 -1
  447. package/utilities/internal/getFragmentDefinition.d.ts +5 -1
  448. package/utilities/internal/getFragmentDefinition.js +5 -1
  449. package/utilities/internal/getFragmentDefinition.js.map +1 -1
  450. package/utilities/internal/getFragmentDefinitions.d.ts +5 -1
  451. package/utilities/internal/getFragmentDefinitions.js +5 -1
  452. package/utilities/internal/getFragmentDefinitions.js.map +1 -1
  453. package/utilities/internal/getFragmentFromSelection.d.ts +5 -1
  454. package/utilities/internal/getFragmentFromSelection.js +5 -1
  455. package/utilities/internal/getFragmentFromSelection.js.map +1 -1
  456. package/utilities/internal/getFragmentQueryDocument.d.ts +25 -23
  457. package/utilities/internal/getFragmentQueryDocument.js +25 -23
  458. package/utilities/internal/getFragmentQueryDocument.js.map +1 -1
  459. package/utilities/internal/getGraphQLErrorsFromResult.d.ts +5 -1
  460. package/utilities/internal/getGraphQLErrorsFromResult.js +5 -1
  461. package/utilities/internal/getGraphQLErrorsFromResult.js.map +1 -1
  462. package/utilities/internal/getMainDefinition.d.ts +8 -6
  463. package/utilities/internal/getMainDefinition.js +8 -6
  464. package/utilities/internal/getMainDefinition.js.map +1 -1
  465. package/utilities/internal/getMemoryInternals.d.ts +15 -9
  466. package/utilities/internal/getMemoryInternals.js +15 -9
  467. package/utilities/internal/getMemoryInternals.js.map +1 -1
  468. package/utilities/internal/getOperationDefinition.d.ts +5 -1
  469. package/utilities/internal/getOperationDefinition.js +5 -1
  470. package/utilities/internal/getOperationDefinition.js.map +1 -1
  471. package/utilities/internal/getOperationName.d.ts +6 -2
  472. package/utilities/internal/getOperationName.js +7 -5
  473. package/utilities/internal/getOperationName.js.map +1 -1
  474. package/utilities/internal/getQueryDefinition.d.ts +5 -1
  475. package/utilities/internal/getQueryDefinition.js +5 -1
  476. package/utilities/internal/getQueryDefinition.js.map +1 -1
  477. package/utilities/internal/getStoreKeyName.d.ts +5 -1
  478. package/utilities/internal/getStoreKeyName.js +5 -1
  479. package/utilities/internal/getStoreKeyName.js.map +1 -1
  480. package/utilities/internal/globals/global.js +2 -2
  481. package/utilities/internal/globals/global.js.map +1 -1
  482. package/utilities/internal/graphQLResultHasError.d.ts +5 -1
  483. package/utilities/internal/graphQLResultHasError.js +5 -1
  484. package/utilities/internal/graphQLResultHasError.js.map +1 -1
  485. package/utilities/internal/hasDirectives.d.ts +5 -1
  486. package/utilities/internal/hasDirectives.js +5 -1
  487. package/utilities/internal/hasDirectives.js.map +1 -1
  488. package/utilities/internal/hasForcedResolvers.d.ts +3 -0
  489. package/utilities/internal/hasForcedResolvers.js +20 -0
  490. package/utilities/internal/hasForcedResolvers.js.map +1 -0
  491. package/utilities/internal/index.d.ts +3 -1
  492. package/utilities/internal/index.js +3 -1
  493. package/utilities/internal/index.js.map +1 -1
  494. package/utilities/internal/isArray.d.ts +6 -4
  495. package/utilities/internal/isArray.js +6 -4
  496. package/utilities/internal/isArray.js.map +1 -1
  497. package/utilities/internal/isDocumentNode.d.ts +5 -1
  498. package/utilities/internal/isDocumentNode.js +5 -1
  499. package/utilities/internal/isDocumentNode.js.map +1 -1
  500. package/utilities/internal/isExecutionPatchIncrementalResult.d.ts +5 -1
  501. package/utilities/internal/isExecutionPatchIncrementalResult.js +5 -1
  502. package/utilities/internal/isExecutionPatchIncrementalResult.js.map +1 -1
  503. package/utilities/internal/isExecutionPatchIninitialResult.d.ts +5 -1
  504. package/utilities/internal/isExecutionPatchIninitialResult.js +5 -1
  505. package/utilities/internal/isExecutionPatchIninitialResult.js.map +1 -1
  506. package/utilities/internal/isExecutionPatchResult.d.ts +5 -1
  507. package/utilities/internal/isExecutionPatchResult.js +5 -1
  508. package/utilities/internal/isExecutionPatchResult.js.map +1 -1
  509. package/utilities/internal/isField.d.ts +5 -1
  510. package/utilities/internal/isField.js +5 -1
  511. package/utilities/internal/isField.js.map +1 -1
  512. package/utilities/internal/isNonEmptyArray.d.ts +5 -1
  513. package/utilities/internal/isNonEmptyArray.js +5 -1
  514. package/utilities/internal/isNonEmptyArray.js.map +1 -1
  515. package/utilities/internal/isNonNullObject.d.ts +5 -1
  516. package/utilities/internal/isNonNullObject.js +5 -1
  517. package/utilities/internal/isNonNullObject.js.map +1 -1
  518. package/utilities/internal/isPlainObject.d.ts +5 -1
  519. package/utilities/internal/isPlainObject.js +5 -1
  520. package/utilities/internal/isPlainObject.js.map +1 -1
  521. package/utilities/internal/makeReference.d.ts +5 -1
  522. package/utilities/internal/makeReference.js +5 -1
  523. package/utilities/internal/makeReference.js.map +1 -1
  524. package/utilities/internal/makeUniqueId.d.ts +7 -5
  525. package/utilities/internal/makeUniqueId.js +7 -5
  526. package/utilities/internal/makeUniqueId.js.map +1 -1
  527. package/utilities/internal/maybeDeepFreeze.d.ts +5 -1
  528. package/utilities/internal/maybeDeepFreeze.js +5 -1
  529. package/utilities/internal/maybeDeepFreeze.js.map +1 -1
  530. package/utilities/internal/mergeDeep.d.ts +5 -1
  531. package/utilities/internal/mergeDeep.js +5 -1
  532. package/utilities/internal/mergeDeep.js.map +1 -1
  533. package/utilities/internal/mergeDeepArray.d.ts +5 -1
  534. package/utilities/internal/mergeDeepArray.js +5 -1
  535. package/utilities/internal/mergeDeepArray.js.map +1 -1
  536. package/utilities/internal/mergeIncrementalData.d.ts +5 -1
  537. package/utilities/internal/mergeIncrementalData.js +5 -1
  538. package/utilities/internal/mergeIncrementalData.js.map +1 -1
  539. package/utilities/internal/mergeOptions.d.ts +5 -1
  540. package/utilities/internal/mergeOptions.js +5 -1
  541. package/utilities/internal/mergeOptions.js.map +1 -1
  542. package/utilities/internal/omitDeep.d.ts +5 -1
  543. package/utilities/internal/omitDeep.js +5 -1
  544. package/utilities/internal/omitDeep.js.map +1 -1
  545. package/utilities/internal/onAnyEvent.d.ts +5 -1
  546. package/utilities/internal/onAnyEvent.js +5 -1
  547. package/utilities/internal/onAnyEvent.js.map +1 -1
  548. package/utilities/internal/removeDirectivesFromDocument.d.ts +5 -1
  549. package/utilities/internal/removeDirectivesFromDocument.js +5 -1
  550. package/utilities/internal/removeDirectivesFromDocument.js.map +1 -1
  551. package/utilities/internal/resultKeyNameFromField.d.ts +5 -1
  552. package/utilities/internal/resultKeyNameFromField.js +5 -1
  553. package/utilities/internal/resultKeyNameFromField.js.map +1 -1
  554. package/utilities/internal/shouldInclude.d.ts +5 -1
  555. package/utilities/internal/shouldInclude.js +5 -1
  556. package/utilities/internal/shouldInclude.js.map +1 -1
  557. package/utilities/internal/storeKeyNameFromField.d.ts +5 -1
  558. package/utilities/internal/storeKeyNameFromField.js +5 -1
  559. package/utilities/internal/storeKeyNameFromField.js.map +1 -1
  560. package/utilities/internal/stringifyForDisplay.d.ts +5 -1
  561. package/utilities/internal/stringifyForDisplay.js +5 -1
  562. package/utilities/internal/stringifyForDisplay.js.map +1 -1
  563. package/utilities/internal/toQueryResult.d.ts +5 -1
  564. package/utilities/internal/toQueryResult.js +5 -1
  565. package/utilities/internal/toQueryResult.js.map +1 -1
  566. package/utilities/internal/types/DecoratedPromise.d.ts +5 -1
  567. package/utilities/internal/types/DeepOmit.d.ts +5 -1
  568. package/utilities/internal/types/DeepPartial.d.ts +5 -1
  569. package/utilities/internal/types/FragmentMap.d.ts +6 -4
  570. package/utilities/internal/types/FragmentMapFunction.d.ts +5 -1
  571. package/utilities/internal/types/FulfilledPromise.d.ts +5 -1
  572. package/utilities/internal/types/IsAny.d.ts +5 -1
  573. package/utilities/internal/types/PendingPromise.d.ts +5 -1
  574. package/utilities/internal/types/Prettify.d.ts +5 -1
  575. package/utilities/internal/types/Primitive.d.ts +5 -1
  576. package/utilities/internal/types/RejectedPromise.d.ts +5 -1
  577. package/utilities/internal/types/RemoveIndexSignature.d.ts +5 -1
  578. package/utilities/internal/types/VariablesOption.d.ts +5 -1
  579. package/utilities/internal/valueToObjectRepresentation.d.ts +5 -1
  580. package/utilities/internal/valueToObjectRepresentation.js +5 -1
  581. package/utilities/internal/valueToObjectRepresentation.js.map +1 -1
  582. package/version.js +1 -1
  583. package/__cjs/core/LocalState.cjs +0 -355
  584. package/__cjs/core/LocalState.cjs.map +0 -1
  585. package/__cjs/core/LocalState.d.cts +0 -53
  586. package/__cjs/utilities/internal/removeClientSetsFromDocument.cjs +0 -21
  587. package/__cjs/utilities/internal/removeClientSetsFromDocument.cjs.map +0 -1
  588. package/__cjs/utilities/internal/removeClientSetsFromDocument.d.cts +0 -8
  589. package/core/LocalState.d.ts +0 -53
  590. package/core/LocalState.js +0 -351
  591. package/core/LocalState.js.map +0 -1
  592. package/utilities/internal/removeClientSetsFromDocument.d.ts +0 -8
  593. package/utilities/internal/removeClientSetsFromDocument.js +0 -18
  594. package/utilities/internal/removeClientSetsFromDocument.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"LocalState.cjs","sources":["../../../src/core/LocalState.ts"],"sourcesContent":["import type {\n ASTNode,\n DirectiveNode,\n DocumentNode,\n ExecutableDefinitionNode,\n FieldNode,\n FragmentDefinitionNode,\n FragmentSpreadNode,\n InlineFragmentNode,\n OperationDefinitionNode,\n SelectionNode,\n SelectionSetNode,\n} from \"graphql\";\nimport { BREAK, isSelectionNode, Kind, visit } from \"graphql\";\n\nimport type { ApolloCache } from \"@apollo/client/cache\";\nimport { cacheSlot } from \"@apollo/client/cache\";\nimport type { FetchResult } from \"@apollo/client/link\";\nimport type { StoreObject } from \"@apollo/client/utilities\";\nimport type { FragmentMap } from \"@apollo/client/utilities/internal\";\nimport {\n argumentsObjectFromField,\n createFragmentMap,\n getFragmentDefinitions,\n getMainDefinition,\n hasDirectives,\n isField,\n mergeDeep,\n mergeDeepArray,\n removeClientSetsFromDocument,\n resultKeyNameFromField,\n shouldInclude,\n} from \"@apollo/client/utilities/internal\";\nimport { invariant } from \"@apollo/client/utilities/invariant\";\n\nimport type { ApolloClient } from \"./ApolloClient.js\";\nimport type { OperationVariables, Resolvers } from \"./types.js\";\n\nexport type Resolver = (\n rootValue?: any,\n args?: any,\n context?: any,\n info?: {\n field: FieldNode;\n fragmentMap: FragmentMap;\n }\n) => any;\n\ntype VariableMap = { [name: string]: any };\n\nexport type FragmentMatcher = (\n rootValue: any,\n typeCondition: string,\n context: any\n) => boolean;\n\ntype ExecContext = {\n fragmentMap: FragmentMap;\n context: any;\n variables: VariableMap;\n fragmentMatcher: FragmentMatcher;\n defaultOperationType: string;\n exportedVariables: Record<string, any>;\n onlyRunForcedResolvers: boolean;\n selectionsToResolve: Set<SelectionNode>;\n};\n\ntype LocalStateOptions = {\n cache: ApolloCache;\n client?: ApolloClient;\n resolvers?: Resolvers | Resolvers[];\n fragmentMatcher?: FragmentMatcher;\n};\n\nexport class LocalState {\n private cache: ApolloCache;\n private client?: ApolloClient;\n private resolvers?: Resolvers;\n private fragmentMatcher?: FragmentMatcher;\n private selectionsToResolveCache = new WeakMap<\n ExecutableDefinitionNode,\n Set<SelectionNode>\n >();\n\n constructor({\n cache,\n client,\n resolvers,\n fragmentMatcher,\n }: LocalStateOptions) {\n this.cache = cache;\n\n if (client) {\n this.client = client;\n }\n\n if (resolvers) {\n this.addResolvers(resolvers);\n }\n\n if (fragmentMatcher) {\n this.setFragmentMatcher(fragmentMatcher);\n }\n }\n\n public addResolvers(resolvers: Resolvers | Resolvers[]) {\n this.resolvers = this.resolvers || {};\n if (Array.isArray(resolvers)) {\n resolvers.forEach((resolverGroup) => {\n this.resolvers = mergeDeep(this.resolvers, resolverGroup);\n });\n } else {\n this.resolvers = mergeDeep(this.resolvers, resolvers);\n }\n }\n\n public setResolvers(resolvers: Resolvers | Resolvers[]) {\n this.resolvers = {};\n this.addResolvers(resolvers);\n }\n\n public getResolvers() {\n return this.resolvers || {};\n }\n\n // Run local client resolvers against the incoming query and remote data.\n // Locally resolved field values are merged with the incoming remote data,\n // and returned. Note that locally resolved fields will overwrite\n // remote data using the same field name.\n public async runResolvers<TData>({\n document,\n remoteResult,\n context,\n variables,\n onlyRunForcedResolvers = false,\n }: {\n document: DocumentNode | null;\n remoteResult: FetchResult<TData>;\n context?: Record<string, any>;\n variables?: Record<string, any>;\n onlyRunForcedResolvers?: boolean;\n }): Promise<FetchResult<TData>> {\n if (document) {\n return this.resolveDocument(\n document,\n remoteResult.data,\n context,\n variables,\n this.fragmentMatcher,\n onlyRunForcedResolvers\n ).then((localResult) => ({\n ...remoteResult,\n data: localResult.result,\n }));\n }\n\n return remoteResult;\n }\n\n public setFragmentMatcher(fragmentMatcher: FragmentMatcher) {\n this.fragmentMatcher = fragmentMatcher;\n }\n\n public getFragmentMatcher(): FragmentMatcher | undefined {\n return this.fragmentMatcher;\n }\n\n // Client queries contain everything in the incoming document (if a @client\n // directive is found).\n public clientQuery(document: DocumentNode) {\n if (hasDirectives([\"client\"], document)) {\n if (this.resolvers) {\n return document;\n }\n }\n return null;\n }\n\n // Server queries are stripped of all @client based selection sets.\n public serverQuery(document: DocumentNode) {\n return removeClientSetsFromDocument(document);\n }\n\n public prepareContext(context?: Record<string, any>) {\n const { cache } = this;\n return {\n ...context,\n // Getting an entry's cache key is useful for local state resolvers.\n getCacheKey(obj: StoreObject) {\n return cache.identify(obj);\n },\n };\n }\n\n // To support `@client @export(as: \"someVar\")` syntax, we'll first resolve\n // @client @export fields locally, then pass the resolved values back to be\n // used alongside the original operation variables.\n public async addExportedVariables<TVars extends OperationVariables>(\n document: DocumentNode,\n variables: TVars = {} as TVars,\n context = {}\n ): /* returns at least the variables that were passed in */ Promise<TVars> {\n if (document) {\n return this.resolveDocument(\n document,\n this.buildRootValueFromCache(document, variables) || {},\n this.prepareContext(context),\n variables\n ).then((data) => ({\n ...variables,\n ...data.exportedVariables,\n }));\n }\n\n return {\n ...variables,\n };\n }\n\n public shouldForceResolvers(document: ASTNode) {\n let forceResolvers = false;\n visit(document, {\n Directive: {\n enter(node) {\n if (node.name.value === \"client\" && node.arguments) {\n forceResolvers = node.arguments.some(\n (arg) =>\n arg.name.value === \"always\" &&\n arg.value.kind === \"BooleanValue\" &&\n arg.value.value === true\n );\n if (forceResolvers) {\n return BREAK;\n }\n }\n },\n },\n });\n return forceResolvers;\n }\n\n // Query the cache and return matching data.\n private buildRootValueFromCache(\n document: DocumentNode,\n variables?: Record<string, any>\n ) {\n return this.cache.diff({\n query: buildQueryFromSelectionSet(document),\n variables,\n returnPartialData: true,\n optimistic: false,\n }).result;\n }\n\n private async resolveDocument<TData>(\n document: DocumentNode,\n rootValue: TData,\n context: any = {},\n variables: VariableMap = {},\n fragmentMatcher: FragmentMatcher = () => true,\n onlyRunForcedResolvers: boolean = false\n ) {\n const mainDefinition = getMainDefinition(\n document\n ) as OperationDefinitionNode;\n const fragments = getFragmentDefinitions(document);\n const fragmentMap = createFragmentMap(fragments);\n const selectionsToResolve = this.collectSelectionsToResolve(\n mainDefinition,\n fragmentMap\n );\n\n const definitionOperation = mainDefinition.operation;\n\n const defaultOperationType =\n definitionOperation ?\n definitionOperation.charAt(0).toUpperCase() +\n definitionOperation.slice(1)\n : \"Query\";\n\n const { cache, client } = this;\n const execContext: ExecContext = {\n fragmentMap,\n context: {\n ...context,\n cache,\n client,\n },\n variables,\n fragmentMatcher,\n defaultOperationType,\n exportedVariables: {},\n selectionsToResolve,\n onlyRunForcedResolvers,\n };\n const isClientFieldDescendant = false;\n\n return this.resolveSelectionSet(\n mainDefinition.selectionSet,\n isClientFieldDescendant,\n rootValue,\n execContext\n ).then((result) => ({\n result,\n exportedVariables: execContext.exportedVariables,\n }));\n }\n\n private async resolveSelectionSet<TData>(\n selectionSet: SelectionSetNode,\n isClientFieldDescendant: boolean,\n rootValue: TData,\n execContext: ExecContext\n ) {\n const { fragmentMap, context, variables } = execContext;\n const resultsToMerge: TData[] = [rootValue];\n\n const execute = async (selection: SelectionNode): Promise<void> => {\n if (\n !isClientFieldDescendant &&\n !execContext.selectionsToResolve.has(selection)\n ) {\n // Skip selections without @client directives\n // (still processing if one of the ancestors or one of the child fields has @client directive)\n return;\n }\n if (!shouldInclude(selection, variables)) {\n // Skip this entirely.\n return;\n }\n\n if (isField(selection)) {\n return this.resolveField(\n selection,\n isClientFieldDescendant,\n rootValue,\n execContext\n ).then((fieldResult) => {\n if (typeof fieldResult !== \"undefined\") {\n resultsToMerge.push({\n [resultKeyNameFromField(selection)]: fieldResult,\n } as TData);\n }\n });\n }\n\n let fragment: InlineFragmentNode | FragmentDefinitionNode;\n\n if (selection.kind === Kind.INLINE_FRAGMENT) {\n fragment = selection;\n } else {\n // This is a named fragment.\n fragment = fragmentMap[selection.name.value];\n invariant(fragment, `No fragment named %s`, selection.name.value);\n }\n\n if (fragment && fragment.typeCondition) {\n const typeCondition = fragment.typeCondition.name.value;\n if (execContext.fragmentMatcher(rootValue, typeCondition, context)) {\n return this.resolveSelectionSet(\n fragment.selectionSet,\n isClientFieldDescendant,\n rootValue,\n execContext\n ).then((fragmentResult) => {\n resultsToMerge.push(fragmentResult);\n });\n }\n }\n };\n\n return Promise.all(selectionSet.selections.map(execute)).then(function () {\n return mergeDeepArray(resultsToMerge);\n });\n }\n\n private async resolveField(\n field: FieldNode,\n isClientFieldDescendant: boolean,\n rootValue: any,\n execContext: ExecContext\n ): Promise<any> {\n if (!rootValue) {\n return null;\n }\n\n const { variables } = execContext;\n const fieldName = field.name.value;\n const aliasedFieldName = resultKeyNameFromField(field);\n const aliasUsed = fieldName !== aliasedFieldName;\n const defaultResult = rootValue[aliasedFieldName] || rootValue[fieldName];\n let resultPromise = Promise.resolve(defaultResult);\n\n // Usually all local resolvers are run when passing through here, but\n // if we've specifically identified that we only want to run forced\n // resolvers (that is, resolvers for fields marked with\n // `@client(always: true)`), then we'll skip running non-forced resolvers.\n if (\n !execContext.onlyRunForcedResolvers ||\n this.shouldForceResolvers(field)\n ) {\n const resolverType =\n rootValue.__typename || execContext.defaultOperationType;\n const resolverMap = this.resolvers && this.resolvers[resolverType];\n if (resolverMap) {\n const resolve = resolverMap[aliasUsed ? fieldName : aliasedFieldName];\n if (resolve) {\n resultPromise = Promise.resolve(\n // In case the resolve function accesses reactive variables,\n // set cacheSlot to the current cache instance.\n cacheSlot.withValue(this.cache, resolve, [\n rootValue,\n argumentsObjectFromField(field, variables),\n execContext.context,\n { field, fragmentMap: execContext.fragmentMap },\n ])\n );\n }\n }\n }\n\n return resultPromise.then((result = defaultResult) => {\n // If an @export directive is associated with the current field, store\n // the `as` export variable name and current result for later use.\n if (field.directives) {\n field.directives.forEach((directive) => {\n if (directive.name.value === \"export\" && directive.arguments) {\n directive.arguments.forEach((arg) => {\n if (arg.name.value === \"as\" && arg.value.kind === \"StringValue\") {\n execContext.exportedVariables[arg.value.value] = result;\n }\n });\n }\n });\n }\n\n // Handle all scalar types here.\n if (!field.selectionSet) {\n return result;\n }\n\n // From here down, the field has a selection set, which means it's trying\n // to query a GraphQLObjectType.\n if (result == null) {\n // Basically any field in a GraphQL response can be null, or missing\n return result;\n }\n\n const isClientField =\n field.directives?.some((d) => d.name.value === \"client\") ?? false;\n\n if (Array.isArray(result)) {\n return this.resolveSubSelectedArray(\n field,\n isClientFieldDescendant || isClientField,\n result,\n execContext\n );\n }\n\n // Returned value is an object, and the query has a sub-selection. Recurse.\n if (field.selectionSet) {\n return this.resolveSelectionSet(\n field.selectionSet,\n isClientFieldDescendant || isClientField,\n result,\n execContext\n );\n }\n });\n }\n\n private resolveSubSelectedArray(\n field: FieldNode,\n isClientFieldDescendant: boolean,\n result: any[],\n execContext: ExecContext\n ): any {\n return Promise.all(\n result.map((item) => {\n if (item === null) {\n return null;\n }\n\n // This is a nested array, recurse.\n if (Array.isArray(item)) {\n return this.resolveSubSelectedArray(\n field,\n isClientFieldDescendant,\n item,\n execContext\n );\n }\n\n // This is an object, run the selection set on it.\n if (field.selectionSet) {\n return this.resolveSelectionSet(\n field.selectionSet,\n isClientFieldDescendant,\n item,\n execContext\n );\n }\n })\n );\n }\n\n // Collect selection nodes on paths from document root down to all @client directives.\n // This function takes into account transitive fragment spreads.\n // Complexity equals to a single `visit` over the full document.\n private collectSelectionsToResolve(\n mainDefinition: OperationDefinitionNode,\n fragmentMap: FragmentMap\n ): Set<SelectionNode> {\n const isSingleASTNode = (\n node: ASTNode | readonly ASTNode[]\n ): node is ASTNode => !Array.isArray(node);\n const selectionsToResolveCache = this.selectionsToResolveCache;\n\n function collectByDefinition(\n definitionNode: ExecutableDefinitionNode\n ): Set<SelectionNode> {\n if (!selectionsToResolveCache.has(definitionNode)) {\n const matches = new Set<SelectionNode>();\n selectionsToResolveCache.set(definitionNode, matches);\n\n visit(definitionNode, {\n Directive(node: DirectiveNode, _, __, ___, ancestors) {\n if (node.name.value === \"client\") {\n ancestors.forEach((node) => {\n if (isSingleASTNode(node) && isSelectionNode(node)) {\n matches.add(node);\n }\n });\n }\n },\n FragmentSpread(spread: FragmentSpreadNode, _, __, ___, ancestors) {\n const fragment = fragmentMap[spread.name.value];\n invariant(fragment, `No fragment named %s`, spread.name.value);\n\n const fragmentSelections = collectByDefinition(fragment);\n if (fragmentSelections.size > 0) {\n // Fragment for this spread contains @client directive (either directly or transitively)\n // Collect selection nodes on paths from the root down to fields with the @client directive\n ancestors.forEach((node) => {\n if (isSingleASTNode(node) && isSelectionNode(node)) {\n matches.add(node);\n }\n });\n matches.add(spread);\n fragmentSelections.forEach((selection) => {\n matches.add(selection);\n });\n }\n },\n });\n }\n return selectionsToResolveCache.get(definitionNode)!;\n }\n return collectByDefinition(mainDefinition);\n }\n}\n\n// If the incoming document is a query, return it as is. Otherwise, build a\n// new document containing a query operation based on the selection set\n// of the previous main operation.\nfunction buildQueryFromSelectionSet(document: DocumentNode): DocumentNode {\n const definition = getMainDefinition(document);\n const definitionOperation = (<OperationDefinitionNode>definition).operation;\n\n if (definitionOperation === \"query\") {\n // Already a query, so return the existing document.\n return document;\n }\n\n // Build a new query using the selection set of the main operation.\n const modifiedDoc = visit(document, {\n OperationDefinition: {\n enter(node) {\n return {\n ...node,\n operation: \"query\",\n };\n },\n },\n });\n return modifiedDoc;\n}\n"],"names":[],"mappings":"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;QAElD,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CACM,CAAC,CADP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA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"}
@@ -1,53 +0,0 @@
1
- import type { ASTNode, DocumentNode, FieldNode } from "graphql";
2
- import type { ApolloCache } from "@apollo/client/cache";
3
- import type { FetchResult } from "@apollo/client/link";
4
- import type { StoreObject } from "@apollo/client/utilities";
5
- import type { FragmentMap } from "@apollo/client/utilities/internal";
6
- import type { ApolloClient } from "./ApolloClient.cjs";
7
- import type { OperationVariables, Resolvers } from "./types.cjs";
8
- export type Resolver = (rootValue?: any, args?: any, context?: any, info?: {
9
- field: FieldNode;
10
- fragmentMap: FragmentMap;
11
- }) => any;
12
- export type FragmentMatcher = (rootValue: any, typeCondition: string, context: any) => boolean;
13
- type LocalStateOptions = {
14
- cache: ApolloCache;
15
- client?: ApolloClient;
16
- resolvers?: Resolvers | Resolvers[];
17
- fragmentMatcher?: FragmentMatcher;
18
- };
19
- export declare class LocalState {
20
- private cache;
21
- private client?;
22
- private resolvers?;
23
- private fragmentMatcher?;
24
- private selectionsToResolveCache;
25
- constructor({ cache, client, resolvers, fragmentMatcher, }: LocalStateOptions);
26
- addResolvers(resolvers: Resolvers | Resolvers[]): void;
27
- setResolvers(resolvers: Resolvers | Resolvers[]): void;
28
- getResolvers(): Resolvers;
29
- runResolvers<TData>({ document, remoteResult, context, variables, onlyRunForcedResolvers, }: {
30
- document: DocumentNode | null;
31
- remoteResult: FetchResult<TData>;
32
- context?: Record<string, any>;
33
- variables?: Record<string, any>;
34
- onlyRunForcedResolvers?: boolean;
35
- }): Promise<FetchResult<TData>>;
36
- setFragmentMatcher(fragmentMatcher: FragmentMatcher): void;
37
- getFragmentMatcher(): FragmentMatcher | undefined;
38
- clientQuery(document: DocumentNode): DocumentNode | null;
39
- serverQuery(document: DocumentNode): DocumentNode | null;
40
- prepareContext(context?: Record<string, any>): {
41
- getCacheKey(obj: StoreObject): string | undefined;
42
- };
43
- addExportedVariables<TVars extends OperationVariables>(document: DocumentNode, variables?: TVars, context?: {}): Promise<TVars>;
44
- shouldForceResolvers(document: ASTNode): boolean;
45
- private buildRootValueFromCache;
46
- private resolveDocument;
47
- private resolveSelectionSet;
48
- private resolveField;
49
- private resolveSubSelectedArray;
50
- private collectSelectionsToResolve;
51
- }
52
- export {};
53
- //# sourceMappingURL=LocalState.d.cts.map
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.removeClientSetsFromDocument = removeClientSetsFromDocument;
4
- const checkDocument_js_1 = require("./checkDocument.cjs");
5
- const removeDirectivesFromDocument_js_1 = require("./removeDirectivesFromDocument.cjs");
6
- /**
7
- * Remove fields / selection sets that include an `@client` directive.
8
- *
9
- * @internal
10
- */
11
- function removeClientSetsFromDocument(document) {
12
- (0, checkDocument_js_1.checkDocument)(document);
13
- let modifiedDoc = (0, removeDirectivesFromDocument_js_1.removeDirectivesFromDocument)([
14
- {
15
- test: (directive) => directive.name.value === "client",
16
- remove: true,
17
- },
18
- ], document);
19
- return modifiedDoc;
20
- }
21
- //# sourceMappingURL=removeClientSetsFromDocument.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeClientSetsFromDocument.cjs","sources":["../../../../src/utilities/internal/removeClientSetsFromDocument.ts"],"sourcesContent":["import type { DirectiveNode, DocumentNode } from \"graphql\";\n\nimport { checkDocument } from \"./checkDocument.js\";\nimport { removeDirectivesFromDocument } from \"./removeDirectivesFromDocument.js\";\n\n/**\n * Remove fields / selection sets that include an `@client` directive.\n *\n * @internal\n */\nexport function removeClientSetsFromDocument(\n document: DocumentNode\n): DocumentNode | null {\n checkDocument(document);\n\n let modifiedDoc = removeDirectivesFromDocument(\n [\n {\n test: (directive: DirectiveNode) => directive.name.value === \"client\",\n remove: true,\n },\n ],\n document\n );\n\n return modifiedDoc;\n}\n"],"names":[],"mappings":";;AAUA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AARA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA;;;;CAIA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,CADF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA;IAGE,CAAF,CAAA,EAAE,CAAF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAf,CAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CAAC;IAEvB,CAAF,CAAA,EAAM,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAoB,CAApB,CAAA,EAAoB,CAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgD,CAAhD,CACI;QACE;YACE,CAAR,CAAA,CAAA,CAAY,EAAE,CAAC,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuC,EAAE,CAAzC,EAA4C,CAA5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqD,CAAC,CAAtD,CAAA,CAAA,CAA0D,CAAC,CAA3D,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAqE,CAArE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6E;YACrE,CAAR,CAAA,CAAA,CAAA,CAAA,CAAc,EAAE,CAAhB,CAAA,CAAA,CAAoB;QACpB,CAAO;IACP,CAAK,EACD,CADJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACY,CACT;IAED,CAAF,CAAA,CAAA,CAAA,CAAA,EAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB;AACpB;"}
@@ -1,8 +0,0 @@
1
- import type { DocumentNode } from "graphql";
2
- /**
3
- * Remove fields / selection sets that include an `@client` directive.
4
- *
5
- * @internal
6
- */
7
- export declare function removeClientSetsFromDocument(document: DocumentNode): DocumentNode | null;
8
- //# sourceMappingURL=removeClientSetsFromDocument.d.cts.map
@@ -1,53 +0,0 @@
1
- import type { ASTNode, DocumentNode, FieldNode } from "graphql";
2
- import type { ApolloCache } from "@apollo/client/cache";
3
- import type { FetchResult } from "@apollo/client/link";
4
- import type { StoreObject } from "@apollo/client/utilities";
5
- import type { FragmentMap } from "@apollo/client/utilities/internal";
6
- import type { ApolloClient } from "./ApolloClient.js";
7
- import type { OperationVariables, Resolvers } from "./types.js";
8
- export type Resolver = (rootValue?: any, args?: any, context?: any, info?: {
9
- field: FieldNode;
10
- fragmentMap: FragmentMap;
11
- }) => any;
12
- export type FragmentMatcher = (rootValue: any, typeCondition: string, context: any) => boolean;
13
- type LocalStateOptions = {
14
- cache: ApolloCache;
15
- client?: ApolloClient;
16
- resolvers?: Resolvers | Resolvers[];
17
- fragmentMatcher?: FragmentMatcher;
18
- };
19
- export declare class LocalState {
20
- private cache;
21
- private client?;
22
- private resolvers?;
23
- private fragmentMatcher?;
24
- private selectionsToResolveCache;
25
- constructor({ cache, client, resolvers, fragmentMatcher, }: LocalStateOptions);
26
- addResolvers(resolvers: Resolvers | Resolvers[]): void;
27
- setResolvers(resolvers: Resolvers | Resolvers[]): void;
28
- getResolvers(): Resolvers;
29
- runResolvers<TData>({ document, remoteResult, context, variables, onlyRunForcedResolvers, }: {
30
- document: DocumentNode | null;
31
- remoteResult: FetchResult<TData>;
32
- context?: Record<string, any>;
33
- variables?: Record<string, any>;
34
- onlyRunForcedResolvers?: boolean;
35
- }): Promise<FetchResult<TData>>;
36
- setFragmentMatcher(fragmentMatcher: FragmentMatcher): void;
37
- getFragmentMatcher(): FragmentMatcher | undefined;
38
- clientQuery(document: DocumentNode): DocumentNode | null;
39
- serverQuery(document: DocumentNode): DocumentNode | null;
40
- prepareContext(context?: Record<string, any>): {
41
- getCacheKey(obj: StoreObject): string | undefined;
42
- };
43
- addExportedVariables<TVars extends OperationVariables>(document: DocumentNode, variables?: TVars, context?: {}): Promise<TVars>;
44
- shouldForceResolvers(document: ASTNode): boolean;
45
- private buildRootValueFromCache;
46
- private resolveDocument;
47
- private resolveSelectionSet;
48
- private resolveField;
49
- private resolveSubSelectedArray;
50
- private collectSelectionsToResolve;
51
- }
52
- export {};
53
- //# sourceMappingURL=LocalState.d.ts.map