@apollo/client 4.0.0-alpha.7 → 4.0.0-alpha.9

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 (424) hide show
  1. package/.changeset/afraid-moons-arrive.md +5 -0
  2. package/.changeset/beige-mirrors-talk.md +15 -0
  3. package/.changeset/early-eggs-develop.md +22 -0
  4. package/.changeset/forty-tomatoes-punch.md +5 -0
  5. package/.changeset/fuzzy-tips-sit.md +5 -0
  6. package/.changeset/giant-apes-thank.md +5 -0
  7. package/.changeset/khaki-keys-deliver.md +5 -0
  8. package/.changeset/large-plants-know.md +5 -0
  9. package/.changeset/mean-lizards-think.md +5 -0
  10. package/.changeset/ninety-bags-bake.md +17 -0
  11. package/.changeset/perfect-vans-give.md +7 -0
  12. package/.changeset/pre.json +16 -0
  13. package/.changeset/shaggy-pugs-add.md +52 -0
  14. package/.changeset/short-months-complain.md +5 -0
  15. package/.changeset/swift-rivers-share.md +13 -0
  16. package/.changeset/thin-peas-hear.md +16 -0
  17. package/.changeset/wicked-forks-double.md +33 -0
  18. package/CHANGELOG.md +195 -0
  19. package/__cjs/cache/core/cache.cjs +1 -1
  20. package/__cjs/cache/core/cache.cjs.map +1 -1
  21. package/__cjs/cache/core/cache.d.cts +1 -1
  22. package/__cjs/cache/core/types/Cache.cjs.map +1 -1
  23. package/__cjs/cache/core/types/Cache.d.cts +1 -1
  24. package/__cjs/cache/core/types/DataProxy.d.cts +1 -1
  25. package/__cjs/cache/core/types/common.cjs +1 -0
  26. package/__cjs/cache/core/types/common.cjs.map +1 -1
  27. package/__cjs/cache/inmemory/entityStore.cjs +7 -4
  28. package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
  29. package/__cjs/cache/inmemory/entityStore.d.cts +1 -0
  30. package/__cjs/cache/inmemory/fragmentRegistry.cjs.map +1 -1
  31. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  32. package/__cjs/cache/inmemory/inMemoryCache.d.cts +1 -1
  33. package/__cjs/cache/inmemory/key-extractor.cjs +1 -1
  34. package/__cjs/cache/inmemory/policies.cjs +4 -4
  35. package/__cjs/cache/inmemory/reactiveVars.cjs.map +1 -1
  36. package/__cjs/cache/inmemory/reactiveVars.d.cts +1 -1
  37. package/__cjs/cache/inmemory/readFromStore.cjs +2 -2
  38. package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  39. package/__cjs/cache/inmemory/types.d.cts +1 -1
  40. package/__cjs/cache/inmemory/writeToStore.cjs +4 -4
  41. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  42. package/__cjs/cache/inmemory/writeToStore.d.cts +1 -1
  43. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs +2 -3
  44. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs.map +1 -1
  45. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs +2 -3
  46. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs.map +1 -1
  47. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs +2 -3
  48. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs.map +1 -1
  49. package/__cjs/config/jest/areServerErrorsEqual.cjs +21 -0
  50. package/__cjs/config/jest/areServerErrorsEqual.cjs.map +1 -0
  51. package/__cjs/config/jest/areServerErrorsEqual.d.cts +3 -0
  52. package/__cjs/config/jest/resolver.cjs +11 -0
  53. package/__cjs/config/jest/resolver.cjs.map +1 -1
  54. package/__cjs/config/jest/setup.cjs +12 -1
  55. package/__cjs/config/jest/setup.cjs.map +1 -1
  56. package/__cjs/core/ApolloClient.cjs +7 -7
  57. package/__cjs/core/LocalState.cjs +2 -2
  58. package/__cjs/core/ObservableQuery.cjs +196 -66
  59. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  60. package/__cjs/core/ObservableQuery.d.cts +20 -2
  61. package/__cjs/core/QueryInfo.cjs +4 -71
  62. package/__cjs/core/QueryInfo.cjs.map +1 -1
  63. package/__cjs/core/QueryInfo.d.cts +0 -8
  64. package/__cjs/core/QueryManager.cjs +29 -50
  65. package/__cjs/core/QueryManager.cjs.map +1 -1
  66. package/__cjs/core/QueryManager.d.cts +3 -3
  67. package/__cjs/core/index.cjs +3 -1
  68. package/__cjs/core/index.cjs.map +1 -1
  69. package/__cjs/core/index.d.cts +1 -0
  70. package/__cjs/core/watchQueryOptions.d.cts +2 -2
  71. package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
  72. package/__cjs/errors/CombinedGraphQLErrors.d.cts +1 -1
  73. package/__cjs/errors/index.cjs +21 -2
  74. package/__cjs/errors/index.cjs.map +1 -1
  75. package/__cjs/errors/index.d.cts +2 -0
  76. package/__cjs/invariantErrorCodes.cjs +82 -70
  77. package/__cjs/link/context/index.cjs.map +1 -1
  78. package/__cjs/link/context/index.d.cts +1 -1
  79. package/__cjs/link/core/ApolloLink.cjs +2 -20
  80. package/__cjs/link/core/ApolloLink.cjs.map +1 -1
  81. package/__cjs/link/core/ApolloLink.d.cts +1 -3
  82. package/__cjs/link/core/types.d.cts +1 -1
  83. package/__cjs/link/error/index.cjs +13 -28
  84. package/__cjs/link/error/index.cjs.map +1 -1
  85. package/__cjs/link/error/index.d.cts +4 -15
  86. package/__cjs/link/http/checkFetcher.cjs +1 -1
  87. package/__cjs/link/http/createHttpLink.cjs +1 -1
  88. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +1 -1
  89. package/__cjs/link/http/serializeFetchParameter.cjs +1 -1
  90. package/__cjs/link/persisted-queries/index.cjs +2 -2
  91. package/__cjs/link/persisted-queries/index.cjs.map +1 -1
  92. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs.map +1 -1
  93. package/__cjs/link/utils/validateOperation.cjs +1 -1
  94. package/__cjs/masking/maskDefinition.cjs +2 -2
  95. package/__cjs/masking/maskFragment.cjs +2 -2
  96. package/__cjs/masking/maskFragment.cjs.map +1 -1
  97. package/__cjs/masking/maskFragment.d.cts +1 -1
  98. package/__cjs/masking/maskOperation.cjs +1 -1
  99. package/__cjs/masking/maskOperation.cjs.map +1 -1
  100. package/__cjs/masking/maskOperation.d.cts +1 -1
  101. package/__cjs/masking/utils.cjs +1 -1
  102. package/__cjs/react/context/ApolloConsumer.cjs +1 -1
  103. package/__cjs/react/context/ApolloConsumer.cjs.map +1 -1
  104. package/__cjs/react/context/ApolloConsumer.d.cts +1 -1
  105. package/__cjs/react/context/ApolloContext.cjs +1 -1
  106. package/__cjs/react/context/ApolloContext.cjs.map +1 -1
  107. package/__cjs/react/context/ApolloContext.d.cts +1 -1
  108. package/__cjs/react/context/ApolloProvider.cjs +1 -1
  109. package/__cjs/react/context/ApolloProvider.cjs.map +1 -1
  110. package/__cjs/react/context/ApolloProvider.d.cts +1 -1
  111. package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
  112. package/__cjs/react/hooks/internal/wrapHook.d.cts +2 -2
  113. package/__cjs/react/hooks/useApolloClient.cjs +1 -1
  114. package/__cjs/react/hooks/useApolloClient.cjs.map +1 -1
  115. package/__cjs/react/hooks/useApolloClient.d.cts +1 -1
  116. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  117. package/__cjs/react/hooks/useBackgroundQuery.d.cts +2 -2
  118. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  119. package/__cjs/react/hooks/useFragment.d.cts +1 -1
  120. package/__cjs/react/hooks/useLazyQuery.cjs +21 -24
  121. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  122. package/__cjs/react/hooks/useLazyQuery.d.cts +3 -3
  123. package/__cjs/react/hooks/useLoadableQuery.cjs +2 -2
  124. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
  125. package/__cjs/react/hooks/useLoadableQuery.d.cts +2 -2
  126. package/__cjs/react/hooks/useMutation.cjs.map +1 -1
  127. package/__cjs/react/hooks/useMutation.d.cts +2 -2
  128. package/__cjs/react/hooks/useQuery.cjs +4 -4
  129. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  130. package/__cjs/react/hooks/useQuery.d.cts +3 -4
  131. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
  132. package/__cjs/react/hooks/useQueryRefHandlers.d.cts +2 -2
  133. package/__cjs/react/hooks/useReactiveVar.cjs.map +1 -1
  134. package/__cjs/react/hooks/useReactiveVar.d.cts +1 -1
  135. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
  136. package/__cjs/react/hooks/useReadQuery.d.cts +1 -1
  137. package/__cjs/react/hooks/useSubscription.cjs +1 -1
  138. package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
  139. package/__cjs/react/hooks/useSubscription.d.cts +1 -1
  140. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  141. package/__cjs/react/hooks/useSuspenseFragment.d.cts +1 -1
  142. package/__cjs/react/hooks/useSuspenseQuery.cjs +4 -4
  143. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  144. package/__cjs/react/hooks/useSuspenseQuery.d.cts +3 -3
  145. package/__cjs/react/hooks/useSyncExternalStore.cjs +1 -1
  146. package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -1
  147. package/__cjs/react/internal/cache/FragmentReference.d.cts +1 -1
  148. package/__cjs/react/internal/cache/QueryReference.cjs +1 -1
  149. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
  150. package/__cjs/react/internal/cache/QueryReference.d.cts +1 -1
  151. package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
  152. package/__cjs/react/internal/cache/SuspenseCache.d.cts +1 -1
  153. package/__cjs/react/internal/cache/getSuspenseCache.cjs.map +1 -1
  154. package/__cjs/react/internal/cache/getSuspenseCache.d.cts +2 -2
  155. package/__cjs/react/internal/types.d.cts +1 -1
  156. package/__cjs/react/query-preloader/createQueryPreloader.cjs +1 -0
  157. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  158. package/__cjs/react/query-preloader/createQueryPreloader.d.cts +1 -1
  159. package/__cjs/react/ssr/prerenderStatic.cjs +2 -2
  160. package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -1
  161. package/__cjs/react/ssr/prerenderStatic.d.cts +1 -1
  162. package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -1
  163. package/__cjs/react/types/deprecated.d.cts +1 -1
  164. package/__cjs/react/types/types.documentation.d.cts +2 -2
  165. package/__cjs/testing/core/index.cjs +2 -1
  166. package/__cjs/testing/core/index.cjs.map +1 -1
  167. package/__cjs/testing/core/index.d.cts +2 -2
  168. package/__cjs/testing/core/mocking/mockClient.cjs +3 -4
  169. package/__cjs/testing/core/mocking/mockClient.cjs.map +1 -1
  170. package/__cjs/testing/core/mocking/mockClient.d.cts +1 -1
  171. package/__cjs/testing/core/mocking/mockLink.cjs +118 -112
  172. package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
  173. package/__cjs/testing/core/mocking/mockLink.d.cts +26 -7
  174. package/__cjs/testing/experimental/createSchemaFetch.cjs +2 -2
  175. package/__cjs/testing/experimental/createSchemaFetch.cjs.map +1 -1
  176. package/__cjs/testing/experimental/createTestSchema.cjs.map +1 -1
  177. package/__cjs/testing/experimental/createTestSchema.d.cts +1 -1
  178. package/__cjs/testing/index.cjs +2 -1
  179. package/__cjs/testing/index.cjs.map +1 -1
  180. package/__cjs/testing/index.d.cts +1 -1
  181. package/__cjs/testing/internal/incremental.cjs.map +1 -1
  182. package/__cjs/testing/internal/incremental.d.cts +1 -1
  183. package/__cjs/testing/internal/renderHelpers.cjs.map +1 -1
  184. package/__cjs/testing/internal/renderHelpers.d.cts +1 -1
  185. package/__cjs/testing/internal/scenarios/index.cjs +9 -7
  186. package/__cjs/testing/internal/scenarios/index.cjs.map +1 -1
  187. package/__cjs/testing/internal/scenarios/index.d.cts +6 -8
  188. package/__cjs/testing/matchers/arrayWithLength.cjs +15 -0
  189. package/__cjs/testing/matchers/arrayWithLength.cjs.map +1 -0
  190. package/__cjs/testing/matchers/arrayWithLength.d.cts +3 -0
  191. package/__cjs/testing/matchers/index.cjs +2 -0
  192. package/__cjs/testing/matchers/index.cjs.map +1 -1
  193. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs +2 -2
  194. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs.map +1 -1
  195. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.d.cts +1 -1
  196. package/__cjs/testing/matchers/toMatchDocument.cjs.map +1 -1
  197. package/__cjs/testing/matchers/toMatchDocument.d.cts +1 -1
  198. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs +2 -2
  199. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs.map +1 -1
  200. package/__cjs/testing/react/MockedProvider.cjs +9 -5
  201. package/__cjs/testing/react/MockedProvider.cjs.map +1 -1
  202. package/__cjs/testing/react/MockedProvider.d.cts +5 -3
  203. package/__cjs/utilities/common/mergeOptions.cjs.map +1 -1
  204. package/__cjs/utilities/common/mergeOptions.d.cts +1 -1
  205. package/__cjs/utilities/graphql/operations.cjs.map +1 -1
  206. package/__cjs/utilities/graphql/operations.d.cts +1 -1
  207. package/__cjs/utilities/index.cjs.map +1 -1
  208. package/__cjs/utilities/index.d.cts +1 -1
  209. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
  210. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -1
  211. package/__cjs/utilities/internal/toQueryResult.d.cts +1 -1
  212. package/__cjs/utilities/subscriptions/relay/index.cjs +2 -2
  213. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
  214. package/__cjs/utilities/subscriptions/relay/index.d.cts +1 -1
  215. package/__cjs/version.cjs +1 -1
  216. package/__cjs/version.cjs.map +1 -1
  217. package/__cjs/version.d.cts +1 -1
  218. package/cache/core/cache.d.ts +1 -1
  219. package/cache/core/cache.js +1 -1
  220. package/cache/core/cache.js.map +1 -1
  221. package/cache/core/types/Cache.d.ts +1 -1
  222. package/cache/core/types/Cache.js.map +1 -1
  223. package/cache/core/types/DataProxy.d.ts +1 -1
  224. package/cache/core/types/common.js +1 -0
  225. package/cache/core/types/common.js.map +1 -1
  226. package/cache/inmemory/entityStore.d.ts +1 -0
  227. package/cache/inmemory/entityStore.js +7 -4
  228. package/cache/inmemory/entityStore.js.map +1 -1
  229. package/cache/inmemory/fragmentRegistry.js +1 -1
  230. package/cache/inmemory/fragmentRegistry.js.map +1 -1
  231. package/cache/inmemory/inMemoryCache.d.ts +1 -1
  232. package/cache/inmemory/inMemoryCache.js.map +1 -1
  233. package/cache/inmemory/key-extractor.js +1 -1
  234. package/cache/inmemory/policies.js +4 -4
  235. package/cache/inmemory/reactiveVars.d.ts +1 -1
  236. package/cache/inmemory/reactiveVars.js.map +1 -1
  237. package/cache/inmemory/readFromStore.js +2 -2
  238. package/cache/inmemory/readFromStore.js.map +1 -1
  239. package/cache/inmemory/types.d.ts +1 -1
  240. package/cache/inmemory/writeToStore.d.ts +1 -1
  241. package/cache/inmemory/writeToStore.js +4 -4
  242. package/cache/inmemory/writeToStore.js.map +1 -1
  243. package/config/jest/areCombinedGraphQLErrorsEqual.js +2 -3
  244. package/config/jest/areCombinedGraphQLErrorsEqual.js.map +1 -1
  245. package/config/jest/areCombinedProtocolErrorsEqual.js +2 -3
  246. package/config/jest/areCombinedProtocolErrorsEqual.js.map +1 -1
  247. package/config/jest/areMissingFieldErrorsEqual.js +2 -3
  248. package/config/jest/areMissingFieldErrorsEqual.js.map +1 -1
  249. package/config/jest/areServerErrorsEqual.d.ts +3 -0
  250. package/config/jest/areServerErrorsEqual.js +17 -0
  251. package/config/jest/areServerErrorsEqual.js.map +1 -0
  252. package/config/jest/resolver.js +12 -1
  253. package/config/jest/resolver.js.map +1 -1
  254. package/config/jest/setup.js +13 -2
  255. package/config/jest/setup.js.map +1 -1
  256. package/core/ApolloClient.js +7 -7
  257. package/core/LocalState.js +2 -2
  258. package/core/ObservableQuery.d.ts +20 -2
  259. package/core/ObservableQuery.js +195 -64
  260. package/core/ObservableQuery.js.map +1 -1
  261. package/core/QueryInfo.d.ts +0 -8
  262. package/core/QueryInfo.js +4 -71
  263. package/core/QueryInfo.js.map +1 -1
  264. package/core/QueryManager.d.ts +3 -3
  265. package/core/QueryManager.js +30 -51
  266. package/core/QueryManager.js.map +1 -1
  267. package/core/index.d.ts +1 -0
  268. package/core/index.js +2 -1
  269. package/core/index.js.map +1 -1
  270. package/core/watchQueryOptions.d.ts +2 -2
  271. package/errors/CombinedGraphQLErrors.d.ts +1 -1
  272. package/errors/CombinedGraphQLErrors.js.map +1 -1
  273. package/errors/index.d.ts +2 -0
  274. package/errors/index.js +18 -0
  275. package/errors/index.js.map +1 -1
  276. package/invariantErrorCodes.js +82 -70
  277. package/link/context/index.d.ts +1 -1
  278. package/link/context/index.js.map +1 -1
  279. package/link/core/ApolloLink.d.ts +1 -3
  280. package/link/core/ApolloLink.js +2 -20
  281. package/link/core/ApolloLink.js.map +1 -1
  282. package/link/core/types.d.ts +1 -1
  283. package/link/error/index.d.ts +4 -15
  284. package/link/error/index.js +14 -29
  285. package/link/error/index.js.map +1 -1
  286. package/link/http/checkFetcher.js +1 -1
  287. package/link/http/createHttpLink.js +1 -1
  288. package/link/http/parseAndCheckHttpResponse.js +1 -1
  289. package/link/http/serializeFetchParameter.js +1 -1
  290. package/link/persisted-queries/index.js +3 -3
  291. package/link/persisted-queries/index.js.map +1 -1
  292. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
  293. package/link/utils/validateOperation.js +1 -1
  294. package/masking/maskDefinition.js +2 -2
  295. package/masking/maskFragment.d.ts +1 -1
  296. package/masking/maskFragment.js +2 -2
  297. package/masking/maskFragment.js.map +1 -1
  298. package/masking/maskOperation.d.ts +1 -1
  299. package/masking/maskOperation.js +1 -1
  300. package/masking/maskOperation.js.map +1 -1
  301. package/masking/utils.js +1 -1
  302. package/package.json +10 -10
  303. package/react/context/ApolloConsumer.d.ts +1 -1
  304. package/react/context/ApolloConsumer.js +1 -1
  305. package/react/context/ApolloConsumer.js.map +1 -1
  306. package/react/context/ApolloContext.d.ts +1 -1
  307. package/react/context/ApolloContext.js +1 -1
  308. package/react/context/ApolloContext.js.map +1 -1
  309. package/react/context/ApolloProvider.d.ts +1 -1
  310. package/react/context/ApolloProvider.js +1 -1
  311. package/react/context/ApolloProvider.js.map +1 -1
  312. package/react/hooks/internal/wrapHook.d.ts +2 -2
  313. package/react/hooks/internal/wrapHook.js.map +1 -1
  314. package/react/hooks/useApolloClient.d.ts +1 -1
  315. package/react/hooks/useApolloClient.js +1 -1
  316. package/react/hooks/useApolloClient.js.map +1 -1
  317. package/react/hooks/useBackgroundQuery.d.ts +2 -2
  318. package/react/hooks/useBackgroundQuery.js.map +1 -1
  319. package/react/hooks/useFragment.d.ts +1 -1
  320. package/react/hooks/useFragment.js.map +1 -1
  321. package/react/hooks/useLazyQuery.d.ts +3 -3
  322. package/react/hooks/useLazyQuery.js +20 -23
  323. package/react/hooks/useLazyQuery.js.map +1 -1
  324. package/react/hooks/useLoadableQuery.d.ts +2 -2
  325. package/react/hooks/useLoadableQuery.js +2 -2
  326. package/react/hooks/useLoadableQuery.js.map +1 -1
  327. package/react/hooks/useMutation.d.ts +2 -2
  328. package/react/hooks/useMutation.js.map +1 -1
  329. package/react/hooks/useQuery.d.ts +3 -4
  330. package/react/hooks/useQuery.js +2 -2
  331. package/react/hooks/useQuery.js.map +1 -1
  332. package/react/hooks/useQueryRefHandlers.d.ts +2 -2
  333. package/react/hooks/useQueryRefHandlers.js.map +1 -1
  334. package/react/hooks/useReactiveVar.d.ts +1 -1
  335. package/react/hooks/useReactiveVar.js.map +1 -1
  336. package/react/hooks/useReadQuery.d.ts +1 -1
  337. package/react/hooks/useReadQuery.js.map +1 -1
  338. package/react/hooks/useSubscription.d.ts +1 -1
  339. package/react/hooks/useSubscription.js +1 -1
  340. package/react/hooks/useSubscription.js.map +1 -1
  341. package/react/hooks/useSuspenseFragment.d.ts +1 -1
  342. package/react/hooks/useSuspenseFragment.js.map +1 -1
  343. package/react/hooks/useSuspenseQuery.d.ts +3 -3
  344. package/react/hooks/useSuspenseQuery.js +3 -3
  345. package/react/hooks/useSuspenseQuery.js.map +1 -1
  346. package/react/hooks/useSyncExternalStore.js +1 -1
  347. package/react/internal/cache/FragmentReference.d.ts +1 -1
  348. package/react/internal/cache/FragmentReference.js.map +1 -1
  349. package/react/internal/cache/QueryReference.d.ts +1 -1
  350. package/react/internal/cache/QueryReference.js +1 -1
  351. package/react/internal/cache/QueryReference.js.map +1 -1
  352. package/react/internal/cache/SuspenseCache.d.ts +1 -1
  353. package/react/internal/cache/SuspenseCache.js.map +1 -1
  354. package/react/internal/cache/getSuspenseCache.d.ts +2 -2
  355. package/react/internal/cache/getSuspenseCache.js.map +1 -1
  356. package/react/internal/types.d.ts +1 -1
  357. package/react/query-preloader/createQueryPreloader.d.ts +1 -1
  358. package/react/query-preloader/createQueryPreloader.js +1 -0
  359. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  360. package/react/ssr/prerenderStatic.d.ts +1 -1
  361. package/react/ssr/prerenderStatic.js +2 -2
  362. package/react/ssr/prerenderStatic.js.map +1 -1
  363. package/react/ssr/useSSRQuery.js.map +1 -1
  364. package/react/types/deprecated.d.ts +1 -1
  365. package/react/types/types.documentation.d.ts +2 -2
  366. package/testing/core/index.d.ts +2 -2
  367. package/testing/core/index.js +1 -1
  368. package/testing/core/index.js.map +1 -1
  369. package/testing/core/mocking/mockClient.d.ts +1 -1
  370. package/testing/core/mocking/mockClient.js +2 -3
  371. package/testing/core/mocking/mockClient.js.map +1 -1
  372. package/testing/core/mocking/mockLink.d.ts +26 -7
  373. package/testing/core/mocking/mockLink.js +117 -113
  374. package/testing/core/mocking/mockLink.js.map +1 -1
  375. package/testing/experimental/createSchemaFetch.js +1 -1
  376. package/testing/experimental/createSchemaFetch.js.map +1 -1
  377. package/testing/experimental/createTestSchema.d.ts +1 -1
  378. package/testing/experimental/createTestSchema.js.map +1 -1
  379. package/testing/index.d.ts +1 -1
  380. package/testing/index.js +1 -1
  381. package/testing/index.js.map +1 -1
  382. package/testing/internal/incremental.d.ts +1 -1
  383. package/testing/internal/incremental.js.map +1 -1
  384. package/testing/internal/renderHelpers.d.ts +1 -1
  385. package/testing/internal/renderHelpers.js.map +1 -1
  386. package/testing/internal/scenarios/index.d.ts +6 -8
  387. package/testing/internal/scenarios/index.js +4 -2
  388. package/testing/internal/scenarios/index.js.map +1 -1
  389. package/testing/matchers/arrayWithLength.d.ts +3 -0
  390. package/testing/matchers/arrayWithLength.js +11 -0
  391. package/testing/matchers/arrayWithLength.js.map +1 -0
  392. package/testing/matchers/index.js +2 -0
  393. package/testing/matchers/index.js.map +1 -1
  394. package/testing/matchers/toHaveSuspenseCacheEntryUsing.d.ts +1 -1
  395. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js +1 -1
  396. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js.map +1 -1
  397. package/testing/matchers/toMatchDocument.d.ts +1 -1
  398. package/testing/matchers/toMatchDocument.js.map +1 -1
  399. package/testing/matchers/utils/getSerializableProperties.js +1 -1
  400. package/testing/matchers/utils/getSerializableProperties.js.map +1 -1
  401. package/testing/react/MockedProvider.d.ts +5 -3
  402. package/testing/react/MockedProvider.js +7 -3
  403. package/testing/react/MockedProvider.js.map +1 -1
  404. package/utilities/common/mergeOptions.d.ts +1 -1
  405. package/utilities/common/mergeOptions.js.map +1 -1
  406. package/utilities/graphql/operations.d.ts +1 -1
  407. package/utilities/graphql/operations.js.map +1 -1
  408. package/utilities/index.d.ts +1 -1
  409. package/utilities/index.js.map +1 -1
  410. package/utilities/internal/getMemoryInternals.js.map +1 -1
  411. package/utilities/internal/toQueryResult.d.ts +1 -1
  412. package/utilities/internal/toQueryResult.js.map +1 -1
  413. package/utilities/subscriptions/relay/index.d.ts +1 -1
  414. package/utilities/subscriptions/relay/index.js +1 -1
  415. package/utilities/subscriptions/relay/index.js.map +1 -1
  416. package/version.d.ts +1 -1
  417. package/version.js +1 -1
  418. package/version.js.map +1 -1
  419. package/__cjs/index.cjs +0 -9
  420. package/__cjs/index.cjs.map +0 -1
  421. package/__cjs/index.d.cts +0 -3
  422. package/index.d.ts +0 -3
  423. package/index.js +0 -4
  424. package/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useSSRQuery.js","sources":["../../../src/react/ssr/useSSRQuery.ts"],"sourcesContent":["import type { DocumentNode } from \"graphql\";\n\nimport type { ObservableQuery } from \"@apollo/client/core\";\nimport { useApolloClient, useQuery } from \"@apollo/client/react\";\n\nimport type { PrerenderStaticInternalContext } from \"./prerenderStatic.js\";\n\nexport const useSSRQuery = function (\n this: PrerenderStaticInternalContext,\n query: DocumentNode,\n options: useQuery.Options<any, any> = {}\n): useQuery.Result<any, any> {\n function notAllowed(): never {\n throw new Error(\"This method cannot be called during SSR.\");\n }\n const client = useApolloClient(options.client);\n\n const baseResult: Omit<\n useQuery.Result,\n \"observable\" | \"data\" | \"error\" | \"loading\" | \"networkStatus\"\n > = {\n client,\n refetch: notAllowed,\n fetchMore: notAllowed,\n subscribeToMore: notAllowed,\n updateQuery: notAllowed,\n startPolling: notAllowed,\n stopPolling: notAllowed,\n variables: options?.variables,\n previousData: undefined,\n };\n\n if (options.skip) {\n return withoutObservableAccess({\n ...baseResult,\n ...useQuery.skipStandbyResult,\n });\n }\n if (options.ssr === false) {\n return withoutObservableAccess({\n ...baseResult,\n ...useQuery.ssrDisabledResult,\n });\n }\n\n let observable = this.getObservableQuery(query, options.variables);\n if (!observable) {\n observable = client.watchQuery({\n query,\n ...options,\n fetchPolicy:\n (\n options.fetchPolicy === \"network-only\" ||\n options.fetchPolicy === \"cache-and-network\"\n ) ?\n \"cache-first\"\n : options.fetchPolicy,\n });\n this.onCreatedObservableQuery(observable, query, options.variables);\n }\n return {\n observable,\n ...observable.getCurrentResult(),\n ...baseResult,\n };\n};\n\nfunction withoutObservableAccess<T>(\n value: T\n): T & { observable: ObservableQuery<any, any> } {\n Object.defineProperty(value, \"observable\", {\n get() {\n throw new Error(\n '\"observable\" property is not accessible on skipped hooks or hook calls with `ssr: false` during SSR'\n );\n },\n });\n return value as any;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSSRQuery.js","sources":["../../../src/react/ssr/useSSRQuery.ts"],"sourcesContent":["import type { DocumentNode } from \"graphql\";\n\nimport type { ObservableQuery } from \"@apollo/client\";\nimport { useApolloClient, useQuery } from \"@apollo/client/react\";\n\nimport type { PrerenderStaticInternalContext } from \"./prerenderStatic.js\";\n\nexport const useSSRQuery = function (\n this: PrerenderStaticInternalContext,\n query: DocumentNode,\n options: useQuery.Options<any, any> = {}\n): useQuery.Result<any, any> {\n function notAllowed(): never {\n throw new Error(\"This method cannot be called during SSR.\");\n }\n const client = useApolloClient(options.client);\n\n const baseResult: Omit<\n useQuery.Result,\n \"observable\" | \"data\" | \"error\" | \"loading\" | \"networkStatus\"\n > = {\n client,\n refetch: notAllowed,\n fetchMore: notAllowed,\n subscribeToMore: notAllowed,\n updateQuery: notAllowed,\n startPolling: notAllowed,\n stopPolling: notAllowed,\n variables: options?.variables,\n previousData: undefined,\n };\n\n if (options.skip) {\n return withoutObservableAccess({\n ...baseResult,\n ...useQuery.skipStandbyResult,\n });\n }\n if (options.ssr === false) {\n return withoutObservableAccess({\n ...baseResult,\n ...useQuery.ssrDisabledResult,\n });\n }\n\n let observable = this.getObservableQuery(query, options.variables);\n if (!observable) {\n observable = client.watchQuery({\n query,\n ...options,\n fetchPolicy:\n (\n options.fetchPolicy === \"network-only\" ||\n options.fetchPolicy === \"cache-and-network\"\n ) ?\n \"cache-first\"\n : options.fetchPolicy,\n });\n this.onCreatedObservableQuery(observable, query, options.variables);\n }\n return {\n observable,\n ...observable.getCurrentResult(),\n ...baseResult,\n };\n};\n\nfunction withoutObservableAccess<T>(\n value: T\n): T & { observable: ObservableQuery<any, any> } {\n Object.defineProperty(value, \"observable\", {\n get() {\n throw new Error(\n '\"observable\" property is not accessible on skipped hooks or hook calls with `ssr: false` during SSR'\n );\n },\n });\n return value as any;\n}\n"],"names":[],"mappings":"AAGA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,EAAE,CAA1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA0C,CAA1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgE;AAIhE,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAP,CAAA,CAAA,CAAA,EAAa,CAAb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAA2B,CAA3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAEE,CAFF,CAAA,CAAA,CAAA,CAEqB,EACnB,CAHF,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAGwC,CAHxC,CAG0C,EAH1C;IAKE,CAAF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAArB,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,EAAU,CAAV,CAAA,EAAc,CAAd,CAAA,CAAA,CAAA,CAAmB,CAAC,CAApB,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAA8D,CAAC;IAC7D;IACA,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,CAAC,CAAjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwC,CAAC,CAAzC,CAAA,CAAA,CAAA,CAAA,CAA+C,CAAC;IAE9C,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAGM;QACF,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAU;QACN,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,EAAE,CAAb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB;QACnB,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,EAAE,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB;QACrB,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,EAAE,CAArB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B;QAC3B,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,EAAE,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B;QACvB,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,EAAE,CAAlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B;QACxB,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,EAAE,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B;QACvB,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,EAAE,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAtB,CAAwB,CAAxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC;QAC7B,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,EAAE,CAAlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B;IAC3B,CAAG;IAED,CAAF,EAAA,CAAM,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAd,CAAA,CAAA,CAAkB,EAAE;QAChB,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkC,CAAC;YAC7B,CAAN,CAAA,CAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB;YACb,CAAN,CAAA,CAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmC;QACnC,CAAK,CAAC;IACJ;IACA,CAAF,EAAA,CAAM,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAd,CAAA,EAAA,CAAA,CAAA,EAAsB,CAAtB,CAAA,CAAA,CAAA,CAA2B,EAAE;QACzB,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkC,CAAC;YAC7B,CAAN,CAAA,CAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB;YACb,CAAN,CAAA,CAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmC;QACnC,CAAK,CAAC;IACJ;IAEA,CAAF,CAAA,EAAM,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAmB,CAAnB,CAAA,CAAA,CAAuB,CAAC,CAAxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0C,CAAC,CAA3C,CAAA,CAAA,CAAA,CAAgD,EAAE,CAAlD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyD,CAAC,CAA1D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmE,CAAC;IAClE,CAAF,EAAA,CAAM,CAAC,CAAP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,EAAE;QACf,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAC,CAAxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkC,CAAC;YAC7B,CAAN,CAAA,CAAA,CAAA,CAAW;YACL,CAAN,CAAA,CAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB;YACV,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,EACT,CACE,CAFV,CAAA,CAAA,CAAA,CAAA,CAAA,CAEiB,CAAC,CAFlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAEkC,CAFlC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;gBAGU,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAkC,CAAlC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqD,EAC3C;gBACA,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;gBACQ,EAAE,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6B;QAC7B,CAAK,CAAC;QACF,CAAJ,CAAA,CAAA,CAAQ,CAAC,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,CAAC,CAAlC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4C,EAAE,CAA9C,CAAA,CAAA,CAAA,CAAmD,EAAE,CAArD,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4D,CAAC,CAA7D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsE,CAAC;IACrE;IACA,CAAF,CAAA,CAAA,CAAA,CAAA,EAAS;QACL,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc;QACV,CAAJ,CAAA,CAAO,CAAP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkC,CAAlC,CAAoC;QAChC,CAAJ,CAAA,CAAO,CAAP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB;IACjB,CAAG;AACH,CAAC;AAED,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,CADF,CAAA,CAAA,CAAA,CAAA,EAAA;IAGE,CAAF,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAC,CAAxB,CAAA,CAAA,CAAA,CAA6B,EAAE,CAA/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2C,EAAE;QACzC,CAAJ,CAAA,CAAO,CAAP,EAAA;YACM,CAAN,CAAA,CAAA,CAAA,EAAY,CAAZ,CAAA,EAAgB,CAAhB,CAAA,CAAA,CAAA,CAAqB,CACb,CADR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAC6G,CACtG;QACH,CAAC;IACL,CAAG,CAAC;IACF,CAAF,CAAA,CAAA,CAAA,CAAA,EAAS,CAAT,CAAA,CAAA,CAAA,CAAqB;AACrB;"}
