@apollo/client 4.0.0-rc.1 → 4.0.0-rc.3

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 (812) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/__cjs/cache/core/cache.cjs.map +1 -1
  3. package/__cjs/cache/core/types/DataProxy.d.cts +4 -4
  4. package/__cjs/cache/index.cjs.map +1 -1
  5. package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
  6. package/__cjs/cache/inmemory/helpers.cjs.map +1 -1
  7. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  8. package/__cjs/cache/inmemory/key-extractor.cjs.map +1 -1
  9. package/__cjs/cache/inmemory/policies.cjs.map +1 -1
  10. package/__cjs/cache/inmemory/reactiveVars.cjs.map +1 -1
  11. package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  12. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  13. package/__cjs/core/ApolloClient.cjs +20 -4
  14. package/__cjs/core/ApolloClient.cjs.map +1 -1
  15. package/__cjs/core/ApolloClient.d.cts +17 -2
  16. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  17. package/__cjs/core/QueryInfo.cjs.map +1 -1
  18. package/__cjs/core/QueryInfo.d.cts +3 -3
  19. package/__cjs/core/QueryManager.cjs.map +1 -1
  20. package/__cjs/core/equalByQuery.cjs.map +1 -1
  21. package/__cjs/core/index.cjs.map +1 -1
  22. package/__cjs/core/index.d.cts +1 -1
  23. package/__cjs/core/networkStatus.cjs.map +1 -1
  24. package/__cjs/core/types.d.cts +94 -42
  25. package/__cjs/core/watchQueryOptions.d.cts +2 -2
  26. package/__cjs/dev/index.cjs.map +1 -1
  27. package/__cjs/dev/loadDevMessages.cjs.map +1 -1
  28. package/__cjs/dev/loadErrorMessageHandler.cjs.map +1 -1
  29. package/__cjs/dev/loadErrorMessages.cjs.map +1 -1
  30. package/__cjs/dev/setErrorMessageHandler.cjs.map +1 -1
  31. package/__cjs/dev/symbol.cjs.map +1 -1
  32. package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
  33. package/__cjs/errors/CombinedProtocolErrors.cjs.map +1 -1
  34. package/__cjs/errors/LinkError.cjs.map +1 -1
  35. package/__cjs/errors/LocalStateError.cjs.map +1 -1
  36. package/__cjs/errors/ServerError.cjs.map +1 -1
  37. package/__cjs/errors/ServerParseError.cjs.map +1 -1
  38. package/__cjs/errors/UnconventionalError.cjs.map +1 -1
  39. package/__cjs/errors/index.cjs.map +1 -1
  40. package/__cjs/errors/isErrorLike.cjs.map +1 -1
  41. package/__cjs/errors/utils.cjs.map +1 -1
  42. package/__cjs/incremental/handlers/defer20220824.cjs.map +1 -1
  43. package/__cjs/incremental/index.cjs.map +1 -1
  44. package/__cjs/invariantErrorCodes.cjs.map +1 -1
  45. package/__cjs/link/batch/batchLink.cjs.map +1 -1
  46. package/__cjs/link/batch/index.cjs.map +1 -1
  47. package/__cjs/link/batch-http/batchHttpLink.cjs.map +1 -1
  48. package/__cjs/link/batch-http/index.cjs.map +1 -1
  49. package/__cjs/link/client-awareness/index.cjs.map +1 -1
  50. package/__cjs/link/context/index.cjs +18 -14
  51. package/__cjs/link/context/index.cjs.map +1 -1
  52. package/__cjs/link/context/index.d.cts +17 -5
  53. package/__cjs/link/core/concat.cjs.map +1 -1
  54. package/__cjs/link/core/empty.cjs.map +1 -1
  55. package/__cjs/link/core/execute.cjs.map +1 -1
  56. package/__cjs/link/core/from.cjs.map +1 -1
  57. package/__cjs/link/core/split.cjs.map +1 -1
  58. package/__cjs/link/http/BaseHttpLink.cjs.map +1 -1
  59. package/__cjs/link/http/HttpLink.cjs.map +1 -1
  60. package/__cjs/link/http/index.cjs.map +1 -1
  61. package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
  62. package/__cjs/link/http/rewriteURIForGET.cjs.map +1 -1
  63. package/__cjs/link/http/selectHttpOptionsAndBody.cjs.map +1 -1
  64. package/__cjs/link/index.cjs.map +1 -1
  65. package/__cjs/link/remove-typename/index.cjs.map +1 -1
  66. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs.map +1 -1
  67. package/__cjs/link/retry/delayFunction.cjs.map +1 -1
  68. package/__cjs/link/retry/index.cjs.map +1 -1
  69. package/__cjs/link/retry/retryFunction.cjs.map +1 -1
  70. package/__cjs/link/retry/retryLink.cjs.map +1 -1
  71. package/__cjs/link/utils/createOperation.cjs.map +1 -1
  72. package/__cjs/link/utils/filterOperationVariables.cjs.map +1 -1
  73. package/__cjs/link/utils/index.cjs.map +1 -1
  74. package/__cjs/link/utils/transformOperation.cjs +1 -0
  75. package/__cjs/link/utils/transformOperation.cjs.map +1 -1
  76. package/__cjs/link/utils/validateOperation.cjs.map +1 -1
  77. package/__cjs/local-state/LocalState.cjs.map +1 -1
  78. package/__cjs/local-state/index.cjs.map +1 -1
  79. package/__cjs/masking/index.cjs.map +1 -1
  80. package/__cjs/masking/maskDefinition.cjs.map +1 -1
  81. package/__cjs/masking/maskFragment.cjs.map +1 -1
  82. package/__cjs/masking/maskOperation.cjs.map +1 -1
  83. package/__cjs/masking/utils.cjs.map +1 -1
  84. package/__cjs/react/context/ApolloContext.cjs.map +1 -1
  85. package/__cjs/react/hooks/constants.cjs.map +1 -1
  86. package/__cjs/react/hooks/internal/__use.cjs.map +1 -1
  87. package/__cjs/react/hooks/internal/index.cjs.map +1 -1
  88. package/__cjs/react/hooks/internal/useDeepMemo.cjs.map +1 -1
  89. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs.map +1 -1
  90. package/__cjs/react/hooks/internal/useRenderGuard.cjs.map +1 -1
  91. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs.map +1 -1
  92. package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
  93. package/__cjs/react/hooks/useApolloClient.cjs.map +1 -1
  94. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  95. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  96. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  97. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
  98. package/__cjs/react/hooks/useMutation.cjs.map +1 -1
  99. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  100. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
  101. package/__cjs/react/hooks/useReactiveVar.cjs.map +1 -1
  102. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
  103. package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
  104. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  105. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  106. package/__cjs/react/hooks/useSyncExternalStore.cjs.map +1 -1
  107. package/__cjs/react/index.cjs +2 -1
  108. package/__cjs/react/index.cjs.map +1 -1
  109. package/__cjs/react/index.d.cts +1 -0
  110. package/__cjs/react/index.react-server.cjs.map +1 -1
  111. package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
  112. package/__cjs/react/internal/cache/getSuspenseCache.cjs.map +1 -1
  113. package/__cjs/react/internal/compiler-runtime/index.cjs +32 -0
  114. package/__cjs/react/internal/compiler-runtime/index.cjs.map +1 -0
  115. package/__cjs/react/internal/compiler-runtime/index.d.cts +8 -0
  116. package/__cjs/react/internal/index.cjs.map +1 -1
  117. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  118. package/__cjs/react/ssr/getDataFromTree.cjs.map +1 -1
  119. package/__cjs/react/ssr/index.cjs.map +1 -1
  120. package/__cjs/react/ssr/renderToStringWithData.cjs.map +1 -1
  121. package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -1
  122. package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
  123. package/__cjs/testing/index.cjs.map +1 -1
  124. package/__cjs/testing/react/index.cjs.map +1 -1
  125. package/__cjs/utilities/caching/index.cjs.map +1 -1
  126. package/__cjs/utilities/caching/sizes.cjs.map +1 -1
  127. package/__cjs/utilities/common/stripTypename.cjs.map +1 -1
  128. package/__cjs/utilities/environment/index.cjs.map +1 -1
  129. package/__cjs/utilities/environment/index.development.cjs.map +1 -1
  130. package/__cjs/utilities/environment/index.production.cjs.map +1 -1
  131. package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs.map +1 -1
  132. package/__cjs/utilities/graphql/operations.cjs.map +1 -1
  133. package/__cjs/utilities/graphql/print.cjs.map +1 -1
  134. package/__cjs/utilities/graphql/storeUtils.cjs.map +1 -1
  135. package/__cjs/utilities/graphql/transform.cjs.map +1 -1
  136. package/__cjs/utilities/index.cjs.map +1 -1
  137. package/__cjs/utilities/internal/argumentsObjectFromField.cjs.map +1 -1
  138. package/__cjs/utilities/internal/caches.cjs.map +1 -1
  139. package/__cjs/utilities/internal/canUseDOM.cjs.map +1 -1
  140. package/__cjs/utilities/internal/checkDocument.cjs.map +1 -1
  141. package/__cjs/utilities/internal/cloneDeep.cjs.map +1 -1
  142. package/__cjs/utilities/internal/compact.cjs.map +1 -1
  143. package/__cjs/utilities/internal/createFragmentMap.cjs.map +1 -1
  144. package/__cjs/utilities/internal/createFulfilledPromise.cjs.map +1 -1
  145. package/__cjs/utilities/internal/createRejectedPromise.cjs.map +1 -1
  146. package/__cjs/utilities/internal/dealias.cjs.map +1 -1
  147. package/__cjs/utilities/internal/decoratePromise.cjs.map +1 -1
  148. package/__cjs/utilities/internal/deepFreeze.cjs.map +1 -1
  149. package/__cjs/utilities/internal/filterMap.cjs.map +1 -1
  150. package/__cjs/utilities/internal/getDefaultValues.cjs.map +1 -1
  151. package/__cjs/utilities/internal/getFragmentDefinition.cjs.map +1 -1
  152. package/__cjs/utilities/internal/getFragmentDefinitions.cjs.map +1 -1
  153. package/__cjs/utilities/internal/getFragmentFromSelection.cjs.map +1 -1
  154. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs.map +1 -1
  155. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs.map +1 -1
  156. package/__cjs/utilities/internal/getMainDefinition.cjs.map +1 -1
  157. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
  158. package/__cjs/utilities/internal/getOperationDefinition.cjs.map +1 -1
  159. package/__cjs/utilities/internal/getOperationName.cjs.map +1 -1
  160. package/__cjs/utilities/internal/getQueryDefinition.cjs.map +1 -1
  161. package/__cjs/utilities/internal/getStoreKeyName.cjs.map +1 -1
  162. package/__cjs/utilities/internal/globals/global.cjs.map +1 -1
  163. package/__cjs/utilities/internal/globals/index.cjs.map +1 -1
  164. package/__cjs/utilities/internal/globals/maybe.cjs.map +1 -1
  165. package/__cjs/utilities/internal/graphQLResultHasError.cjs.map +1 -1
  166. package/__cjs/utilities/internal/hasDirectives.cjs.map +1 -1
  167. package/__cjs/utilities/internal/hasForcedResolvers.cjs.map +1 -1
  168. package/__cjs/utilities/internal/index.cjs.map +1 -1
  169. package/__cjs/utilities/internal/index.production.cjs.map +1 -1
  170. package/__cjs/utilities/internal/isArray.cjs.map +1 -1
  171. package/__cjs/utilities/internal/isDocumentNode.cjs.map +1 -1
  172. package/__cjs/utilities/internal/isField.cjs.map +1 -1
  173. package/__cjs/utilities/internal/isNonEmptyArray.cjs.map +1 -1
  174. package/__cjs/utilities/internal/isNonNullObject.cjs.map +1 -1
  175. package/__cjs/utilities/internal/isPlainObject.cjs.map +1 -1
  176. package/__cjs/utilities/internal/makeReference.cjs.map +1 -1
  177. package/__cjs/utilities/internal/makeUniqueId.cjs.map +1 -1
  178. package/__cjs/utilities/internal/maybeDeepFreeze.cjs.map +1 -1
  179. package/__cjs/utilities/internal/mergeDeep.cjs.map +1 -1
  180. package/__cjs/utilities/internal/mergeDeepArray.cjs.map +1 -1
  181. package/__cjs/utilities/internal/mergeOptions.cjs.map +1 -1
  182. package/__cjs/utilities/internal/omitDeep.cjs.map +1 -1
  183. package/__cjs/utilities/internal/preventUnhandledRejection.cjs.map +1 -1
  184. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs.map +1 -1
  185. package/__cjs/utilities/internal/resultKeyNameFromField.cjs.map +1 -1
  186. package/__cjs/utilities/internal/shouldInclude.cjs.map +1 -1
  187. package/__cjs/utilities/internal/storeKeyNameFromField.cjs.map +1 -1
  188. package/__cjs/utilities/internal/stringifyForDisplay.cjs.map +1 -1
  189. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -1
  190. package/__cjs/utilities/internal/valueToObjectRepresentation.cjs.map +1 -1
  191. package/__cjs/utilities/invariant/index.cjs.map +1 -1
  192. package/__cjs/utilities/invariant/index.development.cjs.map +1 -1
  193. package/__cjs/utilities/policies/pagination.cjs.map +1 -1
  194. package/__cjs/utilities/shared/canonicalStringify.cjs.map +1 -1
  195. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
  196. package/__cjs/version.cjs +1 -1
  197. package/__cjs/version.cjs.map +1 -1
  198. package/cache/core/cache.js.map +1 -1
  199. package/cache/core/types/Cache.d.ts +1 -1
  200. package/cache/core/types/Cache.js +1 -1
  201. package/cache/core/types/Cache.js.map +1 -1
  202. package/cache/core/types/DataProxy.d.ts +5 -5
  203. package/cache/core/types/DataProxy.js +1 -1
  204. package/cache/core/types/DataProxy.js.map +1 -1
  205. package/cache/core/types/common.d.ts +1 -1
  206. package/cache/core/types/common.js +1 -1
  207. package/cache/core/types/common.js.map +1 -1
  208. package/cache/index.d.ts +1 -1
  209. package/cache/index.js +1 -1
  210. package/cache/index.js.map +1 -1
  211. package/cache/inmemory/entityStore.d.ts +1 -1
  212. package/cache/inmemory/entityStore.js.map +1 -1
  213. package/cache/inmemory/fragmentRegistry.d.ts +1 -1
  214. package/cache/inmemory/fragmentRegistry.js +1 -1
  215. package/cache/inmemory/fragmentRegistry.js.map +1 -1
  216. package/cache/inmemory/helpers.d.ts +1 -1
  217. package/cache/inmemory/helpers.js +1 -1
  218. package/cache/inmemory/helpers.js.map +1 -1
  219. package/cache/inmemory/key-extractor.d.ts +1 -1
  220. package/cache/inmemory/key-extractor.js.map +1 -1
  221. package/cache/inmemory/policies.d.ts +1 -1
  222. package/cache/inmemory/policies.js.map +1 -1
  223. package/cache/inmemory/reactiveVars.d.ts +1 -1
  224. package/cache/inmemory/reactiveVars.js +1 -1
  225. package/cache/inmemory/reactiveVars.js.map +1 -1
  226. package/cache/inmemory/readFromStore.d.ts +1 -1
  227. package/cache/inmemory/readFromStore.js.map +1 -1
  228. package/cache/inmemory/types.d.ts +1 -1
  229. package/cache/inmemory/types.js +1 -1
  230. package/cache/inmemory/types.js.map +1 -1
  231. package/cache/inmemory/writeToStore.d.ts +1 -1
  232. package/cache/inmemory/writeToStore.js.map +1 -1
  233. package/core/ApolloClient.d.ts +17 -2
  234. package/core/ApolloClient.js +20 -4
  235. package/core/ApolloClient.js.map +1 -1
  236. package/core/QueryInfo.d.ts +3 -3
  237. package/core/QueryInfo.js.map +1 -1
  238. package/core/QueryManager.d.ts +1 -1
  239. package/core/QueryManager.js.map +1 -1
  240. package/core/equalByQuery.d.ts +1 -1
  241. package/core/equalByQuery.js +1 -1
  242. package/core/equalByQuery.js.map +1 -1
  243. package/core/index.d.ts +2 -2
  244. package/core/index.js +1 -1
  245. package/core/index.js.map +1 -1
  246. package/core/networkStatus.d.ts +1 -1
  247. package/core/networkStatus.js +1 -1
  248. package/core/networkStatus.js.map +1 -1
  249. package/core/types.d.ts +94 -42
  250. package/core/types.js +1 -1
  251. package/core/types.js.map +1 -1
  252. package/core/watchQueryOptions.d.ts +2 -2
  253. package/core/watchQueryOptions.js +1 -1
  254. package/core/watchQueryOptions.js.map +1 -1
  255. package/dev/index.d.ts +1 -1
  256. package/dev/index.js +1 -1
  257. package/dev/index.js.map +1 -1
  258. package/dev/loadDevMessages.d.ts +1 -1
  259. package/dev/loadDevMessages.js +1 -1
  260. package/dev/loadDevMessages.js.map +1 -1
  261. package/dev/loadErrorMessageHandler.d.ts +1 -1
  262. package/dev/loadErrorMessageHandler.js +1 -1
  263. package/dev/loadErrorMessageHandler.js.map +1 -1
  264. package/dev/loadErrorMessages.d.ts +1 -1
  265. package/dev/loadErrorMessages.js +1 -1
  266. package/dev/loadErrorMessages.js.map +1 -1
  267. package/dev/setErrorMessageHandler.d.ts +1 -1
  268. package/dev/setErrorMessageHandler.js +1 -1
  269. package/dev/setErrorMessageHandler.js.map +1 -1
  270. package/dev/symbol.d.ts +1 -1
  271. package/dev/symbol.js +1 -1
  272. package/dev/symbol.js.map +1 -1
  273. package/errors/CombinedGraphQLErrors.d.ts +1 -1
  274. package/errors/CombinedGraphQLErrors.js +1 -1
  275. package/errors/CombinedGraphQLErrors.js.map +1 -1
  276. package/errors/CombinedProtocolErrors.d.ts +1 -1
  277. package/errors/CombinedProtocolErrors.js +1 -1
  278. package/errors/CombinedProtocolErrors.js.map +1 -1
  279. package/errors/LinkError.js.map +1 -1
  280. package/errors/LocalStateError.d.ts +1 -1
  281. package/errors/LocalStateError.js +1 -1
  282. package/errors/LocalStateError.js.map +1 -1
  283. package/errors/ServerError.d.ts +1 -1
  284. package/errors/ServerError.js +1 -1
  285. package/errors/ServerError.js.map +1 -1
  286. package/errors/ServerParseError.d.ts +1 -1
  287. package/errors/ServerParseError.js +1 -1
  288. package/errors/ServerParseError.js.map +1 -1
  289. package/errors/UnconventionalError.d.ts +1 -1
  290. package/errors/UnconventionalError.js +1 -1
  291. package/errors/UnconventionalError.js.map +1 -1
  292. package/errors/index.d.ts +1 -1
  293. package/errors/index.js +1 -1
  294. package/errors/index.js.map +1 -1
  295. package/errors/isErrorLike.d.ts +1 -1
  296. package/errors/isErrorLike.js +1 -1
  297. package/errors/isErrorLike.js.map +1 -1
  298. package/errors/utils.d.ts +1 -1
  299. package/errors/utils.js +1 -1
  300. package/errors/utils.js.map +1 -1
  301. package/incremental/handlers/defer20220824.d.ts +1 -1
  302. package/incremental/handlers/defer20220824.js +1 -1
  303. package/incremental/handlers/defer20220824.js.map +1 -1
  304. package/incremental/handlers/notImplemented.d.ts +1 -1
  305. package/incremental/index.d.ts +1 -1
  306. package/incremental/index.js.map +1 -1
  307. package/incremental/types.js +1 -1
  308. package/incremental/types.js.map +1 -1
  309. package/invariantErrorCodes.d.ts +1 -1
  310. package/invariantErrorCodes.js +4 -1
  311. package/invariantErrorCodes.js.map +1 -1
  312. package/legacyEntryPoints/react/internal/compiler-runtime/compiler-runtime.cjs +1 -0
  313. package/legacyEntryPoints/react/internal/compiler-runtime/compiler-runtime.d.cts +1 -0
  314. package/legacyEntryPoints/react/internal/compiler-runtime/index.d.ts +1 -0
  315. package/legacyEntryPoints/react/internal/compiler-runtime/index.js +1 -0
  316. package/link/batch/batchLink.d.ts +1 -1
  317. package/link/batch/batchLink.js +1 -1
  318. package/link/batch/batchLink.js.map +1 -1
  319. package/link/batch/batching.d.ts +1 -1
  320. package/link/batch/batching.js +1 -1
  321. package/link/batch/batching.js.map +1 -1
  322. package/link/batch/index.d.ts +1 -1
  323. package/link/batch/index.js +1 -1
  324. package/link/batch/index.js.map +1 -1
  325. package/link/batch-http/batchHttpLink.d.ts +1 -1
  326. package/link/batch-http/batchHttpLink.js +1 -1
  327. package/link/batch-http/batchHttpLink.js.map +1 -1
  328. package/link/batch-http/index.d.ts +1 -1
  329. package/link/batch-http/index.js +1 -1
  330. package/link/batch-http/index.js.map +1 -1
  331. package/link/client-awareness/ClientAwarenessLink.d.ts +1 -1
  332. package/link/client-awareness/ClientAwarenessLink.js +1 -1
  333. package/link/client-awareness/ClientAwarenessLink.js.map +1 -1
  334. package/link/client-awareness/index.d.ts +1 -1
  335. package/link/client-awareness/index.js +1 -1
  336. package/link/client-awareness/index.js.map +1 -1
  337. package/link/context/index.d.ts +18 -6
  338. package/link/context/index.js +19 -15
  339. package/link/context/index.js.map +1 -1
  340. package/link/core/concat.d.ts +1 -1
  341. package/link/core/concat.js +1 -1
  342. package/link/core/concat.js.map +1 -1
  343. package/link/core/empty.d.ts +1 -1
  344. package/link/core/empty.js +1 -1
  345. package/link/core/empty.js.map +1 -1
  346. package/link/core/execute.d.ts +1 -1
  347. package/link/core/execute.js +1 -1
  348. package/link/core/execute.js.map +1 -1
  349. package/link/core/from.d.ts +1 -1
  350. package/link/core/from.js +1 -1
  351. package/link/core/from.js.map +1 -1
  352. package/link/core/split.d.ts +1 -1
  353. package/link/core/split.js +1 -1
  354. package/link/core/split.js.map +1 -1
  355. package/link/core/types.d.ts +1 -1
  356. package/link/core/types.js +1 -1
  357. package/link/core/types.js.map +1 -1
  358. package/link/error/index.d.ts +1 -1
  359. package/link/error/index.js +1 -1
  360. package/link/error/index.js.map +1 -1
  361. package/link/http/BaseHttpLink.d.ts +1 -1
  362. package/link/http/BaseHttpLink.js +1 -1
  363. package/link/http/BaseHttpLink.js.map +1 -1
  364. package/link/http/HttpLink.d.ts +1 -1
  365. package/link/http/HttpLink.js +1 -1
  366. package/link/http/HttpLink.js.map +1 -1
  367. package/link/http/checkFetcher.d.ts +1 -1
  368. package/link/http/checkFetcher.js.map +1 -1
  369. package/link/http/createSignalIfSupported.d.ts +1 -1
  370. package/link/http/createSignalIfSupported.js +1 -1
  371. package/link/http/createSignalIfSupported.js.map +1 -1
  372. package/link/http/index.d.ts +1 -1
  373. package/link/http/index.js +1 -1
  374. package/link/http/index.js.map +1 -1
  375. package/link/http/parseAndCheckHttpResponse.d.ts +1 -1
  376. package/link/http/parseAndCheckHttpResponse.js.map +1 -1
  377. package/link/http/rewriteURIForGET.d.ts +1 -1
  378. package/link/http/rewriteURIForGET.js +1 -1
  379. package/link/http/rewriteURIForGET.js.map +1 -1
  380. package/link/http/selectHttpOptionsAndBody.d.ts +1 -1
  381. package/link/http/selectHttpOptionsAndBody.js +1 -1
  382. package/link/http/selectHttpOptionsAndBody.js.map +1 -1
  383. package/link/http/selectURI.d.ts +1 -1
  384. package/link/http/selectURI.js +1 -1
  385. package/link/http/selectURI.js.map +1 -1
  386. package/link/http/serializeFetchParameter.d.ts +1 -1
  387. package/link/http/serializeFetchParameter.js.map +1 -1
  388. package/link/index.d.ts +1 -1
  389. package/link/index.js +1 -1
  390. package/link/index.js.map +1 -1
  391. package/link/persisted-queries/index.d.ts +1 -1
  392. package/link/remove-typename/index.d.ts +1 -1
  393. package/link/remove-typename/index.js.map +1 -1
  394. package/link/remove-typename/removeTypenameFromVariables.d.ts +1 -1
  395. package/link/remove-typename/removeTypenameFromVariables.js +1 -1
  396. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
  397. package/link/retry/delayFunction.d.ts +1 -1
  398. package/link/retry/delayFunction.js +1 -1
  399. package/link/retry/delayFunction.js.map +1 -1
  400. package/link/retry/index.d.ts +1 -1
  401. package/link/retry/index.js +1 -1
  402. package/link/retry/index.js.map +1 -1
  403. package/link/retry/retryFunction.d.ts +1 -1
  404. package/link/retry/retryFunction.js +1 -1
  405. package/link/retry/retryFunction.js.map +1 -1
  406. package/link/retry/retryLink.d.ts +1 -1
  407. package/link/retry/retryLink.js +1 -1
  408. package/link/retry/retryLink.js.map +1 -1
  409. package/link/schema/index.d.ts +1 -1
  410. package/link/schema/index.js +1 -1
  411. package/link/schema/index.js.map +1 -1
  412. package/link/subscriptions/index.d.ts +1 -1
  413. package/link/subscriptions/index.js +1 -1
  414. package/link/subscriptions/index.js.map +1 -1
  415. package/link/utils/createOperation.d.ts +1 -1
  416. package/link/utils/createOperation.js +1 -1
  417. package/link/utils/createOperation.js.map +1 -1
  418. package/link/utils/filterOperationVariables.d.ts +1 -1
  419. package/link/utils/filterOperationVariables.js +1 -1
  420. package/link/utils/filterOperationVariables.js.map +1 -1
  421. package/link/utils/index.d.ts +1 -1
  422. package/link/utils/index.js +1 -1
  423. package/link/utils/index.js.map +1 -1
  424. package/link/utils/transformOperation.d.ts +1 -1
  425. package/link/utils/transformOperation.js +2 -1
  426. package/link/utils/transformOperation.js.map +1 -1
  427. package/link/utils/validateOperation.d.ts +1 -1
  428. package/link/utils/validateOperation.js.map +1 -1
  429. package/link/ws/index.d.ts +1 -1
  430. package/link/ws/index.js +1 -1
  431. package/link/ws/index.js.map +1 -1
  432. package/local-state/LocalState.d.ts +1 -1
  433. package/local-state/LocalState.js.map +1 -1
  434. package/local-state/index.d.ts +1 -1
  435. package/local-state/index.js +1 -1
  436. package/local-state/index.js.map +1 -1
  437. package/masking/GraphQLCodegenDataMasking.d.ts +1 -1
  438. package/masking/GraphQLCodegenDataMasking.js +1 -1
  439. package/masking/GraphQLCodegenDataMasking.js.map +1 -1
  440. package/masking/index.d.ts +1 -1
  441. package/masking/index.js +1 -1
  442. package/masking/index.js.map +1 -1
  443. package/masking/internal/types.d.ts +1 -1
  444. package/masking/internal/types.js +1 -1
  445. package/masking/internal/types.js.map +1 -1
  446. package/masking/maskDefinition.d.ts +1 -1
  447. package/masking/maskDefinition.js.map +1 -1
  448. package/masking/maskFragment.js.map +1 -1
  449. package/masking/maskOperation.js.map +1 -1
  450. package/masking/types.d.ts +1 -1
  451. package/masking/types.js +1 -1
  452. package/masking/types.js.map +1 -1
  453. package/masking/utils.js.map +1 -1
  454. package/package.json +12 -5
  455. package/react/compiled/index.d.ts +2 -0
  456. package/react/compiled/index.js +2 -0
  457. package/react/compiled/index.js.map +1 -0
  458. package/react/context/ApolloConsumer.d.ts +1 -1
  459. package/react/context/ApolloConsumer.js.map +1 -1
  460. package/react/context/ApolloContext.d.ts +1 -1
  461. package/react/context/ApolloContext.js.map +1 -1
  462. package/react/context/ApolloProvider.d.ts +1 -1
  463. package/react/context/ApolloProvider.js.map +1 -1
  464. package/react/hooks/constants.d.ts +1 -1
  465. package/react/hooks/constants.js +1 -1
  466. package/react/hooks/constants.js.map +1 -1
  467. package/react/hooks/internal/__use.d.ts +1 -1
  468. package/react/hooks/internal/__use.js +1 -1
  469. package/react/hooks/internal/__use.js.map +1 -1
  470. package/react/hooks/internal/index.d.ts +1 -1
  471. package/react/hooks/internal/index.js +1 -1
  472. package/react/hooks/internal/index.js.map +1 -1
  473. package/react/hooks/internal/useDeepMemo.d.ts +1 -1
  474. package/react/hooks/internal/useDeepMemo.js +1 -1
  475. package/react/hooks/internal/useDeepMemo.js.map +1 -1
  476. package/react/hooks/internal/useIsomorphicLayoutEffect.d.ts +1 -1
  477. package/react/hooks/internal/useIsomorphicLayoutEffect.js +1 -1
  478. package/react/hooks/internal/useIsomorphicLayoutEffect.js.map +1 -1
  479. package/react/hooks/internal/useRenderGuard.d.ts +1 -1
  480. package/react/hooks/internal/useRenderGuard.js +1 -1
  481. package/react/hooks/internal/useRenderGuard.js.map +1 -1
  482. package/react/hooks/internal/validateSuspenseHookOptions.d.ts +1 -1
  483. package/react/hooks/internal/validateSuspenseHookOptions.js.map +1 -1
  484. package/react/hooks/internal/wrapHook.js.map +1 -1
  485. package/react/hooks/useApolloClient.d.ts +1 -1
  486. package/react/hooks/useApolloClient.js +1 -14
  487. package/react/hooks/useApolloClient.js.map +1 -1
  488. package/react/hooks/useBackgroundQuery.js +7 -7
  489. package/react/hooks/useBackgroundQuery.js.map +1 -1
  490. package/react/hooks/useFragment.d.ts +1 -1
  491. package/react/hooks/useFragment.js +12 -12
  492. package/react/hooks/useFragment.js.map +1 -1
  493. package/react/hooks/useLazyQuery.js +14 -14
  494. package/react/hooks/useLazyQuery.js.map +1 -1
  495. package/react/hooks/useLoadableQuery.js +69 -229
  496. package/react/hooks/useLoadableQuery.js.map +1 -1
  497. package/react/hooks/useMutation.js +82 -192
  498. package/react/hooks/useMutation.js.map +1 -1
  499. package/react/hooks/useQuery.js +54 -225
  500. package/react/hooks/useQuery.js.map +1 -1
  501. package/react/hooks/useQueryRefHandlers.js +24 -64
  502. package/react/hooks/useQueryRefHandlers.js.map +1 -1
  503. package/react/hooks/useReactiveVar.d.ts +1 -1
  504. package/react/hooks/useReactiveVar.js +1 -1
  505. package/react/hooks/useReactiveVar.js.map +1 -1
  506. package/react/hooks/useReadQuery.d.ts +1 -1
  507. package/react/hooks/useReadQuery.js +3 -3
  508. package/react/hooks/useReadQuery.js.map +1 -1
  509. package/react/hooks/useSubscription.js +4 -4
  510. package/react/hooks/useSubscription.js.map +1 -1
  511. package/react/hooks/useSuspenseFragment.d.ts +1 -1
  512. package/react/hooks/useSuspenseFragment.js +1 -1
  513. package/react/hooks/useSuspenseFragment.js.map +1 -1
  514. package/react/hooks/useSuspenseQuery.js +34 -59
  515. package/react/hooks/useSuspenseQuery.js.map +1 -1
  516. package/react/hooks/useSyncExternalStore.d.ts +1 -1
  517. package/react/hooks/useSyncExternalStore.js.map +1 -1
  518. package/react/hooks-compiled/constants.d.ts +3 -0
  519. package/react/hooks-compiled/constants.js +2 -0
  520. package/react/hooks-compiled/constants.js.map +1 -0
  521. package/react/hooks-compiled/internal/__use.d.ts +4 -0
  522. package/react/hooks-compiled/internal/__use.js +22 -0
  523. package/react/hooks-compiled/internal/__use.js.map +1 -0
  524. package/react/hooks-compiled/internal/index.d.ts +5 -0
  525. package/react/hooks-compiled/internal/index.js +6 -0
  526. package/react/hooks-compiled/internal/index.js.map +1 -0
  527. package/react/hooks-compiled/internal/useDeepMemo.d.ts +3 -0
  528. package/react/hooks-compiled/internal/useDeepMemo.js +13 -0
  529. package/react/hooks-compiled/internal/useDeepMemo.js.map +1 -0
  530. package/react/hooks-compiled/internal/useIsomorphicLayoutEffect.d.ts +3 -0
  531. package/react/hooks-compiled/internal/useIsomorphicLayoutEffect.js +9 -0
  532. package/react/hooks-compiled/internal/useIsomorphicLayoutEffect.js.map +1 -0
  533. package/react/hooks-compiled/internal/useRenderGuard.d.ts +2 -0
  534. package/react/hooks-compiled/internal/useRenderGuard.js +42 -0
  535. package/react/hooks-compiled/internal/useRenderGuard.js.map +1 -0
  536. package/react/hooks-compiled/internal/validateSuspenseHookOptions.d.ts +3 -0
  537. package/react/hooks-compiled/internal/validateSuspenseHookOptions.js +22 -0
  538. package/react/hooks-compiled/internal/validateSuspenseHookOptions.js.map +1 -0
  539. package/react/hooks-compiled/internal/wrapHook.d.ts +66 -0
  540. package/react/hooks-compiled/internal/wrapHook.js +64 -0
  541. package/react/hooks-compiled/internal/wrapHook.js.map +1 -0
  542. package/react/hooks-compiled/useApolloClient.d.ts +18 -0
  543. package/react/hooks-compiled/useApolloClient.js +36 -0
  544. package/react/hooks-compiled/useApolloClient.js.map +1 -0
  545. package/react/hooks-compiled/useBackgroundQuery.d.ts +210 -0
  546. package/react/hooks-compiled/useBackgroundQuery.js +80 -0
  547. package/react/hooks-compiled/useBackgroundQuery.js.map +1 -0
  548. package/react/hooks-compiled/useFragment.d.ts +55 -0
  549. package/react/hooks-compiled/useFragment.js +97 -0
  550. package/react/hooks-compiled/useFragment.js.map +1 -0
  551. package/react/hooks-compiled/useLazyQuery.d.ts +280 -0
  552. package/react/hooks-compiled/useLazyQuery.js +181 -0
  553. package/react/hooks-compiled/useLazyQuery.js.map +1 -0
  554. package/react/hooks-compiled/useLoadableQuery.d.ts +175 -0
  555. package/react/hooks-compiled/useLoadableQuery.js +247 -0
  556. package/react/hooks-compiled/useLoadableQuery.js.map +1 -0
  557. package/react/hooks-compiled/useMutation.d.ts +280 -0
  558. package/react/hooks-compiled/useMutation.js +263 -0
  559. package/react/hooks-compiled/useMutation.js.map +1 -0
  560. package/react/hooks-compiled/useQuery.d.ts +265 -0
  561. package/react/hooks-compiled/useQuery.js +395 -0
  562. package/react/hooks-compiled/useQuery.js.map +1 -0
  563. package/react/hooks-compiled/useQueryRefHandlers.d.ts +44 -0
  564. package/react/hooks-compiled/useQueryRefHandlers.js +109 -0
  565. package/react/hooks-compiled/useQueryRefHandlers.js.map +1 -0
  566. package/react/hooks-compiled/useReactiveVar.d.ts +20 -0
  567. package/react/hooks-compiled/useReactiveVar.js +33 -0
  568. package/react/hooks-compiled/useReactiveVar.js.map +1 -0
  569. package/react/hooks-compiled/useReadQuery.d.ts +24 -0
  570. package/react/hooks-compiled/useReadQuery.js +43 -0
  571. package/react/hooks-compiled/useReadQuery.js.map +1 -0
  572. package/react/hooks-compiled/useSubscription.d.ts +178 -0
  573. package/react/hooks-compiled/useSubscription.js +223 -0
  574. package/react/hooks-compiled/useSubscription.js.map +1 -0
  575. package/react/hooks-compiled/useSuspenseFragment.d.ts +47 -0
  576. package/react/hooks-compiled/useSuspenseFragment.js +47 -0
  577. package/react/hooks-compiled/useSuspenseFragment.js.map +1 -0
  578. package/react/hooks-compiled/useSuspenseQuery.d.ts +204 -0
  579. package/react/hooks-compiled/useSuspenseQuery.js +144 -0
  580. package/react/hooks-compiled/useSuspenseQuery.js.map +1 -0
  581. package/react/hooks-compiled/useSyncExternalStore.d.ts +4 -0
  582. package/react/hooks-compiled/useSyncExternalStore.js +126 -0
  583. package/react/hooks-compiled/useSyncExternalStore.js.map +1 -0
  584. package/react/index.compiled.d.ts +26 -0
  585. package/react/index.compiled.js +21 -0
  586. package/react/index.compiled.js.map +1 -0
  587. package/react/index.d.ts +2 -1
  588. package/react/index.js +2 -1
  589. package/react/index.js.map +1 -1
  590. package/react/index.react-server.d.ts +1 -1
  591. package/react/index.react-server.js +1 -1
  592. package/react/index.react-server.js.map +1 -1
  593. package/react/internal/cache/FragmentReference.d.ts +1 -1
  594. package/react/internal/cache/FragmentReference.js +1 -1
  595. package/react/internal/cache/FragmentReference.js.map +1 -1
  596. package/react/internal/cache/SuspenseCache.d.ts +1 -1
  597. package/react/internal/cache/SuspenseCache.js +1 -1
  598. package/react/internal/cache/SuspenseCache.js.map +1 -1
  599. package/react/internal/cache/getSuspenseCache.d.ts +1 -1
  600. package/react/internal/cache/getSuspenseCache.js +1 -1
  601. package/react/internal/cache/getSuspenseCache.js.map +1 -1
  602. package/react/internal/cache/types.d.ts +1 -1
  603. package/react/internal/cache/types.js +1 -1
  604. package/react/internal/cache/types.js.map +1 -1
  605. package/react/internal/compiler-runtime/index.d.ts +8 -0
  606. package/react/internal/compiler-runtime/index.js +28 -0
  607. package/react/internal/compiler-runtime/index.js.map +1 -0
  608. package/react/internal/index.d.ts +1 -1
  609. package/react/internal/index.js +1 -1
  610. package/react/internal/index.js.map +1 -1
  611. package/react/internal/types.d.ts +1 -1
  612. package/react/internal/types.js +1 -1
  613. package/react/internal/types.js.map +1 -1
  614. package/react/query-preloader/createQueryPreloader.js +1 -1
  615. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  616. package/react/ssr/getDataFromTree.d.ts +1 -1
  617. package/react/ssr/getDataFromTree.js.map +1 -1
  618. package/react/ssr/index.d.ts +1 -1
  619. package/react/ssr/index.js +1 -1
  620. package/react/ssr/index.js.map +1 -1
  621. package/react/ssr/prerenderStatic.d.ts +1 -1
  622. package/react/ssr/renderToStringWithData.d.ts +1 -1
  623. package/react/ssr/renderToStringWithData.js +1 -1
  624. package/react/ssr/renderToStringWithData.js.map +1 -1
  625. package/react/ssr/useSSRQuery.d.ts +1 -1
  626. package/react/ssr/useSSRQuery.js +1 -1
  627. package/react/ssr/useSSRQuery.js.map +1 -1
  628. package/react/types/deprecated.d.ts +1 -1
  629. package/react/types/deprecated.js +1 -1
  630. package/react/types/deprecated.js.map +1 -1
  631. package/react/types/types.documentation.js +1 -1
  632. package/react/types/types.documentation.js.map +1 -1
  633. package/testing/core/mocking/mockLink.js.map +1 -1
  634. package/testing/core/mocking/mockSubscriptionLink.d.ts +1 -1
  635. package/testing/core/mocking/mockSubscriptionLink.js +1 -1
  636. package/testing/core/mocking/mockSubscriptionLink.js.map +1 -1
  637. package/testing/core/types/deprecated.d.ts +1 -1
  638. package/testing/core/types/deprecated.js +1 -1
  639. package/testing/core/types/deprecated.js.map +1 -1
  640. package/testing/index.d.ts +1 -1
  641. package/testing/index.js +1 -1
  642. package/testing/index.js.map +1 -1
  643. package/testing/react/MockedProvider.d.ts +1 -1
  644. package/testing/react/MockedProvider.js +1 -1
  645. package/testing/react/MockedProvider.js.map +1 -1
  646. package/testing/react/index.d.ts +1 -1
  647. package/testing/react/index.js +1 -1
  648. package/testing/react/index.js.map +1 -1
  649. package/utilities/DeepPartial.d.ts +1 -1
  650. package/utilities/DeepPartial.js +1 -1
  651. package/utilities/DeepPartial.js.map +1 -1
  652. package/utilities/HKT.d.ts +1 -1
  653. package/utilities/HKT.js +1 -1
  654. package/utilities/HKT.js.map +1 -1
  655. package/utilities/caching/index.d.ts +1 -1
  656. package/utilities/caching/index.js +1 -1
  657. package/utilities/caching/index.js.map +1 -1
  658. package/utilities/caching/sizes.d.ts +1 -1
  659. package/utilities/caching/sizes.js +1 -1
  660. package/utilities/caching/sizes.js.map +1 -1
  661. package/utilities/common/stripTypename.d.ts +1 -1
  662. package/utilities/common/stripTypename.js +1 -1
  663. package/utilities/common/stripTypename.js.map +1 -1
  664. package/utilities/environment/index.d.ts +1 -1
  665. package/utilities/environment/index.development.d.ts +1 -1
  666. package/utilities/environment/index.development.js +1 -1
  667. package/utilities/environment/index.development.js.map +1 -1
  668. package/utilities/environment/index.js +1 -1
  669. package/utilities/environment/index.js.map +1 -1
  670. package/utilities/environment/index.production.d.ts +1 -1
  671. package/utilities/environment/index.production.js +1 -1
  672. package/utilities/environment/index.production.js.map +1 -1
  673. package/utilities/graphql/isFormattedExecutionResult.d.ts +1 -1
  674. package/utilities/graphql/isFormattedExecutionResult.js +1 -1
  675. package/utilities/graphql/isFormattedExecutionResult.js.map +1 -1
  676. package/utilities/graphql/operations.d.ts +1 -1
  677. package/utilities/graphql/operations.js +1 -1
  678. package/utilities/graphql/operations.js.map +1 -1
  679. package/utilities/graphql/print.d.ts +1 -1
  680. package/utilities/graphql/print.js +1 -1
  681. package/utilities/graphql/print.js.map +1 -1
  682. package/utilities/graphql/storeUtils.d.ts +1 -1
  683. package/utilities/graphql/storeUtils.js +1 -1
  684. package/utilities/graphql/storeUtils.js.map +1 -1
  685. package/utilities/graphql/transform.d.ts +1 -1
  686. package/utilities/graphql/transform.js +1 -1
  687. package/utilities/graphql/transform.js.map +1 -1
  688. package/utilities/index.d.ts +1 -1
  689. package/utilities/index.js +1 -1
  690. package/utilities/index.js.map +1 -1
  691. package/utilities/internal/argumentsObjectFromField.js.map +1 -1
  692. package/utilities/internal/caches.js.map +1 -1
  693. package/utilities/internal/canUseDOM.js.map +1 -1
  694. package/utilities/internal/checkDocument.js.map +1 -1
  695. package/utilities/internal/cloneDeep.js.map +1 -1
  696. package/utilities/internal/compact.js.map +1 -1
  697. package/utilities/internal/createFragmentMap.js.map +1 -1
  698. package/utilities/internal/createFulfilledPromise.js.map +1 -1
  699. package/utilities/internal/createRejectedPromise.js.map +1 -1
  700. package/utilities/internal/dealias.d.ts +1 -1
  701. package/utilities/internal/dealias.js +1 -1
  702. package/utilities/internal/dealias.js.map +1 -1
  703. package/utilities/internal/decoratePromise.js.map +1 -1
  704. package/utilities/internal/deepFreeze.js.map +1 -1
  705. package/utilities/internal/filterMap.d.ts +1 -1
  706. package/utilities/internal/filterMap.js +1 -1
  707. package/utilities/internal/filterMap.js.map +1 -1
  708. package/utilities/internal/getDefaultValues.js.map +1 -1
  709. package/utilities/internal/getFragmentDefinition.js.map +1 -1
  710. package/utilities/internal/getFragmentDefinitions.js.map +1 -1
  711. package/utilities/internal/getFragmentFromSelection.js.map +1 -1
  712. package/utilities/internal/getFragmentQueryDocument.js.map +1 -1
  713. package/utilities/internal/getGraphQLErrorsFromResult.js.map +1 -1
  714. package/utilities/internal/getMainDefinition.js.map +1 -1
  715. package/utilities/internal/getMemoryInternals.js.map +1 -1
  716. package/utilities/internal/getOperationDefinition.js.map +1 -1
  717. package/utilities/internal/getOperationName.js.map +1 -1
  718. package/utilities/internal/getQueryDefinition.js.map +1 -1
  719. package/utilities/internal/getStoreKeyName.js.map +1 -1
  720. package/utilities/internal/globals/global.d.ts +1 -1
  721. package/utilities/internal/globals/index.d.ts +1 -1
  722. package/utilities/internal/globals/index.js +1 -1
  723. package/utilities/internal/globals/index.js.map +1 -1
  724. package/utilities/internal/globals/maybe.d.ts +1 -1
  725. package/utilities/internal/globals/maybe.js +1 -1
  726. package/utilities/internal/globals/maybe.js.map +1 -1
  727. package/utilities/internal/graphQLResultHasError.js.map +1 -1
  728. package/utilities/internal/hasDirectives.js.map +1 -1
  729. package/utilities/internal/hasForcedResolvers.d.ts +1 -1
  730. package/utilities/internal/hasForcedResolvers.js +1 -1
  731. package/utilities/internal/hasForcedResolvers.js.map +1 -1
  732. package/utilities/internal/index.d.ts +1 -1
  733. package/utilities/internal/index.js +1 -1
  734. package/utilities/internal/index.js.map +1 -1
  735. package/utilities/internal/index.production.d.ts +1 -1
  736. package/utilities/internal/index.production.js +1 -1
  737. package/utilities/internal/index.production.js.map +1 -1
  738. package/utilities/internal/isArray.js.map +1 -1
  739. package/utilities/internal/isDocumentNode.js.map +1 -1
  740. package/utilities/internal/isField.js.map +1 -1
  741. package/utilities/internal/isNonEmptyArray.js.map +1 -1
  742. package/utilities/internal/isNonNullObject.js.map +1 -1
  743. package/utilities/internal/isPlainObject.js.map +1 -1
  744. package/utilities/internal/makeReference.js.map +1 -1
  745. package/utilities/internal/makeUniqueId.js.map +1 -1
  746. package/utilities/internal/maybeDeepFreeze.js.map +1 -1
  747. package/utilities/internal/mergeDeep.js.map +1 -1
  748. package/utilities/internal/mergeDeepArray.js.map +1 -1
  749. package/utilities/internal/mergeOptions.js.map +1 -1
  750. package/utilities/internal/omitDeep.js.map +1 -1
  751. package/utilities/internal/preventUnhandledRejection.d.ts +1 -1
  752. package/utilities/internal/preventUnhandledRejection.js +1 -1
  753. package/utilities/internal/preventUnhandledRejection.js.map +1 -1
  754. package/utilities/internal/removeDirectivesFromDocument.js.map +1 -1
  755. package/utilities/internal/resultKeyNameFromField.js.map +1 -1
  756. package/utilities/internal/shouldInclude.js.map +1 -1
  757. package/utilities/internal/storeKeyNameFromField.js.map +1 -1
  758. package/utilities/internal/stringifyForDisplay.js.map +1 -1
  759. package/utilities/internal/toQueryResult.js.map +1 -1
  760. package/utilities/internal/types/ApplyHKT.js +1 -1
  761. package/utilities/internal/types/ApplyHKT.js.map +1 -1
  762. package/utilities/internal/types/ApplyHKTImplementationWithDefault.js +1 -1
  763. package/utilities/internal/types/ApplyHKTImplementationWithDefault.js.map +1 -1
  764. package/utilities/internal/types/DecoratedPromise.js +1 -1
  765. package/utilities/internal/types/DecoratedPromise.js.map +1 -1
  766. package/utilities/internal/types/DeepOmit.js +1 -1
  767. package/utilities/internal/types/DeepOmit.js.map +1 -1
  768. package/utilities/internal/types/FragmentMap.js +1 -1
  769. package/utilities/internal/types/FragmentMap.js.map +1 -1
  770. package/utilities/internal/types/FragmentMapFunction.js +1 -1
  771. package/utilities/internal/types/FragmentMapFunction.js.map +1 -1
  772. package/utilities/internal/types/FulfilledPromise.js +1 -1
  773. package/utilities/internal/types/FulfilledPromise.js.map +1 -1
  774. package/utilities/internal/types/IsAny.js +1 -1
  775. package/utilities/internal/types/IsAny.js.map +1 -1
  776. package/utilities/internal/types/NoInfer.d.ts +1 -1
  777. package/utilities/internal/types/NoInfer.js +1 -1
  778. package/utilities/internal/types/NoInfer.js.map +1 -1
  779. package/utilities/internal/types/PendingPromise.js +1 -1
  780. package/utilities/internal/types/PendingPromise.js.map +1 -1
  781. package/utilities/internal/types/Prettify.js +1 -1
  782. package/utilities/internal/types/Prettify.js.map +1 -1
  783. package/utilities/internal/types/Primitive.js +1 -1
  784. package/utilities/internal/types/Primitive.js.map +1 -1
  785. package/utilities/internal/types/RejectedPromise.js +1 -1
  786. package/utilities/internal/types/RejectedPromise.js.map +1 -1
  787. package/utilities/internal/types/RemoveIndexSignature.js +1 -1
  788. package/utilities/internal/types/RemoveIndexSignature.js.map +1 -1
  789. package/utilities/internal/types/TupleToIntersection.d.ts +1 -1
  790. package/utilities/internal/types/TupleToIntersection.js +1 -1
  791. package/utilities/internal/types/TupleToIntersection.js.map +1 -1
  792. package/utilities/internal/types/VariablesOption.js +1 -1
  793. package/utilities/internal/types/VariablesOption.js.map +1 -1
  794. package/utilities/internal/valueToObjectRepresentation.js.map +1 -1
  795. package/utilities/invariant/index.d.ts +1 -1
  796. package/utilities/invariant/index.development.d.ts +1 -1
  797. package/utilities/invariant/index.development.js +1 -1
  798. package/utilities/invariant/index.development.js.map +1 -1
  799. package/utilities/invariant/index.js +1 -1
  800. package/utilities/invariant/index.js.map +1 -1
  801. package/utilities/policies/pagination.d.ts +1 -1
  802. package/utilities/policies/pagination.js +1 -1
  803. package/utilities/policies/pagination.js.map +1 -1
  804. package/utilities/shared/canonicalStringify.d.ts +1 -1
  805. package/utilities/shared/canonicalStringify.js +1 -1
  806. package/utilities/shared/canonicalStringify.js.map +1 -1
  807. package/utilities/subscriptions/relay/index.d.ts +1 -1
  808. package/utilities/subscriptions/relay/index.js +1 -1
  809. package/utilities/subscriptions/relay/index.js.map +1 -1
  810. package/version.d.ts +1 -1
  811. package/version.js +1 -1
  812. package/version.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"LocalState.js","sources":["../../src/local-state/LocalState.ts"],"sourcesContent":["import type {\n ASTNode,\n DirectiveNode,\n DocumentNode,\n ExecutableDefinitionNode,\n FieldNode,\n FormattedExecutionResult,\n FragmentSpreadNode,\n GraphQLError,\n GraphQLFormattedError,\n OperationDefinitionNode,\n SelectionNode,\n SelectionSetNode,\n} from \"graphql\";\nimport { isSelectionNode, Kind, visit } from \"graphql\";\n\nimport type {\n ApolloCache,\n ApolloClient,\n Cache,\n DefaultContext,\n ErrorLike,\n OperationVariables,\n TypedDocumentNode,\n} from \"@apollo/client\";\nimport { cacheSlot } from \"@apollo/client/cache\";\nimport { LocalStateError, toErrorLike } from \"@apollo/client/errors\";\nimport { stripTypename } from \"@apollo/client/utilities\";\nimport { __DEV__ } from \"@apollo/client/utilities/environment\";\nimport type {\n FragmentMap,\n NoInfer,\n RemoveIndexSignature,\n} from \"@apollo/client/utilities/internal\";\nimport {\n argumentsObjectFromField,\n createFragmentMap,\n dealias,\n getFragmentDefinitions,\n getMainDefinition,\n hasDirectives,\n mergeDeep,\n mergeDeepArray,\n resultKeyNameFromField,\n shouldInclude,\n} from \"@apollo/client/utilities/internal\";\nimport {\n invariant,\n newInvariantError,\n} from \"@apollo/client/utilities/invariant\";\n\ninterface ExecContext {\n client: ApolloClient;\n operationDefinition: OperationDefinitionNode;\n fragmentMap: FragmentMap;\n context: unknown;\n variables: OperationVariables;\n exportedVariables: OperationVariables;\n onlyRunForcedResolvers: boolean;\n selectionsToResolve: Set<SelectionNode>;\n errors: GraphQLFormattedError[];\n phase: \"exports\" | \"resolve\";\n exportedVariableDefs: Record<string, ExportedVariable>;\n diff: Cache.DiffResult<any>;\n returnPartialData: boolean;\n}\n\n/**\n * Information about an exported variable defined by an `@export` directive.\n */\ninterface ExportedVariable {\n /**\n * Defines whether an exported variable is a required variable (i.e. a non-null variable)\n */\n required: boolean;\n /**\n * The `FieldNode` where the exported variable is defined.\n */\n field?: FieldNode;\n\n /**\n * Ancestor nodes (parent, grandparent, etc.) that contain the `@export`\n * directive node. This is useful to get access to nested fields that contain\n * an `@export` directive if a parent resolver throws or returns\n * `null`/`undefined` that would otherwise prevent us from traversing the\n * node.\n */\n ancestors: WeakSet<ASTNode>;\n}\n\n/**\n * Tracks and caches information related to a GraphQL document by traversing the\n * document the first time its seen and collecting information about it.\n */\ninterface TraverseCacheEntry {\n /**\n * Tracks information about the variable definition for any variables defined\n * by an `@export` directive.\n */\n exportedVariableDefs: Record<string, ExportedVariable>;\n\n /**\n * SelectionNodes that either directly contain or include an `@export` field\n * in its selection set. This allows us to avoid traversing subtrees that do\n * not contain `@export` fields.\n */\n exportsToResolve: Set<SelectionNode>;\n\n /**\n * SelectionNodes that either directly contain or include an `@client` field\n * in its selection set. This allows us to avoid traversing subtrees that do\n * not contain `@client` fields.\n */\n selectionsToResolve: Set<SelectionNode>;\n}\n\ntype InferContextValueFromResolvers<TResolvers> =\n TResolvers extends { [typename: string]: infer TFieldResolvers } ?\n TFieldResolvers extends (\n { [field: string]: LocalState.Resolver<any, any, infer TContext, any> }\n ) ?\n unknown extends TContext ?\n DefaultContext\n : TContext\n : DefaultContext\n : DefaultContext;\n\ntype MaybeRequireContextFunction<TContext> =\n {} extends RemoveIndexSignature<TContext> ? {}\n : { context: LocalState.ContextFunction<TContext> };\n\nexport declare namespace LocalState {\n // `rootValue` can be any value, but using `any` or `unknown` does not allow\n // the ability to add a function signature to this definition. The generic\n // allows us to provide the function signature while allowing any value.\n export type Options<\n TResolvers extends Resolvers = Resolvers,\n TContext = DefaultContext,\n > = {\n context?: ContextFunction<TContext>;\n\n /**\n * The map of resolvers used to provide values for `@local` fields.\n */\n resolvers?: TResolvers;\n } & MaybeRequireContextFunction<TContext>;\n\n export interface RootValueFunctionContext {\n document: DocumentNode;\n client: ApolloClient;\n context: DefaultContext;\n phase: \"exports\" | \"resolve\";\n variables: OperationVariables;\n }\n\n export type ContextFunction<TContext> = (\n options: ContextFunctionOptions\n ) => TContext;\n\n export interface ContextFunctionOptions {\n document: DocumentNode;\n client: ApolloClient;\n phase: \"exports\" | \"resolve\";\n variables: OperationVariables;\n requestContext: DefaultContext;\n }\n\n export type RootValueFunction<TRootValue> = (\n context: RootValueFunctionContext\n ) => TRootValue;\n\n export interface Resolvers<TContext = any> {\n [typename: string]: {\n [field: string]: Resolver<any, any, TContext, any>;\n };\n }\n\n export type Resolver<\n TResult = unknown,\n TParent = unknown,\n TContext = DefaultContext,\n TArgs = Record<string, unknown>,\n > = (\n rootValue: TParent,\n args: TArgs,\n context: {\n requestContext: TContext;\n client: ApolloClient;\n phase: \"exports\" | \"resolve\";\n },\n info: {\n field: FieldNode;\n fragmentMap: FragmentMap;\n path: Path;\n }\n ) => TResult | Promise<TResult>;\n\n export type Path = Array<string | number>;\n}\n\nexport class LocalState<\n TResolvers extends\n LocalState.Resolvers = LocalState.Resolvers<DefaultContext>,\n TContext = InferContextValueFromResolvers<TResolvers>,\n> {\n private context?: LocalState.ContextFunction<TContext>;\n private resolvers: LocalState.Resolvers = {};\n private traverseCache = new WeakMap<\n ExecutableDefinitionNode,\n TraverseCacheEntry\n >();\n\n constructor(\n ...[options]: {} extends TResolvers ?\n [options?: LocalState.Options<TResolvers, NoInfer<TContext>>]\n : [\n options: LocalState.Options<TResolvers, NoInfer<TContext>> & {\n resolvers: TResolvers;\n },\n ]\n ) {\n this.context = options?.context;\n\n if (options?.resolvers) {\n this.addResolvers(options.resolvers);\n }\n }\n\n public addResolvers(resolvers: TResolvers) {\n this.resolvers = mergeDeep(this.resolvers, resolvers);\n }\n\n public async execute<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n >({\n document,\n client,\n context,\n remoteResult,\n variables = {} as TVariables,\n onlyRunForcedResolvers = false,\n returnPartialData = false,\n }: {\n document: DocumentNode | TypedDocumentNode<TData, TVariables>;\n client: ApolloClient;\n context: DefaultContext | undefined;\n // undefined is meant for client-only queries where there is no remote result\n remoteResult: FormattedExecutionResult<any> | undefined;\n variables: TVariables | undefined;\n onlyRunForcedResolvers?: boolean;\n returnPartialData?: boolean;\n }): Promise<FormattedExecutionResult<TData>> {\n if (__DEV__) {\n invariant(\n hasDirectives([\"client\"], document),\n \"Expected document to contain `@client` fields.\"\n );\n\n validateCacheImplementation(client.cache);\n }\n\n // note: if `remoteResult` is `undefined`, we will execute resolvers since\n // undefined remote data reflects a client-only query. We specifically want\n // to avoid trying to run local resolvers if the server returned `data` as\n // `null`.\n if (remoteResult?.data === null) {\n return remoteResult;\n }\n\n const {\n selectionsToResolve,\n exportedVariableDefs,\n operationDefinition,\n fragmentMap,\n } = this.collectQueryDetail(document);\n\n const rootValue = remoteResult ? remoteResult.data : {};\n\n const diff = client.cache.diff<Record<string, any>>({\n query: toQueryOperation(document),\n variables,\n returnPartialData: true,\n optimistic: false,\n });\n\n const requestContext = { ...client.defaultContext, ...context };\n const execContext: ExecContext = {\n client,\n operationDefinition,\n fragmentMap,\n context:\n this.context?.({\n requestContext,\n document,\n client,\n phase: \"resolve\",\n variables: variables ?? {},\n }) ?? (requestContext as TContext),\n variables,\n exportedVariables: {},\n selectionsToResolve,\n onlyRunForcedResolvers,\n errors: [],\n phase: \"resolve\",\n exportedVariableDefs,\n diff,\n returnPartialData,\n };\n\n const localResult = await this.resolveSelectionSet(\n operationDefinition.selectionSet,\n false,\n rootValue,\n execContext,\n []\n );\n\n const errors = (remoteResult?.errors ?? []).concat(execContext.errors);\n\n const result: FormattedExecutionResult<any> = {\n ...remoteResult,\n data: mergeDeep(rootValue, localResult),\n };\n\n if (errors.length > 0) {\n result.errors = errors;\n }\n\n return result;\n }\n\n public async getExportedVariables<\n TVariables extends OperationVariables = OperationVariables,\n >({\n document,\n client,\n context,\n variables,\n }: {\n document: DocumentNode | TypedDocumentNode<any, TVariables>;\n client: ApolloClient;\n context: DefaultContext | undefined;\n variables: Partial<NoInfer<TVariables>>;\n }): Promise<TVariables> {\n if (__DEV__) {\n invariant(\n hasDirectives([\"client\"], document),\n \"Expected document to contain `@client` fields.\"\n );\n validateCacheImplementation(client.cache);\n }\n const {\n exportsToResolve,\n exportedVariableDefs,\n fragmentMap,\n operationDefinition,\n } = this.collectQueryDetail(document);\n\n const diff = client.cache.diff<Record<string, any>>({\n query: toQueryOperation(document),\n variables,\n returnPartialData: true,\n optimistic: false,\n });\n\n const requestContext = { ...client.defaultContext, ...context };\n const execContext: ExecContext = {\n client,\n operationDefinition,\n fragmentMap,\n context:\n this.context?.({\n requestContext,\n document,\n client,\n phase: \"resolve\",\n variables: variables ?? {},\n }) ?? (requestContext as TContext),\n variables,\n exportedVariables: {},\n selectionsToResolve: exportsToResolve,\n onlyRunForcedResolvers: false,\n errors: [],\n phase: \"exports\",\n exportedVariableDefs,\n diff,\n returnPartialData: false,\n };\n\n await this.resolveSelectionSet(\n operationDefinition.selectionSet,\n false,\n diff.result,\n execContext,\n []\n );\n\n return stripTypename({\n ...variables,\n ...execContext.exportedVariables,\n }) as TVariables;\n }\n\n private async resolveSelectionSet(\n selectionSet: SelectionSetNode,\n isClientFieldDescendant: boolean,\n rootValue: Record<string, any> | null | undefined,\n execContext: ExecContext,\n path: LocalState.Path\n ) {\n const { client, fragmentMap, variables, operationDefinition } = execContext;\n const { cache } = client;\n const resultsToMerge: Array<Record<string, any>> = [];\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 (selection.kind === Kind.FIELD) {\n const isRootField = selectionSet === operationDefinition.selectionSet;\n const isClientField =\n isClientFieldDescendant ||\n (selection.directives?.some((d) => d.name.value === \"client\") ??\n false);\n\n const fieldResult =\n isClientField ?\n await this.resolveClientField(\n selection,\n isClientFieldDescendant,\n rootValue,\n execContext,\n selectionSet,\n path.concat(selection.name.value)\n )\n : await this.resolveServerField(\n selection,\n rootValue,\n execContext,\n path.concat(selection.name.value)\n );\n\n // Don't attempt to merge the client field result if the server result\n // was null\n if (fieldResult !== undefined && (!isRootField || rootValue !== null)) {\n resultsToMerge.push({\n [resultKeyNameFromField(selection)]: fieldResult,\n });\n }\n\n return;\n }\n\n if (\n selection.kind === Kind.INLINE_FRAGMENT &&\n selection.typeCondition &&\n rootValue?.__typename &&\n cache.fragmentMatches(selection, rootValue.__typename)\n ) {\n const fragmentResult = await this.resolveSelectionSet(\n selection.selectionSet,\n isClientFieldDescendant,\n rootValue,\n execContext,\n path\n );\n\n if (fragmentResult) {\n resultsToMerge.push(fragmentResult);\n }\n\n return;\n }\n\n if (selection.kind === Kind.FRAGMENT_SPREAD) {\n const fragment = fragmentMap[selection.name.value];\n invariant(fragment, \"No fragment named %s\", selection.name.value);\n\n const typename = rootValue?.__typename;\n const typeCondition = fragment.typeCondition.name.value;\n\n const matches =\n typename === typeCondition ||\n cache.fragmentMatches(fragment, typename ?? \"\");\n\n if (matches) {\n const fragmentResult = await this.resolveSelectionSet(\n fragment.selectionSet,\n isClientFieldDescendant,\n rootValue,\n execContext,\n path\n );\n\n if (fragmentResult) {\n resultsToMerge.push(fragmentResult);\n }\n }\n\n return;\n }\n };\n\n await Promise.all(selectionSet.selections.map(execute));\n\n return resultsToMerge.length > 0 ?\n mergeDeepArray(resultsToMerge)\n : rootValue;\n }\n\n private resolveServerField(\n field: FieldNode,\n rootValue: Record<string, any> | null | undefined,\n execContext: ExecContext,\n path: LocalState.Path\n ) {\n const result = rootValue?.[field.name.value];\n\n if (!field.selectionSet) {\n return result;\n }\n\n if (result == null) {\n if (execContext.phase === \"exports\") {\n for (const [name, def] of Object.entries(\n execContext.exportedVariableDefs\n )) {\n if (def.ancestors.has(field) && def.required) {\n throw new LocalStateError(\n `${\"Field\"} '${field.name.value}' is \\`${result}\\` which contains exported required variable '${name}'. Ensure this value is in the cache or make the variable optional.`,\n { path }\n );\n }\n }\n }\n\n return result;\n }\n\n if (Array.isArray(result)) {\n return this.resolveSubSelectedArray(\n field,\n false,\n result,\n execContext,\n path\n );\n }\n\n return this.resolveSelectionSet(\n field.selectionSet,\n false,\n result,\n execContext,\n path\n );\n }\n\n private async resolveClientField(\n field: FieldNode,\n isClientFieldDescendant: boolean,\n rootValue: Record<string, any> | null | undefined,\n execContext: ExecContext,\n parentSelectionSet: SelectionSetNode,\n path: LocalState.Path\n ): Promise<any> {\n const {\n client,\n diff,\n variables,\n operationDefinition,\n phase,\n returnPartialData,\n onlyRunForcedResolvers,\n } = execContext;\n const isRootField = parentSelectionSet === operationDefinition.selectionSet;\n const fieldName = field.name.value;\n const typename =\n isRootField ?\n rootValue?.__typename || inferRootTypename(operationDefinition)\n : rootValue?.__typename;\n const resolverName = `${typename}.${fieldName}`;\n\n function readField() {\n const fieldResult = rootValue?.[fieldName];\n\n if (fieldResult !== undefined) {\n return fieldResult;\n }\n\n return getCacheResultAtPath(diff, path);\n }\n\n const defaultResolver =\n isClientFieldDescendant ? readField\n // We expect a resolver to be defined for all `@client` root fields.\n // Warn when a resolver is not defined.\n : (\n () => {\n const fieldFromCache = getCacheResultAtPath(diff, path);\n\n if (fieldFromCache !== undefined) {\n return fieldFromCache;\n }\n\n if (!returnPartialData) {\n return null;\n }\n }\n );\n\n const resolver = this.getResolver(typename, fieldName);\n let result: unknown;\n\n try {\n // Avoid running the resolver if we are only trying to run forced\n // resolvers. Fallback to read the value from the root field or the cache\n // value\n if (!onlyRunForcedResolvers || isForcedResolver(field)) {\n result =\n resolver ?\n await Promise.resolve(\n // In case the resolve function accesses reactive variables,\n // set cacheSlot to the current cache instance.\n cacheSlot.withValue(client.cache, resolver, [\n rootValue ? dealias(rootValue, parentSelectionSet) : {},\n (argumentsObjectFromField(field, variables) ?? {}) as Record<\n string,\n unknown\n >,\n { requestContext: execContext.context as any, client, phase },\n { field, fragmentMap: execContext.fragmentMap, path },\n ])\n )\n : defaultResolver();\n } else {\n result = readField();\n }\n } catch (e) {\n if (phase === \"exports\") {\n for (const [name, def] of Object.entries(\n execContext.exportedVariableDefs\n )) {\n if (def.ancestors.has(field)) {\n throw new LocalStateError(\n `An error was thrown from resolver '${resolverName}' while resolving ${\n def.required ? \"required\" : \"optional\"\n } variable '${name}'. Use a try/catch and return \\`undefined\\` to suppress this error and omit the variable from the request.`,\n { path, sourceError: e }\n );\n }\n }\n }\n\n this.addError(toErrorLike(e), path, execContext, {\n resolver: resolverName,\n cause: e,\n });\n return null;\n }\n\n if (phase === \"exports\") {\n field.directives?.forEach((directive) => {\n if (directive.name.value !== \"export\") {\n return;\n }\n\n const name = getExportedVariableName(directive);\n\n if (!name) {\n return;\n }\n\n if (result !== undefined) {\n execContext.exportedVariables[name] = result;\n }\n });\n\n if (result == null) {\n for (const [name, def] of Object.entries(\n execContext.exportedVariableDefs\n )) {\n if (def.ancestors.has(field) && def.required) {\n throw new LocalStateError(\n `${\n resolver ? \"Resolver\" : \"Field\"\n } '${resolverName}' returned \\`${result}\\` ${\n def.field === field ? \"for\" : \"which contains exported\"\n } required variable '${name}'.`,\n { path }\n );\n }\n }\n }\n }\n\n if (result === undefined && !returnPartialData) {\n if (__DEV__ && phase === \"resolve\") {\n if (resolver && !onlyRunForcedResolvers) {\n invariant.warn(\n \"The '%s' resolver returned `undefined` instead of a value. This is likely a bug in the resolver. If you didn't mean to return a value, return `null` instead.\",\n resolverName\n );\n } else if (onlyRunForcedResolvers) {\n invariant.warn(\n \"The '%s' field had no cached value and only forced resolvers were run. The value was set to `null`.\",\n resolverName\n );\n } else {\n invariant.warn(\n \"The '%s' field on object %o returned `undefined` instead of a value. The parent resolver did not include the property in the returned value and there was no resolver defined for the field.\",\n fieldName,\n rootValue\n );\n }\n }\n\n result = null;\n }\n\n if (result == null || !field.selectionSet) {\n return result;\n }\n\n if (Array.isArray(result)) {\n return this.resolveSubSelectedArray(\n field,\n true,\n result,\n execContext,\n path\n );\n }\n\n if (phase === \"resolve\" && !(result as any).__typename) {\n this.addError(\n newInvariantError(\n \"Could not resolve __typename on object %o returned from resolver '%s'. '__typename' needs to be returned to properly resolve child fields.\",\n result,\n resolverName\n ),\n path,\n execContext,\n { resolver: resolverName }\n );\n\n return null;\n }\n\n return this.resolveSelectionSet(\n field.selectionSet,\n true,\n result,\n execContext,\n path\n );\n }\n\n private addError(\n error: ErrorLike,\n path: LocalState.Path,\n execContext: ExecContext,\n meta: { [key: string]: any; resolver: string }\n ) {\n execContext.errors.push(\n addExtension(\n isGraphQLError(error) ?\n { ...error.toJSON(), path }\n : { message: error.message, path },\n meta\n )\n );\n }\n\n private getResolver(\n typename: string,\n fieldName: string\n ): LocalState.Resolver | undefined {\n return this.resolvers[typename]?.[fieldName];\n }\n\n private resolveSubSelectedArray(\n field: FieldNode,\n isClientFieldDescendant: boolean,\n result: any[],\n execContext: ExecContext,\n path: LocalState.Path\n ): any {\n return Promise.all(\n result.map((item, idx) => {\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 path.concat(idx)\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 path.concat(idx)\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 collectQueryDetail(document: DocumentNode): TraverseCacheEntry & {\n operationDefinition: OperationDefinitionNode;\n fragmentMap: FragmentMap;\n } {\n const operationDefinition = getMainDefinition(\n document\n ) as OperationDefinitionNode;\n const fragments = getFragmentDefinitions(document);\n const fragmentMap = createFragmentMap(fragments);\n\n const isSingleASTNode = (\n node: ASTNode | readonly ASTNode[]\n ): node is ASTNode => !Array.isArray(node);\n const fields: Array<FieldNode> = [];\n let rootClientField: FieldNode | undefined;\n\n function getCurrentPath() {\n return fields.map((field) => field.name.value);\n }\n\n const traverse = (definitionNode: ExecutableDefinitionNode) => {\n if (this.traverseCache.has(definitionNode)) {\n return this.traverseCache.get(definitionNode)!;\n }\n\n // Track a separate list of all variable definitions since not all variable\n // definitions are used as exports of an `@export` field.\n const allVariableDefinitions: TraverseCacheEntry[\"exportedVariableDefs\"] =\n {};\n\n const cache: TraverseCacheEntry = {\n exportedVariableDefs: {},\n exportsToResolve: new Set<SelectionNode>(),\n selectionsToResolve: new Set<SelectionNode>(),\n };\n this.traverseCache.set(definitionNode, cache);\n\n visit(definitionNode, {\n VariableDefinition: (definition) => {\n allVariableDefinitions[definition.variable.name.value] = {\n required: definition.type.kind === Kind.NON_NULL_TYPE,\n ancestors: new WeakSet(),\n };\n },\n Field: {\n enter(field) {\n fields.push(field);\n },\n leave() {\n const removed = fields.pop();\n\n if (removed === rootClientField) {\n rootClientField = undefined;\n }\n },\n },\n Directive(node: DirectiveNode, _, __, ___, ancestors) {\n const field = fields.at(-1);\n\n if (!field) {\n return;\n }\n\n if (\n node.name.value === \"export\" &&\n // Ignore export directives that aren't inside client fields.\n // These will get sent to the server\n rootClientField\n ) {\n const fieldName = field.name.value;\n const variableName = getExportedVariableName(node);\n if (!variableName) {\n throw new LocalStateError(\n `Cannot determine the variable name from the \\`@export\\` directive used on field '${fieldName}'. Perhaps you forgot the \\`as\\` argument?`,\n { path: getCurrentPath() }\n );\n }\n if (!allVariableDefinitions[variableName]) {\n throw new LocalStateError(\n `\\`@export\\` directive on field '${fieldName}' cannot export the '$${variableName}' variable as it is missing in the ${operationDefinition.operation} definition.`,\n { path: getCurrentPath() }\n );\n }\n cache.exportedVariableDefs[variableName] = {\n ...allVariableDefinitions[variableName],\n field,\n };\n ancestors.forEach((node) => {\n if (isSingleASTNode(node) && isSelectionNode(node)) {\n cache.exportsToResolve.add(node);\n cache.exportedVariableDefs[variableName].ancestors.add(node);\n }\n });\n }\n if (node.name.value === \"client\") {\n rootClientField ??= field;\n ancestors.forEach((node) => {\n if (isSingleASTNode(node) && isSelectionNode(node)) {\n cache.selectionsToResolve.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 { selectionsToResolve: fragmentSelections } =\n traverse(fragment);\n\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 cache.selectionsToResolve.add(node);\n }\n });\n cache.selectionsToResolve.add(spread);\n fragmentSelections.forEach((selection) => {\n cache.selectionsToResolve.add(selection);\n });\n }\n },\n });\n\n return cache;\n };\n\n return {\n ...traverse(operationDefinition),\n operationDefinition,\n fragmentMap,\n };\n }\n}\n\nfunction inferRootTypename({ operation }: OperationDefinitionNode) {\n return operation.charAt(0).toUpperCase() + operation.slice(1);\n}\n\n// eslint-disable-next-line @typescript-eslint/no-restricted-types\nfunction isGraphQLError(error: ErrorLike): error is GraphQLError {\n return (\n error.name === \"GraphQLError\" &&\n // Check to see if the error contains keys returned in toJSON. The values\n // might be `undefined` if not set, but we don't care about those as we\n // can be reasonably sure this is a GraphQLError if all of these properties\n // exist on the error\n \"path\" in error &&\n \"locations\" in error &&\n \"extensions\" in error\n );\n}\n\nfunction addExtension(error: GraphQLFormattedError, meta: Record<string, any>) {\n return {\n ...error,\n extensions: {\n ...error.extensions,\n localState: meta,\n },\n };\n}\n\nfunction getExportedVariableName(directive: DirectiveNode) {\n if (directive.arguments) {\n for (const arg of directive.arguments) {\n if (arg.name.value === \"as\" && arg.value.kind === Kind.STRING) {\n return arg.value.value;\n }\n }\n }\n}\n\nfunction validateCacheImplementation(cache: ApolloCache) {\n invariant(\n cache.fragmentMatches,\n \"The configured cache does not support fragment matching which will lead to incorrect results when executing local resolvers. Please use a cache that implements `fragmetMatches`.\"\n );\n}\n\nfunction getCacheResultAtPath(\n diff: Cache.DiffResult<any>,\n path: LocalState.Path\n) {\n if (diff.result === null) {\n // Intentionally return undefined to signal we have no cache data\n return;\n }\n\n return path.reduce((value, segment) => value?.[segment], diff.result);\n}\n\nfunction isForcedResolver(field: FieldNode) {\n return (\n field.directives?.some((directive) => {\n if (directive.name.value !== \"client\" || !directive.arguments) {\n return false;\n }\n\n return directive.arguments.some(\n (arg) =>\n arg.name.value === \"always\" &&\n arg.value.kind === \"BooleanValue\" &&\n arg.value.value === true\n );\n }) ?? false\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 toQueryOperation(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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"}
