@apollo/client 3.9.0-alpha.4 → 3.9.0-alpha.5

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 (687) hide show
  1. package/.changeset/README.md +8 -0
  2. package/.changeset/beige-geese-wink.md +5 -0
  3. package/.changeset/breezy-spiders-tap.md +38 -0
  4. package/.changeset/clean-items-smash.md +5 -0
  5. package/.changeset/cold-llamas-turn.md +8 -0
  6. package/.changeset/config.json +14 -0
  7. package/.changeset/dirty-kids-crash.md +5 -0
  8. package/.changeset/forty-cups-shop.md +5 -0
  9. package/.changeset/friendly-clouds-laugh.md +7 -0
  10. package/.changeset/hot-ducks-burn.md +5 -0
  11. package/.changeset/polite-avocados-warn.md +5 -0
  12. package/.changeset/pre.json +29 -0
  13. package/.changeset/quick-hats-marry.md +5 -0
  14. package/.changeset/shaggy-ears-scream.md +5 -0
  15. package/.changeset/shaggy-sheep-pull.md +5 -0
  16. package/.changeset/sixty-boxes-rest.md +8 -0
  17. package/.changeset/sour-sheep-walk.md +7 -0
  18. package/.changeset/strong-terms-perform.md +46 -0
  19. package/.changeset/thick-mice-collect.md +5 -0
  20. package/.changeset/thirty-ties-arrive.md +26 -0
  21. package/.changeset/violet-lions-draw.md +5 -0
  22. package/.changeset/wild-dolphins-jog.md +5 -0
  23. package/.changeset/yellow-flies-repeat.md +5 -0
  24. package/CHANGELOG.md +3535 -0
  25. package/apollo-client.cjs +475 -398
  26. package/apollo-client.cjs.map +1 -1
  27. package/apollo-client.min.cjs +1 -1
  28. package/cache/cache.cjs +135 -153
  29. package/cache/cache.cjs.map +1 -1
  30. package/cache/cache.cjs.native.js +135 -153
  31. package/cache/core/cache.d.ts +10 -0
  32. package/cache/core/cache.js +17 -5
  33. package/cache/core/cache.js.map +1 -1
  34. package/cache/core/types/Cache.d.ts +1 -1
  35. package/cache/core/types/Cache.js.map +1 -1
  36. package/cache/core/types/DataProxy.d.ts +92 -0
  37. package/cache/core/types/common.d.ts +1 -1
  38. package/cache/core/types/common.js +4 -1
  39. package/cache/core/types/common.js.map +1 -1
  40. package/cache/inmemory/entityStore.d.ts +10 -1
  41. package/cache/inmemory/entityStore.js +190 -29
  42. package/cache/inmemory/entityStore.js.map +1 -1
  43. package/cache/inmemory/fixPolyfills.js +9 -0
  44. package/cache/inmemory/fixPolyfills.js.map +1 -1
  45. package/cache/inmemory/fixPolyfills.native.js +12 -0
  46. package/cache/inmemory/fixPolyfills.native.js.map +1 -1
  47. package/cache/inmemory/fragmentRegistry.d.ts +1 -0
  48. package/cache/inmemory/fragmentRegistry.js +23 -14
  49. package/cache/inmemory/fragmentRegistry.js.map +1 -1
  50. package/cache/inmemory/helpers.js +20 -11
  51. package/cache/inmemory/helpers.js.map +1 -1
  52. package/cache/inmemory/inMemoryCache.js +164 -8
  53. package/cache/inmemory/inMemoryCache.js.map +1 -1
  54. package/cache/inmemory/key-extractor.js +72 -4
  55. package/cache/inmemory/key-extractor.js.map +1 -1
  56. package/cache/inmemory/object-canon.js +87 -3
  57. package/cache/inmemory/object-canon.js.map +1 -1
  58. package/cache/inmemory/policies.js +190 -43
  59. package/cache/inmemory/policies.js.map +1 -1
  60. package/cache/inmemory/reactiveVars.js +20 -2
  61. package/cache/inmemory/reactiveVars.js.map +1 -1
  62. package/cache/inmemory/readFromStore.d.ts +4 -0
  63. package/cache/inmemory/readFromStore.js +58 -9
  64. package/cache/inmemory/readFromStore.js.map +1 -1
  65. package/cache/inmemory/types.d.ts +28 -0
  66. package/cache/inmemory/types.js.map +1 -1
  67. package/cache/inmemory/writeToStore.js +152 -25
  68. package/cache/inmemory/writeToStore.js.map +1 -1
  69. package/config/jest/setup.js +2 -0
  70. package/config/jest/setup.js.map +1 -1
  71. package/core/ApolloClient.d.ts +264 -3
  72. package/core/ApolloClient.js +235 -7
  73. package/core/ApolloClient.js.map +1 -1
  74. package/core/LocalState.d.ts +4 -6
  75. package/core/LocalState.js +56 -18
  76. package/core/LocalState.js.map +1 -1
  77. package/core/ObservableQuery.d.ts +25 -0
  78. package/core/ObservableQuery.js +239 -30
  79. package/core/ObservableQuery.js.map +1 -1
  80. package/core/QueryInfo.d.ts +3 -3
  81. package/core/QueryInfo.js +118 -13
  82. package/core/QueryInfo.js.map +1 -1
  83. package/core/QueryManager.d.ts +8 -1
  84. package/core/QueryManager.js +247 -46
  85. package/core/QueryManager.js.map +1 -1
  86. package/core/core.cjs +127 -114
  87. package/core/core.cjs.map +1 -1
  88. package/core/core.cjs.native.js +127 -114
  89. package/core/equalByQuery.js +20 -1
  90. package/core/equalByQuery.js.map +1 -1
  91. package/core/index.d.ts +1 -1
  92. package/core/index.js +19 -0
  93. package/core/index.js.map +1 -1
  94. package/core/networkStatus.d.ts +39 -0
  95. package/core/networkStatus.js +39 -0
  96. package/core/networkStatus.js.map +1 -1
  97. package/core/types.d.ts +9 -0
  98. package/core/types.js.map +1 -1
  99. package/core/watchQueryOptions.d.ts +225 -1
  100. package/core/watchQueryOptions.js.map +1 -1
  101. package/dev/dev.cjs +10 -119
  102. package/dev/dev.cjs.map +1 -1
  103. package/dev/dev.cjs.native.js +10 -119
  104. package/dev/loadErrorMessageHandler.js.map +1 -1
  105. package/errors/errors.cjs +1 -1
  106. package/errors/errors.cjs.map +1 -1
  107. package/errors/errors.cjs.native.js +1 -1
  108. package/errors/index.js +14 -1
  109. package/errors/index.js.map +1 -1
  110. package/invariantErrorCodes.js +6 -8
  111. package/link/batch/batch.cjs +2 -2
  112. package/link/batch/batch.cjs.map +1 -1
  113. package/link/batch/batch.cjs.native.js +2 -2
  114. package/link/batch/batchLink.d.ts +21 -0
  115. package/link/batch/batchLink.js +2 -1
  116. package/link/batch/batchLink.js.map +1 -1
  117. package/link/batch/batching.js +24 -1
  118. package/link/batch/batching.js.map +1 -1
  119. package/link/batch-http/batch-http.cjs +3 -2
  120. package/link/batch-http/batch-http.cjs.map +1 -1
  121. package/link/batch-http/batch-http.cjs.native.js +3 -2
  122. package/link/batch-http/batchHttpLink.d.ts +4 -0
  123. package/link/batch-http/batchHttpLink.js +53 -2
  124. package/link/batch-http/batchHttpLink.js.map +1 -1
  125. package/link/context/context.cjs.map +1 -1
  126. package/link/context/index.js +1 -0
  127. package/link/context/index.js.map +1 -1
  128. package/link/core/ApolloLink.js +12 -5
  129. package/link/core/ApolloLink.js.map +1 -1
  130. package/link/core/core.cjs +5 -5
  131. package/link/core/core.cjs.map +1 -1
  132. package/link/core/core.cjs.native.js +5 -5
  133. package/link/error/error.cjs +1 -1
  134. package/link/error/error.cjs.map +1 -1
  135. package/link/error/error.cjs.native.js +1 -1
  136. package/link/error/index.d.ts +3 -0
  137. package/link/error/index.js +4 -1
  138. package/link/error/index.js.map +1 -1
  139. package/link/http/HttpLink.d.ts +0 -2
  140. package/link/http/HttpLink.js +1 -1
  141. package/link/http/HttpLink.js.map +1 -1
  142. package/link/http/checkFetcher.js.map +1 -1
  143. package/link/http/createHttpLink.js +23 -1
  144. package/link/http/createHttpLink.js.map +1 -1
  145. package/link/http/createSignalIfSupported.d.ts +5 -0
  146. package/link/http/createSignalIfSupported.js +5 -0
  147. package/link/http/createSignalIfSupported.js.map +1 -1
  148. package/link/http/http.cjs +14 -12
  149. package/link/http/http.cjs.map +1 -1
  150. package/link/http/http.cjs.native.js +14 -12
  151. package/link/http/index.js +2 -1
  152. package/link/http/index.js.map +1 -1
  153. package/link/http/iterators/async.d.ts +4 -0
  154. package/link/http/iterators/async.js +4 -0
  155. package/link/http/iterators/async.js.map +1 -1
  156. package/link/http/iterators/nodeStream.d.ts +4 -0
  157. package/link/http/iterators/nodeStream.js +4 -0
  158. package/link/http/iterators/nodeStream.js.map +1 -1
  159. package/link/http/iterators/promise.d.ts +4 -0
  160. package/link/http/iterators/promise.js +4 -0
  161. package/link/http/iterators/promise.js.map +1 -1
  162. package/link/http/iterators/reader.d.ts +4 -0
  163. package/link/http/iterators/reader.js +4 -0
  164. package/link/http/iterators/reader.js.map +1 -1
  165. package/link/http/parseAndCheckHttpResponse.js +51 -10
  166. package/link/http/parseAndCheckHttpResponse.js.map +1 -1
  167. package/link/http/responseIterator.d.ts +4 -0
  168. package/link/http/responseIterator.js +6 -0
  169. package/link/http/responseIterator.js.map +1 -1
  170. package/link/http/rewriteURIForGET.d.ts +1 -1
  171. package/link/http/rewriteURIForGET.js +10 -0
  172. package/link/http/rewriteURIForGET.js.map +1 -1
  173. package/link/http/selectHttpOptionsAndBody.d.ts +45 -0
  174. package/link/http/selectHttpOptionsAndBody.js +23 -0
  175. package/link/http/selectHttpOptionsAndBody.js.map +1 -1
  176. package/link/http/selectURI.js.map +1 -1
  177. package/link/http/serializeFetchParameter.js.map +1 -1
  178. package/link/persisted-queries/index.js +34 -4
  179. package/link/persisted-queries/index.js.map +1 -1
  180. package/link/persisted-queries/persisted-queries.cjs +4 -4
  181. package/link/persisted-queries/persisted-queries.cjs.map +1 -1
  182. package/link/persisted-queries/persisted-queries.cjs.native.js +4 -4
  183. package/link/remove-typename/remove-typename.cjs +12 -9
  184. package/link/remove-typename/remove-typename.cjs.map +1 -1
  185. package/link/remove-typename/remove-typename.cjs.native.js +12 -9
  186. package/link/remove-typename/removeTypenameFromVariables.js +12 -9
  187. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
  188. package/link/retry/delayFunction.d.ts +29 -0
  189. package/link/retry/delayFunction.js +6 -0
  190. package/link/retry/delayFunction.js.map +1 -1
  191. package/link/retry/retry.cjs +5 -5
  192. package/link/retry/retry.cjs.map +1 -1
  193. package/link/retry/retry.cjs.native.js +5 -5
  194. package/link/retry/retryFunction.d.ts +20 -0
  195. package/link/retry/retryLink.d.ts +6 -0
  196. package/link/retry/retryLink.js +31 -6
  197. package/link/retry/retryLink.js.map +1 -1
  198. package/link/schema/index.d.ts +13 -0
  199. package/link/schema/index.js +3 -3
  200. package/link/schema/index.js.map +1 -1
  201. package/link/schema/schema.cjs +3 -3
  202. package/link/schema/schema.cjs.map +1 -1
  203. package/link/schema/schema.cjs.native.js +3 -3
  204. package/link/subscriptions/index.js +35 -2
  205. package/link/subscriptions/index.js.map +1 -1
  206. package/link/subscriptions/subscriptions.cjs +3 -2
  207. package/link/subscriptions/subscriptions.cjs.map +1 -1
  208. package/link/subscriptions/subscriptions.cjs.native.js +3 -2
  209. package/link/utils/createOperation.js.map +1 -1
  210. package/link/utils/filterOperationVariables.js +4 -0
  211. package/link/utils/filterOperationVariables.js.map +1 -1
  212. package/link/utils/toPromise.js.map +1 -1
  213. package/link/utils/transformOperation.js +3 -2
  214. package/link/utils/transformOperation.js.map +1 -1
  215. package/link/utils/utils.cjs +2 -2
  216. package/link/utils/utils.cjs.map +1 -1
  217. package/link/utils/utils.cjs.native.js +2 -2
  218. package/link/utils/validateOperation.js.map +1 -1
  219. package/link/ws/index.d.ts +12 -0
  220. package/link/ws/index.js +1 -1
  221. package/link/ws/index.js.map +1 -1
  222. package/link/ws/ws.cjs +1 -1
  223. package/link/ws/ws.cjs.map +1 -1
  224. package/link/ws/ws.cjs.native.js +1 -1
  225. package/package.json +50 -38
  226. package/react/cache/QueryReference.d.ts +18 -10
  227. package/react/cache/QueryReference.js +52 -8
  228. package/react/cache/QueryReference.js.map +1 -1
  229. package/react/cache/SuspenseCache.d.ts +10 -0
  230. package/react/cache/SuspenseCache.js +1 -2
  231. package/react/cache/SuspenseCache.js.map +1 -1
  232. package/react/cache/getSuspenseCache.js.map +1 -1
  233. package/react/cache/types.d.ts +3 -0
  234. package/react/cache/types.js.map +1 -1
  235. package/react/context/ApolloContext.d.ts +5 -0
  236. package/react/context/ApolloContext.js +10 -3
  237. package/react/context/ApolloContext.js.map +1 -1
  238. package/react/context/context.cjs +1 -3
  239. package/react/context/context.cjs.map +1 -1
  240. package/react/context/context.cjs.native.js +1 -3
  241. package/react/hoc/graphql.js.map +1 -1
  242. package/react/hoc/hoc-utils.js +3 -1
  243. package/react/hoc/hoc-utils.js.map +1 -1
  244. package/react/hoc/hoc.cjs +9 -17
  245. package/react/hoc/hoc.cjs.map +1 -1
  246. package/react/hoc/hoc.cjs.native.js +9 -17
  247. package/react/hoc/mutation-hoc.js +9 -4
  248. package/react/hoc/mutation-hoc.js.map +1 -1
  249. package/react/hoc/query-hoc.js +10 -4
  250. package/react/hoc/query-hoc.js.map +1 -1
  251. package/react/hoc/subscription-hoc.js +10 -4
  252. package/react/hoc/subscription-hoc.js.map +1 -1
  253. package/react/hoc/withApollo.js +3 -4
  254. package/react/hoc/withApollo.js.map +1 -1
  255. package/react/hooks/hooks.cjs +138 -66
  256. package/react/hooks/hooks.cjs.map +1 -1
  257. package/react/hooks/hooks.cjs.native.js +138 -66
  258. package/react/hooks/index.d.ts +2 -0
  259. package/react/hooks/index.js +1 -0
  260. package/react/hooks/index.js.map +1 -1
  261. package/react/hooks/internal/__use.js +5 -0
  262. package/react/hooks/internal/__use.js.map +1 -1
  263. package/react/hooks/internal/index.d.ts +1 -0
  264. package/react/hooks/internal/index.js +2 -0
  265. package/react/hooks/internal/index.js.map +1 -1
  266. package/react/hooks/internal/useDeepMemo.js.map +1 -1
  267. package/react/hooks/internal/useIsomorphicLayoutEffect.js +6 -3
  268. package/react/hooks/internal/useIsomorphicLayoutEffect.js.map +1 -1
  269. package/react/hooks/internal/useRenderGuard.d.ts +2 -0
  270. package/react/hooks/internal/useRenderGuard.js +17 -0
  271. package/react/hooks/internal/useRenderGuard.js.map +1 -0
  272. package/react/hooks/useBackgroundQuery.js +14 -11
  273. package/react/hooks/useBackgroundQuery.js.map +1 -1
  274. package/react/hooks/useFragment.js +4 -3
  275. package/react/hooks/useFragment.js.map +1 -1
  276. package/react/hooks/useLazyQuery.js +13 -4
  277. package/react/hooks/useLazyQuery.js.map +1 -1
  278. package/react/hooks/useLoadableQuery.d.ts +30 -0
  279. package/react/hooks/useLoadableQuery.js +61 -0
  280. package/react/hooks/useLoadableQuery.js.map +1 -0
  281. package/react/hooks/useMutation.js +8 -3
  282. package/react/hooks/useMutation.js.map +1 -1
  283. package/react/hooks/useQuery.d.ts +11 -0
  284. package/react/hooks/useQuery.js +138 -6
  285. package/react/hooks/useQuery.js.map +1 -1
  286. package/react/hooks/useReactiveVar.js +5 -0
  287. package/react/hooks/useReactiveVar.js.map +1 -1
  288. package/react/hooks/useReadQuery.d.ts +19 -0
  289. package/react/hooks/useReadQuery.js +4 -10
  290. package/react/hooks/useReadQuery.js.map +1 -1
  291. package/react/hooks/useSubscription.js +5 -0
  292. package/react/hooks/useSubscription.js.map +1 -1
  293. package/react/hooks/useSuspenseQuery.js +22 -22
  294. package/react/hooks/useSuspenseQuery.js.map +1 -1
  295. package/react/hooks/useSyncExternalStore.js +53 -1
  296. package/react/hooks/useSyncExternalStore.js.map +1 -1
  297. package/react/parser/index.d.ts +3 -0
  298. package/react/parser/index.js +13 -6
  299. package/react/parser/index.js.map +1 -1
  300. package/react/parser/parser.cjs +11 -5
  301. package/react/parser/parser.cjs.map +1 -1
  302. package/react/parser/parser.cjs.native.js +11 -5
  303. package/react/ssr/RenderPromises.js +21 -1
  304. package/react/ssr/RenderPromises.js.map +1 -1
  305. package/react/ssr/getDataFromTree.js +18 -3
  306. package/react/ssr/getDataFromTree.js.map +1 -1
  307. package/react/ssr/ssr.cjs +6 -4
  308. package/react/ssr/ssr.cjs.map +1 -1
  309. package/react/ssr/ssr.cjs.native.js +6 -4
  310. package/react/types/types.d.ts +123 -1
  311. package/react/types/types.js.map +1 -1
  312. package/testing/core/core.cjs +14 -11
  313. package/testing/core/core.cjs.map +1 -1
  314. package/testing/core/core.cjs.native.js +14 -11
  315. package/testing/core/itAsync.d.ts +1 -1
  316. package/testing/core/itAsync.js.map +1 -1
  317. package/testing/core/mocking/mockFetch.d.ts +2 -2
  318. package/testing/core/mocking/mockFetch.js +8 -4
  319. package/testing/core/mocking/mockFetch.js.map +1 -1
  320. package/testing/core/mocking/mockLink.d.ts +1 -1
  321. package/testing/core/mocking/mockLink.js +17 -7
  322. package/testing/core/mocking/mockLink.js.map +1 -1
  323. package/testing/core/mocking/mockQueryManager.js +2 -0
  324. package/testing/core/mocking/mockQueryManager.js.map +1 -1
  325. package/testing/core/mocking/mockSubscriptionLink.d.ts +1 -1
  326. package/testing/core/mocking/mockSubscriptionLink.js +1 -1
  327. package/testing/core/mocking/mockSubscriptionLink.js.map +1 -1
  328. package/testing/core/mocking/mockWatchQuery.js +1 -1
  329. package/testing/core/mocking/mockWatchQuery.js.map +1 -1
  330. package/testing/core/observableToPromise.d.ts +17 -3
  331. package/testing/core/observableToPromise.js +5 -0
  332. package/testing/core/observableToPromise.js.map +1 -1
  333. package/testing/core/subscribeAndCount.js +3 -0
  334. package/testing/core/subscribeAndCount.js.map +1 -1
  335. package/testing/core/wait.js +2 -2
  336. package/testing/core/wait.js.map +1 -1
  337. package/testing/core/withConsoleSpy.d.ts +3 -0
  338. package/testing/core/withConsoleSpy.js +7 -1
  339. package/testing/core/withConsoleSpy.js.map +1 -1
  340. package/testing/core/wrap.js +2 -0
  341. package/testing/core/wrap.js.map +1 -1
  342. package/testing/internal/ObservableStream.js +14 -14
  343. package/testing/internal/ObservableStream.js.map +1 -1
  344. package/testing/internal/disposables/disableActWarnings.d.ts +10 -0
  345. package/testing/internal/disposables/disableActWarnings.js +15 -0
  346. package/testing/internal/disposables/disableActWarnings.js.map +1 -0
  347. package/testing/internal/disposables/index.d.ts +1 -0
  348. package/testing/internal/disposables/index.js +1 -0
  349. package/testing/internal/disposables/index.js.map +1 -1
  350. package/testing/internal/disposables/spyOnConsole.d.ts +1 -0
  351. package/testing/internal/disposables/spyOnConsole.js +2 -0
  352. package/testing/internal/disposables/spyOnConsole.js.map +1 -1
  353. package/testing/internal/disposables/withCleanup.d.ts +1 -0
  354. package/testing/internal/disposables/withCleanup.js +3 -0
  355. package/testing/internal/disposables/withCleanup.js.map +1 -1
  356. package/testing/internal/profile/Render.d.ts +32 -1
  357. package/testing/internal/profile/Render.js +14 -2
  358. package/testing/internal/profile/Render.js.map +1 -1
  359. package/testing/internal/profile/context.d.ts +10 -0
  360. package/testing/internal/profile/context.js +14 -0
  361. package/testing/internal/profile/context.js.map +1 -0
  362. package/testing/internal/profile/index.d.ts +2 -2
  363. package/testing/internal/profile/index.js +1 -1
  364. package/testing/internal/profile/index.js.map +1 -1
  365. package/testing/internal/profile/profile.d.ts +67 -13
  366. package/testing/internal/profile/profile.js +153 -79
  367. package/testing/internal/profile/profile.js.map +1 -1
  368. package/testing/internal/profile/traces.d.ts +4 -0
  369. package/testing/internal/profile/traces.js +9 -5
  370. package/testing/internal/profile/traces.js.map +1 -1
  371. package/testing/matchers/ProfiledComponent.js +29 -26
  372. package/testing/matchers/ProfiledComponent.js.map +1 -1
  373. package/testing/matchers/index.js +2 -0
  374. package/testing/matchers/index.js.map +1 -1
  375. package/testing/matchers/toBeGarbageCollected.d.ts +8 -0
  376. package/testing/matchers/toBeGarbageCollected.js +48 -0
  377. package/testing/matchers/toBeGarbageCollected.js.map +1 -0
  378. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js.map +1 -1
  379. package/testing/matchers/toMatchDocument.js.map +1 -1
  380. package/testing/react/MockedProvider.d.ts +5 -1
  381. package/testing/react/MockedProvider.js +6 -2
  382. package/testing/react/MockedProvider.js.map +1 -1
  383. package/testing/testing.cjs +4 -2
  384. package/testing/testing.cjs.map +1 -1
  385. package/testing/testing.cjs.native.js +4 -2
  386. package/utilities/common/arrays.js +1 -0
  387. package/utilities/common/arrays.js.map +1 -1
  388. package/utilities/common/canUse.js +16 -1
  389. package/utilities/common/canUse.js.map +1 -1
  390. package/utilities/common/canonicalStringify.d.ts +17 -0
  391. package/utilities/common/canonicalStringify.js +41 -0
  392. package/utilities/common/canonicalStringify.js.map +1 -1
  393. package/utilities/common/cloneDeep.d.ts +3 -0
  394. package/utilities/common/cloneDeep.js +5 -0
  395. package/utilities/common/cloneDeep.js.map +1 -1
  396. package/utilities/common/compact.d.ts +4 -0
  397. package/utilities/common/compact.js +4 -0
  398. package/utilities/common/compact.js.map +1 -1
  399. package/utilities/common/errorHandling.js +1 -3
  400. package/utilities/common/errorHandling.js.map +1 -1
  401. package/utilities/common/incrementalResult.js +3 -0
  402. package/utilities/common/incrementalResult.js.map +1 -1
  403. package/utilities/common/makeUniqueId.js +2 -0
  404. package/utilities/common/makeUniqueId.js.map +1 -1
  405. package/utilities/common/maybeDeepFreeze.js +3 -0
  406. package/utilities/common/maybeDeepFreeze.js.map +1 -1
  407. package/utilities/common/mergeDeep.js +12 -1
  408. package/utilities/common/mergeDeep.js.map +1 -1
  409. package/utilities/common/mergeOptions.d.ts +1 -1
  410. package/utilities/common/mergeOptions.js.map +1 -1
  411. package/utilities/common/omitDeep.js.map +1 -1
  412. package/utilities/globals/global.js +7 -1
  413. package/utilities/globals/global.js.map +1 -1
  414. package/utilities/globals/globals.cjs +4 -5
  415. package/utilities/globals/globals.cjs.map +1 -1
  416. package/utilities/globals/globals.cjs.native.js +4 -5
  417. package/utilities/globals/index.d.ts +4 -0
  418. package/utilities/globals/index.js +7 -0
  419. package/utilities/globals/index.js.map +1 -1
  420. package/utilities/globals/invariantWrappers.d.ts +40 -0
  421. package/utilities/globals/invariantWrappers.js +11 -3
  422. package/utilities/globals/invariantWrappers.js.map +1 -1
  423. package/utilities/globals/maybe.js.map +1 -1
  424. package/utilities/graphql/DocumentTransform.d.ts +6 -5
  425. package/utilities/graphql/DocumentTransform.js +48 -27
  426. package/utilities/graphql/DocumentTransform.js.map +1 -1
  427. package/utilities/graphql/directives.js +3 -0
  428. package/utilities/graphql/directives.js.map +1 -1
  429. package/utilities/graphql/fragments.d.ts +25 -0
  430. package/utilities/graphql/fragments.js +36 -0
  431. package/utilities/graphql/fragments.js.map +1 -1
  432. package/utilities/graphql/getFromAST.d.ts +5 -0
  433. package/utilities/graphql/getFromAST.js +9 -0
  434. package/utilities/graphql/getFromAST.js.map +1 -1
  435. package/utilities/graphql/print.js +4 -5
  436. package/utilities/graphql/print.js.map +1 -1
  437. package/utilities/graphql/storeUtils.d.ts +14 -0
  438. package/utilities/graphql/storeUtils.js +8 -2
  439. package/utilities/graphql/storeUtils.js.map +1 -1
  440. package/utilities/graphql/transform.js +106 -7
  441. package/utilities/graphql/transform.js.map +1 -1
  442. package/utilities/index.d.ts +2 -0
  443. package/utilities/index.js.map +1 -1
  444. package/utilities/observables/Concast.d.ts +1 -1
  445. package/utilities/observables/Concast.js +85 -2
  446. package/utilities/observables/Concast.js.map +1 -1
  447. package/utilities/observables/Observable.js +6 -0
  448. package/utilities/observables/Observable.js.map +1 -1
  449. package/utilities/observables/asyncMap.js +12 -3
  450. package/utilities/observables/asyncMap.js.map +1 -1
  451. package/utilities/observables/iteration.js +3 -0
  452. package/utilities/observables/iteration.js.map +1 -1
  453. package/utilities/observables/subclassing.js +14 -0
  454. package/utilities/observables/subclassing.js.map +1 -1
  455. package/utilities/policies/pagination.js +47 -3
  456. package/utilities/policies/pagination.js.map +1 -1
  457. package/utilities/promises/decoration.js +1 -0
  458. package/utilities/promises/decoration.js.map +1 -1
  459. package/utilities/subscriptions/relay/index.js.map +1 -1
  460. package/utilities/subscriptions/relay/relay.cjs +9 -8
  461. package/utilities/subscriptions/relay/relay.cjs.map +1 -1
  462. package/utilities/subscriptions/relay/relay.cjs.native.js +9 -8
  463. package/utilities/subscriptions/urql/index.js.map +1 -1
  464. package/utilities/subscriptions/urql/urql.cjs +9 -8
  465. package/utilities/subscriptions/urql/urql.cjs.map +1 -1
  466. package/utilities/subscriptions/urql/urql.cjs.native.js +9 -8
  467. package/utilities/types/DeepOmit.js.map +1 -1
  468. package/utilities/types/DeepPartial.d.ts +1 -1
  469. package/utilities/types/DeepPartial.js +4 -0
  470. package/utilities/types/DeepPartial.js.map +1 -1
  471. package/utilities/types/IsStrictlyAny.js.map +1 -1
  472. package/utilities/types/OnlyRequiredProperties.d.ts +7 -0
  473. package/utilities/types/OnlyRequiredProperties.js +2 -0
  474. package/utilities/types/OnlyRequiredProperties.js.map +1 -0
  475. package/utilities/types/TODO.d.ts +3 -0
  476. package/utilities/types/TODO.js +2 -0
  477. package/utilities/types/TODO.js.map +1 -0
  478. package/utilities/utilities.cjs +61 -53
  479. package/utilities/utilities.cjs.map +1 -1
  480. package/utilities/utilities.cjs.native.js +61 -53
  481. package/version.js +1 -1
  482. package/cache/core/cache.d.ts.map +0 -1
  483. package/cache/core/types/Cache.d.ts.map +0 -1
  484. package/cache/core/types/DataProxy.d.ts.map +0 -1
  485. package/cache/core/types/common.d.ts.map +0 -1
  486. package/cache/index.d.ts.map +0 -1
  487. package/cache/inmemory/entityStore.d.ts.map +0 -1
  488. package/cache/inmemory/fixPolyfills.d.ts.map +0 -1
  489. package/cache/inmemory/fixPolyfills.native.d.ts.map +0 -1
  490. package/cache/inmemory/fragmentRegistry.d.ts.map +0 -1
  491. package/cache/inmemory/helpers.d.ts.map +0 -1
  492. package/cache/inmemory/inMemoryCache.d.ts.map +0 -1
  493. package/cache/inmemory/key-extractor.d.ts.map +0 -1
  494. package/cache/inmemory/object-canon.d.ts.map +0 -1
  495. package/cache/inmemory/policies.d.ts.map +0 -1
  496. package/cache/inmemory/reactiveVars.d.ts.map +0 -1
  497. package/cache/inmemory/readFromStore.d.ts.map +0 -1
  498. package/cache/inmemory/types.d.ts.map +0 -1
  499. package/cache/inmemory/writeToStore.d.ts.map +0 -1
  500. package/config/jest/setup.d.ts.map +0 -1
  501. package/core/ApolloClient.d.ts.map +0 -1
  502. package/core/LocalState.d.ts.map +0 -1
  503. package/core/ObservableQuery.d.ts.map +0 -1
  504. package/core/QueryInfo.d.ts.map +0 -1
  505. package/core/QueryManager.d.ts.map +0 -1
  506. package/core/equalByQuery.d.ts.map +0 -1
  507. package/core/index.d.ts.map +0 -1
  508. package/core/networkStatus.d.ts.map +0 -1
  509. package/core/types.d.ts.map +0 -1
  510. package/core/watchQueryOptions.d.ts.map +0 -1
  511. package/dev/index.d.ts.map +0 -1
  512. package/dev/loadDevMessages.d.ts.map +0 -1
  513. package/dev/loadErrorMessageHandler.d.ts.map +0 -1
  514. package/dev/loadErrorMessages.d.ts.map +0 -1
  515. package/errors/index.d.ts.map +0 -1
  516. package/index.d.ts.map +0 -1
  517. package/invariantErrorCodes.d.ts.map +0 -1
  518. package/link/batch/batchLink.d.ts.map +0 -1
  519. package/link/batch/batching.d.ts.map +0 -1
  520. package/link/batch/index.d.ts.map +0 -1
  521. package/link/batch-http/batchHttpLink.d.ts.map +0 -1
  522. package/link/batch-http/index.d.ts.map +0 -1
  523. package/link/context/index.d.ts.map +0 -1
  524. package/link/core/ApolloLink.d.ts.map +0 -1
  525. package/link/core/concat.d.ts.map +0 -1
  526. package/link/core/empty.d.ts.map +0 -1
  527. package/link/core/execute.d.ts.map +0 -1
  528. package/link/core/from.d.ts.map +0 -1
  529. package/link/core/index.d.ts.map +0 -1
  530. package/link/core/split.d.ts.map +0 -1
  531. package/link/core/types.d.ts.map +0 -1
  532. package/link/error/index.d.ts.map +0 -1
  533. package/link/http/HttpLink.d.ts.map +0 -1
  534. package/link/http/checkFetcher.d.ts.map +0 -1
  535. package/link/http/createHttpLink.d.ts.map +0 -1
  536. package/link/http/createSignalIfSupported.d.ts.map +0 -1
  537. package/link/http/index.d.ts.map +0 -1
  538. package/link/http/iterators/async.d.ts.map +0 -1
  539. package/link/http/iterators/nodeStream.d.ts.map +0 -1
  540. package/link/http/iterators/promise.d.ts.map +0 -1
  541. package/link/http/iterators/reader.d.ts.map +0 -1
  542. package/link/http/parseAndCheckHttpResponse.d.ts.map +0 -1
  543. package/link/http/responseIterator.d.ts.map +0 -1
  544. package/link/http/rewriteURIForGET.d.ts.map +0 -1
  545. package/link/http/selectHttpOptionsAndBody.d.ts.map +0 -1
  546. package/link/http/selectURI.d.ts.map +0 -1
  547. package/link/http/serializeFetchParameter.d.ts.map +0 -1
  548. package/link/persisted-queries/index.d.ts.map +0 -1
  549. package/link/remove-typename/index.d.ts.map +0 -1
  550. package/link/remove-typename/removeTypenameFromVariables.d.ts.map +0 -1
  551. package/link/retry/delayFunction.d.ts.map +0 -1
  552. package/link/retry/index.d.ts.map +0 -1
  553. package/link/retry/retryFunction.d.ts.map +0 -1
  554. package/link/retry/retryLink.d.ts.map +0 -1
  555. package/link/schema/index.d.ts.map +0 -1
  556. package/link/subscriptions/index.d.ts.map +0 -1
  557. package/link/utils/createOperation.d.ts.map +0 -1
  558. package/link/utils/filterOperationVariables.d.ts.map +0 -1
  559. package/link/utils/fromError.d.ts.map +0 -1
  560. package/link/utils/fromPromise.d.ts.map +0 -1
  561. package/link/utils/index.d.ts.map +0 -1
  562. package/link/utils/throwServerError.d.ts.map +0 -1
  563. package/link/utils/toPromise.d.ts.map +0 -1
  564. package/link/utils/transformOperation.d.ts.map +0 -1
  565. package/link/utils/validateOperation.d.ts.map +0 -1
  566. package/link/ws/index.d.ts.map +0 -1
  567. package/react/cache/QueryReference.d.ts.map +0 -1
  568. package/react/cache/SuspenseCache.d.ts.map +0 -1
  569. package/react/cache/getSuspenseCache.d.ts.map +0 -1
  570. package/react/cache/index.d.ts.map +0 -1
  571. package/react/cache/types.d.ts.map +0 -1
  572. package/react/components/Mutation.d.ts.map +0 -1
  573. package/react/components/Query.d.ts.map +0 -1
  574. package/react/components/Subscription.d.ts.map +0 -1
  575. package/react/components/index.d.ts.map +0 -1
  576. package/react/components/types.d.ts.map +0 -1
  577. package/react/context/ApolloConsumer.d.ts.map +0 -1
  578. package/react/context/ApolloContext.d.ts.map +0 -1
  579. package/react/context/ApolloProvider.d.ts.map +0 -1
  580. package/react/context/index.d.ts.map +0 -1
  581. package/react/hoc/graphql.d.ts.map +0 -1
  582. package/react/hoc/hoc-utils.d.ts.map +0 -1
  583. package/react/hoc/index.d.ts.map +0 -1
  584. package/react/hoc/mutation-hoc.d.ts.map +0 -1
  585. package/react/hoc/query-hoc.d.ts.map +0 -1
  586. package/react/hoc/subscription-hoc.d.ts.map +0 -1
  587. package/react/hoc/types.d.ts.map +0 -1
  588. package/react/hoc/withApollo.d.ts.map +0 -1
  589. package/react/hooks/constants.d.ts.map +0 -1
  590. package/react/hooks/index.d.ts.map +0 -1
  591. package/react/hooks/internal/__use.d.ts.map +0 -1
  592. package/react/hooks/internal/index.d.ts.map +0 -1
  593. package/react/hooks/internal/useDeepMemo.d.ts.map +0 -1
  594. package/react/hooks/internal/useIsomorphicLayoutEffect.d.ts.map +0 -1
  595. package/react/hooks/useApolloClient.d.ts.map +0 -1
  596. package/react/hooks/useBackgroundQuery.d.ts.map +0 -1
  597. package/react/hooks/useFragment.d.ts.map +0 -1
  598. package/react/hooks/useLazyQuery.d.ts.map +0 -1
  599. package/react/hooks/useMutation.d.ts.map +0 -1
  600. package/react/hooks/useQuery.d.ts.map +0 -1
  601. package/react/hooks/useReactiveVar.d.ts.map +0 -1
  602. package/react/hooks/useReadQuery.d.ts.map +0 -1
  603. package/react/hooks/useSubscription.d.ts.map +0 -1
  604. package/react/hooks/useSuspenseQuery.d.ts.map +0 -1
  605. package/react/hooks/useSyncExternalStore.d.ts.map +0 -1
  606. package/react/index.d.ts.map +0 -1
  607. package/react/parser/index.d.ts.map +0 -1
  608. package/react/ssr/RenderPromises.d.ts.map +0 -1
  609. package/react/ssr/getDataFromTree.d.ts.map +0 -1
  610. package/react/ssr/index.d.ts.map +0 -1
  611. package/react/ssr/renderToStringWithData.d.ts.map +0 -1
  612. package/react/types/types.d.ts.map +0 -1
  613. package/testing/core/index.d.ts.map +0 -1
  614. package/testing/core/itAsync.d.ts.map +0 -1
  615. package/testing/core/mocking/mockClient.d.ts.map +0 -1
  616. package/testing/core/mocking/mockFetch.d.ts.map +0 -1
  617. package/testing/core/mocking/mockLink.d.ts.map +0 -1
  618. package/testing/core/mocking/mockQueryManager.d.ts.map +0 -1
  619. package/testing/core/mocking/mockSubscriptionLink.d.ts.map +0 -1
  620. package/testing/core/mocking/mockWatchQuery.d.ts.map +0 -1
  621. package/testing/core/observableToPromise.d.ts.map +0 -1
  622. package/testing/core/subscribeAndCount.d.ts.map +0 -1
  623. package/testing/core/wait.d.ts.map +0 -1
  624. package/testing/core/withConsoleSpy.d.ts.map +0 -1
  625. package/testing/core/wrap.d.ts.map +0 -1
  626. package/testing/index.d.ts.map +0 -1
  627. package/testing/internal/ObservableStream.d.ts.map +0 -1
  628. package/testing/internal/disposables/index.d.ts.map +0 -1
  629. package/testing/internal/disposables/spyOnConsole.d.ts.map +0 -1
  630. package/testing/internal/disposables/withCleanup.d.ts.map +0 -1
  631. package/testing/internal/index.d.ts.map +0 -1
  632. package/testing/internal/profile/Render.d.ts.map +0 -1
  633. package/testing/internal/profile/index.d.ts.map +0 -1
  634. package/testing/internal/profile/profile.d.ts.map +0 -1
  635. package/testing/internal/profile/traces.d.ts.map +0 -1
  636. package/testing/matchers/ProfiledComponent.d.ts.map +0 -1
  637. package/testing/matchers/index.d.ts.map +0 -1
  638. package/testing/matchers/toHaveSuspenseCacheEntryUsing.d.ts.map +0 -1
  639. package/testing/matchers/toMatchDocument.d.ts.map +0 -1
  640. package/testing/react/MockedProvider.d.ts.map +0 -1
  641. package/utilities/common/arrays.d.ts.map +0 -1
  642. package/utilities/common/canUse.d.ts.map +0 -1
  643. package/utilities/common/canonicalStringify.d.ts.map +0 -1
  644. package/utilities/common/cloneDeep.d.ts.map +0 -1
  645. package/utilities/common/compact.d.ts.map +0 -1
  646. package/utilities/common/errorHandling.d.ts.map +0 -1
  647. package/utilities/common/filterInPlace.d.ts +0 -2
  648. package/utilities/common/filterInPlace.d.ts.map +0 -1
  649. package/utilities/common/filterInPlace.js +0 -11
  650. package/utilities/common/filterInPlace.js.map +0 -1
  651. package/utilities/common/incrementalResult.d.ts.map +0 -1
  652. package/utilities/common/makeUniqueId.d.ts.map +0 -1
  653. package/utilities/common/maybeDeepFreeze.d.ts.map +0 -1
  654. package/utilities/common/mergeDeep.d.ts.map +0 -1
  655. package/utilities/common/mergeOptions.d.ts.map +0 -1
  656. package/utilities/common/objects.d.ts.map +0 -1
  657. package/utilities/common/omitDeep.d.ts.map +0 -1
  658. package/utilities/common/stringifyForDisplay.d.ts.map +0 -1
  659. package/utilities/common/stripTypename.d.ts.map +0 -1
  660. package/utilities/globals/global.d.ts.map +0 -1
  661. package/utilities/globals/index.d.ts.map +0 -1
  662. package/utilities/globals/invariantWrappers.d.ts.map +0 -1
  663. package/utilities/globals/maybe.d.ts.map +0 -1
  664. package/utilities/graphql/DocumentTransform.d.ts.map +0 -1
  665. package/utilities/graphql/directives.d.ts.map +0 -1
  666. package/utilities/graphql/fragments.d.ts.map +0 -1
  667. package/utilities/graphql/getFromAST.d.ts.map +0 -1
  668. package/utilities/graphql/operations.d.ts.map +0 -1
  669. package/utilities/graphql/print.d.ts.map +0 -1
  670. package/utilities/graphql/storeUtils.d.ts.map +0 -1
  671. package/utilities/graphql/transform.d.ts.map +0 -1
  672. package/utilities/index.d.ts.map +0 -1
  673. package/utilities/observables/Concast.d.ts.map +0 -1
  674. package/utilities/observables/Observable.d.ts.map +0 -1
  675. package/utilities/observables/asyncMap.d.ts.map +0 -1
  676. package/utilities/observables/iteration.d.ts.map +0 -1
  677. package/utilities/observables/subclassing.d.ts.map +0 -1
  678. package/utilities/policies/pagination.d.ts.map +0 -1
  679. package/utilities/promises/decoration.d.ts.map +0 -1
  680. package/utilities/subscriptions/relay/index.d.ts.map +0 -1
  681. package/utilities/subscriptions/shared.d.ts.map +0 -1
  682. package/utilities/subscriptions/urql/index.d.ts.map +0 -1
  683. package/utilities/types/DeepOmit.d.ts.map +0 -1
  684. package/utilities/types/DeepPartial.d.ts.map +0 -1
  685. package/utilities/types/IsStrictlyAny.d.ts.map +0 -1
  686. package/utilities/types/Primitive.d.ts.map +0 -1
  687. package/version.d.ts.map +0 -1