@@ -1,4 +1,4 @@
1
- import type { ApolloCache, DefaultContext, OperationVariables } from "@apollo/client/core";
1
+ import type { ApolloCache, DefaultContext, OperationVariables } from "@apollo/client";
2
2
  import type { useBackgroundQuery } from "../hooks/useBackgroundQuery.js";
3
3
  import type { useFragment } from "../hooks/useFragment.js";
4
4
  import type { useLazyQuery } from "../hooks/useLazyQuery.js";
@@ -64,7 +64,7 @@ export interface QueryOptionsDocumentation {
64
64
  /**
65
65
  * If `true`, the in-progress query's associated component re-renders whenever the network status changes or a network error occurs.
66
66
  *
67
- * The default value is `false`.
67
+ * The default value is `true`.
68
68
  *
69
69
  * @docGroup 2. Networking options
70
70
  */
@@ -372,7 +372,7 @@ export interface MutationOptionsDocumentation {
372
372
  /**
373
373
  * If `true`, the in-progress mutation's associated component re-renders whenever the network status changes or a network error occurs.
374
374
  *
375
- * The default value is `false`.
375
+ * The default value is `true`.
376
376
  *
377
377
  * @docGroup 2. Networking options
378
378
  */
@@ -1,5 +1,5 @@
1
- export type { MockedResponse, MockLinkOptions, ResultFunction, } from "./mocking/mockLink.js";
2
- export { MockLink, mockSingleLink } from "./mocking/mockLink.js";
1
+ export type { MockedRequest, MockedResponse, MockLinkOptions, ResultFunction, } from "./mocking/mockLink.js";
2
+ export { MockLink, mockSingleLink, realisticDelay, } from "./mocking/mockLink.js";
3
3
  export { mockObservableLink, MockSubscriptionLink, } from "./mocking/mockSubscriptionLink.js";
4
4
  export { createMockClient } from "./mocking/mockClient.js";
5
5
  export { tick, wait } from "./wait.js";
@@ -1,4 +1,4 @@
1
- export { MockLink, mockSingleLink } from "./mocking/mockLink.js";
1
+ export { MockLink, mockSingleLink, realisticDelay, } from "./mocking/mockLink.js";
2
2
  export { mockObservableLink, MockSubscriptionLink, } from "./mocking/mockSubscriptionLink.js";
3
3
  export { createMockClient } from "./mocking/mockClient.js";
4
4
  export { tick, wait } from "./wait.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/testing/core/index.ts"],"sourcesContent":["export type {\n MockedResponse,\n MockLinkOptions,\n ResultFunction,\n} from \"./mocking/mockLink.js\";\nexport { MockLink, mockSingleLink } from \"./mocking/mockLink.js\";\nexport {\n mockObservableLink,\n MockSubscriptionLink,\n} from \"./mocking/mockSubscriptionLink.js\";\nexport { createMockClient } from \"./mocking/mockClient.js\";\nexport { tick, wait } from \"./wait.js\";\nexport { withErrorSpy, withLogSpy, withWarningSpy } from \"./withConsoleSpy.js\";\n"],"names":[],"mappings":"AAKA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,EAAE,CAAnB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAyC,CAAzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgE;AAChE,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EACL,CADF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACoB,EAClB,CAFF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEsB,EAFtB,EAAA,CAAA,CAAA,CAAA,EAGO,CAHP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAG0C;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAiC,CAAjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0D;AAC1D,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAa,EAAE,CAAf,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA2B,CAA3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC;AACtC,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAuB,CAAvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAmC,CAAnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAyD,CAAzD,CAAA,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","sources":["../../../src/testing/core/index.ts"],"sourcesContent":["export type {\n MockedRequest,\n MockedResponse,\n MockLinkOptions,\n ResultFunction,\n} from \"./mocking/mockLink.js\";\nexport {\n MockLink,\n mockSingleLink,\n realisticDelay,\n} from \"./mocking/mockLink.js\";\nexport {\n mockObservableLink,\n MockSubscriptionLink,\n} from \"./mocking/mockSubscriptionLink.js\";\nexport { createMockClient } from \"./mocking/mockClient.js\";\nexport { tick, wait } from \"./wait.js\";\nexport { withErrorSpy, withLogSpy, withWarningSpy } from \"./withConsoleSpy.js\";\n"],"names":[],"mappings":"AAMA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EACL,CADF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACU,EACR,CAFF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEgB,EACd,CAHF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGgB,EAHhB,EAAA,CAAA,CAAA,CAAA,EAIO,CAJP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAI8B;AAC9B,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EACL,CADF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACoB,EAClB,CAFF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEsB,EAFtB,EAAA,CAAA,CAAA,CAAA,EAGO,CAHP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAG0C;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAiC,CAAjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0D;AAC1D,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAa,EAAE,CAAf,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA2B,CAA3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC;AACtC,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAuB,CAAvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAmC,CAAnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAyD,CAAzD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;"}