1
+ {"version":3,"file":"LocalState.js","sources":["../../src/local-state/LocalState.ts"],"sourcesContent":["import type {\n ASTNode,\n DirectiveNode,\n DocumentNode,\n ExecutableDefinitionNode,\n FieldNode,\n FormattedExecutionResult,\n FragmentSpreadNode,\n GraphQLError,\n GraphQLFormattedError,\n OperationDefinitionNode,\n SelectionNode,\n SelectionSetNode,\n} from \"graphql\";\nimport { isSelectionNode, Kind, visit } from \"graphql\";\n\nimport type {\n ApolloCache,\n ApolloClient,\n Cache,\n DefaultContext,\n ErrorLike,\n OperationVariables,\n TypedDocumentNode,\n} from \"@apollo/client\";\nimport { cacheSlot } from \"@apollo/client/cache\";\nimport { LocalStateError, toErrorLike } from \"@apollo/client/errors\";\nimport { stripTypename } from \"@apollo/client/utilities\";\nimport { __DEV__ } from \"@apollo/client/utilities/environment\";\nimport type {\n FragmentMap,\n NoInfer,\n RemoveIndexSignature,\n} from \"@apollo/client/utilities/internal\";\nimport {\n argumentsObjectFromField,\n createFragmentMap,\n dealias,\n getFragmentDefinitions,\n getMainDefinition,\n hasDirectives,\n mergeDeep,\n mergeDeepArray,\n resultKeyNameFromField,\n shouldInclude,\n} from \"@apollo/client/utilities/internal\";\nimport {\n invariant,\n newInvariantError,\n} from \"@apollo/client/utilities/invariant\";\n\ninterface ExecContext {\n client: ApolloClient;\n operationDefinition: OperationDefinitionNode;\n fragmentMap: FragmentMap;\n context: unknown;\n variables: OperationVariables;\n exportedVariables: OperationVariables;\n onlyRunForcedResolvers: boolean;\n selectionsToResolve: Set<SelectionNode>;\n errors: GraphQLFormattedError[];\n phase: \"exports\" | \"resolve\";\n exportedVariableDefs: Record<string, ExportedVariable>;\n diff: Cache.DiffResult<any>;\n returnPartialData: boolean;\n}\n\n/**\n * Information about an exported variable defined by an `@export` directive.\n */\ninterface ExportedVariable {\n /**\n * Defines whether an exported variable is a required variable (i.e. a non-null variable)\n */\n required: boolean;\n /**\n * The `FieldNode` where the exported variable is defined.\n */\n field?: FieldNode;\n\n /**\n * Ancestor nodes (parent, grandparent, etc.) that contain the `@export`\n * directive node. This is useful to get access to nested fields that contain\n * an `@export` directive if a parent resolver throws or returns\n * `null`/`undefined` that would otherwise prevent us from traversing the\n * node.\n */\n ancestors: WeakSet<ASTNode>;\n}\n\n/**\n * Tracks and caches information related to a GraphQL document by traversing the\n * document the first time its seen and collecting information about it.\n */\ninterface TraverseCacheEntry {\n /**\n * Tracks information about the variable definition for any variables defined\n * by an `@export` directive.\n */\n exportedVariableDefs: Record<string, ExportedVariable>;\n\n /**\n * SelectionNodes that either directly contain or include an `@export` field\n * in its selection set. This allows us to avoid traversing subtrees that do\n * not contain `@export` fields.\n */\n exportsToResolve: Set<SelectionNode>;\n\n /**\n * SelectionNodes that either directly contain or include an `@client` field\n * in its selection set. This allows us to avoid traversing subtrees that do\n * not contain `@client` fields.\n */\n selectionsToResolve: Set<SelectionNode>;\n}\n\ntype InferContextValueFromResolvers<TResolvers> =\n TResolvers extends { [typename: string]: infer TFieldResolvers } ?\n TFieldResolvers extends (\n { [field: string]: LocalState.Resolver<any, any, infer TContext, any> }\n ) ?\n unknown extends TContext ?\n DefaultContext\n : TContext\n : DefaultContext\n : DefaultContext;\n\ntype MaybeRequireContextFunction<TContext> =\n {} extends RemoveIndexSignature<TContext> ? {}\n : { context: LocalState.ContextFunction<TContext> };\n\nexport declare namespace LocalState {\n // `rootValue` can be any value, but using `any` or `unknown` does not allow\n // the ability to add a function signature to this definition. The generic\n // allows us to provide the function signature while allowing any value.\n export type Options<\n TResolvers extends Resolvers = Resolvers,\n TContext = DefaultContext,\n > = {\n context?: ContextFunction<TContext>;\n\n /**\n * The map of resolvers used to provide values for `@local` fields.\n */\n resolvers?: TResolvers;\n } & MaybeRequireContextFunction<TContext>;\n\n export interface RootValueFunctionContext {\n document: DocumentNode;\n client: ApolloClient;\n context: DefaultContext;\n phase: \"exports\" | \"resolve\";\n variables: OperationVariables;\n }\n\n export type ContextFunction<TContext> = (\n options: ContextFunctionOptions\n ) => TContext;\n\n export interface ContextFunctionOptions {\n document: DocumentNode;\n client: ApolloClient;\n phase: \"exports\" | \"resolve\";\n variables: OperationVariables;\n requestContext: DefaultContext;\n }\n\n export type RootValueFunction<TRootValue> = (\n context: RootValueFunctionContext\n ) => TRootValue;\n\n export interface Resolvers<TContext = any> {\n [typename: string]: {\n [field: string]: Resolver<any, any, TContext, any>;\n };\n }\n\n export type Resolver<\n TResult = unknown,\n TParent = unknown,\n TContext = DefaultContext,\n TArgs = Record<string, unknown>,\n > = (\n rootValue: TParent,\n args: TArgs,\n context: {\n requestContext: TContext;\n client: ApolloClient;\n phase: \"exports\" | \"resolve\";\n },\n info: {\n field: FieldNode;\n fragmentMap: FragmentMap;\n path: Path;\n }\n ) => TResult | Promise<TResult>;\n\n export type Path = Array<string | number>;\n}\n\nexport class LocalState<\n TResolvers extends\n LocalState.Resolvers = LocalState.Resolvers<DefaultContext>,\n TContext = InferContextValueFromResolvers<TResolvers>,\n> {\n private context?: LocalState.ContextFunction<TContext>;\n private resolvers: LocalState.Resolvers = {};\n private traverseCache = new WeakMap<\n ExecutableDefinitionNode,\n TraverseCacheEntry\n >();\n\n constructor(\n ...[options]: {} extends TResolvers ?\n [options?: LocalState.Options<TResolvers, NoInfer<TContext>>]\n : [\n options: LocalState.Options<TResolvers, NoInfer<TContext>> & {\n resolvers: TResolvers;\n },\n ]\n ) {\n this.context = options?.context;\n\n if (options?.resolvers) {\n this.addResolvers(options.resolvers);\n }\n }\n\n public addResolvers(resolvers: TResolvers) {\n this.resolvers = mergeDeep(this.resolvers, resolvers);\n }\n\n public async execute<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n >({\n document,\n client,\n context,\n remoteResult,\n variables = {} as TVariables,\n onlyRunForcedResolvers = false,\n returnPartialData = false,\n }: {\n document: DocumentNode | TypedDocumentNode<TData, TVariables>;\n client: ApolloClient;\n context: DefaultContext | undefined;\n // undefined is meant for client-only queries where there is no remote result\n remoteResult: FormattedExecutionResult<any> | undefined;\n variables: TVariables | undefined;\n onlyRunForcedResolvers?: boolean;\n returnPartialData?: boolean;\n }): Promise<FormattedExecutionResult<TData>> {\n if (__DEV__) {\n invariant(\n hasDirectives([\"client\"], document),\n \"Expected document to contain `@client` fields.\"\n );\n\n validateCacheImplementation(client.cache);\n }\n\n // note: if `remoteResult` is `undefined`, we will execute resolvers since\n // undefined remote data reflects a client-only query. We specifically want\n // to avoid trying to run local resolvers if the server returned `data` as\n // `null`.\n if (remoteResult?.data === null) {\n return remoteResult;\n }\n\n const {\n selectionsToResolve,\n exportedVariableDefs,\n operationDefinition,\n fragmentMap,\n } = this.collectQueryDetail(document);\n\n const rootValue = remoteResult ? remoteResult.data : {};\n\n const diff = client.cache.diff<Record<string, any>>({\n query: toQueryOperation(document),\n variables,\n returnPartialData: true,\n optimistic: false,\n });\n\n const requestContext = { ...client.defaultContext, ...context };\n const execContext: ExecContext = {\n client,\n operationDefinition,\n fragmentMap,\n context:\n this.context?.({\n requestContext,\n document,\n client,\n phase: \"resolve\",\n variables: variables ?? {},\n }) ?? (requestContext as TContext),\n variables,\n exportedVariables: {},\n selectionsToResolve,\n onlyRunForcedResolvers,\n errors: [],\n phase: \"resolve\",\n exportedVariableDefs,\n diff,\n returnPartialData,\n };\n\n const localResult = await this.resolveSelectionSet(\n operationDefinition.selectionSet,\n false,\n rootValue,\n execContext,\n []\n );\n\n const errors = (remoteResult?.errors ?? []).concat(execContext.errors);\n\n const result: FormattedExecutionResult<any> = {\n ...remoteResult,\n data: mergeDeep(rootValue, localResult),\n };\n\n if (errors.length > 0) {\n result.errors = errors;\n }\n\n return result;\n }\n\n public async getExportedVariables<\n TVariables extends OperationVariables = OperationVariables,\n >({\n document,\n client,\n context,\n variables,\n }: {\n document: DocumentNode | TypedDocumentNode<any, TVariables>;\n client: ApolloClient;\n context: DefaultContext | undefined;\n variables: Partial<NoInfer<TVariables>>;\n }): Promise<TVariables> {\n if (__DEV__) {\n invariant(\n hasDirectives([\"client\"], document),\n \"Expected document to contain `@client` fields.\"\n );\n validateCacheImplementation(client.cache);\n }\n const {\n exportsToResolve,\n exportedVariableDefs,\n fragmentMap,\n operationDefinition,\n } = this.collectQueryDetail(document);\n\n const diff = client.cache.diff<Record<string, any>>({\n query: toQueryOperation(document),\n variables,\n returnPartialData: true,\n optimistic: false,\n });\n\n const requestContext = { ...client.defaultContext, ...context };\n const execContext: ExecContext = {\n client,\n operationDefinition,\n fragmentMap,\n context:\n this.context?.({\n requestContext,\n document,\n client,\n phase: \"resolve\",\n variables: variables ?? {},\n }) ?? (requestContext as TContext),\n variables,\n exportedVariables: {},\n selectionsToResolve: exportsToResolve,\n onlyRunForcedResolvers: false,\n errors: [],\n phase: \"exports\",\n exportedVariableDefs,\n diff,\n returnPartialData: false,\n };\n\n await this.resolveSelectionSet(\n operationDefinition.selectionSet,\n false,\n diff.result,\n execContext,\n []\n );\n\n return stripTypename({\n ...variables,\n ...execContext.exportedVariables,\n }) as TVariables;\n }\n\n private async resolveSelectionSet(\n selectionSet: SelectionSetNode,\n isClientFieldDescendant: boolean,\n rootValue: Record<string, any> | null | undefined,\n execContext: ExecContext,\n path: LocalState.Path\n ) {\n const { client, fragmentMap, variables, operationDefinition } = execContext;\n const { cache } = client;\n const resultsToMerge: Array<Record<string, any>> = [];\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 (selection.kind === Kind.FIELD) {\n const isRootField = selectionSet === operationDefinition.selectionSet;\n const isClientField =\n isClientFieldDescendant ||\n (selection.directives?.some((d) => d.name.value === \"client\") ??\n false);\n\n const fieldResult =\n isClientField ?\n await this.resolveClientField(\n selection,\n isClientFieldDescendant,\n rootValue,\n execContext,\n selectionSet,\n path.concat(selection.name.value)\n )\n : await this.resolveServerField(\n selection,\n rootValue,\n execContext,\n path.concat(selection.name.value)\n );\n\n // Don't attempt to merge the client field result if the server result\n // was null\n if (fieldResult !== undefined && (!isRootField || rootValue !== null)) {\n resultsToMerge.push({\n [resultKeyNameFromField(selection)]: fieldResult,\n });\n }\n\n return;\n }\n\n if (\n selection.kind === Kind.INLINE_FRAGMENT &&\n selection.typeCondition &&\n rootValue?.__typename &&\n cache.fragmentMatches(selection, rootValue.__typename)\n ) {\n const fragmentResult = await this.resolveSelectionSet(\n selection.selectionSet,\n isClientFieldDescendant,\n rootValue,\n execContext,\n path\n );\n\n if (fragmentResult) {\n resultsToMerge.push(fragmentResult);\n }\n\n return;\n }\n\n if (selection.kind === Kind.FRAGMENT_SPREAD) {\n const fragment = fragmentMap[selection.name.value];\n invariant(fragment, \"No fragment named %s\", selection.name.value);\n\n const typename = rootValue?.__typename;\n const typeCondition = fragment.typeCondition.name.value;\n\n const matches =\n typename === typeCondition ||\n cache.fragmentMatches(fragment, typename ?? \"\");\n\n if (matches) {\n const fragmentResult = await this.resolveSelectionSet(\n fragment.selectionSet,\n isClientFieldDescendant,\n rootValue,\n execContext,\n path\n );\n\n if (fragmentResult) {\n resultsToMerge.push(fragmentResult);\n }\n }\n\n return;\n }\n };\n\n await Promise.all(selectionSet.selections.map(execute));\n\n return resultsToMerge.length > 0 ?\n mergeDeepArray(resultsToMerge)\n : rootValue;\n }\n\n private resolveServerField(\n field: FieldNode,\n rootValue: Record<string, any> | null | undefined,\n execContext: ExecContext,\n path: LocalState.Path\n ) {\n const result = rootValue?.[field.name.value];\n\n if (!field.selectionSet) {\n return result;\n }\n\n if (result == null) {\n if (execContext.phase === \"exports\") {\n for (const [name, def] of Object.entries(\n execContext.exportedVariableDefs\n )) {\n if (def.ancestors.has(field) && def.required) {\n throw new LocalStateError(\n `${\"Field\"} '${field.name.value}' is \\`${result}\\` which contains exported required variable '${name}'. Ensure this value is in the cache or make the variable optional.`,\n { path }\n );\n }\n }\n }\n\n return result;\n }\n\n if (Array.isArray(result)) {\n return this.resolveSubSelectedArray(\n field,\n false,\n result,\n execContext,\n path\n );\n }\n\n return this.resolveSelectionSet(\n field.selectionSet,\n false,\n result,\n execContext,\n path\n );\n }\n\n private async resolveClientField(\n field: FieldNode,\n isClientFieldDescendant: boolean,\n rootValue: Record<string, any> | null | undefined,\n execContext: ExecContext,\n parentSelectionSet: SelectionSetNode,\n path: LocalState.Path\n ): Promise<any> {\n const {\n client,\n diff,\n variables,\n operationDefinition,\n phase,\n returnPartialData,\n onlyRunForcedResolvers,\n } = execContext;\n const isRootField = parentSelectionSet === operationDefinition.selectionSet;\n const fieldName = field.name.value;\n const typename =\n isRootField ?\n rootValue?.__typename || inferRootTypename(operationDefinition)\n : rootValue?.__typename;\n const resolverName = `${typename}.${fieldName}`;\n\n function readField() {\n const fieldResult = rootValue?.[fieldName];\n\n if (fieldResult !== undefined) {\n return fieldResult;\n }\n\n return getCacheResultAtPath(diff, path);\n }\n\n const defaultResolver =\n isClientFieldDescendant ? readField\n // We expect a resolver to be defined for all `@client` root fields.\n // Warn when a resolver is not defined.\n : (\n () => {\n const fieldFromCache = getCacheResultAtPath(diff, path);\n\n if (fieldFromCache !== undefined) {\n return fieldFromCache;\n }\n\n if (!returnPartialData) {\n return null;\n }\n }\n );\n\n const resolver = this.getResolver(typename, fieldName);\n let result: unknown;\n\n try {\n // Avoid running the resolver if we are only trying to run forced\n // resolvers. Fallback to read the value from the root field or the cache\n // value\n if (!onlyRunForcedResolvers || isForcedResolver(field)) {\n result =\n resolver ?\n await Promise.resolve(\n // In case the resolve function accesses reactive variables,\n // set cacheSlot to the current cache instance.\n cacheSlot.withValue(client.cache, resolver, [\n rootValue ? dealias(rootValue, parentSelectionSet) : {},\n (argumentsObjectFromField(field, variables) ?? {}) as Record<\n string,\n unknown\n >,\n { requestContext: execContext.context as any, client, phase },\n { field, fragmentMap: execContext.fragmentMap, path },\n ])\n )\n : defaultResolver();\n } else {\n result = readField();\n }\n } catch (e) {\n if (phase === \"exports\") {\n for (const [name, def] of Object.entries(\n execContext.exportedVariableDefs\n )) {\n if (def.ancestors.has(field)) {\n throw new LocalStateError(\n `An error was thrown from resolver '${resolverName}' while resolving ${\n def.required ? \"required\" : \"optional\"\n } variable '${name}'. Use a try/catch and return \\`undefined\\` to suppress this error and omit the variable from the request.`,\n { path, sourceError: e }\n );\n }\n }\n }\n\n this.addError(toErrorLike(e), path, execContext, {\n resolver: resolverName,\n cause: e,\n });\n return null;\n }\n\n if (phase === \"exports\") {\n field.directives?.forEach((directive) => {\n if (directive.name.value !== \"export\") {\n return;\n }\n\n const name = getExportedVariableName(directive);\n\n if (!name) {\n return;\n }\n\n if (result !== undefined) {\n execContext.exportedVariables[name] = result;\n }\n });\n\n if (result == null) {\n for (const [name, def] of Object.entries(\n execContext.exportedVariableDefs\n )) {\n if (def.ancestors.has(field) && def.required) {\n throw new LocalStateError(\n `${\n resolver ? \"Resolver\" : \"Field\"\n } '${resolverName}' returned \\`${result}\\` ${\n def.field === field ? \"for\" : \"which contains exported\"\n } required variable '${name}'.`,\n { path }\n );\n }\n }\n }\n }\n\n if (result === undefined && !returnPartialData) {\n if (__DEV__ && phase === \"resolve\") {\n if (resolver && !onlyRunForcedResolvers) {\n invariant.warn(\n \"The '%s' resolver returned `undefined` instead of a value. This is likely a bug in the resolver. If you didn't mean to return a value, return `null` instead.\",\n resolverName\n );\n } else if (onlyRunForcedResolvers) {\n invariant.warn(\n \"The '%s' field had no cached value and only forced resolvers were run. The value was set to `null`.\",\n resolverName\n );\n } else {\n invariant.warn(\n \"The '%s' field on object %o returned `undefined` instead of a value. The parent resolver did not include the property in the returned value and there was no resolver defined for the field.\",\n fieldName,\n rootValue\n );\n }\n }\n\n result = null;\n }\n\n if (result == null || !field.selectionSet) {\n return result;\n }\n\n if (Array.isArray(result)) {\n return this.resolveSubSelectedArray(\n field,\n true,\n result,\n execContext,\n path\n );\n }\n\n if (phase === \"resolve\" && !(result as any).__typename) {\n this.addError(\n newInvariantError(\n \"Could not resolve __typename on object %o returned from resolver '%s'. '__typename' needs to be returned to properly resolve child fields.\",\n result,\n resolverName\n ),\n path,\n execContext,\n { resolver: resolverName }\n );\n\n return null;\n }\n\n return this.resolveSelectionSet(\n field.selectionSet,\n true,\n result,\n execContext,\n path\n );\n }\n\n private addError(\n error: ErrorLike,\n path: LocalState.Path,\n execContext: ExecContext,\n meta: { [key: string]: any; resolver: string }\n ) {\n execContext.errors.push(\n addExtension(\n isGraphQLError(error) ?\n { ...error.toJSON(), path }\n : { message: error.message, path },\n meta\n )\n );\n }\n\n private getResolver(\n typename: string,\n fieldName: string\n ): LocalState.Resolver | undefined {\n return this.resolvers[typename]?.[fieldName];\n }\n\n private resolveSubSelectedArray(\n field: FieldNode,\n isClientFieldDescendant: boolean,\n result: any[],\n execContext: ExecContext,\n path: LocalState.Path\n ): any {\n return Promise.all(\n result.map((item, idx) => {\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 path.concat(idx)\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 path.concat(idx)\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 collectQueryDetail(document: DocumentNode): TraverseCacheEntry & {\n operationDefinition: OperationDefinitionNode;\n fragmentMap: FragmentMap;\n } {\n const operationDefinition = getMainDefinition(\n document\n ) as OperationDefinitionNode;\n const fragments = getFragmentDefinitions(document);\n const fragmentMap = createFragmentMap(fragments);\n\n const isSingleASTNode = (\n node: ASTNode | readonly ASTNode[]\n ): node is ASTNode => !Array.isArray(node);\n const fields: Array<FieldNode> = [];\n let rootClientField: FieldNode | undefined;\n\n function getCurrentPath() {\n return fields.map((field) => field.name.value);\n }\n\n const traverse = (definitionNode: ExecutableDefinitionNode) => {\n if (this.traverseCache.has(definitionNode)) {\n return this.traverseCache.get(definitionNode)!;\n }\n\n // Track a separate list of all variable definitions since not all variable\n // definitions are used as exports of an `@export` field.\n const allVariableDefinitions: TraverseCacheEntry[\"exportedVariableDefs\"] =\n {};\n\n const cache: TraverseCacheEntry = {\n exportedVariableDefs: {},\n exportsToResolve: new Set<SelectionNode>(),\n selectionsToResolve: new Set<SelectionNode>(),\n };\n this.traverseCache.set(definitionNode, cache);\n\n visit(definitionNode, {\n VariableDefinition: (definition) => {\n allVariableDefinitions[definition.variable.name.value] = {\n required: definition.type.kind === Kind.NON_NULL_TYPE,\n ancestors: new WeakSet(),\n };\n },\n Field: {\n enter(field) {\n fields.push(field);\n },\n leave() {\n const removed = fields.pop();\n\n if (removed === rootClientField) {\n rootClientField = undefined;\n }\n },\n },\n Directive(node: DirectiveNode, _, __, ___, ancestors) {\n const field = fields.at(-1);\n\n if (!field) {\n return;\n }\n\n if (\n node.name.value === \"export\" &&\n // Ignore export directives that aren't inside client fields.\n // These will get sent to the server\n rootClientField\n ) {\n const fieldName = field.name.value;\n const variableName = getExportedVariableName(node);\n if (!variableName) {\n throw new LocalStateError(\n `Cannot determine the variable name from the \\`@export\\` directive used on field '${fieldName}'. Perhaps you forgot the \\`as\\` argument?`,\n { path: getCurrentPath() }\n );\n }\n if (!allVariableDefinitions[variableName]) {\n throw new LocalStateError(\n `\\`@export\\` directive on field '${fieldName}' cannot export the '$${variableName}' variable as it is missing in the ${operationDefinition.operation} definition.`,\n { path: getCurrentPath() }\n );\n }\n cache.exportedVariableDefs[variableName] = {\n ...allVariableDefinitions[variableName],\n field,\n };\n ancestors.forEach((node) => {\n if (isSingleASTNode(node) && isSelectionNode(node)) {\n cache.exportsToResolve.add(node);\n cache.exportedVariableDefs[variableName].ancestors.add(node);\n }\n });\n }\n if (node.name.value === \"client\") {\n rootClientField ??= field;\n ancestors.forEach((node) => {\n if (isSingleASTNode(node) && isSelectionNode(node)) {\n cache.selectionsToResolve.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 { selectionsToResolve: fragmentSelections } =\n traverse(fragment);\n\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 cache.selectionsToResolve.add(node);\n }\n });\n cache.selectionsToResolve.add(spread);\n fragmentSelections.forEach((selection) => {\n cache.selectionsToResolve.add(selection);\n });\n }\n },\n });\n\n return cache;\n };\n\n return {\n ...traverse(operationDefinition),\n operationDefinition,\n fragmentMap,\n };\n }\n}\n\nfunction inferRootTypename({ operation }: OperationDefinitionNode) {\n return operation.charAt(0).toUpperCase() + operation.slice(1);\n}\n\n// eslint-disable-next-line @typescript-eslint/no-restricted-types\nfunction isGraphQLError(error: ErrorLike): error is GraphQLError {\n return (\n error.name === \"GraphQLError\" &&\n // Check to see if the error contains keys returned in toJSON. The values\n // might be `undefined` if not set, but we don't care about those as we\n // can be reasonably sure this is a GraphQLError if all of these properties\n // exist on the error\n \"path\" in error &&\n \"locations\" in error &&\n \"extensions\" in error\n );\n}\n\nfunction addExtension(error: GraphQLFormattedError, meta: Record<string, any>) {\n return {\n ...error,\n extensions: {\n ...error.extensions,\n localState: meta,\n },\n };\n}\n\nfunction getExportedVariableName(directive: DirectiveNode) {\n if (directive.arguments) {\n for (const arg of directive.arguments) {\n if (arg.name.value === \"as\" && arg.value.kind === Kind.STRING) {\n return arg.value.value;\n }\n }\n }\n}\n\nfunction validateCacheImplementation(cache: ApolloCache) {\n invariant(\n cache.fragmentMatches,\n \"The configured cache does not support fragment matching which will lead to incorrect results when executing local resolvers. Please use a cache that implements `fragmetMatches`.\"\n );\n}\n\nfunction getCacheResultAtPath(\n diff: Cache.DiffResult<any>,\n path: LocalState.Path\n) {\n if (diff.result === null) {\n // Intentionally return undefined to signal we have no cache data\n return;\n }\n\n return path.reduce((value, segment) => value?.[segment], diff.result);\n}\n\nfunction isForcedResolver(field: FieldNode) {\n return (\n field.directives?.some((directive) => {\n if (directive.name.value !== \"client\" || !directive.arguments) {\n return false;\n }\n\n return directive.arguments.some(\n (arg) =>\n arg.name.value === \"always\" &&\n arg.value.kind === \"BooleanValue\" &&\n arg.value.value === true\n );\n }) ?? false\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 toQueryOperation(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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"}
@@ -1,2 +1,2 @@
1
1
  export { LocalState } from "./LocalState.js";
2
- //# sourceMappingURL=index.d.ts.map
2
+ //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,2 @@
1
1
  export { LocalState } from "./LocalState.js";
2
- //# sourceMappingURL=index.js.map
2
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/local-state/index.ts"],"sourcesContent":["export { LocalState } from \"./LocalState.js\";\n"],"names":[],"mappings":"AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA2B,CAA3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/local-state/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC","sourcesContent":["export { LocalState } from \"./LocalState.js\";\n"]}
@@ -76,4 +76,4 @@ export declare namespace GraphQLCodegenDataMasking {
76
76
  export type Unmasked<TData> = true extends IsAny<TData> ? TData : TData extends object ? true extends ContainsFragmentsRefs<TData> ? UnwrapFragmentRefs<RemoveMaskedMarker<RemoveFragmentName<TData>>> : TData : TData;
77
77
  export {};
78
78
  }