package/apollo-client.cjs CHANGED
@@ -5,11 +5,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var tslib = require('tslib');
6
6
  var tsInvariant = require('ts-invariant');
7
7
  var equal = require('@wry/equality');
8
+ var caches = require('@wry/caches');
8
9
  var graphql = require('graphql');
9
10
  var zenObservableTs = require('zen-observable-ts');
10
11
  require('symbol-observable');
11
12
  var optimism = require('optimism');
12
- var context = require('@wry/context');
13
13
  var trie = require('@wry/trie');
14
14
  var graphqlTag = require('graphql-tag');
15
15
  var React = require('rehackt');
@@ -31,7 +31,7 @@ function _interopNamespace(e) {
31
31
  var equal__default = /*#__PURE__*/_interopDefaultLegacy(equal);
32
32
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
33
33
 
34
- var version = "3.9.0-alpha.4";
34
+ var version = "3.9.0-alpha.5";
35
35
 
36
36
  function maybe(thunk) {
37
37
  try {
@@ -43,7 +43,8 @@ function maybe(thunk) {
43
43
  var global$1 = (maybe(function () { return globalThis; }) ||
44
44
  maybe(function () { return window; }) ||
45
45
  maybe(function () { return self; }) ||
46
- maybe(function () { return global; }) || maybe(function () {
46
+ maybe(function () { return global; }) ||
47
+ maybe(function () {
47
48
  return maybe.constructor("return this")();
48
49
  }));
49
50
 
@@ -105,9 +106,7 @@ function newInvariantError(message) {
105
106
  }
106
107
  var ApolloErrorMessageHandler = Symbol.for("ApolloErrorMessageHandler_" + version);
107
108
  function stringify(arg) {
108
- return typeof arg == "string"
109
- ? arg
110
- : stringifyForDisplay(arg, 2).slice(0, 1000);
109
+ return typeof arg == "string" ? arg : (stringifyForDisplay(arg, 2).slice(0, 1000));
111
110
  }
112
111
  function getHandledErrorMsg(message, messageArgs) {
113
112
  if (messageArgs === void 0) { messageArgs = []; }
@@ -191,7 +190,8 @@ var canUseWeakSet = typeof WeakSet === "function";
191
190
  var canUseSymbol = typeof Symbol === "function" && typeof Symbol.for === "function";
192
191
  var canUseAsyncIteratorSymbol = canUseSymbol && Symbol.asyncIterator;
193
192
  var canUseDOM = typeof maybe(function () { return window.document.createElement; }) === "function";
194
- var usingJSDOM = maybe(function () { return navigator.userAgent.indexOf("jsdom") >= 0; }) || false;
193
+ var usingJSDOM =
194
+ maybe(function () { return navigator.userAgent.indexOf("jsdom") >= 0; }) || false;
195
195
  var canUseLayoutEffect = canUseDOM && !usingJSDOM;
196
196
 
197
197
  function isNonNullObject(obj) {
@@ -414,8 +414,8 @@ var getStoreKeyName = Object.assign(function (fieldName, args, directives) {
414
414
  directives["connection"]["key"]) {
415
415
  if (directives["connection"]["filter"] &&
416
416
  directives["connection"]["filter"].length > 0) {
417
- var filterKeys = directives["connection"]["filter"]
418
- ? directives["connection"]["filter"]
417
+ var filterKeys = directives["connection"]["filter"] ?
418
+ directives["connection"]["filter"]
419
419
  : [];
420
420
  filterKeys.sort();
421
421
  var filteredArgs_1 = {};
@@ -584,19 +584,16 @@ function getDefaultValues(definition) {
584
584
  function identity(document) {
585
585
  return document;
586
586
  }
587
- var DocumentTransform = (function () {
587
+ var DocumentTransform = (function () {
588
588
  function DocumentTransform(transform, options) {
589
589
  if (options === void 0) { options = Object.create(null); }
590
- this.resultCache = canUseWeakSet
591
- ? new WeakSet()
592
- : new Set();
590
+ this.resultCache = canUseWeakSet ? new WeakSet() : new Set();
593
591
  this.transform = transform;
594
592
  if (options.getCacheKey) {
595
593
  this.getCacheKey = options.getCacheKey;
596
594
  }
597
- if (options.cache !== false) {
598
- this.stableCacheKeys = new trie.Trie(canUseWeakMap, function (key) { return ({ key: key }); });
599
- }
595
+ this.cached = options.cache !== false;
596
+ this.resetCache();
600
597
  }
601
598
  DocumentTransform.prototype.getCacheKey = function (document) {
602
599
  return [document];
@@ -609,54 +606,59 @@ var DocumentTransform = (function () {
609
606
  return new DocumentTransform(function (document) {
610
607
  var documentTransform = predicate(document) ? left : right;
611
608
  return documentTransform.transformDocument(document);
612
- }, { cache: false });
609
+ },
610
+ { cache: false });
611
+ };
612
+ DocumentTransform.prototype.resetCache = function () {
613
+ var _this = this;
614
+ if (this.cached) {
615
+ var stableCacheKeys_1 = new trie.Trie(canUseWeakMap);
616
+ this.performWork = optimism.wrap(DocumentTransform.prototype.performWork.bind(this), {
617
+ makeCacheKey: function (document) {
618
+ var cacheKeys = _this.getCacheKey(document);
619
+ if (cacheKeys) {
620
+ invariant(Array.isArray(cacheKeys), 66);
621
+ return stableCacheKeys_1.lookupArray(cacheKeys);
622
+ }
623
+ },
624
+ max: 1000 ,
625
+ cache: (caches.WeakCache),
626
+ });
627
+ }
628
+ };
629
+ DocumentTransform.prototype.performWork = function (document) {
630
+ checkDocument(document);
631
+ return this.transform(document);
613
632
  };
614
633
  DocumentTransform.prototype.transformDocument = function (document) {
615
634
  if (this.resultCache.has(document)) {
616
635
  return document;
617
636
  }
618
- var cacheEntry = this.getStableCacheEntry(document);
619
- if (cacheEntry && cacheEntry.value) {
620
- return cacheEntry.value;
621
- }
622
- checkDocument(document);
623
- var transformedDocument = this.transform(document);
637
+ var transformedDocument = this.performWork(document);
624
638
  this.resultCache.add(transformedDocument);
625
- if (cacheEntry) {
626
- cacheEntry.value = transformedDocument;
627
- }
628
639
  return transformedDocument;
629
640
  };
630
641
  DocumentTransform.prototype.concat = function (otherTransform) {
631
642
  var _this = this;
632
643
  return new DocumentTransform(function (document) {
633
644
  return otherTransform.transformDocument(_this.transformDocument(document));
634
- }, { cache: false });
635
- };
636
- DocumentTransform.prototype.getStableCacheEntry = function (document) {
637
- if (!this.stableCacheKeys)
638
- return;
639
- var cacheKeys = this.getCacheKey(document);
640
- if (cacheKeys) {
641
- invariant(Array.isArray(cacheKeys), 66);
642
- return this.stableCacheKeys.lookupArray(cacheKeys);
643
- }
645
+ },
646
+ { cache: false });
644
647
  };
645
648
  return DocumentTransform;
646
649
  }());
647
650
 
648
651
  var printCache;
649
652
  var print = Object.assign(function (ast) {
650
- var result;
651
- result = printCache === null || printCache === void 0 ? void 0 : printCache.get(ast);
653
+ var result = printCache.get(ast);
652
654
  if (!result) {
653
655
  result = graphql.print(ast);
654
- printCache === null || printCache === void 0 ? void 0 : printCache.set(ast, result);
656
+ printCache.set(ast, result);
655
657
  }
656
658
  return result;
657
659
  }, {
658
660
  reset: function () {
659
- printCache = canUseWeakMap ? new WeakMap() : undefined;
661
+ printCache = new caches.WeakCache( );
660
662
  },
661
663
  });
662
664
  print.reset();
@@ -681,8 +683,8 @@ function isEmpty(op, fragmentMap) {
681
683
  }));
682
684
  }
683
685
  function nullIfDocIsEmpty(doc) {
684
- return isEmpty(getOperationDefinition(doc) || getFragmentDefinition(doc), createFragmentMap(getFragmentDefinitions(doc)))
685
- ? null
686
+ return (isEmpty(getOperationDefinition(doc) || getFragmentDefinition(doc), createFragmentMap(getFragmentDefinitions(doc)))) ?
687
+ null
686
688
  : doc;
687
689
  }
688
690
  function getDirectiveMatcher(configs) {
@@ -802,7 +804,8 @@ function removeDirectivesFromDocument(directives, doc) {
802
804
  if (node === originalNode) {
803
805
  return node;
804
806
  }
805
- if (operationCount > 0 &&
807
+ if (
808
+ operationCount > 0 &&
806
809
  node.selectionSet.selections.every(function (selection) {
807
810
  return selection.kind === graphql.Kind.FIELD &&
808
811
  selection.name.value === "__typename";
@@ -857,7 +860,8 @@ function removeDirectivesFromDocument(directives, doc) {
857
860
  });
858
861
  });
859
862
  var fragmentWillBeRemoved = function (fragmentName) {
860
- return !!((!allFragmentNamesUsed.has(fragmentName) ||
863
+ return !!(
864
+ (!allFragmentNamesUsed.has(fragmentName) ||
861
865
  getInUseByFragmentName(fragmentName).removed));
862
866
  };
863
867
  var enterVisitor = {
@@ -873,7 +877,8 @@ function removeDirectivesFromDocument(directives, doc) {
873
877
  OperationDefinition: {
874
878
  leave: function (node) {
875
879
  if (node.variableDefinitions) {
876
- var usedVariableNames_1 = populateTransitiveVars(getInUseByOperationName(node.name && node.name.value)).transitiveVars;
880
+ var usedVariableNames_1 = populateTransitiveVars(
881
+ getInUseByOperationName(node.name && node.name.value)).transitiveVars;
877
882
  if (usedVariableNames_1.size < node.variableDefinitions.length) {
878
883
  return tslib.__assign(tslib.__assign({}, node), { variableDefinitions: node.variableDefinitions.filter(function (varDef) {
879
884
  return usedVariableNames_1.has(varDef.variable.name.value);
@@ -968,7 +973,7 @@ function mergeDeepArray(sources) {
968
973
  var defaultReconciler = function (target, source, property) {
969
974
  return this.merge(target[property], source[property]);
970
975
  };
971
- var DeepMerger = (function () {
976
+ var DeepMerger = (function () {
972
977
  function DeepMerger(reconciler) {
973
978
  if (reconciler === void 0) { reconciler = defaultReconciler; }
974
979
  this.reconciler = reconciler;
@@ -1141,8 +1146,8 @@ function asyncMap(observable, mapFn, catchFn) {
1141
1146
  return function (arg) {
1142
1147
  if (examiner) {
1143
1148
  var both = function () {
1144
- return observer.closed
1145
- ? 0
1149
+ return observer.closed ?
1150
+ 0
1146
1151
  : examiner(arg);
1147
1152
  };
1148
1153
  promiseQueue = promiseQueue.then(both, both).then(function (result) { return observer.next(result); }, function (error) { return observer.error(error); });
@@ -1156,7 +1161,7 @@ function asyncMap(observable, mapFn, catchFn) {
1156
1161
  next: makeCallback(mapFn, "next"),
1157
1162
  error: makeCallback(catchFn, "error"),
1158
1163
  complete: function () {
1159
- promiseQueue.then(function () { return observer.complete(); });
1164
+ promiseQueue.then(function () { return observer.complete(); });
1160
1165
  },
1161
1166
  };
1162
1167
  var sub = observable.subscribe(handler);
@@ -1178,7 +1183,7 @@ function fixObservableSubclass(subclass) {
1178
1183
  function isPromiseLike(value) {
1179
1184
  return value && typeof value.then === "function";
1180
1185
  }
1181
- var Concast = (function (_super) {
1186
+ var Concast = (function (_super) {
1182
1187
  tslib.__extends(Concast, _super);
1183
1188
  function Concast(sources) {
1184
1189
  var _this = _super.call(this, function (observer) {
@@ -1228,7 +1233,7 @@ var Concast = (function (_super) {
1228
1233
  iterateObserversSafely(_this.observers, "complete");
1229
1234
  }
1230
1235
  else if (isPromiseLike(value)) {
1231
- value.then(function (obs) { return (_this.sub = obs.subscribe(_this.handlers)); });
1236
+ value.then(function (obs) { return (_this.sub = obs.subscribe(_this.handlers)); }, _this.handlers.error);
1232
1237
  }
1233
1238
  else {
1234
1239
  _this.sub = value.subscribe(_this.handlers);
@@ -1341,9 +1346,7 @@ function graphQLResultHasError(result) {
1341
1346
  return isNonEmptyArray(errors);
1342
1347
  }
1343
1348
  function getGraphQLErrorsFromResult(result) {
1344
- var graphQLErrors = isNonEmptyArray(result.errors)
1345
- ? result.errors.slice(0)
1346
- : [];
1349
+ var graphQLErrors = isNonEmptyArray(result.errors) ? result.errors.slice(0) : [];
1347
1350
  if (isExecutionPatchIncrementalResult(result) &&
1348
1351
  isNonEmptyArray(result.incremental)) {
1349
1352
  result.incremental.forEach(function (incrementalResult) {
@@ -1472,8 +1475,8 @@ function transformOperation(operation) {
1472
1475
  };
1473
1476
  if (!transformedOperation.operationName) {
1474
1477
  transformedOperation.operationName =
1475
- typeof transformedOperation.query !== "string"
1476
- ? getOperationName(transformedOperation.query) || undefined
1478
+ typeof transformedOperation.query !== "string" ?
1479
+ getOperationName(transformedOperation.query) || undefined
1477
1480
  : "";
1478
1481
  }
1479
1482
  return transformedOperation;
@@ -1505,7 +1508,7 @@ function toLink(handler) {
1505
1508
  function isTerminating(link) {
1506
1509
  return link.request.length <= 1;
1507
1510
  }
1508
- var ApolloLink = (function () {
1511
+ var ApolloLink = (function () {
1509
1512
  function ApolloLink(request) {
1510
1513
  if (request)
1511
1514
  this.request = request;
@@ -1523,15 +1526,15 @@ var ApolloLink = (function () {
1523
1526
  var rightLink = toLink(right || new ApolloLink(passthrough));
1524
1527
  if (isTerminating(leftLink) && isTerminating(rightLink)) {
1525
1528
  return new ApolloLink(function (operation) {
1526
- return test(operation)
1527
- ? leftLink.request(operation) || zenObservableTs.Observable.of()
1529
+ return test(operation) ?
1530
+ leftLink.request(operation) || zenObservableTs.Observable.of()
1528
1531
  : rightLink.request(operation) || zenObservableTs.Observable.of();
1529
1532
  });
1530
1533
  }
1531
1534
  else {
1532
1535
  return new ApolloLink(function (operation, forward) {
1533
- return test(operation)
1534
- ? leftLink.request(operation, forward) || zenObservableTs.Observable.of()
1536
+ return test(operation) ?
1537
+ leftLink.request(operation, forward) || zenObservableTs.Observable.of()
1535
1538
  : rightLink.request(operation, forward) || zenObservableTs.Observable.of();
1536
1539
  });
1537
1540
  }
@@ -1774,7 +1777,7 @@ var generateErrorMessage = function (err) {
1774
1777
  })
1775
1778
  .join("\n"));
1776
1779
  };
1777
- var ApolloError = (function (_super) {
1780
+ var ApolloError = (function (_super) {
1778
1781
  tslib.__extends(ApolloError, _super);
1779
1782
  function ApolloError(_a) {
1780
1783
  var graphQLErrors = _a.graphQLErrors, protocolErrors = _a.protocolErrors, clientErrors = _a.clientErrors, networkError = _a.networkError, errorMessage = _a.errorMessage, extraInfo = _a.extraInfo;
@@ -1807,8 +1810,8 @@ function readMultipartBody(response, nextValue) {
1807
1810
  decoder = new TextDecoder("utf-8");
1808
1811
  contentType = (_a = response.headers) === null || _a === void 0 ? void 0 : _a.get("content-type");
1809
1812
  delimiter = "boundary=";
1810
- boundaryVal = (contentType === null || contentType === void 0 ? void 0 : contentType.includes(delimiter))
1811
- ? contentType === null || contentType === void 0 ? void 0 : contentType.substring((contentType === null || contentType === void 0 ? void 0 : contentType.indexOf(delimiter)) + delimiter.length).replace(/['"]/g, "").replace(/\;(.*)/gm, "").trim()
1813
+ boundaryVal = (contentType === null || contentType === void 0 ? void 0 : contentType.includes(delimiter)) ?
1814
+ contentType === null || contentType === void 0 ? void 0 : contentType.substring((contentType === null || contentType === void 0 ? void 0 : contentType.indexOf(delimiter)) + delimiter.length).replace(/['"]/g, "").replace(/\;(.*)/gm, "").trim()
1812
1815
  : "-";
1813
1816
  boundary = "\r\n--".concat(boundaryVal);
1814
1817
  buffer = "";
@@ -1816,8 +1819,8 @@ function readMultipartBody(response, nextValue) {
1816
1819
  running = true;
1817
1820
  _e.label = 1;
1818
1821
  case 1:
1819
- if (!running) return [3, 3];
1820
- return [4, iterator.next()];
1822
+ if (!running) return [3 , 3];
1823
+ return [4 , iterator.next()];
1821
1824
  case 2:
1822
1825
  _b = _e.sent(), value = _b.value, done = _b.done;
1823
1826
  chunk = typeof value === "string" ? value : decoder.decode(value);
@@ -1860,16 +1863,17 @@ function readMultipartBody(response, nextValue) {
1860
1863
  nextValue(result);
1861
1864
  }
1862
1865
  }
1863
- else if (Object.keys(result).length === 1 &&
1866
+ else if (
1867
+ Object.keys(result).length === 1 &&
1864
1868
  "hasNext" in result &&
1865
1869
  !result.hasNext) {
1866
- return [2];
1870
+ return [2 ];
1867
1871
  }
1868
1872
  }
1869
1873
  bi = buffer.indexOf(boundary);
1870
1874
  }
1871
- return [3, 1];
1872
- case 3: return [2];
1875
+ return [3 , 1];
1876
+ case 3: return [2 ];
1873
1877
  }
1874
1878
  });
1875
1879
  });
@@ -1928,8 +1932,8 @@ function parseAndCheckHttpResponse(operations) {
1928
1932
  if (!Array.isArray(result) &&
1929
1933
  !hasOwnProperty$3.call(result, "data") &&
1930
1934
  !hasOwnProperty$3.call(result, "errors")) {
1931
- throwServerError(response, result, "Server response was missing for query '".concat(Array.isArray(operations)
1932
- ? operations.map(function (op) { return op.operationName; })
1935
+ throwServerError(response, result, "Server response was missing for query '".concat(Array.isArray(operations) ?
1936
+ operations.map(function (op) { return op.operationName; })
1933
1937
  : operations.operationName, "'."));
1934
1938
  }
1935
1939
  return result;
@@ -2100,7 +2104,8 @@ function rewriteURIForGET(chosenURI, body) {
2100
2104
  var backupFetch = maybe(function () { return fetch; });
2101
2105
  var createHttpLink = function (linkOptions) {
2102
2106
  if (linkOptions === void 0) { linkOptions = {}; }
2103
- var _a = linkOptions.uri, uri = _a === void 0 ? "/graphql" : _a, preferredFetch = linkOptions.fetch, _b = linkOptions.print, print = _b === void 0 ? defaultPrinter : _b, includeExtensions = linkOptions.includeExtensions, preserveHeaderCase = linkOptions.preserveHeaderCase, useGETForQueries = linkOptions.useGETForQueries, _c = linkOptions.includeUnusedVariables, includeUnusedVariables = _c === void 0 ? false : _c, requestOptions = tslib.__rest(linkOptions, ["uri", "fetch", "print", "includeExtensions", "preserveHeaderCase", "useGETForQueries", "includeUnusedVariables"]);
2107
+ var _a = linkOptions.uri, uri = _a === void 0 ? "/graphql" : _a,
2108
+ preferredFetch = linkOptions.fetch, _b = linkOptions.print, print = _b === void 0 ? defaultPrinter : _b, includeExtensions = linkOptions.includeExtensions, preserveHeaderCase = linkOptions.preserveHeaderCase, useGETForQueries = linkOptions.useGETForQueries, _c = linkOptions.includeUnusedVariables, includeUnusedVariables = _c === void 0 ? false : _c, requestOptions = tslib.__rest(linkOptions, ["uri", "fetch", "print", "includeExtensions", "preserveHeaderCase", "useGETForQueries", "includeUnusedVariables"]);
2104
2109
  if (globalThis.__DEV__ !== false) {
2105
2110
  checkFetcher(preferredFetch || backupFetch);
2106
2111
  }
@@ -2219,7 +2224,7 @@ var createHttpLink = function (linkOptions) {
2219
2224
  });
2220
2225
  };
2221
2226
 
2222
- var HttpLink = (function (_super) {
2227
+ var HttpLink = (function (_super) {
2223
2228
  tslib.__extends(HttpLink, _super);
2224
2229
  function HttpLink(options) {
2225
2230
  if (options === void 0) { options = {}; }
@@ -2230,17 +2235,15 @@ var HttpLink = (function (_super) {
2230
2235
  return HttpLink;
2231
2236
  }(ApolloLink));
2232
2237
 
2233
- var ApolloCache = (function () {
2238
+ var ApolloCache = (function () {
2234
2239
  function ApolloCache() {
2235
2240
  this.assumeImmutableResults = false;
2236
2241
  this.getFragmentDoc = optimism.wrap(getFragmentQueryDocument);
2237
2242
  }
2238
2243
  ApolloCache.prototype.batch = function (options) {
2239
2244
  var _this = this;
2240
- var optimisticId = typeof options.optimistic === "string"
2241
- ? options.optimistic
2242
- : options.optimistic === false
2243
- ? null
2245
+ var optimisticId = typeof options.optimistic === "string" ? options.optimistic
2246
+ : options.optimistic === false ? null
2244
2247
  : void 0;
2245
2248
  var updateResult;
2246
2249
  this.performTransaction(function () { return (updateResult = options.update(_this)); }, optimisticId);
@@ -2318,7 +2321,7 @@ exports.Cache = void 0;
2318
2321
  (function (Cache) {
2319
2322
  })(exports.Cache || (exports.Cache = {}));
2320
2323
 
2321
- var MissingFieldError = (function (_super) {
2324
+ var MissingFieldError = (function (_super) {
2322
2325
  tslib.__extends(MissingFieldError, _super);
2323
2326
  function MissingFieldError(message, path, query, variables) {
2324
2327
  var _a;
@@ -2350,18 +2353,17 @@ function defaultDataIdFromObject(_a, context) {
2350
2353
  var __typename = _a.__typename, id = _a.id, _id = _a._id;
2351
2354
  if (typeof __typename === "string") {
2352
2355
  if (context) {
2353
- context.keyObject = !isNullish(id)
2354
- ? { id: id }
2355
- : !isNullish(_id)
2356
- ? { _id: _id }
2357
- : void 0;
2356
+ context.keyObject =
2357
+ !isNullish(id) ? { id: id }
2358
+ : !isNullish(_id) ? { _id: _id }
2359
+ : void 0;
2358
2360
  }
2359
2361
  if (isNullish(id) && !isNullish(_id)) {
2360
2362
  id = _id;
2361
2363
  }
2362
2364
  if (!isNullish(id)) {
2363
- return "".concat(__typename, ":").concat(typeof id === "number" || typeof id === "string"
2364
- ? id
2365
+ return "".concat(__typename, ":").concat(typeof id === "number" || typeof id === "string" ?
2366
+ id
2365
2367
  : JSON.stringify(id));
2366
2368
  }
2367
2369
  }
@@ -2380,8 +2382,8 @@ function shouldCanonizeResults(config) {
2380
2382
  return value === void 0 ? defaultConfig.canonizeResults : value;
2381
2383
  }
2382
2384
  function getTypenameFromStoreObject(store, objectOrReference) {
2383
- return isReference(objectOrReference)
2384
- ? store.get(objectOrReference.__ref, "__typename")
2385
+ return isReference(objectOrReference) ?
2386
+ store.get(objectOrReference.__ref, "__typename")
2385
2387
  : objectOrReference && objectOrReference.__typename;
2386
2388
  }
2387
2389
  var TypeOrFieldNameRegExp = /^[_a-z][_0-9a-z]*/i;
@@ -2391,8 +2393,8 @@ function fieldNameFromStoreName(storeFieldName) {
2391
2393
  }
2392
2394
  function selectionSetMatchesResult(selectionSet, result, variables) {
2393
2395
  if (isNonNullObject(result)) {
2394
- return isArray(result)
2395
- ? result.every(function (item) {
2396
+ return isArray(result) ?
2397
+ result.every(function (item) {
2396
2398
  return selectionSetMatchesResult(selectionSet, item, variables);
2397
2399
  })
2398
2400
  : selectionSet.selections.every(function (field) {
@@ -2430,7 +2432,7 @@ function extractFragmentContext(document, fragments) {
2430
2432
  var DELETE = Object.create(null);
2431
2433
  var delModifier = function () { return DELETE; };
2432
2434
  var INVALIDATE = Object.create(null);
2433
- var EntityStore = (function () {
2435
+ var EntityStore = (function () {
2434
2436
  function EntityStore(policies, group) {
2435
2437
  var _this = this;
2436
2438
  this.policies = policies;
@@ -2439,13 +2441,13 @@ var EntityStore = (function () {
2439
2441
  this.rootIds = Object.create(null);
2440
2442
  this.refs = Object.create(null);
2441
2443
  this.getFieldValue = function (objectOrReference, storeFieldName) {
2442
- return maybeDeepFreeze(isReference(objectOrReference)
2443
- ? _this.get(objectOrReference.__ref, storeFieldName)
2444
+ return maybeDeepFreeze(isReference(objectOrReference) ?
2445
+ _this.get(objectOrReference.__ref, storeFieldName)
2444
2446
  : objectOrReference && objectOrReference[storeFieldName]);
2445
2447
  };
2446
2448
  this.canRead = function (objOrRef) {
2447
- return isReference(objOrRef)
2448
- ? _this.has(objOrRef.__ref)
2449
+ return isReference(objOrRef) ?
2450
+ _this.has(objOrRef.__ref)
2449
2451
  : typeof objOrRef === "object";
2450
2452
  };
2451
2453
  this.toReference = function (objOrIdOrRef, mergeIntoStore) {
@@ -2559,8 +2561,8 @@ var EntityStore = (function () {
2559
2561
  toReference: this.toReference,
2560
2562
  canRead: this.canRead,
2561
2563
  readField: function (fieldNameOrOptions, from) {
2562
- return _this.policies.readField(typeof fieldNameOrOptions === "string"
2563
- ? {
2564
+ return _this.policies.readField(typeof fieldNameOrOptions === "string" ?
2565
+ {
2564
2566
  fieldName: fieldNameOrOptions,
2565
2567
  from: from || makeReference(dataId),
2566
2568
  }
@@ -2572,13 +2574,9 @@ var EntityStore = (function () {
2572
2574
  var fieldValue = storeObject[storeFieldName];
2573
2575
  if (fieldValue === void 0)
2574
2576
  return;
2575
- var modify = typeof fields === "function"
2576
- ? fields
2577
- : fields[storeFieldName] || fields[fieldName];
2577
+ var modify = typeof fields === "function" ? fields : (fields[storeFieldName] || fields[fieldName]);
2578
2578
  if (modify) {
2579
- var newValue = modify === delModifier
2580
- ? DELETE
2581
- : modify(maybeDeepFreeze(fieldValue), tslib.__assign(tslib.__assign({}, sharedDetails_1), { fieldName: fieldName, storeFieldName: storeFieldName, storage: _this.getStorage(dataId, storeFieldName) }));
2579
+ var newValue = modify === delModifier ? DELETE : (modify(maybeDeepFreeze(fieldValue), tslib.__assign(tslib.__assign({}, sharedDetails_1), { fieldName: fieldName, storeFieldName: storeFieldName, storage: _this.getStorage(dataId, storeFieldName) })));
2582
2580
  if (newValue === INVALIDATE) {
2583
2581
  _this.group.dirty(dataId, storeFieldName);
2584
2582
  }
@@ -2652,13 +2650,12 @@ var EntityStore = (function () {
2652
2650
  var storeObject = this.lookup(dataId);
2653
2651
  if (storeObject) {
2654
2652
  var typename = this.getFieldValue(storeObject, "__typename");
2655
- var storeFieldName = fieldName && args
2656
- ? this.policies.getStoreFieldName({ typename: typename, fieldName: fieldName, args: args })
2653
+ var storeFieldName = fieldName && args ?
2654
+ this.policies.getStoreFieldName({ typename: typename, fieldName: fieldName, args: args })
2657
2655
  : fieldName;
2658
- return this.modify(dataId, storeFieldName
2659
- ? (_a = {},
2660
- _a[storeFieldName] = delModifier,
2661
- _a) : delModifier);
2656
+ return this.modify(dataId, storeFieldName ? (_a = {},
2657
+ _a[storeFieldName] = delModifier,
2658
+ _a) : delModifier);
2662
2659
  }
2663
2660
  return false;
2664
2661
  };
@@ -2781,7 +2778,7 @@ var EntityStore = (function () {
2781
2778
  };
2782
2779
  return EntityStore;
2783
2780
  }());
2784
- var CacheGroup = (function () {
2781
+ var CacheGroup = (function () {
2785
2782
  function CacheGroup(caching, parent) {
2786
2783
  if (parent === void 0) { parent = null; }
2787
2784
  this.caching = caching;
@@ -2807,7 +2804,8 @@ var CacheGroup = (function () {
2807
2804
  };
2808
2805
  CacheGroup.prototype.dirty = function (dataId, storeFieldName) {
2809
2806
  if (this.d) {
2810
- this.d.dirty(makeDepKey(dataId, storeFieldName), storeFieldName === "__exists" ? "forget" : "setDirty");
2807
+ this.d.dirty(makeDepKey(dataId, storeFieldName),
2808
+ storeFieldName === "__exists" ? "forget" : "setDirty");
2811
2809
  }
2812
2810
  };
2813
2811
  return CacheGroup;
@@ -2821,7 +2819,7 @@ function maybeDependOnExistenceOfEntity(store, entityId) {
2821
2819
  }
2822
2820
  }
2823
2821
  (function (EntityStore) {
2824
- var Root = (function (_super) {
2822
+ var Root = (function (_super) {
2825
2823
  tslib.__extends(Root, _super);
2826
2824
  function Root(_a) {
2827
2825
  var policies = _a.policies, _b = _a.resultCaching, resultCaching = _b === void 0 ? true : _b, seed = _a.seed;
@@ -2845,7 +2843,7 @@ function maybeDependOnExistenceOfEntity(store, entityId) {
2845
2843
  }(EntityStore));
2846
2844
  EntityStore.Root = Root;
2847
2845
  })(EntityStore || (EntityStore = {}));
2848
- var Layer = (function (_super) {
2846
+ var Layer = (function (_super) {
2849
2847
  tslib.__extends(Layer, _super);
2850
2848
  function Layer(id, parent, replay, group) {
2851
2849
  var _this = _super.call(this, parent.policies, group) || this;
@@ -2896,18 +2894,18 @@ var Layer = (function (_super) {
2896
2894
  };
2897
2895
  Layer.prototype.findChildRefIds = function (dataId) {
2898
2896
  var fromParent = this.parent.findChildRefIds(dataId);
2899
- return hasOwn.call(this.data, dataId)
2900
- ? tslib.__assign(tslib.__assign({}, fromParent), _super.prototype.findChildRefIds.call(this, dataId)) : fromParent;
2897
+ return hasOwn.call(this.data, dataId) ? tslib.__assign(tslib.__assign({}, fromParent), _super.prototype.findChildRefIds.call(this, dataId)) : fromParent;
2901
2898
  };
2902
2899
  Layer.prototype.getStorage = function () {
2903
2900
  var p = this.parent;
2904
2901
  while (p.parent)
2905
2902
  p = p.parent;
2906
- return p.getStorage.apply(p, arguments);
2903
+ return p.getStorage.apply(p,
2904
+ arguments);
2907
2905
  };
2908
2906
  return Layer;
2909
2907
  }(EntityStore));
2910
- var Stump = (function (_super) {
2908
+ var Stump = (function (_super) {
2911
2909
  tslib.__extends(Stump, _super);
2912
2910
  function Stump(root) {
2913
2911
  return _super.call(this, "EntityStore.Stump", root, function () { }, new CacheGroup(root.group.caching, root.group)) || this;
@@ -2915,8 +2913,8 @@ var Stump = (function (_super) {
2915
2913
  Stump.prototype.removeLayer = function () {
2916
2914
  return this;
2917
2915
  };
2918
- Stump.prototype.merge = function () {
2919
- return this.parent.merge.apply(this.parent, arguments);
2916
+ Stump.prototype.merge = function (older, newer) {
2917
+ return this.parent.merge(older, newer);
2920
2918
  };
2921
2919
  return Stump;
2922
2920
  }(Layer));
@@ -2931,13 +2929,13 @@ function supportsResultCaching(store) {
2931
2929
 
2932
2930
  function shallowCopy(value) {
2933
2931
  if (isNonNullObject(value)) {
2934
- return isArray(value)
2935
- ? value.slice(0)
2932
+ return isArray(value) ?
2933
+ value.slice(0)
2936
2934
  : tslib.__assign({ __proto__: Object.getPrototypeOf(value) }, value);
2937
2935
  }
2938
2936
  return value;
2939
2937
  }
2940
- var ObjectCanon = (function () {
2938
+ var ObjectCanon = (function () {
2941
2939
  function ObjectCanon() {
2942
2940
  this.known = new (canUseWeakSet ? WeakSet : Set)();
2943
2941
  this.pool = new trie.Trie(canUseWeakMap);
@@ -3029,7 +3027,7 @@ function execSelectionSetKeyArgs(options) {
3029
3027
  options.context.canonizeResults,
3030
3028
  ];
3031
3029
  }
3032
- var StoreReader = (function () {
3030
+ var StoreReader = (function () {
3033
3031
  function StoreReader(config) {
3034
3032
  var _this = this;
3035
3033
  this.knownResults = new (canUseWeakMap ? WeakMap : Map)();
@@ -3046,7 +3044,8 @@ var StoreReader = (function () {
3046
3044
  var other = (_a = _this.executeSelectionSet).peek.apply(_a, peekArgs);
3047
3045
  if (other) {
3048
3046
  if (canonizeResults) {
3049
- return tslib.__assign(tslib.__assign({}, other), { result: _this.canon.admit(other.result) });
3047
+ return tslib.__assign(tslib.__assign({}, other), {
3048
+ result: _this.canon.admit(other.result) });
3050
3049
  }
3051
3050
  return other;
3052
3051
  }
@@ -3106,7 +3105,8 @@ var StoreReader = (function () {
3106
3105
  StoreReader.prototype.isFresh = function (result, parent, selectionSet, context) {
3107
3106
  if (supportsResultCaching(context.store) &&
3108
3107
  this.knownResults.get(result) === selectionSet) {
3109
- var latest = this.executeSelectionSet.peek(selectionSet, parent, context, this.canon.isKnown(result));
3108
+ var latest = this.executeSelectionSet.peek(selectionSet, parent, context,
3109
+ this.canon.isKnown(result));
3110
3110
  if (latest && result === latest.result) {
3111
3111
  return true;
3112
3112
  }
@@ -3159,8 +3159,8 @@ var StoreReader = (function () {
3159
3159
  if (fieldValue === void 0) {
3160
3160
  if (!addTypenameToDocument.added(selection)) {
3161
3161
  missing = missingMerger.merge(missing, (_a = {},
3162
- _a[resultName] = "Can't find field '".concat(selection.name.value, "' on ").concat(isReference(objectOrReference)
3163
- ? objectOrReference.__ref + " object"
3162
+ _a[resultName] = "Can't find field '".concat(selection.name.value, "' on ").concat(isReference(objectOrReference) ?
3163
+ objectOrReference.__ref + " object"
3164
3164
  : "object " + JSON.stringify(objectOrReference, null, 2)),
3165
3165
  _a));
3166
3166
  }
@@ -3202,10 +3202,9 @@ var StoreReader = (function () {
3202
3202
  });
3203
3203
  var result = mergeDeepArray(objectsToMerge);
3204
3204
  var finalResult = { result: result, missing: missing };
3205
- var frozen = context.canonizeResults
3206
- ? this.canon.admit(finalResult)
3207
- :
3208
- maybeDeepFreeze(finalResult);
3205
+ var frozen = context.canonizeResults ?
3206
+ this.canon.admit(finalResult)
3207
+ : maybeDeepFreeze(finalResult);
3209
3208
  if (frozen.result) {
3210
3209
  this.knownResults.set(frozen.result, selectionSet);
3211
3210
  }
@@ -3287,7 +3286,7 @@ function assertSelectionSetForIdValue(store, field, fieldValue) {
3287
3286
  }
3288
3287
  }
3289
3288
 
3290
- var cacheSlot = new context.Slot();
3289
+ var cacheSlot = new optimism.Slot();
3291
3290
  var cacheInfoMap = new WeakMap();
3292
3291
  function getCacheInfo(cache) {
3293
3292
  var info = cacheInfoMap.get(cache);
@@ -3363,7 +3362,8 @@ function keyFieldsFnFromSpecifier(specifier) {
3363
3362
  return context.readField(key, from);
3364
3363
  };
3365
3364
  var keyObject = (context.keyObject = collectSpecifierPaths(specifier, function (schemaKeyPath) {
3366
- var extracted = extractKeyPath(context.storeObject, schemaKeyPath, extract);
3365
+ var extracted = extractKeyPath(context.storeObject, schemaKeyPath,
3366
+ extract);
3367
3367
  if (extracted === void 0 &&
3368
3368
  object !== context.storeObject &&
3369
3369
  hasOwn.call(object, schemaKeyPath[0])) {
@@ -3389,7 +3389,8 @@ function keyArgsFnFromSpecifier(specifier) {
3389
3389
  var d = field.directives.find(function (d) { return d.name.value === directiveName_1; });
3390
3390
  var directiveArgs = d && argumentsObjectFromField(d, variables);
3391
3391
  return (directiveArgs &&
3392
- extractKeyPath(directiveArgs, keyPath.slice(1)));
3392
+ extractKeyPath(directiveArgs,
3393
+ keyPath.slice(1)));
3393
3394
  }
3394
3395
  return;
3395
3396
  }
@@ -3454,8 +3455,8 @@ function extractKey(object, key) {
3454
3455
  function extractKeyPath(object, path, extract) {
3455
3456
  extract = extract || extractKey;
3456
3457
  return normalize(path.reduce(function reducer(obj, key) {
3457
- return isArray(obj)
3458
- ? obj.map(function (child) { return reducer(child, key); })
3458
+ return isArray(obj) ?
3459
+ obj.map(function (child) { return reducer(child, key); })
3459
3460
  : obj && extract(obj, key);
3460
3461
  }, object));
3461
3462
  }
@@ -3472,11 +3473,9 @@ function normalize(value) {
3472
3473
  }
3473
3474
 
3474
3475
  function argsFromFieldSpecifier(spec) {
3475
- return spec.args !== void 0
3476
- ? spec.args
3477
- : spec.field
3478
- ? argumentsObjectFromField(spec.field, spec.variables)
3479
- : null;
3476
+ return (spec.args !== void 0 ? spec.args
3477
+ : spec.field ? argumentsObjectFromField(spec.field, spec.variables)
3478
+ : null);
3480
3479
  }
3481
3480
  var nullKeyFieldsFn = function () { return void 0; };
3482
3481
  var simpleKeyArgsFn = function (_args, context) { return context.fieldName; };
@@ -3485,7 +3484,7 @@ var mergeTrueFn = function (existing, incoming, _a) {
3485
3484
  return mergeObjects(existing, incoming);
3486
3485
  };
3487
3486
  var mergeFalseFn = function (_, incoming) { return incoming; };
3488
- var Policies = (function () {
3487
+ var Policies = (function () {
3489
3488
  function Policies(config) {
3490
3489
  this.config = config;
3491
3490
  this.typePolicies = Object.create(null);
@@ -3565,28 +3564,17 @@ var Policies = (function () {
3565
3564
  var keyFields = incoming.keyFields, fields = incoming.fields;
3566
3565
  function setMerge(existing, merge) {
3567
3566
  existing.merge =
3568
- typeof merge === "function"
3569
- ? merge
3570
- :
3571
- merge === true
3572
- ? mergeTrueFn
3573
- :
3574
- merge === false
3575
- ? mergeFalseFn
3576
- : existing.merge;
3567
+ typeof merge === "function" ? merge
3568
+ : merge === true ? mergeTrueFn
3569
+ : merge === false ? mergeFalseFn
3570
+ : existing.merge;
3577
3571
  }
3578
3572
  setMerge(existing, incoming.merge);
3579
3573
  existing.keyFn =
3580
- keyFields === false
3581
- ? nullKeyFieldsFn
3582
- :
3583
- isArray(keyFields)
3584
- ? keyFieldsFnFromSpecifier(keyFields)
3585
- :
3586
- typeof keyFields === "function"
3587
- ? keyFields
3588
- :
3589
- existing.keyFn;
3574
+ keyFields === false ? nullKeyFieldsFn
3575
+ : isArray(keyFields) ? keyFieldsFnFromSpecifier(keyFields)
3576
+ : typeof keyFields === "function" ? keyFields
3577
+ : existing.keyFn;
3590
3578
  if (fields) {
3591
3579
  Object.keys(fields).forEach(function (fieldName) {
3592
3580
  var existing = _this.getFieldPolicy(typename, fieldName, true);
@@ -3597,16 +3585,10 @@ var Policies = (function () {
3597
3585
  else {
3598
3586
  var keyArgs = incoming.keyArgs, read = incoming.read, merge = incoming.merge;
3599
3587
  existing.keyFn =
3600
- keyArgs === false
3601
- ? simpleKeyArgsFn
3602
- :
3603
- isArray(keyArgs)
3604
- ? keyArgsFnFromSpecifier(keyArgs)
3605
- :
3606
- typeof keyArgs === "function"
3607
- ? keyArgs
3608
- :
3609
- existing.keyFn;
3588
+ keyArgs === false ? simpleKeyArgsFn
3589
+ : isArray(keyArgs) ? keyArgsFnFromSpecifier(keyArgs)
3590
+ : typeof keyArgs === "function" ? keyArgs
3591
+ : existing.keyFn;
3610
3592
  if (typeof read === "function") {
3611
3593
  existing.read = read;
3612
3594
  }
@@ -3772,15 +3754,15 @@ var Policies = (function () {
3772
3754
  }
3773
3755
  }
3774
3756
  if (storeFieldName === void 0) {
3775
- storeFieldName = fieldSpec.field
3776
- ? storeKeyNameFromField(fieldSpec.field, fieldSpec.variables)
3777
- : getStoreKeyName(fieldName, argsFromFieldSpecifier(fieldSpec));
3757
+ storeFieldName =
3758
+ fieldSpec.field ?
3759
+ storeKeyNameFromField(fieldSpec.field, fieldSpec.variables)
3760
+ : getStoreKeyName(fieldName, argsFromFieldSpecifier(fieldSpec));
3778
3761
  }
3779
3762
  if (storeFieldName === false) {
3780
3763
  return fieldName;
3781
3764
  }
3782
- return fieldName === fieldNameFromStoreName(storeFieldName)
3783
- ? storeFieldName
3765
+ return fieldName === fieldNameFromStoreName(storeFieldName) ? storeFieldName
3784
3766
  : fieldName + ":" + storeFieldName;
3785
3767
  };
3786
3768
  Policies.prototype.readField = function (options, context) {
@@ -3801,8 +3783,8 @@ var Policies = (function () {
3801
3783
  var policy = this.getFieldPolicy(options.typename, fieldName, false);
3802
3784
  var read = policy && policy.read;
3803
3785
  if (read) {
3804
- var readOptions = makeFieldFunctionOptions(this, objectOrReference, options, context, context.store.getStorage(isReference(objectOrReference)
3805
- ? objectOrReference.__ref
3786
+ var readOptions = makeFieldFunctionOptions(this, objectOrReference, options, context, context.store.getStorage(isReference(objectOrReference) ?
3787
+ objectOrReference.__ref
3806
3788
  : objectOrReference, storeFieldName));
3807
3789
  return cacheSlot.withValue(this.cache, read, [
3808
3790
  existing,
@@ -3835,7 +3817,8 @@ var Policies = (function () {
3835
3817
  if (context.overwrite) {
3836
3818
  existing = void 0;
3837
3819
  }
3838
- return merge(existing, incoming, makeFieldFunctionOptions(this, void 0, {
3820
+ return merge(existing, incoming, makeFieldFunctionOptions(this,
3821
+ void 0, {
3839
3822
  typename: typename,
3840
3823
  fieldName: field.name.value,
3841
3824
  field: field,
@@ -3923,13 +3906,13 @@ function getContextFlavor(context, clientOnly, deferred) {
3923
3906
  var flavored = context.flavors.get(key);
3924
3907
  if (!flavored) {
3925
3908
  context.flavors.set(key, (flavored =
3926
- context.clientOnly === clientOnly && context.deferred === deferred
3927
- ? context
3909
+ context.clientOnly === clientOnly && context.deferred === deferred ?
3910
+ context
3928
3911
  : tslib.__assign(tslib.__assign({}, context), { clientOnly: clientOnly, deferred: deferred })));
3929
3912
  }
3930
3913
  return flavored;
3931
3914
  }
3932
- var StoreWriter = (function () {
3915
+ var StoreWriter = (function () {
3933
3916
  function StoreWriter(cache, reader, fragments) {
3934
3917
  this.cache = cache;
3935
3918
  this.reader = reader;
@@ -3993,7 +3976,8 @@ var StoreWriter = (function () {
3993
3976
  };
3994
3977
  StoreWriter.prototype.processSelectionSet = function (_a) {
3995
3978
  var _this = this;
3996
- var dataId = _a.dataId, result = _a.result, selectionSet = _a.selectionSet, context = _a.context, mergeTree = _a.mergeTree;
3979
+ var dataId = _a.dataId, result = _a.result, selectionSet = _a.selectionSet, context = _a.context,
3980
+ mergeTree = _a.mergeTree;
3997
3981
  var policies = this.cache.policies;
3998
3982
  var incoming = Object.create(null);
3999
3983
  var typename = (dataId && policies.rootTypenamesById[dataId]) ||
@@ -4016,7 +4000,8 @@ var StoreWriter = (function () {
4016
4000
  return policies.readField(options, context);
4017
4001
  };
4018
4002
  var fieldNodeSet = new Set();
4019
- this.flattenFields(selectionSet, result, context, typename).forEach(function (context, field) {
4003
+ this.flattenFields(selectionSet, result,
4004
+ context, typename).forEach(function (context, field) {
4020
4005
  var _a;
4021
4006
  var resultFieldKey = resultKeyNameFromField(field);
4022
4007
  var value = result[resultFieldKey];
@@ -4029,8 +4014,9 @@ var StoreWriter = (function () {
4029
4014
  variables: context.variables,
4030
4015
  });
4031
4016
  var childTree = getChildMergeTree(mergeTree, storeFieldName);
4032
- var incomingValue = _this.processFieldValue(value, field, field.selectionSet
4033
- ? getContextFlavor(context, false, false)
4017
+ var incomingValue = _this.processFieldValue(value, field,
4018
+ field.selectionSet ?
4019
+ getContextFlavor(context, false, false)
4034
4020
  : context, childTree);
4035
4021
  var childTypename = void 0;
4036
4022
  if (field.selectionSet &&
@@ -4129,7 +4115,8 @@ var StoreWriter = (function () {
4129
4115
  var policies = this.cache.policies;
4130
4116
  var limitingTrie = new trie.Trie(false);
4131
4117
  (function flatten(selectionSet, inheritedContext) {
4132
- var visitedNode = limitingTrie.lookup(selectionSet, inheritedContext.clientOnly, inheritedContext.deferred);
4118
+ var visitedNode = limitingTrie.lookup(selectionSet,
4119
+ inheritedContext.clientOnly, inheritedContext.deferred);
4133
4120
  if (visitedNode.visited)
4134
4121
  return;
4135
4122
  visitedNode.visited = true;
@@ -4137,7 +4124,8 @@ var StoreWriter = (function () {
4137
4124
  if (!shouldInclude(selection, context.variables))
4138
4125
  return;
4139
4126
  var clientOnly = inheritedContext.clientOnly, deferred = inheritedContext.deferred;
4140
- if (!(clientOnly && deferred) &&
4127
+ if (
4128
+ !(clientOnly && deferred) &&
4141
4129
  isNonEmptyArray(selection.directives)) {
4142
4130
  selection.directives.forEach(function (dir) {
4143
4131
  var name = dir.name.value;
@@ -4177,9 +4165,10 @@ var StoreWriter = (function () {
4177
4165
  var _a;
4178
4166
  var _this = this;
4179
4167
  if (mergeTree.map.size && !isReference(incoming)) {
4180
- var e_1 = !isArray(incoming) &&
4181
- (isReference(existing) || storeValueIsStoreObject(existing))
4182
- ? existing
4168
+ var e_1 =
4169
+ (!isArray(incoming) &&
4170
+ (isReference(existing) || storeValueIsStoreObject(existing))) ?
4171
+ existing
4183
4172
  : void 0;
4184
4173
  var i_1 = incoming;
4185
4174
  if (e_1 && !getStorageArgs) {
@@ -4187,11 +4176,11 @@ var StoreWriter = (function () {
4187
4176
  }
4188
4177
  var changedFields_1;
4189
4178
  var getValue_1 = function (from, name) {
4190
- return isArray(from)
4191
- ? typeof name === "number"
4192
- ? from[name]
4179
+ return (isArray(from) ?
4180
+ typeof name === "number" ?
4181
+ from[name]
4193
4182
  : void 0
4194
- : context.store.getFieldValue(from, String(name));
4183
+ : context.store.getFieldValue(from, String(name)));
4195
4184
  };
4196
4185
  mergeTree.map.forEach(function (childTree, storeFieldName) {
4197
4186
  var eVal = getValue_1(e_1, storeFieldName);
@@ -4237,13 +4226,10 @@ function mergeMergeTrees(left, right) {
4237
4226
  return left;
4238
4227
  if (!left || mergeTreeIsEmpty(left))
4239
4228
  return right;
4240
- var info = left.info && right.info
4241
- ? tslib.__assign(tslib.__assign({}, left.info), right.info) : left.info || right.info;
4229
+ var info = left.info && right.info ? tslib.__assign(tslib.__assign({}, left.info), right.info) : left.info || right.info;
4242
4230
  var needToMergeMaps = left.map.size && right.map.size;
4243
- var map = needToMergeMaps
4244
- ? new Map()
4245
- : left.map.size
4246
- ? left.map
4231
+ var map = needToMergeMaps ? new Map()
4232
+ : left.map.size ? left.map
4247
4233
  : right.map;
4248
4234
  var merged = { info: info, map: map };
4249
4235
  if (needToMergeMaps) {
@@ -4304,14 +4290,14 @@ function warnAboutDataLoss(existingRef, incomingObj, storeFieldName, store) {
4304
4290
  }
4305
4291
  });
4306
4292
  }
4307
- globalThis.__DEV__ !== false && invariant.warn(14, fieldName, parentType, childTypenames.length
4308
- ? "either ensure all objects of type " +
4293
+ globalThis.__DEV__ !== false && invariant.warn(14, fieldName, parentType, childTypenames.length ?
4294
+ "either ensure all objects of type " +
4309
4295
  childTypenames.join(" and ") +
4310
4296
  " have an ID or a custom merge function, or "
4311
4297
  : "", typeDotName, existing, incoming);
4312
4298
  }
4313
4299
 
4314
- var InMemoryCache = (function (_super) {
4300
+ var InMemoryCache = (function (_super) {
4315
4301
  tslib.__extends(InMemoryCache, _super);
4316
4302
  function InMemoryCache(config) {
4317
4303
  if (config === void 0) { config = {}; }
@@ -4349,9 +4335,7 @@ var InMemoryCache = (function (_super) {
4349
4335
  addTypename: this.addTypename,
4350
4336
  resultCacheMaxSize: this.config.resultCacheMaxSize,
4351
4337
  canonizeResults: shouldCanonizeResults(this.config),
4352
- canon: resetResultIdentities
4353
- ? void 0
4354
- : previousReader && previousReader.canon,
4338
+ canon: resetResultIdentities ? void 0 : (previousReader && previousReader.canon),
4355
4339
  fragments: fragments,
4356
4340
  })), fragments);
4357
4341
  this.maybeBroadcastWatch = optimism.wrap(function (c, options) {
@@ -4362,7 +4346,8 @@ var InMemoryCache = (function (_super) {
4362
4346
  var store = c.optimistic ? _this.optimisticData : _this.data;
4363
4347
  if (supportsResultCaching(store)) {
4364
4348
  var optimistic = c.optimistic, id = c.id, variables = c.variables;
4365
- return store.makeCacheKey(c.query, c.callback, canonicalStringify({ optimistic: optimistic, id: id, variables: variables }));
4349
+ return store.makeCacheKey(c.query,
4350
+ c.callback, canonicalStringify({ optimistic: optimistic, id: id, variables: variables }));
4366
4351
  }
4367
4352
  },
4368
4353
  });
@@ -4381,7 +4366,9 @@ var InMemoryCache = (function (_super) {
4381
4366
  return (optimistic ? this.optimisticData : this.data).extract();
4382
4367
  };
4383
4368
  InMemoryCache.prototype.read = function (options) {
4384
- var _a = options.returnPartialData, returnPartialData = _a === void 0 ? false : _a;
4369
+ var
4370
+ _a = options.returnPartialData,
4371
+ returnPartialData = _a === void 0 ? false : _a;
4385
4372
  try {
4386
4373
  return (this.storeReader.diffQueryAgainstStore(tslib.__assign(tslib.__assign({}, options), { store: options.optimistic ? this.optimisticData : this.data, config: this.config, returnPartialData: returnPartialData })).result || null);
4387
4374
  }
@@ -4407,8 +4394,9 @@ var InMemoryCache = (function (_super) {
4407
4394
  if (hasOwn.call(options, "id") && !options.id) {
4408
4395
  return false;
4409
4396
  }
4410
- var store = options.optimistic
4411
- ? this.optimisticData
4397
+ var store = ((options.optimistic)
4398
+ ) ?
4399
+ this.optimisticData
4412
4400
  : this.data;
4413
4401
  try {
4414
4402
  ++this.txCount;
@@ -4440,8 +4428,11 @@ var InMemoryCache = (function (_super) {
4440
4428
  };
4441
4429
  };
4442
4430
  InMemoryCache.prototype.gc = function (options) {
4431
+ var _a;
4443
4432
  canonicalStringify.reset();
4444
4433
  print.reset();
4434
+ this.addTypenameTransform.resetCache();
4435
+ (_a = this.config.fragments) === null || _a === void 0 ? void 0 : _a.resetCaches();
4445
4436
  var ids = this.optimisticData.gc();
4446
4437
  if (options && !this.txCount) {
4447
4438
  if (options.resetResultCache) {
@@ -4676,7 +4667,8 @@ function equalBySelectionSet(selectionSet, aResult, bResult, context) {
4676
4667
  if (fragment) {
4677
4668
  if (selectionHasNonreactiveDirective(fragment))
4678
4669
  return true;
4679
- return equalBySelectionSet(fragment.selectionSet, aResult, bResult, context);
4670
+ return equalBySelectionSet(fragment.selectionSet,
4671
+ aResult, bResult, context);
4680
4672
  }
4681
4673
  }
4682
4674
  });
@@ -4689,7 +4681,7 @@ function directiveIsNonreactive(dir) {
4689
4681
  }
4690
4682
 
4691
4683
  var assign = Object.assign, hasOwnProperty$2 = Object.hasOwnProperty;
4692
- var ObservableQuery = (function (_super) {
4684
+ var ObservableQuery = (function (_super) {
4693
4685
  tslib.__extends(ObservableQuery, _super);
4694
4686
  function ObservableQuery(_a) {
4695
4687
  var queryManager = _a.queryManager, queryInfo = _a.queryInfo, options = _a.options;
@@ -4726,10 +4718,12 @@ var ObservableQuery = (function (_super) {
4726
4718
  _this.waitForOwnResult = skipCacheDataFor(options.fetchPolicy);
4727
4719
  _this.isTornDown = false;
4728
4720
  var _b = queryManager.defaultOptions.watchQuery, _c = _b === void 0 ? {} : _b, _d = _c.fetchPolicy, defaultFetchPolicy = _d === void 0 ? "cache-first" : _d;
4729
- var _e = options.fetchPolicy, fetchPolicy = _e === void 0 ? defaultFetchPolicy : _e, _f = options.initialFetchPolicy, initialFetchPolicy = _f === void 0 ? fetchPolicy === "standby"
4730
- ? defaultFetchPolicy
4731
- : fetchPolicy : _f;
4732
- _this.options = tslib.__assign(tslib.__assign({}, options), { initialFetchPolicy: initialFetchPolicy, fetchPolicy: fetchPolicy });
4721
+ var _e = options.fetchPolicy, fetchPolicy = _e === void 0 ? defaultFetchPolicy : _e,
4722
+ _f = options.initialFetchPolicy,
4723
+ initialFetchPolicy = _f === void 0 ? fetchPolicy === "standby" ? defaultFetchPolicy : (fetchPolicy) : _f;
4724
+ _this.options = tslib.__assign(tslib.__assign({}, options), {
4725
+ initialFetchPolicy: initialFetchPolicy,
4726
+ fetchPolicy: fetchPolicy });
4733
4727
  _this.queryId = queryInfo.queryId || queryManager.generateQueryId();
4734
4728
  var opDef = getOperationDefinition(_this.query);
4735
4729
  _this.queryName = opDef && opDef.name && opDef.name.value;
@@ -4776,7 +4770,8 @@ var ObservableQuery = (function (_super) {
4776
4770
  exports.NetworkStatus.ready;
4777
4771
  var result = tslib.__assign(tslib.__assign({}, lastResult), { loading: isNetworkRequestInFlight(networkStatus), networkStatus: networkStatus });
4778
4772
  var _a = this.options.fetchPolicy, fetchPolicy = _a === void 0 ? "cache-first" : _a;
4779
- if (skipCacheDataFor(fetchPolicy) ||
4773
+ if (
4774
+ skipCacheDataFor(fetchPolicy) ||
4780
4775
  this.queryManager.getDocumentInfo(this.query).hasForcedResolvers) ;
4781
4776
  else if (this.waitForOwnResult) {
4782
4777
  this.queryInfo["updateWatch"]();
@@ -4819,9 +4814,8 @@ var ObservableQuery = (function (_super) {
4819
4814
  if (!this.last) {
4820
4815
  return true;
4821
4816
  }
4822
- var resultIsDifferent = this.queryManager.getDocumentInfo(this.query)
4823
- .hasNonreactiveDirective
4824
- ? !equalByQuery(this.query, this.last.result, newResult, this.variables)
4817
+ var resultIsDifferent = this.queryManager.getDocumentInfo(this.query).hasNonreactiveDirective ?
4818
+ !equalByQuery(this.query, this.last.result, newResult, this.variables)
4825
4819
  : !equal.equal(this.last.result, newResult);
4826
4820
  return (resultIsDifferent || (variables && !equal.equal(this.last.variables, variables)));
4827
4821
  };
@@ -4880,14 +4874,14 @@ var ObservableQuery = (function (_super) {
4880
4874
  };
4881
4875
  ObservableQuery.prototype.fetchMore = function (fetchMoreOptions) {
4882
4876
  var _this = this;
4883
- var combinedOptions = tslib.__assign(tslib.__assign({}, (fetchMoreOptions.query
4884
- ? fetchMoreOptions
4885
- : tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign({}, this.options), { query: this.options.query }), fetchMoreOptions), { variables: tslib.__assign(tslib.__assign({}, this.options.variables), fetchMoreOptions.variables) }))), { fetchPolicy: "no-cache" });
4877
+ var combinedOptions = tslib.__assign(tslib.__assign({}, (fetchMoreOptions.query ? fetchMoreOptions : (tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign({}, this.options), { query: this.options.query }), fetchMoreOptions), { variables: tslib.__assign(tslib.__assign({}, this.options.variables), fetchMoreOptions.variables) })))), {
4878
+ fetchPolicy: "no-cache" });
4886
4879
  combinedOptions.query = this.transformDocument(combinedOptions.query);
4887
4880
  var qid = this.queryManager.generateQueryId();
4888
- this.lastQuery = fetchMoreOptions.query
4889
- ? this.transformDocument(this.options.query)
4890
- : combinedOptions.query;
4881
+ this.lastQuery =
4882
+ fetchMoreOptions.query ?
4883
+ this.transformDocument(this.options.query)
4884
+ : combinedOptions.query;
4891
4885
  var queryInfo = this.queryInfo;
4892
4886
  var originalNetworkStatus = queryInfo.networkStatus;
4893
4887
  queryInfo.networkStatus = exports.NetworkStatus.fetchMore;
@@ -5022,7 +5016,8 @@ var ObservableQuery = (function (_super) {
5022
5016
  this.options.pollInterval = 0;
5023
5017
  this.updatePolling();
5024
5018
  };
5025
- ObservableQuery.prototype.applyNextFetchPolicy = function (reason, options) {
5019
+ ObservableQuery.prototype.applyNextFetchPolicy = function (reason,
5020
+ options) {
5026
5021
  if (options.nextFetchPolicy) {
5027
5022
  var _a = options.fetchPolicy, fetchPolicy = _a === void 0 ? "cache-first" : _a, _b = options.initialFetchPolicy, initialFetchPolicy = _b === void 0 ? fetchPolicy : _b;
5028
5023
  if (fetchPolicy === "standby") ;
@@ -5070,8 +5065,8 @@ var ObservableQuery = (function (_super) {
5070
5065
  if (_this.pollingInfo) {
5071
5066
  if (!isNetworkRequestInFlight(_this.queryInfo.networkStatus)) {
5072
5067
  _this.reobserve({
5073
- fetchPolicy: _this.options.initialFetchPolicy === "no-cache"
5074
- ? "no-cache"
5068
+ fetchPolicy: _this.options.initialFetchPolicy === "no-cache" ?
5069
+ "no-cache"
5075
5070
  : "network-only",
5076
5071
  }, exports.NetworkStatus.poll).then(poll, poll);
5077
5072
  }
@@ -5095,22 +5090,22 @@ var ObservableQuery = (function (_super) {
5095
5090
  if (error && this.last && !equal.equal(variables, this.last.variables)) {
5096
5091
  error = void 0;
5097
5092
  }
5098
- return (this.last = tslib.__assign({ result: this.queryManager.assumeImmutableResults
5099
- ? newResult
5093
+ return (this.last = tslib.__assign({ result: this.queryManager.assumeImmutableResults ?
5094
+ newResult
5100
5095
  : cloneDeep(newResult), variables: variables }, (error ? { error: error } : null)));
5101
5096
  };
5102
5097
  ObservableQuery.prototype.reobserveAsConcast = function (newOptions, newNetworkStatus) {
5103
5098
  var _this = this;
5104
5099
  this.isTornDown = false;
5105
- var useDisposableConcast = newNetworkStatus === exports.NetworkStatus.refetch ||
5100
+ var useDisposableConcast =
5101
+ newNetworkStatus === exports.NetworkStatus.refetch ||
5106
5102
  newNetworkStatus === exports.NetworkStatus.fetchMore ||
5107
5103
  newNetworkStatus === exports.NetworkStatus.poll;
5108
5104
  var oldVariables = this.options.variables;
5109
5105
  var oldFetchPolicy = this.options.fetchPolicy;
5110
5106
  var mergedOptions = compact(this.options, newOptions || {});
5111
- var options = useDisposableConcast
5112
- ?
5113
- mergedOptions
5107
+ var options = useDisposableConcast ?
5108
+ mergedOptions
5114
5109
  : assign(this.options, mergedOptions);
5115
5110
  var query = this.transformDocument(options.query);
5116
5111
  this.lastQuery = query;
@@ -5156,7 +5151,8 @@ var ObservableQuery = (function (_super) {
5156
5151
  return concast;
5157
5152
  };
5158
5153
  ObservableQuery.prototype.reobserve = function (newOptions, newNetworkStatus) {
5159
- return this.reobserveAsConcast(newOptions, newNetworkStatus).promise;
5154
+ return this.reobserveAsConcast(newOptions, newNetworkStatus)
5155
+ .promise;
5160
5156
  };
5161
5157
  ObservableQuery.prototype.resubscribeAfterError = function () {
5162
5158
  var args = [];
@@ -5170,7 +5166,8 @@ var ObservableQuery = (function (_super) {
5170
5166
  return subscription;
5171
5167
  };
5172
5168
  ObservableQuery.prototype.observe = function () {
5173
- this.reportResult(this.getCurrentResult(false), this.variables);
5169
+ this.reportResult(
5170
+ this.getCurrentResult(false), this.variables);
5174
5171
  };
5175
5172
  ObservableQuery.prototype.reportResult = function (result, variables) {
5176
5173
  var lastError = this.getLastError();
@@ -5216,10 +5213,10 @@ function reobserveCacheFirst(obsQuery) {
5216
5213
  if (fetchPolicy === "cache-and-network" || fetchPolicy === "network-only") {
5217
5214
  return obsQuery.reobserve({
5218
5215
  fetchPolicy: "cache-first",
5219
- nextFetchPolicy: function () {
5216
+ nextFetchPolicy: function (currentFetchPolicy, context) {
5220
5217
  this.nextFetchPolicy = nextFetchPolicy;
5221
- if (typeof nextFetchPolicy === "function") {
5222
- return nextFetchPolicy.apply(this, arguments);
5218
+ if (typeof this.nextFetchPolicy === "function") {
5219
+ return this.nextFetchPolicy(currentFetchPolicy, context);
5223
5220
  }
5224
5221
  return fetchPolicy;
5225
5222
  },
@@ -5235,13 +5232,13 @@ function logMissingFieldErrors(missing) {
5235
5232
  globalThis.__DEV__ !== false && invariant.debug(24, missing);
5236
5233
  }
5237
5234
  }
5238
- function skipCacheDataFor(fetchPolicy) {
5235
+ function skipCacheDataFor(fetchPolicy ) {
5239
5236
  return (fetchPolicy === "network-only" ||
5240
5237
  fetchPolicy === "no-cache" ||
5241
5238
  fetchPolicy === "standby");
5242
5239
  }
5243
5240
 
5244
- var LocalState = (function () {
5241
+ var LocalState = (function () {
5245
5242
  function LocalState(_a) {
5246
5243
  var cache = _a.cache, client = _a.client, resolvers = _a.resolvers, fragmentMatcher = _a.fragmentMatcher;
5247
5244
  this.selectionsToResolveCache = new WeakMap();
@@ -5280,9 +5277,9 @@ var LocalState = (function () {
5280
5277
  return tslib.__awaiter(this, void 0, void 0, function () {
5281
5278
  return tslib.__generator(this, function (_c) {
5282
5279
  if (document) {
5283
- return [2, this.resolveDocument(document, remoteResult.data, context, variables, this.fragmentMatcher, onlyRunForcedResolvers).then(function (localResult) { return (tslib.__assign(tslib.__assign({}, remoteResult), { data: localResult.result })); })];
5280
+ return [2 , this.resolveDocument(document, remoteResult.data, context, variables, this.fragmentMatcher, onlyRunForcedResolvers).then(function (localResult) { return (tslib.__assign(tslib.__assign({}, remoteResult), { data: localResult.result })); })];
5284
5281
  }
5285
- return [2, remoteResult];
5282
+ return [2 , remoteResult];
5286
5283
  });
5287
5284
  });
5288
5285
  };
@@ -5305,7 +5302,8 @@ var LocalState = (function () {
5305
5302
  };
5306
5303
  LocalState.prototype.prepareContext = function (context) {
5307
5304
  var cache = this.cache;
5308
- return tslib.__assign(tslib.__assign({}, context), { cache: cache, getCacheKey: function (obj) {
5305
+ return tslib.__assign(tslib.__assign({}, context), { cache: cache,
5306
+ getCacheKey: function (obj) {
5309
5307
  return cache.identify(obj);
5310
5308
  } });
5311
5309
  };
@@ -5315,9 +5313,9 @@ var LocalState = (function () {
5315
5313
  return tslib.__awaiter(this, void 0, void 0, function () {
5316
5314
  return tslib.__generator(this, function (_a) {
5317
5315
  if (document) {
5318
- return [2, this.resolveDocument(document, this.buildRootValueFromCache(document, variables) || {}, this.prepareContext(context), variables).then(function (data) { return (tslib.__assign(tslib.__assign({}, variables), data.exportedVariables)); })];
5316
+ return [2 , this.resolveDocument(document, this.buildRootValueFromCache(document, variables) || {}, this.prepareContext(context), variables).then(function (data) { return (tslib.__assign(tslib.__assign({}, variables), data.exportedVariables)); })];
5319
5317
  }
5320
- return [2, tslib.__assign({}, variables)];
5318
+ return [2 , tslib.__assign({}, variables)];
5321
5319
  });
5322
5320
  });
5323
5321
  };
@@ -5362,8 +5360,8 @@ var LocalState = (function () {
5362
5360
  fragmentMap = createFragmentMap(fragments);
5363
5361
  selectionsToResolve = this.collectSelectionsToResolve(mainDefinition, fragmentMap);
5364
5362
  definitionOperation = mainDefinition.operation;
5365
- defaultOperationType = definitionOperation
5366
- ? definitionOperation.charAt(0).toUpperCase() +
5363
+ defaultOperationType = definitionOperation ?
5364
+ definitionOperation.charAt(0).toUpperCase() +
5367
5365
  definitionOperation.slice(1)
5368
5366
  : "Query";
5369
5367
  _a = this, cache = _a.cache, client = _a.client;
@@ -5378,7 +5376,7 @@ var LocalState = (function () {
5378
5376
  onlyRunForcedResolvers: onlyRunForcedResolvers,
5379
5377
  };
5380
5378
  isClientFieldDescendant = false;
5381
- return [2, this.resolveSelectionSet(mainDefinition.selectionSet, isClientFieldDescendant, rootValue, execContext).then(function (result) { return ({
5379
+ return [2 , this.resolveSelectionSet(mainDefinition.selectionSet, isClientFieldDescendant, rootValue, execContext).then(function (result) { return ({
5382
5380
  result: result,
5383
5381
  exportedVariables: execContext.exportedVariables,
5384
5382
  }); })];
@@ -5397,13 +5395,13 @@ var LocalState = (function () {
5397
5395
  return tslib.__generator(this, function (_a) {
5398
5396
  if (!isClientFieldDescendant &&
5399
5397
  !execContext.selectionsToResolve.has(selection)) {
5400
- return [2];
5398
+ return [2 ];
5401
5399
  }
5402
5400
  if (!shouldInclude(selection, variables)) {
5403
- return [2];
5401
+ return [2 ];
5404
5402
  }
5405
5403
  if (isField(selection)) {
5406
- return [2, this.resolveField(selection, isClientFieldDescendant, rootValue, execContext).then(function (fieldResult) {
5404
+ return [2 , this.resolveField(selection, isClientFieldDescendant, rootValue, execContext).then(function (fieldResult) {
5407
5405
  var _a;
5408
5406
  if (typeof fieldResult !== "undefined") {
5409
5407
  resultsToMerge.push((_a = {},
@@ -5422,15 +5420,15 @@ var LocalState = (function () {
5422
5420
  if (fragment && fragment.typeCondition) {
5423
5421
  typeCondition = fragment.typeCondition.name.value;
5424
5422
  if (execContext.fragmentMatcher(rootValue, typeCondition, context)) {
5425
- return [2, this.resolveSelectionSet(fragment.selectionSet, isClientFieldDescendant, rootValue, execContext).then(function (fragmentResult) {
5423
+ return [2 , this.resolveSelectionSet(fragment.selectionSet, isClientFieldDescendant, rootValue, execContext).then(function (fragmentResult) {
5426
5424
  resultsToMerge.push(fragmentResult);
5427
5425
  })];
5428
5426
  }
5429
5427
  }
5430
- return [2];
5428
+ return [2 ];
5431
5429
  });
5432
5430
  }); };
5433
- return [2, Promise.all(selectionSet.selections.map(execute)).then(function () {
5431
+ return [2 , Promise.all(selectionSet.selections.map(execute)).then(function () {
5434
5432
  return mergeDeepArray(resultsToMerge);
5435
5433
  })];
5436
5434
  });
@@ -5442,7 +5440,7 @@ var LocalState = (function () {
5442
5440
  var _this = this;
5443
5441
  return tslib.__generator(this, function (_a) {
5444
5442
  if (!rootValue) {
5445
- return [2, null];
5443
+ return [2 , null];
5446
5444
  }
5447
5445
  variables = execContext.variables;
5448
5446
  fieldName = field.name.value;
@@ -5457,7 +5455,8 @@ var LocalState = (function () {
5457
5455
  if (resolverMap) {
5458
5456
  resolve = resolverMap[aliasUsed ? fieldName : aliasedFieldName];
5459
5457
  if (resolve) {
5460
- resultPromise = Promise.resolve(cacheSlot.withValue(this.cache, resolve, [
5458
+ resultPromise = Promise.resolve(
5459
+ cacheSlot.withValue(this.cache, resolve, [
5461
5460
  rootValue,
5462
5461
  argumentsObjectFromField(field, variables),
5463
5462
  execContext.context,
@@ -5466,7 +5465,7 @@ var LocalState = (function () {
5466
5465
  }
5467
5466
  }
5468
5467
  }
5469
- return [2, resultPromise.then(function (result) {
5468
+ return [2 , resultPromise.then(function (result) {
5470
5469
  var _a, _b;
5471
5470
  if (result === void 0) { result = defaultResult; }
5472
5471
  if (field.directives) {
@@ -5558,7 +5557,8 @@ function wrapDestructiveCacheMethod(cache, methodName) {
5558
5557
  var original = cache[methodName];
5559
5558
  if (typeof original === "function") {
5560
5559
  cache[methodName] = function () {
5561
- destructiveMethodCounts.set(cache, (destructiveMethodCounts.get(cache) + 1) % 1e15);
5560
+ destructiveMethodCounts.set(cache,
5561
+ (destructiveMethodCounts.get(cache) + 1) % 1e15);
5562
5562
  return original.apply(this, arguments);
5563
5563
  };
5564
5564
  }
@@ -5569,7 +5569,7 @@ function cancelNotifyTimeout(info) {
5569
5569
  info["notifyTimeout"] = void 0;
5570
5570
  }
5571
5571
  }
5572
- var QueryInfo = (function () {
5572
+ var QueryInfo = (function () {
5573
5573
  function QueryInfo(queryManager, queryId) {
5574
5574
  if (queryId === void 0) { queryId = queryManager.generateQueryId(); }
5575
5575
  this.queryId = queryId;
@@ -5631,12 +5631,13 @@ var QueryInfo = (function () {
5631
5631
  return diff;
5632
5632
  };
5633
5633
  QueryInfo.prototype.updateLastDiff = function (diff, options) {
5634
- this.lastDiff = diff
5635
- ? {
5636
- diff: diff,
5637
- options: options || this.getDiffOptions(),
5638
- }
5639
- : void 0;
5634
+ this.lastDiff =
5635
+ diff ?
5636
+ {
5637
+ diff: diff,
5638
+ options: options || this.getDiffOptions(),
5639
+ }
5640
+ : void 0;
5640
5641
  };
5641
5642
  QueryInfo.prototype.getDiffOptions = function (variables) {
5642
5643
  var _a;
@@ -5743,9 +5744,7 @@ var QueryInfo = (function () {
5743
5744
  var _this = this;
5744
5745
  result = tslib.__assign({}, result);
5745
5746
  var merger = new DeepMerger();
5746
- var graphQLErrors = isNonEmptyArray(result.errors)
5747
- ? result.errors.slice(0)
5748
- : [];
5747
+ var graphQLErrors = isNonEmptyArray(result.errors) ? result.errors.slice(0) : [];
5749
5748
  this.reset();
5750
5749
  if ("incremental" in result && isNonEmptyArray(result.incremental)) {
5751
5750
  var mergedData = mergeIncrementalData(this.getDiff().result, result);
@@ -5759,7 +5758,7 @@ var QueryInfo = (function () {
5759
5758
  if (options.fetchPolicy === "no-cache") {
5760
5759
  this.updateLastDiff({ result: result.data, complete: true }, this.getDiffOptions(options.variables));
5761
5760
  }
5762
- else if (cacheWriteBehavior !== 0) {
5761
+ else if (cacheWriteBehavior !== 0 ) {
5763
5762
  if (shouldWriteResult(result, options.errorPolicy)) {
5764
5763
  this.cache.performTransaction(function (cache) {
5765
5764
  if (_this.shouldWrite(result, options.variables)) {
@@ -5767,7 +5766,7 @@ var QueryInfo = (function () {
5767
5766
  query: document,
5768
5767
  data: result.data,
5769
5768
  variables: options.variables,
5770
- overwrite: cacheWriteBehavior === 1,
5769
+ overwrite: cacheWriteBehavior === 1 ,
5771
5770
  });
5772
5771
  _this.lastWrite = {
5773
5772
  result: tslib.__assign({}, result),
@@ -5825,19 +5824,20 @@ function shouldWriteResult(result, errorPolicy) {
5825
5824
  }
5826
5825
 
5827
5826
  var hasOwnProperty$1 = Object.prototype.hasOwnProperty;
5828
- var QueryManager = (function () {
5827
+ var QueryManager = (function () {
5829
5828
  function QueryManager(_a) {
5830
- var _this = this;
5831
5829
  var cache = _a.cache, link = _a.link, defaultOptions = _a.defaultOptions, documentTransform = _a.documentTransform, _b = _a.queryDeduplication, queryDeduplication = _b === void 0 ? false : _b, onBroadcast = _a.onBroadcast, _c = _a.ssrMode, ssrMode = _c === void 0 ? false : _c, _d = _a.clientAwareness, clientAwareness = _d === void 0 ? {} : _d, localState = _a.localState, _e = _a.assumeImmutableResults, assumeImmutableResults = _e === void 0 ? !!cache.assumeImmutableResults : _e, defaultContext = _a.defaultContext;
5830
+ var _this = this;
5832
5831
  this.clientAwareness = {};
5833
5832
  this.queries = new Map();
5834
5833
  this.fetchCancelFns = new Map();
5835
- this.transformCache = new (canUseWeakMap ? WeakMap : Map)();
5834
+ this.transformCache = new caches.WeakCache( );
5836
5835
  this.queryIdCounter = 1;
5837
5836
  this.requestIdCounter = 1;
5838
5837
  this.mutationIdCounter = 1;
5839
- this.inFlightLinkObservables = new Map();
5840
- var defaultDocumentTransform = new DocumentTransform(function (document) { return _this.cache.transformDocument(document); }, { cache: false });
5838
+ this.inFlightLinkObservables = new trie.Trie(false);
5839
+ var defaultDocumentTransform = new DocumentTransform(function (document) { return _this.cache.transformDocument(document); },
5840
+ { cache: false });
5841
5841
  this.cache = cache;
5842
5842
  this.link = link;
5843
5843
  this.defaultOptions = defaultOptions || Object.create(null);
@@ -5846,15 +5846,21 @@ var QueryManager = (function () {
5846
5846
  this.localState = localState || new LocalState({ cache: cache });
5847
5847
  this.ssrMode = ssrMode;
5848
5848
  this.assumeImmutableResults = assumeImmutableResults;
5849
- this.documentTransform = documentTransform
5850
- ? defaultDocumentTransform
5851
- .concat(documentTransform)
5852
- .concat(defaultDocumentTransform)
5853
- : defaultDocumentTransform;
5849
+ this.documentTransform =
5850
+ documentTransform ?
5851
+ defaultDocumentTransform
5852
+ .concat(documentTransform)
5853
+ .concat(defaultDocumentTransform)
5854
+ : defaultDocumentTransform;
5854
5855
  this.defaultContext = defaultContext || Object.create(null);
5855
5856
  if ((this.onBroadcast = onBroadcast)) {
5856
5857
  this.mutationStore = Object.create(null);
5857
5858
  }
5859
+ Object.defineProperty(this.inFlightLinkObservables, "get", {
5860
+ value: function () {
5861
+ throw new Error("This version of Apollo Client requires at least @apollo/experimental-nextjs-app-support version 0.5.2.");
5862
+ },
5863
+ });
5858
5864
  }
5859
5865
  QueryManager.prototype.stop = function () {
5860
5866
  var _this = this;
@@ -5881,8 +5887,8 @@ var QueryManager = (function () {
5881
5887
  mutation = this.cache.transformForLink(this.transform(mutation));
5882
5888
  hasClientExports = this.getDocumentInfo(mutation).hasClientExports;
5883
5889
  variables = this.getVariables(mutation, variables);
5884
- if (!hasClientExports) return [3, 2];
5885
- return [4, this.localState.addExportedVariables(mutation, variables, context)];
5890
+ if (!hasClientExports) return [3 , 2];
5891
+ return [4 , this.localState.addExportedVariables(mutation, variables, context)];
5886
5892
  case 1:
5887
5893
  variables = (_h.sent());
5888
5894
  _h.label = 2;
@@ -5909,7 +5915,7 @@ var QueryManager = (function () {
5909
5915
  }
5910
5916
  this.broadcastQueries();
5911
5917
  self = this;
5912
- return [2, new Promise(function (resolve, reject) {
5918
+ return [2 , new Promise(function (resolve, reject) {
5913
5919
  return asyncMap(self.getObservableFromLink(mutation, tslib.__assign(tslib.__assign({}, context), { optimisticResponse: optimisticResponse }), variables, false), function (result) {
5914
5920
  if (graphQLResultHasError(result) && errorPolicy === "none") {
5915
5921
  throw new ApolloError({
@@ -5959,11 +5965,9 @@ var QueryManager = (function () {
5959
5965
  self.cache.removeOptimistic(mutationId);
5960
5966
  }
5961
5967
  self.broadcastQueries();
5962
- reject(err instanceof ApolloError
5963
- ? err
5964
- : new ApolloError({
5965
- networkError: err,
5966
- }));
5968
+ reject(err instanceof ApolloError ? err : (new ApolloError({
5969
+ networkError: err,
5970
+ })));
5967
5971
  },
5968
5972
  });
5969
5973
  })];
@@ -6106,8 +6110,8 @@ var QueryManager = (function () {
6106
6110
  };
6107
6111
  QueryManager.prototype.markMutationOptimistic = function (optimisticResponse, mutation) {
6108
6112
  var _this = this;
6109
- var data = typeof optimisticResponse === "function"
6110
- ? optimisticResponse(mutation.variables)
6113
+ var data = typeof optimisticResponse === "function" ?
6114
+ optimisticResponse(mutation.variables)
6111
6115
  : optimisticResponse;
6112
6116
  return this.cache.recordOptimisticTransaction(function (cache) {
6113
6117
  try {
@@ -6399,7 +6403,8 @@ var QueryManager = (function () {
6399
6403
  QueryManager.prototype.getLocalState = function () {
6400
6404
  return this.localState;
6401
6405
  };
6402
- QueryManager.prototype.getObservableFromLink = function (query, context, variables, deduplication) {
6406
+ QueryManager.prototype.getObservableFromLink = function (query, context, variables,
6407
+ deduplication) {
6403
6408
  var _this = this;
6404
6409
  var _a;
6405
6410
  if (deduplication === void 0) { deduplication = (_a = context === null || context === void 0 ? void 0 : context.queryDeduplication) !== null && _a !== void 0 ? _a : this.queryDeduplication; }
@@ -6416,19 +6421,16 @@ var QueryManager = (function () {
6416
6421
  context = operation.context;
6417
6422
  if (deduplication) {
6418
6423
  var printedServerQuery_1 = print(serverQuery);
6419
- var byVariables_1 = inFlightLinkObservables_1.get(printedServerQuery_1) || new Map();
6420
- inFlightLinkObservables_1.set(printedServerQuery_1, byVariables_1);
6421
6424
  var varJson_1 = canonicalStringify(variables);
6422
- observable = byVariables_1.get(varJson_1);
6425
+ var entry = inFlightLinkObservables_1.lookup(printedServerQuery_1, varJson_1);
6426
+ observable = entry.observable;
6423
6427
  if (!observable) {
6424
6428
  var concast = new Concast([
6425
6429
  execute(link, operation),
6426
6430
  ]);
6427
- byVariables_1.set(varJson_1, (observable = concast));
6431
+ observable = entry.observable = concast;
6428
6432
  concast.beforeNext(function () {
6429
- if (byVariables_1.delete(varJson_1) && byVariables_1.size < 1) {
6430
- inFlightLinkObservables_1.delete(printedServerQuery_1);
6431
- }
6433
+ inFlightLinkObservables_1.remove(printedServerQuery_1, varJson_1);
6432
6434
  });
6433
6435
  }
6434
6436
  }
@@ -6457,7 +6459,7 @@ var QueryManager = (function () {
6457
6459
  QueryManager.prototype.getResultsFromLink = function (queryInfo, cacheWriteBehavior, options) {
6458
6460
  var requestId = (queryInfo.lastRequestId = this.generateRequestId());
6459
6461
  var linkDocument = this.cache.transformForLink(options.query);
6460
- return asyncMap(this.getObservableFromLink(linkDocument, compact(this.defaultContext, options.context), options.variables), function (result) {
6462
+ return asyncMap(this.getObservableFromLink(linkDocument, options.context, options.variables), function (result) {
6461
6463
  var graphQLErrors = getGraphQLErrorsFromResult(result);
6462
6464
  var hasErrors = graphQLErrors.length > 0;
6463
6465
  if (requestId >= queryInfo.lastRequestId) {
@@ -6480,16 +6482,15 @@ var QueryManager = (function () {
6480
6482
  }
6481
6483
  return aqr;
6482
6484
  }, function (networkError) {
6483
- var error = isApolloError(networkError)
6484
- ? networkError
6485
- : new ApolloError({ networkError: networkError });
6485
+ var error = isApolloError(networkError) ? networkError : (new ApolloError({ networkError: networkError }));
6486
6486
  if (requestId >= queryInfo.lastRequestId) {
6487
6487
  queryInfo.markError(error);
6488
6488
  }
6489
6489
  throw error;
6490
6490
  });
6491
6491
  };
6492
- QueryManager.prototype.fetchConcastWithInfo = function (queryId, options, networkStatus, query) {
6492
+ QueryManager.prototype.fetchConcastWithInfo = function (queryId, options,
6493
+ networkStatus, query) {
6493
6494
  var _this = this;
6494
6495
  if (networkStatus === void 0) { networkStatus = exports.NetworkStatus.loading; }
6495
6496
  if (query === void 0) { query = options.query; }
@@ -6509,7 +6510,8 @@ var QueryManager = (function () {
6509
6510
  var fromVariables = function (variables) {
6510
6511
  normalized.variables = variables;
6511
6512
  var sourcesWithInfo = _this.fetchQueryByPolicy(queryInfo, normalized, networkStatus);
6512
- if (normalized.fetchPolicy !== "standby" &&
6513
+ if (
6514
+ normalized.fetchPolicy !== "standby" &&
6513
6515
  sourcesWithInfo.sources.length > 0 &&
6514
6516
  queryInfo.observableQuery) {
6515
6517
  queryInfo.observableQuery["applyNextFetchPolicy"]("after-fetch", options);
@@ -6607,7 +6609,8 @@ var QueryManager = (function () {
6607
6609
  }
6608
6610
  return results;
6609
6611
  };
6610
- QueryManager.prototype.fetchQueryByPolicy = function (queryInfo, _a, networkStatus) {
6612
+ QueryManager.prototype.fetchQueryByPolicy = function (queryInfo, _a,
6613
+ networkStatus) {
6611
6614
  var _this = this;
6612
6615
  var query = _a.query, variables = _a.variables, fetchPolicy = _a.fetchPolicy, refetchWritePolicy = _a.refetchWritePolicy, errorPolicy = _a.errorPolicy, returnPartialData = _a.returnPartialData, context = _a.context, notifyOnNetworkStatusChange = _a.notifyOnNetworkStatusChange;
6613
6616
  var oldNetworkStatus = queryInfo.networkStatus;
@@ -6644,13 +6647,11 @@ var QueryManager = (function () {
6644
6647
  }
6645
6648
  return fromData(data);
6646
6649
  };
6647
- var cacheWriteBehavior = fetchPolicy === "no-cache"
6648
- ? 0
6649
- :
6650
- networkStatus === exports.NetworkStatus.refetch &&
6651
- refetchWritePolicy !== "merge"
6652
- ? 1
6653
- : 2;
6650
+ var cacheWriteBehavior = fetchPolicy === "no-cache" ? 0
6651
+ : (networkStatus === exports.NetworkStatus.refetch &&
6652
+ refetchWritePolicy !== "merge") ?
6653
+ 1
6654
+ : 2 ;
6654
6655
  var resultsFromLink = function () {
6655
6656
  return _this.getResultsFromLink(queryInfo, cacheWriteBehavior, {
6656
6657
  query: query,
@@ -6726,13 +6727,13 @@ var QueryManager = (function () {
6726
6727
  QueryManager.prototype.prepareContext = function (context) {
6727
6728
  if (context === void 0) { context = {}; }
6728
6729
  var newContext = this.localState.prepareContext(context);
6729
- return tslib.__assign(tslib.__assign({}, newContext), { clientAwareness: this.clientAwareness });
6730
+ return tslib.__assign(tslib.__assign(tslib.__assign({}, this.defaultContext), newContext), { clientAwareness: this.clientAwareness });
6730
6731
  };
6731
6732
  return QueryManager;
6732
6733
  }());
6733
6734
 
6734
6735
  var hasSuggestedDevtools = false;
6735
- var ApolloClient = (function () {
6736
+ var ApolloClient = (function () {
6736
6737
  function ApolloClient(options) {
6737
6738
  var _this = this;
6738
6739
  this.resetStoreCallbacks = [];
@@ -6740,14 +6741,15 @@ var ApolloClient = (function () {
6740
6741
  if (!options.cache) {
6741
6742
  throw newInvariantError(15);
6742
6743
  }
6743
- var uri = options.uri, credentials = options.credentials, headers = options.headers, cache = options.cache, documentTransform = options.documentTransform, _a = options.ssrMode, ssrMode = _a === void 0 ? false : _a, _b = options.ssrForceFetchDelay, ssrForceFetchDelay = _b === void 0 ? 0 : _b, _c = options.connectToDevTools, connectToDevTools = _c === void 0 ? typeof window === "object" &&
6744
+ var uri = options.uri, credentials = options.credentials, headers = options.headers, cache = options.cache, documentTransform = options.documentTransform, _a = options.ssrMode, ssrMode = _a === void 0 ? false : _a, _b = options.ssrForceFetchDelay, ssrForceFetchDelay = _b === void 0 ? 0 : _b,
6745
+ _c = options.connectToDevTools,
6746
+ connectToDevTools = _c === void 0 ? typeof window === "object" &&
6744
6747
  !window.__APOLLO_CLIENT__ &&
6745
6748
  globalThis.__DEV__ !== false : _c, _d = options.queryDeduplication, queryDeduplication = _d === void 0 ? true : _d, defaultOptions = options.defaultOptions, defaultContext = options.defaultContext, _e = options.assumeImmutableResults, assumeImmutableResults = _e === void 0 ? cache.assumeImmutableResults : _e, resolvers = options.resolvers, typeDefs = options.typeDefs, fragmentMatcher = options.fragmentMatcher, clientAwarenessName = options.name, clientAwarenessVersion = options.version;
6746
6749
  var link = options.link;
6747
6750
  if (!link) {
6748
- link = uri
6749
- ? new HttpLink({ uri: uri, credentials: credentials, headers: headers })
6750
- : ApolloLink.empty();
6751
+ link =
6752
+ uri ? new HttpLink({ uri: uri, credentials: credentials, headers: headers }) : ApolloLink.empty();
6751
6753
  }
6752
6754
  this.link = link;
6753
6755
  this.cache = cache;
@@ -6784,8 +6786,8 @@ var ApolloClient = (function () {
6784
6786
  },
6785
6787
  localState: this.localState,
6786
6788
  assumeImmutableResults: assumeImmutableResults,
6787
- onBroadcast: connectToDevTools
6788
- ? function () {
6789
+ onBroadcast: connectToDevTools ?
6790
+ function () {
6789
6791
  if (_this.devToolsHookCb) {
6790
6792
  _this.devToolsHookCb({
6791
6793
  action: {},
@@ -6996,9 +6998,7 @@ var ApolloClient = (function () {
6996
6998
  return ApolloClient;
6997
6999
  }());
6998
7000
 
6999
- var contextKey = canUseSymbol
7000
- ? Symbol.for("__APOLLO_CONTEXT__")
7001
- : "__APOLLO_CONTEXT__";
7001
+ var contextKey = canUseSymbol ? Symbol.for("__APOLLO_CONTEXT__") : "__APOLLO_CONTEXT__";
7002
7002
  function getApolloContext() {
7003
7003
  invariant("createContext" in React__namespace, 45);
7004
7004
  var context = React__namespace.createContext[contextKey];
@@ -7047,7 +7047,8 @@ var realHook$1 = React__namespace[uSESKey];
7047
7047
  var useSyncExternalStore = realHook$1 ||
7048
7048
  (function (subscribe, getSnapshot, getServerSnapshot) {
7049
7049
  var value = getSnapshot();
7050
- if (globalThis.__DEV__ !== false &&
7050
+ if (
7051
+ globalThis.__DEV__ !== false &&
7051
7052
  !didWarnUncachedGetSnapshot &&
7052
7053
  value !== getSnapshot()) {
7053
7054
  didWarnUncachedGetSnapshot = true;
@@ -7095,7 +7096,7 @@ exports.DocumentType = void 0;
7095
7096
  DocumentType[DocumentType["Mutation"] = 1] = "Mutation";
7096
7097
  DocumentType[DocumentType["Subscription"] = 2] = "Subscription";
7097
7098
  })(exports.DocumentType || (exports.DocumentType = {}));
7098
- var cache = new Map();
7099
+ var cache;
7099
7100
  function operationName(type) {
7100
7101
  var name;
7101
7102
  switch (type) {
@@ -7112,6 +7113,10 @@ function operationName(type) {
7112
7113
  return name;
7113
7114
  }
7114
7115
  function parser(document) {
7116
+ if (!cache) {
7117
+ cache =
7118
+ new caches.WeakCache( );
7119
+ }
7115
7120
  var cached = cache.get(document);
7116
7121
  if (cached)
7117
7122
  return cached;
@@ -7156,10 +7161,8 @@ function parser(document) {
7156
7161
  type = queries.length ? exports.DocumentType.Query : exports.DocumentType.Mutation;
7157
7162
  if (!queries.length && !mutations.length)
7158
7163
  type = exports.DocumentType.Subscription;
7159
- var definitions = queries.length
7160
- ? queries
7161
- : mutations.length
7162
- ? mutations
7164
+ var definitions = queries.length ? queries
7165
+ : mutations.length ? mutations
7163
7166
  : subscriptions;
7164
7167
  invariant(definitions.length === 1, 62, document, definitions.length);
7165
7168
  var definition = definitions[0];
@@ -7174,6 +7177,9 @@ function parser(document) {
7174
7177
  cache.set(document, payload);
7175
7178
  return payload;
7176
7179
  }
7180
+ parser.resetCache = function () {
7181
+ cache = undefined;
7182
+ };
7177
7183
  function verifyDocumentType(document, type) {
7178
7184
  var operation = parser(document);
7179
7185
  var requiredOperationName = operationName(type);
@@ -7203,7 +7209,7 @@ function useInternalState(client, query) {
7203
7209
  state.forceUpdateState = React__namespace.useReducer(function (tick) { return tick + 1; }, 0)[1];
7204
7210
  return state;
7205
7211
  }
7206
- var InternalState = (function () {
7212
+ var InternalState = (function () {
7207
7213
  function InternalState(client, query, previous) {
7208
7214
  var _this = this;
7209
7215
  this.client = client;
@@ -7230,7 +7236,7 @@ var InternalState = (function () {
7230
7236
  }
7231
7237
  }
7232
7238
  InternalState.prototype.forceUpdateState = function () {
7233
- globalThis.__DEV__ !== false && invariant.warn(50);
7239
+ globalThis.__DEV__ !== false && invariant.warn(51);
7234
7240
  };
7235
7241
  InternalState.prototype.executeQuery = function (options) {
7236
7242
  var _this = this;
@@ -7353,7 +7359,8 @@ var InternalState = (function () {
7353
7359
  InternalState.prototype.createWatchQueryOptions = function (_a) {
7354
7360
  var _b;
7355
7361
  if (_a === void 0) { _a = {}; }
7356
- var skip = _a.skip; _a.ssr; _a.onCompleted; _a.onError; _a.defaultOptions; var otherOptions = tslib.__rest(_a, ["skip", "ssr", "onCompleted", "onError", "defaultOptions"]);
7362
+ var skip = _a.skip; _a.ssr; _a.onCompleted; _a.onError; _a.defaultOptions;
7363
+ var otherOptions = tslib.__rest(_a, ["skip", "ssr", "onCompleted", "onError", "defaultOptions"]);
7357
7364
  var watchQueryOptions = Object.assign(otherOptions, { query: this.query });
7358
7365
  if (this.renderPromises &&
7359
7366
  (watchQueryOptions.fetchPolicy === "network-only" ||
@@ -7439,8 +7446,8 @@ var InternalState = (function () {
7439
7446
  }
7440
7447
  };
7441
7448
  InternalState.prototype.toApolloError = function (result) {
7442
- return isNonEmptyArray(result.errors)
7443
- ? new ApolloError({ graphQLErrors: result.errors })
7449
+ return isNonEmptyArray(result.errors) ?
7450
+ new ApolloError({ graphQLErrors: result.errors })
7444
7451
  : result.error;
7445
7452
  };
7446
7453
  InternalState.prototype.getCurrentResult = function () {
@@ -7520,10 +7527,10 @@ function useLazyQuery(query, options) {
7520
7527
  }, []);
7521
7528
  Object.assign(result, eagerMethods);
7522
7529
  var execute = React__namespace.useCallback(function (executeOptions) {
7523
- execOptionsRef.current = executeOptions
7524
- ? tslib.__assign(tslib.__assign({}, executeOptions), { fetchPolicy: executeOptions.fetchPolicy || initialFetchPolicy }) : {
7525
- fetchPolicy: initialFetchPolicy,
7526
- };
7530
+ execOptionsRef.current =
7531
+ executeOptions ? tslib.__assign(tslib.__assign({}, executeOptions), { fetchPolicy: executeOptions.fetchPolicy || initialFetchPolicy }) : {
7532
+ fetchPolicy: initialFetchPolicy,
7533
+ };
7527
7534
  var options = mergeOptions(optionsRef.current, tslib.__assign({ query: queryRef.current }, execOptionsRef.current));
7528
7535
  var promise = internalState
7529
7536
  .executeQuery(tslib.__assign(tslib.__assign({}, options), { skip: false }))
@@ -7576,8 +7583,8 @@ function useMutation(mutation, options) {
7576
7583
  .then(function (response) {
7577
7584
  var _a, _b;
7578
7585
  var data = response.data, errors = response.errors;
7579
- var error = errors && errors.length > 0
7580
- ? new ApolloError({ graphQLErrors: errors })
7586
+ var error = errors && errors.length > 0 ?
7587
+ new ApolloError({ graphQLErrors: errors })
7581
7588
  : void 0;
7582
7589
  var onError = executeOptions.onError || ((_a = ref.current.options) === null || _a === void 0 ? void 0 : _a.onError);
7583
7590
  if (error && onError) {
@@ -7626,7 +7633,9 @@ function useMutation(mutation, options) {
7626
7633
  }, []);
7627
7634
  var reset = React__namespace.useCallback(function () {
7628
7635
  if (ref.current.isMounted) {
7629
- setResult({ called: false, loading: false, client: client });
7636
+ var result_3 = { called: false, loading: false, client: client };
7637
+ Object.assign(ref.current, { mutationId: 0, result: result_3 });
7638
+ setResult(result_3);
7630
7639
  }
7631
7640
  }, []);
7632
7641
  React__namespace.useEffect(function () {
@@ -7799,9 +7808,9 @@ function useFragment(options) {
7799
7808
  var latestDiff = cache.diff(diffOptions);
7800
7809
  var getSnapshot = function () {
7801
7810
  var latestDiffToResult = diffToResult(latestDiff);
7802
- return resultRef.current &&
7803
- equal.equal(resultRef.current.data, latestDiffToResult.data)
7804
- ? resultRef.current
7811
+ return (resultRef.current &&
7812
+ equal.equal(resultRef.current.data, latestDiffToResult.data)) ?
7813
+ resultRef.current
7805
7814
  : (resultRef.current = latestDiffToResult);
7806
7815
  };
7807
7816
  return useSyncExternalStore(function (forceUpdate) {
@@ -7837,6 +7846,18 @@ function useDeepMemo(memoFn, deps) {
7837
7846
  return ref.current.value;
7838
7847
  }
7839
7848
 
7849
+ function getRenderDispatcher() {
7850
+ var _a, _b;
7851
+ return (_b = (_a = React__namespace.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentDispatcher) === null || _b === void 0 ? void 0 : _b.current;
7852
+ }
7853
+ var RenderDispatcher = null;
7854
+ function useRenderGuard() {
7855
+ RenderDispatcher = getRenderDispatcher();
7856
+ return React__namespace.useCallback(function () {
7857
+ return (RenderDispatcher !== null && RenderDispatcher === getRenderDispatcher());
7858
+ }, []);
7859
+ }
7860
+
7840
7861
  var useKey = "use";
7841
7862
  var realHook = React__namespace[useKey];
7842
7863
  var __use = realHook ||
@@ -7853,12 +7874,27 @@ var __use = realHook ||
7853
7874
  };
7854
7875
 
7855
7876
  var QUERY_REFERENCE_SYMBOL = Symbol();
7877
+ var PROMISE_SYMBOL = Symbol();
7856
7878
  function wrapQueryRef(internalQueryRef) {
7857
7879
  var _a;
7858
- return _a = {}, _a[QUERY_REFERENCE_SYMBOL] = internalQueryRef, _a;
7880
+ return _a = {},
7881
+ _a[QUERY_REFERENCE_SYMBOL] = internalQueryRef,
7882
+ _a[PROMISE_SYMBOL] = internalQueryRef.promise,
7883
+ _a;
7859
7884
  }
7860
7885
  function unwrapQueryRef(queryRef) {
7861
- return queryRef[QUERY_REFERENCE_SYMBOL];
7886
+ var internalQueryRef = queryRef[QUERY_REFERENCE_SYMBOL];
7887
+ return [
7888
+ internalQueryRef,
7889
+ function () {
7890
+ return internalQueryRef.promise.status === "fulfilled" ?
7891
+ internalQueryRef.promise
7892
+ : queryRef[PROMISE_SYMBOL];
7893
+ },
7894
+ ];
7895
+ }
7896
+ function updateWrappedQueryRef(queryRef, promise) {
7897
+ queryRef[PROMISE_SYMBOL] = promise;
7862
7898
  }
7863
7899
  var OBSERVED_CHANGED_OPTIONS = [
7864
7900
  "canonizeResults",
@@ -7868,9 +7904,10 @@ var OBSERVED_CHANGED_OPTIONS = [
7868
7904
  "refetchWritePolicy",
7869
7905
  "returnPartialData",
7870
7906
  ];
7871
- var InternalQueryReference = (function () {
7907
+ var InternalQueryReference = (function () {
7872
7908
  function InternalQueryReference(observable, options) {
7873
7909
  var _this = this;
7910
+ this.key = {};
7874
7911
  this.listeners = new Set();
7875
7912
  this.status = "loading";
7876
7913
  this.references = 0;
@@ -7879,7 +7916,6 @@ var InternalQueryReference = (function () {
7879
7916
  this.dispose = this.dispose.bind(this);
7880
7917
  this.observable = observable;
7881
7918
  this.result = observable.getCurrentResult(false);
7882
- this.key = options.key;
7883
7919
  if (options.onDispose) {
7884
7920
  this.onDispose = options.onDispose;
7885
7921
  }
@@ -7890,10 +7926,10 @@ var InternalQueryReference = (function () {
7890
7926
  this.status = "idle";
7891
7927
  }
7892
7928
  else {
7893
- this.promise = new Promise(function (resolve, reject) {
7929
+ this.promise = wrapPromiseWithState(new Promise(function (resolve, reject) {
7894
7930
  _this.resolve = resolve;
7895
7931
  _this.reject = reject;
7896
- });
7932
+ }));
7897
7933
  }
7898
7934
  this.subscription = observable
7899
7935
  .filter(function (_a) {
@@ -8025,10 +8061,10 @@ var InternalQueryReference = (function () {
8025
8061
  InternalQueryReference.prototype.initiateFetch = function (returnedPromise) {
8026
8062
  var _this = this;
8027
8063
  this.status = "loading";
8028
- this.promise = new Promise(function (resolve, reject) {
8064
+ this.promise = wrapPromiseWithState(new Promise(function (resolve, reject) {
8029
8065
  _this.resolve = resolve;
8030
8066
  _this.reject = reject;
8031
- });
8067
+ }));
8032
8068
  this.promise.catch(function () { });
8033
8069
  returnedPromise
8034
8070
  .then(function (result) {
@@ -8045,7 +8081,7 @@ var InternalQueryReference = (function () {
8045
8081
  return InternalQueryReference;
8046
8082
  }());
8047
8083
 
8048
- var SuspenseCache = (function () {
8084
+ var SuspenseCache = (function () {
8049
8085
  function SuspenseCache(options) {
8050
8086
  if (options === void 0) { options = Object.create(null); }
8051
8087
  this.queryRefs = new trie.Trie(canUseWeakMap);
@@ -8055,7 +8091,6 @@ var SuspenseCache = (function () {
8055
8091
  var ref = this.queryRefs.lookupArray(cacheKey);
8056
8092
  if (!ref.current) {
8057
8093
  ref.current = new InternalQueryReference(createObservable(), {
8058
- key: cacheKey,
8059
8094
  autoDisposeTimeoutMs: this.options.autoDisposeTimeoutMs,
8060
8095
  onDispose: function () {
8061
8096
  delete ref.current;
@@ -8082,7 +8117,11 @@ function useSuspenseQuery(query, options) {
8082
8117
  if (options === void 0) { options = Object.create(null); }
8083
8118
  var client = useApolloClient(options.client);
8084
8119
  var suspenseCache = getSuspenseCache(client);
8085
- var watchQueryOptions = useWatchQueryOptions({ client: client, query: query, options: options });
8120
+ var watchQueryOptions = useWatchQueryOptions({
8121
+ client: client,
8122
+ query: query,
8123
+ options: options,
8124
+ });
8086
8125
  var fetchPolicy = watchQueryOptions.fetchPolicy, variables = watchQueryOptions.variables;
8087
8126
  var _a = options.queryKey, queryKey = _a === void 0 ? [] : _a;
8088
8127
  var cacheKey = tslib.__spreadArray([
@@ -8092,22 +8131,19 @@ function useSuspenseQuery(query, options) {
8092
8131
  var queryRef = suspenseCache.getQueryRef(cacheKey, function () {
8093
8132
  return client.watchQuery(watchQueryOptions);
8094
8133
  });
8095
- var _b = React__namespace.useState(function () { return new Map([[queryRef.key, queryRef.promise]]); }), promiseCache = _b[0], setPromiseCache = _b[1];
8096
- var promise = promiseCache.get(queryRef.key);
8097
- if (queryRef.didChangeOptions(watchQueryOptions)) {
8098
- promise = queryRef.applyOptions(watchQueryOptions);
8099
- promiseCache.set(queryRef.key, promise);
8134
+ var _b = React__namespace.useState([queryRef.key, queryRef.promise]), current = _b[0], setPromise = _b[1];
8135
+ if (current[0] !== queryRef.key) {
8136
+ current[0] = queryRef.key;
8137
+ current[1] = queryRef.promise;
8100
8138
  }
8101
- if (!promise) {
8102
- promise = queryRef.promise;
8103
- promiseCache.set(queryRef.key, promise);
8139
+ var promise = current[1];
8140
+ if (queryRef.didChangeOptions(watchQueryOptions)) {
8141
+ current[1] = promise = queryRef.applyOptions(watchQueryOptions);
8104
8142
  }
8105
8143
  React__namespace.useEffect(function () {
8106
8144
  var dispose = queryRef.retain();
8107
8145
  var removeListener = queryRef.listen(function (promise) {
8108
- setPromiseCache(function (promiseCache) {
8109
- return new Map(promiseCache).set(queryRef.key, promise);
8110
- });
8146
+ setPromise([queryRef.key, promise]);
8111
8147
  });
8112
8148
  return function () {
8113
8149
  removeListener();
@@ -8124,18 +8160,14 @@ function useSuspenseQuery(query, options) {
8124
8160
  };
8125
8161
  }, [queryRef.result]);
8126
8162
  var result = fetchPolicy === "standby" ? skipResult : __use(promise);
8127
- var fetchMore = React__namespace.useCallback(function (options) {
8163
+ var fetchMore = React__namespace.useCallback((function (options) {
8128
8164
  var promise = queryRef.fetchMore(options);
8129
- setPromiseCache(function (previousPromiseCache) {
8130
- return new Map(previousPromiseCache).set(queryRef.key, queryRef.promise);
8131
- });
8165
+ setPromise([queryRef.key, queryRef.promise]);
8132
8166
  return promise;
8133
- }, [queryRef]);
8167
+ }), [queryRef]);
8134
8168
  var refetch = React__namespace.useCallback(function (variables) {
8135
8169
  var promise = queryRef.refetch(variables);
8136
- setPromiseCache(function (previousPromiseCache) {
8137
- return new Map(previousPromiseCache).set(queryRef.key, queryRef.promise);
8138
- });
8170
+ setPromise([queryRef.key, queryRef.promise]);
8139
8171
  return promise;
8140
8172
  }, [queryRef]);
8141
8173
  var subscribeToMore = React__namespace.useCallback(function (options) { return queryRef.observable.subscribeToMore(options); }, [queryRef]);
@@ -8173,8 +8205,8 @@ function validatePartialDataReturn(fetchPolicy, returnPartialData) {
8173
8205
  }
8174
8206
  }
8175
8207
  function toApolloError(result) {
8176
- return isNonEmptyArray(result.errors)
8177
- ? new ApolloError({ graphQLErrors: result.errors })
8208
+ return isNonEmptyArray(result.errors) ?
8209
+ new ApolloError({ graphQLErrors: result.errors })
8178
8210
  : result.error;
8179
8211
  }
8180
8212
  function useWatchQueryOptions(_a) {
@@ -8214,47 +8246,91 @@ function useBackgroundQuery(query, options) {
8214
8246
  var queryRef = suspenseCache.getQueryRef(cacheKey, function () {
8215
8247
  return client.watchQuery(watchQueryOptions);
8216
8248
  });
8217
- var _b = React__namespace.useState(function () { return new Map([[queryRef.key, queryRef.promise]]); }), promiseCache = _b[0], setPromiseCache = _b[1];
8249
+ var _b = React__namespace.useState(wrapQueryRef(queryRef)), wrappedQueryRef = _b[0], setWrappedQueryRef = _b[1];
8250
+ if (unwrapQueryRef(wrappedQueryRef)[0] !== queryRef) {
8251
+ setWrappedQueryRef(wrapQueryRef(queryRef));
8252
+ }
8218
8253
  if (queryRef.didChangeOptions(watchQueryOptions)) {
8219
8254
  var promise = queryRef.applyOptions(watchQueryOptions);
8220
- promiseCache.set(queryRef.key, promise);
8255
+ updateWrappedQueryRef(wrappedQueryRef, promise);
8221
8256
  }
8222
8257
  React__namespace.useEffect(function () { return queryRef.retain(); }, [queryRef]);
8223
8258
  var fetchMore = React__namespace.useCallback(function (options) {
8224
8259
  var promise = queryRef.fetchMore(options);
8225
- setPromiseCache(function (promiseCache) {
8226
- return new Map(promiseCache).set(queryRef.key, queryRef.promise);
8227
- });
8260
+ setWrappedQueryRef(wrapQueryRef(queryRef));
8228
8261
  return promise;
8229
8262
  }, [queryRef]);
8230
8263
  var refetch = React__namespace.useCallback(function (variables) {
8231
8264
  var promise = queryRef.refetch(variables);
8232
- setPromiseCache(function (promiseCache) {
8233
- return new Map(promiseCache).set(queryRef.key, queryRef.promise);
8234
- });
8265
+ setWrappedQueryRef(wrapQueryRef(queryRef));
8235
8266
  return promise;
8236
8267
  }, [queryRef]);
8237
- queryRef.promiseCache = promiseCache;
8238
- var wrappedQueryRef = React__namespace.useMemo(function () { return wrapQueryRef(queryRef); }, [queryRef]);
8239
8268
  return [
8240
8269
  didFetchResult.current ? wrappedQueryRef : void 0,
8241
8270
  { fetchMore: fetchMore, refetch: refetch },
8242
8271
  ];
8243
8272
  }
8244
8273
 
8274
+ function useLoadableQuery(query, options) {
8275
+ if (options === void 0) { options = Object.create(null); }
8276
+ var client = useApolloClient(options.client);
8277
+ var suspenseCache = getSuspenseCache(client);
8278
+ var watchQueryOptions = useWatchQueryOptions({ client: client, query: query, options: options });
8279
+ var _a = options.queryKey, queryKey = _a === void 0 ? [] : _a;
8280
+ var _b = React__namespace.useState(null), queryRef = _b[0], setQueryRef = _b[1];
8281
+ var internalQueryRef = queryRef && unwrapQueryRef(queryRef)[0];
8282
+ if (queryRef && (internalQueryRef === null || internalQueryRef === void 0 ? void 0 : internalQueryRef.didChangeOptions(watchQueryOptions))) {
8283
+ var promise = internalQueryRef.applyOptions(watchQueryOptions);
8284
+ updateWrappedQueryRef(queryRef, promise);
8285
+ }
8286
+ var calledDuringRender = useRenderGuard();
8287
+ React__namespace.useEffect(function () { return internalQueryRef === null || internalQueryRef === void 0 ? void 0 : internalQueryRef.retain(); }, [internalQueryRef]);
8288
+ var fetchMore = React__namespace.useCallback(function (options) {
8289
+ if (!internalQueryRef) {
8290
+ throw new Error("The query has not been loaded. Please load the query.");
8291
+ }
8292
+ var promise = internalQueryRef.fetchMore(options);
8293
+ setQueryRef(wrapQueryRef(internalQueryRef));
8294
+ return promise;
8295
+ }, [internalQueryRef]);
8296
+ var refetch = React__namespace.useCallback(function (options) {
8297
+ if (!internalQueryRef) {
8298
+ throw new Error("The query has not been loaded. Please load the query.");
8299
+ }
8300
+ var promise = internalQueryRef.refetch(options);
8301
+ setQueryRef(wrapQueryRef(internalQueryRef));
8302
+ return promise;
8303
+ }, [internalQueryRef]);
8304
+ var loadQuery = React__namespace.useCallback(function () {
8305
+ var args = [];
8306
+ for (var _i = 0; _i < arguments.length; _i++) {
8307
+ args[_i] = arguments[_i];
8308
+ }
8309
+ invariant(!calledDuringRender(), 50);
8310
+ var variables = args[0];
8311
+ var cacheKey = tslib.__spreadArray([
8312
+ query,
8313
+ canonicalStringify(variables)
8314
+ ], [].concat(queryKey), true);
8315
+ var queryRef = suspenseCache.getQueryRef(cacheKey, function () {
8316
+ return client.watchQuery(tslib.__assign(tslib.__assign({}, watchQueryOptions), { variables: variables }));
8317
+ });
8318
+ setQueryRef(wrapQueryRef(queryRef));
8319
+ }, [query, queryKey, suspenseCache, watchQueryOptions, calledDuringRender]);
8320
+ var reset = React__namespace.useCallback(function () {
8321
+ setQueryRef(null);
8322
+ }, [queryRef]);
8323
+ return [loadQuery, queryRef, { fetchMore: fetchMore, refetch: refetch, reset: reset }];
8324
+ }
8325
+
8245
8326
  function useReadQuery(queryRef) {
8246
- var internalQueryRef = unwrapQueryRef(queryRef);
8247
- invariant(internalQueryRef.promiseCache, 51);
8248
- var promiseCache = internalQueryRef.promiseCache, key = internalQueryRef.key;
8249
- if (!promiseCache.has(key)) {
8250
- promiseCache.set(key, internalQueryRef.promise);
8251
- }
8327
+ var _a = React__namespace.useMemo(function () { return unwrapQueryRef(queryRef); }, [queryRef]), internalQueryRef = _a[0], getPromise = _a[1];
8252
8328
  var promise = useSyncExternalStore(React__namespace.useCallback(function (forceUpdate) {
8253
8329
  return internalQueryRef.listen(function (promise) {
8254
- internalQueryRef.promiseCache.set(internalQueryRef.key, promise);
8330
+ updateWrappedQueryRef(queryRef, promise);
8255
8331
  forceUpdate();
8256
8332
  });
8257
- }, [internalQueryRef]), function () { return promiseCache.get(key); }, function () { return promiseCache.get(key); });
8333
+ }, [internalQueryRef]), getPromise, getPromise);
8258
8334
  var result = __use(promise);
8259
8335
  return React__namespace.useMemo(function () {
8260
8336
  return {
@@ -8319,6 +8395,7 @@ exports.useApolloClient = useApolloClient;
8319
8395
  exports.useBackgroundQuery = useBackgroundQuery;
8320
8396
  exports.useFragment = useFragment;
8321
8397
  exports.useLazyQuery = useLazyQuery;
8398
+ exports.useLoadableQuery = useLoadableQuery;
8322
8399
  exports.useMutation = useMutation;
8323
8400
  exports.useQuery = useQuery;
8324
8401
  exports.useReactiveVar = useReactiveVar;