@@ -1,4 +1,4 @@
1
1
  import type { DocumentNode } from "graphql";
2
- import { ApolloClient } from "@apollo/client/core";
2
+ import { ApolloClient } from "@apollo/client";
3
3
  export declare function createMockClient<TData>(data: TData, query: DocumentNode, variables?: {}): ApolloClient;
4
4
  //# sourceMappingURL=mockClient.d.ts.map
@@ -1,13 +1,12 @@
1
+ import { ApolloClient } from "@apollo/client";
1
2
  import { InMemoryCache } from "@apollo/client/cache";
2
- import { ApolloClient } from "@apollo/client/core";
3
3
  import { mockSingleLink } from "./mockLink.js";
4
+ // TODO: Deprecate this function
4
5
  export function createMockClient(data, query, variables = {}) {
5
6
  return new ApolloClient({
6
7
  link: mockSingleLink({
7
8
  request: { query, variables },
8
9
  result: { data },
9
- }).setOnError((error) => {
10
- throw error;
11
10
  }),
12
11
  cache: new InMemoryCache(),
13
12
  });
@@ -1 +1 @@
1
- {"version":3,"file":"mockClient.js","sources":["../../../../src/testing/core/mocking/mockClient.ts"],"sourcesContent":["import type { DocumentNode } from \"graphql\";\n\nimport { InMemoryCache } from \"@apollo/client/cache\";\nimport { ApolloClient } from \"@apollo/client/core\";\n\nimport { mockSingleLink } from \"./mockLink.js\";\n\nexport function createMockClient<TData>(\n data: TData,\n query: DocumentNode,\n variables = {}\n): ApolloClient {\n return new ApolloClient({\n link: mockSingleLink({\n request: { query, variables },\n result: { data },\n }).setOnError((error) => {\n throw error;\n }),\n cache: new InMemoryCache(),\n });\n}\n"],"names":[],"mappings":"AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,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,CAAA,CAAoD;AACpD,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,CAAA,CAAA,CAAkD;AAElD,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA+B,CAA/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8C;AAE9C,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,CADF,CAAA,CAAA,CAAA,EAEE,CAFF,CAAA,CAAA,CAAA,CAAA,EAGE,CAHF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAGc,CAHd,CAAA,EAAA;IAKE,CAAF,CAAA,CAAA,CAAA,CAAA,EAAS,CAAT,CAAA,EAAa,CAAb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAC;QACtB,CAAJ,CAAA,CAAA,CAAQ,EAAE,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CAAC;YACnB,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,EAAE,EAAE,CAAjB,CAAA,CAAA,CAAA,CAAsB,EAAE,CAAxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAmC;YAC7B,CAAN,CAAA,CAAA,CAAA,CAAA,CAAY,EAAE,EAAE,CAAhB,CAAA,CAAA,EAAA,CAAsB;QACtB,CAAK,CAAC,CAAC,CAAP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAC,CAAnB,CAAA,CAAA,CAAA,CAAwB,EAAE,CAA1B,EAAA;YACM,CAAN,CAAA,CAAA,CAAA,EAAY,CAAZ,CAAA,CAAA,CAAA,CAAiB;QACb,CAAC,CAAC;QACF,CAAJ,CAAA,CAAA,CAAA,CAAS,EAAE,CAAX,CAAA,EAAe,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,CAA5B,CAA8B;IAC9B,CAAG,CAAC;AACJ;"}
1
+ {"version":3,"file":"mockClient.js","sources":["../../../../src/testing/core/mocking/mockClient.ts"],"sourcesContent":["import type { DocumentNode } from \"graphql\";\n\nimport { ApolloClient } from \"@apollo/client\";\nimport { InMemoryCache } from \"@apollo/client/cache\";\n\nimport { mockSingleLink } from \"./mockLink.js\";\n\n// TODO: Deprecate this function\nexport function createMockClient<TData>(\n data: TData,\n query: DocumentNode,\n variables = {}\n): ApolloClient {\n return new ApolloClient({\n link: mockSingleLink({\n request: { query, variables },\n result: { data },\n }),\n cache: new InMemoryCache(),\n });\n}\n"],"names":[],"mappings":"AAEA,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,CAA6C;AAC7C,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,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,CAAA,CAAoD;AAEpD,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA+B,CAA/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8C;AAE9C,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,CADF,CAAA,CAAA,CAAA,EAEE,CAFF,CAAA,CAAA,CAAA,CAAA,EAGE,CAHF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAGc,CAHd,CAAA,EAAA;IAKE,CAAF,CAAA,CAAA,CAAA,CAAA,EAAS,CAAT,CAAA,EAAa,CAAb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAC;QACtB,CAAJ,CAAA,CAAA,CAAQ,EAAE,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CAAC;YACnB,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,EAAE,EAAE,CAAjB,CAAA,CAAA,CAAA,CAAsB,EAAE,CAAxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAmC;YAC7B,CAAN,CAAA,CAAA,CAAA,CAAA,CAAY,EAAE,EAAE,CAAhB,CAAA,CAAA,EAAA,CAAsB;QACtB,CAAK,CAAC;QACF,CAAJ,CAAA,CAAA,CAAA,CAAS,EAAE,CAAX,CAAA,EAAe,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,CAA5B,CAA8B;IAC9B,CAAG,CAAC;AACJ;"}
@@ -1,5 +1,6 @@
1
+ import type { DocumentNode } from "graphql";
1
2
  import { Observable } from "rxjs";
2
- import type { FetchResult, GraphQLRequest, Operation } from "@apollo/client/link/core";
3
+ import type { FetchResult, Operation } from "@apollo/client/link/core";
3
4
  import { ApolloLink } from "@apollo/client/link/core";
4
5
  import type { Unmasked } from "@apollo/client/masking";
5
6
  /** @internal */
@@ -8,28 +9,46 @@ type CovariantUnaryFunction<out Arg, out Ret> = {
8
9
  }["fn"];
9
10
  export type ResultFunction<T, V = Record<string, any>> = CovariantUnaryFunction<V, T>;
10
11
  type VariableMatcher<V = Record<string, any>> = CovariantUnaryFunction<V, boolean>;
12
+ export interface MockedRequest<TVariables = Record<string, any>> {
13
+ query: DocumentNode;
14
+ variables?: TVariables | VariableMatcher<TVariables>;
15
+ }
11
16
  export interface MockedResponse<out TData = Record<string, any>, out TVariables = Record<string, any>> {
12
- request: GraphQLRequest<TVariables>;
17
+ request: MockedRequest<TVariables>;
13
18
  maxUsageCount?: number;
14
19
  result?: FetchResult<Unmasked<TData>> | ResultFunction<FetchResult<Unmasked<TData>>, TVariables>;
15
20
  error?: Error;
16
- delay?: number;
17
- variableMatcher?: VariableMatcher<TVariables>;
18
- newData?: ResultFunction<FetchResult<Unmasked<TData>>, TVariables>;
21
+ delay?: number | MockLink.DelayFunction;
19
22
  }
20
23
  export interface MockLinkOptions {
21
24
  showWarnings?: boolean;
25
+ defaultOptions?: MockLink.DefaultOptions;
26
+ }
27
+ export declare namespace MockLink {
28
+ type DelayFunction = (operation: Operation) => number;
29
+ type Delay = number | DelayFunction;
30
+ interface DefaultOptions {
31
+ delay?: MockLink.Delay;
32
+ }
22
33
  }
34
+ export declare function realisticDelay({ min, max, }?: {
35
+ min?: number;
36
+ max?: number;
37
+ }): MockLink.DelayFunction;
23
38
  export declare class MockLink extends ApolloLink {
24
39
  operation: Operation;
25
40
  showWarnings: boolean;
41
+ private defaultDelay;
26
42
  private mockedResponsesByKey;
27
- constructor(mockedResponses: ReadonlyArray<MockedResponse<any, any>>, options?: MockLinkOptions);
43
+ static defaultOptions: MockLink.DefaultOptions;
44
+ constructor(mockedResponses: ReadonlyArray<MockedResponse<Record<string, any>, Record<string, any>>>, options?: MockLinkOptions);
28
45
  addMockedResponse(mockedResponse: MockedResponse): void;
29
46
  request(operation: Operation): Observable<FetchResult> | null;
47
+ private getMockedResponses;
30
48
  private normalizeMockedResponse;
31
- private normalizeVariableMatching;
32
49
  }
50
+ /** @internal */
51
+ export declare function stringifyMockedResponse(mockedResponse: MockedResponse): string;
33
52
  export interface MockApolloLink extends ApolloLink {
34
53
  operation?: Operation;
35
54
  }
@@ -1,20 +1,25 @@
1
1
  import { equal } from "@wry/equality";
2
- import { Observable } from "rxjs";
2
+ import { Observable, throwError } from "rxjs";
3
3
  import { ApolloLink } from "@apollo/client/link/core";
4
- import { addTypenameToDocument, checkDocument, cloneDeep, getDefaultValues, getOperationDefinition, makeUniqueId, print, removeClientSetsFromDocument, removeDirectivesFromDocument, } from "@apollo/client/utilities";
4
+ import { addTypenameToDocument, checkDocument, cloneDeep, getDefaultValues, getOperationDefinition, isDocumentNode, makeUniqueId, print, removeClientSetsFromDocument, removeDirectivesFromDocument, } from "@apollo/client/utilities";
5
5
  import { invariant } from "@apollo/client/utilities/invariant";
6
- function requestToKey(request) {
7
- const queryString = request.query && print(addTypenameToDocument(request.query));
8
- const requestKey = { query: queryString };
9
- return JSON.stringify(requestKey);
6
+ export function realisticDelay({ min = 20, max = 50, } = {}) {
7
+ invariant(max > min, 24);
8
+ return () => Math.floor(Math.random() * (max - min) + min);
10
9
  }
11
10
  export class MockLink extends ApolloLink {
12
11
  operation;
13
12
  showWarnings = true;
13
+ defaultDelay;
14
14
  mockedResponsesByKey = {};
15
+ static defaultOptions = {
16
+ delay: realisticDelay(),
17
+ };
15
18
  constructor(mockedResponses, options = {}) {
16
19
  super();
20
+ const defaultOptions = options.defaultOptions ?? MockLink.defaultOptions;
17
21
  this.showWarnings = options.showWarnings ?? true;
22
+ this.defaultDelay = defaultOptions?.delay ?? realisticDelay();
18
23
  if (mockedResponses) {
19
24
  mockedResponses.forEach((mockedResponse) => {
20
25
  this.addMockedResponse(mockedResponse);
@@ -22,139 +27,135 @@ export class MockLink extends ApolloLink {
22
27
  }
23
28
  }
24
29
  addMockedResponse(mockedResponse) {
25
- const normalizedMockedResponse = this.normalizeMockedResponse(mockedResponse);
26
- const key = requestToKey(normalizedMockedResponse.request);
27
- let mockedResponses = this.mockedResponsesByKey[key];
28
- if (!mockedResponses) {
29
- mockedResponses = [];
30
- this.mockedResponsesByKey[key] = mockedResponses;
31
- }
32
- mockedResponses.push(normalizedMockedResponse);
30
+ validateMockedResponse(mockedResponse);
31
+ const normalized = this.normalizeMockedResponse(mockedResponse);
32
+ this.getMockedResponses(normalized.request).push(normalized);
33
33
  }
34
34
  request(operation) {
35
35
  this.operation = operation;
36
- const key = requestToKey(operation);
37
36
  const unmatchedVars = [];
38
- const requestVariables = operation.variables || {};
39
- const mockedResponses = this.mockedResponsesByKey[key];
40
- const responseIndex = mockedResponses ?
41
- mockedResponses.findIndex((res, index) => {
42
- const mockedResponseVars = res.request.variables || {};
43
- if (equal(requestVariables, mockedResponseVars)) {
44
- return true;
37
+ const mocks = this.getMockedResponses(operation);
38
+ const index = mocks.findIndex((mock) => {
39
+ const { variables } = mock.request;
40
+ if (typeof variables === "function") {
41
+ const matched = variables(operation.variables);
42
+ if (!matched) {
43
+ unmatchedVars.push(`<function ${variables.name}>`);
45
44
  }
46
- if (res.variableMatcher && res.variableMatcher(operation.variables)) {
47
- return true;
48
- }
49
- unmatchedVars.push(mockedResponseVars);
50
- return false;
51
- })
52
- : -1;
53
- const response = responseIndex >= 0 ? mockedResponses[responseIndex] : void 0;
54
- // There have been platform- and engine-dependent differences with
55
- // setInterval(fn, Infinity), so we pass 0 instead (but detect
56
- // Infinity where we call observer.error or observer.next to pend
57
- // indefinitely in those cases.)
58
- const delay = response?.delay === Infinity ? 0 : response?.delay ?? 0;
59
- let configError;
60
- if (!response) {
61
- configError = new Error(`No more mocked responses for the query: ${print(operation.query)}
62
- Expected variables: ${stringifyForDebugging(operation.variables)}
63
- ${unmatchedVars.length > 0 ?
64
- `
65
- Failed to match ${unmatchedVars.length} mock${unmatchedVars.length === 1 ? "" : "s"} for this query. The mocked response had the following variables:
66
- ${unmatchedVars.map((d) => ` ${stringifyForDebugging(d)}`).join("\n")}
67
- `
68
- : ""}`);
45
+ return matched;
46
+ }
47
+ const withDefaults = mock.variablesWithDefaults;
48
+ if (equal(withDefaults, operation.variables)) {
49
+ return true;
50
+ }
51
+ unmatchedVars.push(
52
+ // Include default variables from the query in unmatched variables
53
+ // output
54
+ Object.keys(withDefaults).length > 0 ?
55
+ withDefaults
56
+ : variables || "<undefined>");
57
+ return false;
58
+ });
59
+ const matched = index >= 0 ? mocks[index] : void 0;
60
+ if (!matched) {
61
+ const message = getErrorMessage(operation, unmatchedVars);
69
62
  if (this.showWarnings) {
70
- console.warn(configError.message +
63
+ console.warn(message +
71
64
  "\nThis typically indicates a configuration error in your mocks " +
72
65
  "setup, usually due to a typo or mismatched variable.");
73
66
  }
67
+ return throwError(() => new Error(message));
68
+ }
69
+ if (matched.maxUsageCount > 1) {
70
+ matched.maxUsageCount--;
74
71
  }
75
72
  else {
76
- if (response.maxUsageCount && response.maxUsageCount > 1) {
77
- response.maxUsageCount--;
78
- }
79
- else {
80
- mockedResponses.splice(responseIndex, 1);
81
- }
82
- const { newData } = response;
83
- if (newData) {
84
- response.result = newData(operation.variables);
85
- mockedResponses.push(response);
86
- }
87
- if (!response.result && !response.error && response.delay !== Infinity) {
88
- configError = new Error(`Mocked response should contain either \`result\`, \`error\` or a \`delay\` of \`Infinity\`: ${key}`);
89
- }
73
+ mocks.splice(index, 1);
74
+ }
75
+ const delay = typeof matched.delay === "function" ?
76
+ matched.delay(operation)
77
+ : matched.delay;
78
+ if (!matched.result && !matched.error && delay !== Infinity) {
79
+ return throwError(() => new Error(`Mocked response should contain either \`result\`, \`error\` or a \`delay\` of \`Infinity\`:\n${stringifyMockedResponse(matched.original)}`));
80
+ }
81
+ if (matched.delay === Infinity) {
82
+ return new Observable();
90
83
  }
91
84
  return new Observable((observer) => {
92
85
  const timer = setTimeout(() => {
93
- if (configError) {
94
- try {
95
- // The onError function can return false to indicate that
96
- // configError need not be passed to observer.error. For
97
- // example, the default implementation of onError calls
98
- // observer.error(configError) and then returns false to
99
- // prevent this extra (harmless) observer.error call.
100
- if (this.onError(configError, observer) !== false) {
101
- throw configError;
102
- }
103
- }
104
- catch (error) {
105
- observer.error(error);
106
- }
86
+ if (matched.error) {
87
+ return observer.error(matched.error);
107
88
  }
108
- else if (response && response.delay !== Infinity) {
109
- if (response.error) {
110
- observer.error(response.error);
111
- }
112
- else {
113
- if (response.result) {
114
- observer.next(typeof response.result === "function" ?
115
- response.result(operation.variables)
116
- : response.result);
117
- }
118
- observer.complete();
119
- }
89
+ if (matched.result) {
90
+ observer.next(typeof matched.result === "function" ?
91
+ matched.result(operation.variables)
92
+ : matched.result);
120
93
  }
94
+ observer.complete();
121
95
  }, delay);
122
96
  return () => {
123
97
  clearTimeout(timer);
124
98
  };
125
99
  });
126
100
  }
127
- normalizeMockedResponse(mockedResponse) {
128
- const newMockedResponse = cloneDeep(mockedResponse);
129
- const queryWithoutClientOnlyDirectives = removeDirectivesFromDocument([{ name: "connection" }, { name: "nonreactive" }, { name: "unmask" }], checkDocument(newMockedResponse.request.query));
130
- invariant(queryWithoutClientOnlyDirectives, 24);
131
- newMockedResponse.request.query = queryWithoutClientOnlyDirectives;
132
- const query = removeClientSetsFromDocument(newMockedResponse.request.query);
133
- if (query) {
134
- newMockedResponse.request.query = query;
101
+ getMockedResponses(request) {
102
+ const key = JSON.stringify({
103
+ query: print(addTypenameToDocument(request.query)),
104
+ });
105
+ let mockedResponses = this.mockedResponsesByKey[key];
106
+ if (!mockedResponses) {
107
+ mockedResponses = this.mockedResponsesByKey[key] = [];
135
108
  }
136
- mockedResponse.maxUsageCount = mockedResponse.maxUsageCount ?? 1;
137
- invariant(mockedResponse.maxUsageCount > 0, 25, mockedResponse.maxUsageCount);
138
- this.normalizeVariableMatching(newMockedResponse);
139
- return newMockedResponse;
109
+ return mockedResponses;
110
+ }
111
+ normalizeMockedResponse(mockedResponse) {
112
+ const { request } = mockedResponse;
113
+ const response = cloneDeep(mockedResponse);
114
+ response.original = mockedResponse;
115
+ response.request.query = getServerQuery(request.query);
116
+ response.maxUsageCount ??= 1;
117
+ response.variablesWithDefaults = {
118
+ ...getDefaultValues(getOperationDefinition(request.query)),
119
+ ...request.variables,
120
+ };
121
+ response.delay ??= this.defaultDelay;
122
+ return response;
140
123
  }
141
- normalizeVariableMatching(mockedResponse) {
142
- const request = mockedResponse.request;
143
- if (mockedResponse.variableMatcher && request.variables) {
144
- throw new Error("Mocked response should contain either variableMatcher or request.variables");
124
+ }
125
+ function getErrorMessage(operation, unmatchedVars) {
126
+ return `No more mocked responses for the query:
127
+ ${print(operation.query)}
128
+
129
+ Request variables: ${stringifyForDebugging(operation.variables)}
130
+ ${unmatchedVars.length > 0 ?
131
+ `
132
+ Failed to match variables against ${unmatchedVars.length} mock${unmatchedVars.length === 1 ? "" : "s"} for this query. The available mocks had the following variables:
133
+ ${unmatchedVars.map((d) => ` ${stringifyForDebugging(d)}`).join("\n")}
134
+ `
135
+ : ""}`;
136
+ }
137
+ function getServerQuery(query) {
138
+ const queryWithoutClientOnlyDirectives = removeDirectivesFromDocument([{ name: "connection" }, { name: "nonreactive" }, { name: "unmask" }], query);
139
+ invariant(queryWithoutClientOnlyDirectives, 25);
140
+ const serverQuery = removeClientSetsFromDocument(queryWithoutClientOnlyDirectives);
141
+ invariant(serverQuery, 26);
142
+ return serverQuery;
143
+ }
144
+ function validateMockedResponse(mock) {
145
+ checkDocument(mock.request.query);
146
+ invariant((mock.maxUsageCount ?? 1) > 0, 27, mock.maxUsageCount);
147
+ }
148
+ /** @internal */
149
+ export function stringifyMockedResponse(mockedResponse) {
150
+ return JSON.stringify(mockedResponse, (_, value) => {
151
+ if (isDocumentNode(value)) {
152
+ return print(value);
145
153
  }
146
- if (!mockedResponse.variableMatcher) {
147
- request.variables = {
148
- ...getDefaultValues(getOperationDefinition(request.query)),
149
- ...request.variables,
150
- };
151
- mockedResponse.variableMatcher = (vars) => {
152
- const requestVariables = vars || {};
153
- const mockedResponseVariables = request.variables || {};
154
- return equal(requestVariables, mockedResponseVariables);
155
- };
154
+ if (typeof value === "function") {
155
+ return "<function>";
156
156
  }
157
- }
157
+ return value;
158
+ }, 2);
158
159
  }
159
160
  // Pass in multiple mocked responses, so that you can test flows that end up
160
161
  // making multiple queries to the server.
@@ -166,6 +167,9 @@ export function mockSingleLink(...mockedResponses) {
166
167
  // future. This is not added to the primary stringifyForDisplay helper since it
167
168
  // is used for the cache and other purposes. We need this for debuggging only.
168
169
  function stringifyForDebugging(value, space = 0) {
170
+ if (typeof value === "string") {
171
+ return value;
172
+ }
169
173
  const undefId = makeUniqueId("undefined");
170
174
  const nanId = makeUniqueId("NaN");
171
175
  return JSON.stringify(value, (_, value) => {