79
- //# sourceMappingURL=GraphQLCodegenDataMasking.d.ts.map
79
+ //# sourceMappingURL=GraphQLCodegenDataMasking.d.ts.map
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=GraphQLCodegenDataMasking.js.map
2
+ //# sourceMappingURL=GraphQLCodegenDataMasking.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GraphQLCodegenDataMasking.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"GraphQLCodegenDataMasking.js","sourceRoot":"","sources":["../../src/masking/GraphQLCodegenDataMasking.ts"],"names":[],"mappings":"","sourcesContent":["import type { TypedDocumentNode } from \"@graphql-typed-document-node/core\";\n\nimport type { DataMasking } from \"@apollo/client\";\nimport type { HKT } from \"@apollo/client/utilities\";\nimport type { IsAny, Prettify } from \"@apollo/client/utilities/internal\";\n\nimport type {\n ContainsFragmentsRefs,\n RemoveFragmentName,\n RemoveMaskedMarker,\n UnwrapFragmentRefs,\n} from \"./internal/types.js\";\n\nexport namespace GraphQLCodegenDataMasking {\n export interface Implementation {\n Masked: HKTImplementation.Masked;\n MaskedDocumentNode: HKTImplementation.MaskedDocumentNode;\n FragmentType: HKTImplementation.FragmentType;\n MaybeMasked: HKTImplementation.MaybeMasked;\n Unmasked: HKTImplementation.Unmasked;\n }\n namespace HKTImplementation {\n export interface Masked extends HKT {\n arg1: unknown; // TData\n return: GraphQLCodegenDataMasking.Masked<this[\"arg1\"]>;\n }\n\n export interface MaskedDocumentNode extends HKT {\n arg1: unknown; // TData\n arg2: unknown; // TVariables\n return: GraphQLCodegenDataMasking.MaskedDocumentNode<\n this[\"arg1\"],\n this[\"arg2\"]\n >;\n }\n\n export interface FragmentType extends HKT {\n arg1: unknown; // TData\n return: GraphQLCodegenDataMasking.FragmentType<this[\"arg1\"]>;\n }\n\n export interface MaybeMasked extends HKT {\n arg1: unknown; // TData\n return: GraphQLCodegenDataMasking.MaybeMasked<this[\"arg1\"]>;\n }\n\n export interface Unmasked extends HKT {\n arg1: unknown; // TData\n return: GraphQLCodegenDataMasking.Unmasked<this[\"arg1\"]>;\n }\n }\n\n /**\n * Marks a type as masked. This is used by `MaybeMasked` when determining\n * whether to use the masked or unmasked type.\n */\n export type Masked<TData> = TData & {\n __masked?: true;\n };\n\n /**\n * Marks a type as masked. This is a shortcut for\n * `TypedDocumentNode<Masked<TData>, TVariables>`\n */\n export type MaskedDocumentNode<\n TData = { [key: string]: any },\n TVariables = { [key: string]: any },\n > = TypedDocumentNode<Masked<TData>, TVariables>;\n\n export type FragmentType<TData> =\n [TData] extends [{ \" $fragmentName\"?: infer TKey }] ?\n TKey extends string ?\n { \" $fragmentRefs\"?: { [key in TKey]: TData } }\n : never\n : never;\n\n /**\n * Returns TData as either masked or unmasked depending on whether masking is\n * enabled.\n */\n export type MaybeMasked<TData> =\n DataMasking extends { mode: \"unmask\" } ?\n // distribute TData - in case of a union, do the next steps for each member\n TData extends any ?\n // prevent \"Type instantiation is excessively deep and possibly infinite.\"\n true extends IsAny<TData> ? TData\n : TData extends { __masked?: true } ?\n Prettify<RemoveMaskedMarker<TData>>\n : Unmasked<TData>\n : never\n : DataMasking extends { mode: \"preserveTypes\" } ? TData\n : TData;\n\n /**\n * Unmasks a type to provide its full result.\n */\n export type Unmasked<TData> =\n true extends IsAny<TData> ? TData\n : TData extends object ?\n true extends ContainsFragmentsRefs<TData> ?\n UnwrapFragmentRefs<RemoveMaskedMarker<RemoveFragmentName<TData>>>\n : TData\n : TData;\n}\n"]}
@@ -3,4 +3,4 @@ export type { GraphQLCodegenDataMasking } from "./GraphQLCodegenDataMasking.js";
3
3
  export { disableWarningsSlot } from "./utils.js";
4
4
  export { maskFragment } from "./maskFragment.js";
5
5
  export { maskOperation } from "./maskOperation.js";
6
- //# sourceMappingURL=index.d.ts.map
6
+ //# sourceMappingURL=index.d.ts.map
package/masking/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export { disableWarningsSlot } from "./utils.js";
2
2
  export { maskFragment } from "./maskFragment.js";
3
3
  export { maskOperation } from "./maskOperation.js";
4
- //# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/masking/index.ts"],"sourcesContent":["export type {\n DataMasking,\n FragmentType,\n Masked,\n MaskedDocumentNode,\n MaybeMasked,\n Unmasked,\n} from \"./types.js\";\nexport type { GraphQLCodegenDataMasking } from \"./GraphQLCodegenDataMasking.js\";\nexport { disableWarningsSlot } from \"./utils.js\";\nexport { maskFragment } from \"./maskFragment.js\";\nexport { maskOperation } from \"./maskOperation.js\";\n"],"names":[],"mappings":"AASA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAoC,CAApC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgD;AAChD,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA6B,CAA7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgD;AAChD,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA8B,CAA9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/masking/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC","sourcesContent":["export type {\n DataMasking,\n FragmentType,\n Masked,\n MaskedDocumentNode,\n MaybeMasked,\n Unmasked,\n} from \"./types.js\";\nexport type { GraphQLCodegenDataMasking } from \"./GraphQLCodegenDataMasking.js\";\nexport { disableWarningsSlot } from \"./utils.js\";\nexport { maskFragment } from \"./maskFragment.js\";\nexport { maskOperation } from \"./maskOperation.js\";\n"]}
@@ -118,4 +118,4 @@ export type RemoveFragmentName<T> = T extends any ? Omit<T, " $fragmentName"> :
118
118
  type Exact<in out T> = (x: T) => T;
119
119
  export type ContainsFragmentsRefs<TData, Seen = never> = true extends (IsAny<TData>) ? false : TData extends object ? Exact<TData> extends Seen ? false : " $fragmentRefs" extends keyof RemoveIndexSignature<TData> ? true : ContainsFragmentsRefs<TData[keyof TData], Seen | Exact<TData>> : false;
120
120
  export {};
121
- //# sourceMappingURL=types.d.ts.map
121
+ //# sourceMappingURL=types.d.ts.map
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=types.js.map
2
+ //# sourceMappingURL=types.js.map