@depup/apollo__client 4.1.6-depup.0

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 (1756) hide show
  1. package/CHANGELOG.md +9911 -0
  2. package/LICENSE +22 -0
  3. package/README.md +35 -0
  4. package/__cjs/cache/core/cache.cjs +362 -0
  5. package/__cjs/cache/core/cache.cjs.map +1 -0
  6. package/__cjs/cache/core/cache.d.cts +291 -0
  7. package/__cjs/cache/core/types/Cache.cjs +3 -0
  8. package/__cjs/cache/core/types/Cache.cjs.map +1 -0
  9. package/__cjs/cache/core/types/Cache.d.cts +302 -0
  10. package/__cjs/cache/core/types/common.cjs +33 -0
  11. package/__cjs/cache/core/types/common.cjs.map +1 -0
  12. package/__cjs/cache/core/types/common.d.cts +64 -0
  13. package/__cjs/cache/deprecated.cjs +3 -0
  14. package/__cjs/cache/deprecated.cjs.map +1 -0
  15. package/__cjs/cache/deprecated.d.cts +6 -0
  16. package/__cjs/cache/index.cjs +25 -0
  17. package/__cjs/cache/index.cjs.map +1 -0
  18. package/__cjs/cache/index.d.cts +19 -0
  19. package/__cjs/cache/inmemory/entityStore.cjs +679 -0
  20. package/__cjs/cache/inmemory/entityStore.cjs.map +1 -0
  21. package/__cjs/cache/inmemory/entityStore.d.cts +94 -0
  22. package/__cjs/cache/inmemory/fragmentRegistry.cjs +134 -0
  23. package/__cjs/cache/inmemory/fragmentRegistry.cjs.map +1 -0
  24. package/__cjs/cache/inmemory/fragmentRegistry.d.cts +9 -0
  25. package/__cjs/cache/inmemory/helpers.cjs +93 -0
  26. package/__cjs/cache/inmemory/helpers.cjs.map +1 -0
  27. package/__cjs/cache/inmemory/helpers.d.cts +21 -0
  28. package/__cjs/cache/inmemory/inMemoryCache.cjs +514 -0
  29. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -0
  30. package/__cjs/cache/inmemory/inMemoryCache.d.cts +114 -0
  31. package/__cjs/cache/inmemory/key-extractor.cjs +192 -0
  32. package/__cjs/cache/inmemory/key-extractor.cjs.map +1 -0
  33. package/__cjs/cache/inmemory/key-extractor.d.cts +9 -0
  34. package/__cjs/cache/inmemory/policies.cjs +674 -0
  35. package/__cjs/cache/inmemory/policies.cjs.map +1 -0
  36. package/__cjs/cache/inmemory/policies.d.cts +126 -0
  37. package/__cjs/cache/inmemory/reactiveVars.cjs +89 -0
  38. package/__cjs/cache/inmemory/reactiveVars.cjs.map +1 -0
  39. package/__cjs/cache/inmemory/reactiveVars.d.cts +19 -0
  40. package/__cjs/cache/inmemory/readFromStore.cjs +293 -0
  41. package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -0
  42. package/__cjs/cache/inmemory/readFromStore.d.cts +26 -0
  43. package/__cjs/cache/inmemory/types.cjs +3 -0
  44. package/__cjs/cache/inmemory/types.cjs.map +1 -0
  45. package/__cjs/cache/inmemory/types.d.cts +109 -0
  46. package/__cjs/cache/inmemory/writeToStore.cjs +594 -0
  47. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -0
  48. package/__cjs/cache/inmemory/writeToStore.d.cts +38 -0
  49. package/__cjs/core/ApolloClient.cjs +539 -0
  50. package/__cjs/core/ApolloClient.cjs.map +1 -0
  51. package/__cjs/core/ApolloClient.d.cts +1210 -0
  52. package/__cjs/core/ObservableQuery.cjs +1413 -0
  53. package/__cjs/core/ObservableQuery.cjs.map +1 -0
  54. package/__cjs/core/ObservableQuery.d.cts +467 -0
  55. package/__cjs/core/QueryInfo.cjs +401 -0
  56. package/__cjs/core/QueryInfo.cjs.map +1 -0
  57. package/__cjs/core/QueryInfo.d.cts +70 -0
  58. package/__cjs/core/QueryManager.cjs +1170 -0
  59. package/__cjs/core/QueryManager.cjs.map +1 -0
  60. package/__cjs/core/QueryManager.d.cts +168 -0
  61. package/__cjs/core/deprecated.cjs +3 -0
  62. package/__cjs/core/deprecated.cjs.map +1 -0
  63. package/__cjs/core/deprecated.d.cts +29 -0
  64. package/__cjs/core/index.cjs +79 -0
  65. package/__cjs/core/index.cjs.map +1 -0
  66. package/__cjs/core/index.d.cts +31 -0
  67. package/__cjs/core/networkStatus.cjs +51 -0
  68. package/__cjs/core/networkStatus.cjs.map +1 -0
  69. package/__cjs/core/networkStatus.d.cts +47 -0
  70. package/__cjs/core/types.cjs +3 -0
  71. package/__cjs/core/types.cjs.map +1 -0
  72. package/__cjs/core/types.d.cts +327 -0
  73. package/__cjs/core/watchQueryOptions.cjs +3 -0
  74. package/__cjs/core/watchQueryOptions.cjs.map +1 -0
  75. package/__cjs/core/watchQueryOptions.d.cts +75 -0
  76. package/__cjs/dev/index.cjs +12 -0
  77. package/__cjs/dev/index.cjs.map +1 -0
  78. package/__cjs/dev/index.d.cts +6 -0
  79. package/__cjs/dev/loadDevMessages.cjs +9 -0
  80. package/__cjs/dev/loadDevMessages.cjs.map +1 -0
  81. package/__cjs/dev/loadDevMessages.d.cts +2 -0
  82. package/__cjs/dev/loadErrorMessageHandler.cjs +27 -0
  83. package/__cjs/dev/loadErrorMessageHandler.cjs.map +1 -0
  84. package/__cjs/dev/loadErrorMessageHandler.d.cts +8 -0
  85. package/__cjs/dev/loadErrorMessages.cjs +9 -0
  86. package/__cjs/dev/loadErrorMessages.cjs.map +1 -0
  87. package/__cjs/dev/loadErrorMessages.d.cts +2 -0
  88. package/__cjs/dev/setErrorMessageHandler.cjs +12 -0
  89. package/__cjs/dev/setErrorMessageHandler.cjs.map +1 -0
  90. package/__cjs/dev/setErrorMessageHandler.d.cts +34 -0
  91. package/__cjs/dev/symbol.cjs +7 -0
  92. package/__cjs/dev/symbol.cjs.map +1 -0
  93. package/__cjs/dev/symbol.d.cts +10 -0
  94. package/__cjs/errors/CombinedGraphQLErrors.cjs +105 -0
  95. package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -0
  96. package/__cjs/errors/CombinedGraphQLErrors.d.cts +191 -0
  97. package/__cjs/errors/CombinedProtocolErrors.cjs +84 -0
  98. package/__cjs/errors/CombinedProtocolErrors.cjs.map +1 -0
  99. package/__cjs/errors/CombinedProtocolErrors.d.cts +150 -0
  100. package/__cjs/errors/LinkError.cjs +67 -0
  101. package/__cjs/errors/LinkError.cjs.map +1 -0
  102. package/__cjs/errors/LinkError.d.cts +61 -0
  103. package/__cjs/errors/LocalStateError.cjs +57 -0
  104. package/__cjs/errors/LocalStateError.cjs.map +1 -0
  105. package/__cjs/errors/LocalStateError.d.cts +56 -0
  106. package/__cjs/errors/ServerError.cjs +79 -0
  107. package/__cjs/errors/ServerError.cjs.map +1 -0
  108. package/__cjs/errors/ServerError.d.cts +87 -0
  109. package/__cjs/errors/ServerParseError.cjs +76 -0
  110. package/__cjs/errors/ServerParseError.cjs.map +1 -0
  111. package/__cjs/errors/ServerParseError.d.cts +82 -0
  112. package/__cjs/errors/UnconventionalError.cjs +67 -0
  113. package/__cjs/errors/UnconventionalError.cjs.map +1 -0
  114. package/__cjs/errors/UnconventionalError.d.cts +55 -0
  115. package/__cjs/errors/index.cjs +45 -0
  116. package/__cjs/errors/index.cjs.map +1 -0
  117. package/__cjs/errors/index.d.cts +14 -0
  118. package/__cjs/errors/isErrorLike.cjs +12 -0
  119. package/__cjs/errors/isErrorLike.cjs.map +1 -0
  120. package/__cjs/errors/isErrorLike.d.cts +3 -0
  121. package/__cjs/errors/utils.cjs +18 -0
  122. package/__cjs/errors/utils.cjs.map +1 -0
  123. package/__cjs/errors/utils.d.cts +3 -0
  124. package/__cjs/incremental/handlers/defer20220824.cjs +127 -0
  125. package/__cjs/incremental/handlers/defer20220824.cjs.map +1 -0
  126. package/__cjs/incremental/handlers/defer20220824.d.cts +66 -0
  127. package/__cjs/incremental/handlers/graphql17Alpha9.cjs +227 -0
  128. package/__cjs/incremental/handlers/graphql17Alpha9.cjs.map +1 -0
  129. package/__cjs/incremental/handlers/graphql17Alpha9.d.cts +98 -0
  130. package/__cjs/incremental/handlers/notImplemented.cjs +19 -0
  131. package/__cjs/incremental/handlers/notImplemented.cjs.map +1 -0
  132. package/__cjs/incremental/handlers/notImplemented.d.cts +20 -0
  133. package/__cjs/incremental/index.cjs +11 -0
  134. package/__cjs/incremental/index.cjs.map +1 -0
  135. package/__cjs/incremental/index.d.cts +5 -0
  136. package/__cjs/incremental/types.cjs +3 -0
  137. package/__cjs/incremental/types.cjs.map +1 -0
  138. package/__cjs/incremental/types.d.cts +33 -0
  139. package/__cjs/invariantErrorCodes.cjs +731 -0
  140. package/__cjs/invariantErrorCodes.cjs.map +1 -0
  141. package/__cjs/invariantErrorCodes.d.cts +13 -0
  142. package/__cjs/link/batch/batchLink.cjs +53 -0
  143. package/__cjs/link/batch/batchLink.cjs.map +1 -0
  144. package/__cjs/link/batch/batchLink.d.cts +117 -0
  145. package/__cjs/link/batch/batching.cjs +156 -0
  146. package/__cjs/link/batch/batching.cjs.map +1 -0
  147. package/__cjs/link/batch/batching.d.cts +27 -0
  148. package/__cjs/link/batch/index.cjs +6 -0
  149. package/__cjs/link/batch/index.cjs.map +1 -0
  150. package/__cjs/link/batch/index.d.cts +2 -0
  151. package/__cjs/link/batch-http/BaseBatchHttpLink.cjs +156 -0
  152. package/__cjs/link/batch-http/BaseBatchHttpLink.cjs.map +1 -0
  153. package/__cjs/link/batch-http/BaseBatchHttpLink.d.cts +68 -0
  154. package/__cjs/link/batch-http/batchHttpLink.cjs +42 -0
  155. package/__cjs/link/batch-http/batchHttpLink.cjs.map +1 -0
  156. package/__cjs/link/batch-http/batchHttpLink.d.cts +49 -0
  157. package/__cjs/link/batch-http/index.cjs +8 -0
  158. package/__cjs/link/batch-http/index.cjs.map +1 -0
  159. package/__cjs/link/batch-http/index.d.cts +3 -0
  160. package/__cjs/link/client-awareness/ClientAwarenessLink.cjs +90 -0
  161. package/__cjs/link/client-awareness/ClientAwarenessLink.cjs.map +1 -0
  162. package/__cjs/link/client-awareness/ClientAwarenessLink.d.cts +114 -0
  163. package/__cjs/link/client-awareness/index.cjs +6 -0
  164. package/__cjs/link/client-awareness/index.cjs.map +1 -0
  165. package/__cjs/link/client-awareness/index.d.cts +2 -0
  166. package/__cjs/link/context/index.cjs +68 -0
  167. package/__cjs/link/context/index.cjs.map +1 -0
  168. package/__cjs/link/context/index.d.cts +85 -0
  169. package/__cjs/link/core/ApolloLink.cjs +274 -0
  170. package/__cjs/link/core/ApolloLink.cjs.map +1 -0
  171. package/__cjs/link/core/ApolloLink.d.cts +384 -0
  172. package/__cjs/link/core/concat.cjs +10 -0
  173. package/__cjs/link/core/concat.cjs.map +1 -0
  174. package/__cjs/link/core/concat.d.cts +7 -0
  175. package/__cjs/link/core/deprecated.cjs +3 -0
  176. package/__cjs/link/core/deprecated.cjs.map +1 -0
  177. package/__cjs/link/core/deprecated.d.cts +10 -0
  178. package/__cjs/link/core/empty.cjs +10 -0
  179. package/__cjs/link/core/empty.cjs.map +1 -0
  180. package/__cjs/link/core/empty.d.cts +7 -0
  181. package/__cjs/link/core/execute.cjs +6 -0
  182. package/__cjs/link/core/execute.cjs.map +1 -0
  183. package/__cjs/link/core/execute.d.cts +3 -0
  184. package/__cjs/link/core/from.cjs +10 -0
  185. package/__cjs/link/core/from.cjs.map +1 -0
  186. package/__cjs/link/core/from.d.cts +7 -0
  187. package/__cjs/link/core/split.cjs +10 -0
  188. package/__cjs/link/core/split.cjs.map +1 -0
  189. package/__cjs/link/core/split.d.cts +7 -0
  190. package/__cjs/link/core/types.cjs +3 -0
  191. package/__cjs/link/core/types.cjs.map +1 -0
  192. package/__cjs/link/core/types.d.cts +6 -0
  193. package/__cjs/link/error/index.cjs +129 -0
  194. package/__cjs/link/error/index.cjs.map +1 -0
  195. package/__cjs/link/error/index.d.cts +105 -0
  196. package/__cjs/link/http/BaseHttpLink.cjs +161 -0
  197. package/__cjs/link/http/BaseHttpLink.cjs.map +1 -0
  198. package/__cjs/link/http/BaseHttpLink.d.cts +260 -0
  199. package/__cjs/link/http/HttpLink.cjs +46 -0
  200. package/__cjs/link/http/HttpLink.cjs.map +1 -0
  201. package/__cjs/link/http/HttpLink.d.cts +58 -0
  202. package/__cjs/link/http/checkFetcher.cjs +9 -0
  203. package/__cjs/link/http/checkFetcher.cjs.map +1 -0
  204. package/__cjs/link/http/checkFetcher.d.cts +2 -0
  205. package/__cjs/link/http/createSignalIfSupported.cjs +17 -0
  206. package/__cjs/link/http/createSignalIfSupported.cjs.map +1 -0
  207. package/__cjs/link/http/createSignalIfSupported.d.cts +13 -0
  208. package/__cjs/link/http/index.cjs +24 -0
  209. package/__cjs/link/http/index.cjs.map +1 -0
  210. package/__cjs/link/http/index.d.cts +9 -0
  211. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +163 -0
  212. package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -0
  213. package/__cjs/link/http/parseAndCheckHttpResponse.d.cts +4 -0
  214. package/__cjs/link/http/rewriteURIForGET.cjs +55 -0
  215. package/__cjs/link/http/rewriteURIForGET.cjs.map +1 -0
  216. package/__cjs/link/http/rewriteURIForGET.d.cts +9 -0
  217. package/__cjs/link/http/selectHttpOptionsAndBody.cjs +109 -0
  218. package/__cjs/link/http/selectHttpOptionsAndBody.cjs.map +1 -0
  219. package/__cjs/link/http/selectHttpOptionsAndBody.d.cts +29 -0
  220. package/__cjs/link/http/selectURI.cjs +18 -0
  221. package/__cjs/link/http/selectURI.cjs.map +1 -0
  222. package/__cjs/link/http/selectURI.d.cts +3 -0
  223. package/__cjs/link/index.cjs +16 -0
  224. package/__cjs/link/index.cjs.map +1 -0
  225. package/__cjs/link/index.d.cts +10 -0
  226. package/__cjs/link/persisted-queries/index.cjs +248 -0
  227. package/__cjs/link/persisted-queries/index.cjs.map +1 -0
  228. package/__cjs/link/persisted-queries/index.d.cts +227 -0
  229. package/__cjs/link/remove-typename/index.cjs +8 -0
  230. package/__cjs/link/remove-typename/index.cjs.map +1 -0
  231. package/__cjs/link/remove-typename/index.d.cts +2 -0
  232. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs +156 -0
  233. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs.map +1 -0
  234. package/__cjs/link/remove-typename/removeTypenameFromVariables.d.cts +137 -0
  235. package/__cjs/link/retry/delayFunction.cjs +21 -0
  236. package/__cjs/link/retry/delayFunction.cjs.map +1 -0
  237. package/__cjs/link/retry/delayFunction.d.cts +3 -0
  238. package/__cjs/link/retry/index.cjs +6 -0
  239. package/__cjs/link/retry/index.cjs.map +1 -0
  240. package/__cjs/link/retry/index.d.cts +2 -0
  241. package/__cjs/link/retry/retryFunction.cjs +12 -0
  242. package/__cjs/link/retry/retryFunction.cjs.map +1 -0
  243. package/__cjs/link/retry/retryFunction.d.cts +3 -0
  244. package/__cjs/link/retry/retryLink.cjs +122 -0
  245. package/__cjs/link/retry/retryLink.cjs.map +1 -0
  246. package/__cjs/link/retry/retryLink.d.cts +148 -0
  247. package/__cjs/link/schema/index.cjs +75 -0
  248. package/__cjs/link/schema/index.cjs.map +1 -0
  249. package/__cjs/link/schema/index.d.cts +157 -0
  250. package/__cjs/link/subscriptions/index.cjs +101 -0
  251. package/__cjs/link/subscriptions/index.cjs.map +1 -0
  252. package/__cjs/link/subscriptions/index.d.cts +32 -0
  253. package/__cjs/link/utils/createOperation.cjs +37 -0
  254. package/__cjs/link/utils/createOperation.cjs.map +1 -0
  255. package/__cjs/link/utils/createOperation.d.cts +3 -0
  256. package/__cjs/link/utils/filterOperationVariables.cjs +25 -0
  257. package/__cjs/link/utils/filterOperationVariables.cjs.map +1 -0
  258. package/__cjs/link/utils/filterOperationVariables.d.cts +5 -0
  259. package/__cjs/link/utils/index.cjs +8 -0
  260. package/__cjs/link/utils/index.cjs.map +1 -0
  261. package/__cjs/link/utils/index.d.cts +3 -0
  262. package/__cjs/link/ws/index.cjs +56 -0
  263. package/__cjs/link/ws/index.cjs.map +1 -0
  264. package/__cjs/link/ws/index.d.cts +88 -0
  265. package/__cjs/local-state/LocalState.cjs +584 -0
  266. package/__cjs/local-state/LocalState.cjs.map +1 -0
  267. package/__cjs/local-state/LocalState.d.cts +183 -0
  268. package/__cjs/local-state/index.cjs +6 -0
  269. package/__cjs/local-state/index.cjs.map +1 -0
  270. package/__cjs/local-state/index.d.cts +2 -0
  271. package/__cjs/masking/GraphQLCodegenDataMasking.cjs +3 -0
  272. package/__cjs/masking/GraphQLCodegenDataMasking.cjs.map +1 -0
  273. package/__cjs/masking/GraphQLCodegenDataMasking.d.cts +46 -0
  274. package/__cjs/masking/PreserveTypes.cjs +3 -0
  275. package/__cjs/masking/PreserveTypes.cjs.map +1 -0
  276. package/__cjs/masking/PreserveTypes.d.cts +26 -0
  277. package/__cjs/masking/index.cjs +10 -0
  278. package/__cjs/masking/index.cjs.map +1 -0
  279. package/__cjs/masking/index.d.cts +6 -0
  280. package/__cjs/masking/internal/types.cjs +3 -0
  281. package/__cjs/masking/internal/types.cjs.map +1 -0
  282. package/__cjs/masking/internal/types.d.cts +120 -0
  283. package/__cjs/masking/maskDefinition.cjs +139 -0
  284. package/__cjs/masking/maskDefinition.cjs.map +1 -0
  285. package/__cjs/masking/maskDefinition.d.cts +14 -0
  286. package/__cjs/masking/maskFragment.cjs +41 -0
  287. package/__cjs/masking/maskFragment.cjs.map +1 -0
  288. package/__cjs/masking/maskFragment.d.cts +8 -0
  289. package/__cjs/masking/maskOperation.cjs +28 -0
  290. package/__cjs/masking/maskOperation.cjs.map +1 -0
  291. package/__cjs/masking/maskOperation.d.cts +8 -0
  292. package/__cjs/masking/types.cjs +3 -0
  293. package/__cjs/masking/types.cjs.map +1 -0
  294. package/__cjs/masking/types.d.cts +16 -0
  295. package/__cjs/masking/utils.cjs +47 -0
  296. package/__cjs/masking/utils.cjs.map +1 -0
  297. package/__cjs/masking/utils.d.cts +14 -0
  298. package/__cjs/react/context/ApolloContext.cjs +26 -0
  299. package/__cjs/react/context/ApolloContext.cjs.map +1 -0
  300. package/__cjs/react/context/ApolloContext.d.cts +9 -0
  301. package/__cjs/react/context/ApolloProvider.cjs +21 -0
  302. package/__cjs/react/context/ApolloProvider.cjs.map +1 -0
  303. package/__cjs/react/context/ApolloProvider.d.cts +10 -0
  304. package/__cjs/react/hooks/constants.cjs +5 -0
  305. package/__cjs/react/hooks/constants.cjs.map +1 -0
  306. package/__cjs/react/hooks/constants.d.cts +3 -0
  307. package/__cjs/react/hooks/internal/__use.cjs +26 -0
  308. package/__cjs/react/hooks/internal/__use.cjs.map +1 -0
  309. package/__cjs/react/hooks/internal/__use.d.cts +4 -0
  310. package/__cjs/react/hooks/internal/index.cjs +15 -0
  311. package/__cjs/react/hooks/internal/index.cjs.map +1 -0
  312. package/__cjs/react/hooks/internal/index.d.cts +6 -0
  313. package/__cjs/react/hooks/internal/useDeepMemo.cjs +16 -0
  314. package/__cjs/react/hooks/internal/useDeepMemo.cjs.map +1 -0
  315. package/__cjs/react/hooks/internal/useDeepMemo.d.cts +3 -0
  316. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs +13 -0
  317. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs.map +1 -0
  318. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.d.cts +3 -0
  319. package/__cjs/react/hooks/internal/useRenderGuard.cjs +46 -0
  320. package/__cjs/react/hooks/internal/useRenderGuard.cjs.map +1 -0
  321. package/__cjs/react/hooks/internal/useRenderGuard.d.cts +2 -0
  322. package/__cjs/react/hooks/internal/useSuspenseHookCacheKey.cjs +28 -0
  323. package/__cjs/react/hooks/internal/useSuspenseHookCacheKey.cjs.map +1 -0
  324. package/__cjs/react/hooks/internal/useSuspenseHookCacheKey.d.cts +11 -0
  325. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs +28 -0
  326. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs.map +1 -0
  327. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.d.cts +3 -0
  328. package/__cjs/react/hooks/internal/wrapHook.cjs +69 -0
  329. package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -0
  330. package/__cjs/react/hooks/internal/wrapHook.d.cts +66 -0
  331. package/__cjs/react/hooks/useApolloClient.cjs +29 -0
  332. package/__cjs/react/hooks/useApolloClient.cjs.map +1 -0
  333. package/__cjs/react/hooks/useApolloClient.d.cts +18 -0
  334. package/__cjs/react/hooks/useBackgroundQuery.cjs +76 -0
  335. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -0
  336. package/__cjs/react/hooks/useBackgroundQuery.d.cts +975 -0
  337. package/__cjs/react/hooks/useFragment.cjs +58 -0
  338. package/__cjs/react/hooks/useFragment.cjs.map +1 -0
  339. package/__cjs/react/hooks/useFragment.d.cts +162 -0
  340. package/__cjs/react/hooks/useLazyQuery.cjs +150 -0
  341. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -0
  342. package/__cjs/react/hooks/useLazyQuery.d.cts +436 -0
  343. package/__cjs/react/hooks/useLoadableQuery.cjs +92 -0
  344. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -0
  345. package/__cjs/react/hooks/useLoadableQuery.d.cts +353 -0
  346. package/__cjs/react/hooks/useMutation.cjs +163 -0
  347. package/__cjs/react/hooks/useMutation.cjs.map +1 -0
  348. package/__cjs/react/hooks/useMutation.d.cts +316 -0
  349. package/__cjs/react/hooks/useQuery.cjs +219 -0
  350. package/__cjs/react/hooks/useQuery.cjs.map +1 -0
  351. package/__cjs/react/hooks/useQuery.d.cts +549 -0
  352. package/__cjs/react/hooks/useQueryRefHandlers.cjs +72 -0
  353. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -0
  354. package/__cjs/react/hooks/useQueryRefHandlers.d.cts +78 -0
  355. package/__cjs/react/hooks/useReactiveVar.cjs +39 -0
  356. package/__cjs/react/hooks/useReactiveVar.cjs.map +1 -0
  357. package/__cjs/react/hooks/useReactiveVar.d.cts +22 -0
  358. package/__cjs/react/hooks/useReadQuery.cjs +74 -0
  359. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -0
  360. package/__cjs/react/hooks/useReadQuery.d.cts +100 -0
  361. package/__cjs/react/hooks/useSubscription.cjs +226 -0
  362. package/__cjs/react/hooks/useSubscription.cjs.map +1 -0
  363. package/__cjs/react/hooks/useSubscription.d.cts +270 -0
  364. package/__cjs/react/hooks/useSuspenseFragment.cjs +51 -0
  365. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -0
  366. package/__cjs/react/hooks/useSuspenseFragment.d.cts +105 -0
  367. package/__cjs/react/hooks/useSuspenseQuery.cjs +123 -0
  368. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -0
  369. package/__cjs/react/hooks/useSuspenseQuery.d.cts +630 -0
  370. package/__cjs/react/hooks/useSyncExternalStore.cjs +130 -0
  371. package/__cjs/react/hooks/useSyncExternalStore.cjs.map +1 -0
  372. package/__cjs/react/hooks/useSyncExternalStore.d.cts +4 -0
  373. package/__cjs/react/index.cjs +39 -0
  374. package/__cjs/react/index.cjs.map +1 -0
  375. package/__cjs/react/index.d.cts +33 -0
  376. package/__cjs/react/index.react-server.cjs +46 -0
  377. package/__cjs/react/index.react-server.cjs.map +1 -0
  378. package/__cjs/react/index.react-server.d.cts +18 -0
  379. package/__cjs/react/internal/cache/FragmentReference.cjs +116 -0
  380. package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -0
  381. package/__cjs/react/internal/cache/FragmentReference.d.cts +35 -0
  382. package/__cjs/react/internal/cache/QueryReference.cjs +314 -0
  383. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -0
  384. package/__cjs/react/internal/cache/QueryReference.d.cts +112 -0
  385. package/__cjs/react/internal/cache/SuspenseCache.cjs +44 -0
  386. package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -0
  387. package/__cjs/react/internal/cache/SuspenseCache.d.cts +29 -0
  388. package/__cjs/react/internal/cache/getSuspenseCache.cjs +12 -0
  389. package/__cjs/react/internal/cache/getSuspenseCache.cjs.map +1 -0
  390. package/__cjs/react/internal/cache/getSuspenseCache.d.cts +18 -0
  391. package/__cjs/react/internal/cache/types.cjs +3 -0
  392. package/__cjs/react/internal/cache/types.cjs.map +1 -0
  393. package/__cjs/react/internal/cache/types.d.cts +18 -0
  394. package/__cjs/react/internal/compiler-runtime/index.cjs +32 -0
  395. package/__cjs/react/internal/compiler-runtime/index.cjs.map +1 -0
  396. package/__cjs/react/internal/compiler-runtime/index.d.cts +8 -0
  397. package/__cjs/react/internal/index.cjs +14 -0
  398. package/__cjs/react/internal/index.cjs.map +1 -0
  399. package/__cjs/react/internal/index.d.cts +10 -0
  400. package/__cjs/react/internal/types.cjs +3 -0
  401. package/__cjs/react/internal/types.cjs.map +1 -0
  402. package/__cjs/react/internal/types.d.cts +4 -0
  403. package/__cjs/react/query-preloader/createQueryPreloader.cjs +85 -0
  404. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -0
  405. package/__cjs/react/query-preloader/createQueryPreloader.d.cts +256 -0
  406. package/__cjs/react/ssr/getDataFromTree.cjs +43 -0
  407. package/__cjs/react/ssr/getDataFromTree.cjs.map +1 -0
  408. package/__cjs/react/ssr/getDataFromTree.d.cts +25 -0
  409. package/__cjs/react/ssr/index.cjs +11 -0
  410. package/__cjs/react/ssr/index.cjs.map +1 -0
  411. package/__cjs/react/ssr/index.d.cts +4 -0
  412. package/__cjs/react/ssr/prerenderStatic.cjs +172 -0
  413. package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -0
  414. package/__cjs/react/ssr/prerenderStatic.d.cts +143 -0
  415. package/__cjs/react/ssr/renderToStringWithData.cjs +18 -0
  416. package/__cjs/react/ssr/renderToStringWithData.cjs.map +1 -0
  417. package/__cjs/react/ssr/renderToStringWithData.d.cts +8 -0
  418. package/__cjs/react/ssr/useSSRQuery.cjs +73 -0
  419. package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -0
  420. package/__cjs/react/ssr/useSSRQuery.d.cts +6 -0
  421. package/__cjs/react/types/deprecated.cjs +3 -0
  422. package/__cjs/react/types/deprecated.cjs.map +1 -0
  423. package/__cjs/react/types/deprecated.d.cts +75 -0
  424. package/__cjs/react/types/types.documentation.cjs +3 -0
  425. package/__cjs/react/types/types.documentation.cjs.map +1 -0
  426. package/__cjs/react/types/types.documentation.d.cts +533 -0
  427. package/__cjs/testing/core/mocking/mockLink.cjs +193 -0
  428. package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -0
  429. package/__cjs/testing/core/mocking/mockLink.d.cts +66 -0
  430. package/__cjs/testing/core/mocking/mockSubscriptionLink.cjs +56 -0
  431. package/__cjs/testing/core/mocking/mockSubscriptionLink.cjs.map +1 -0
  432. package/__cjs/testing/core/mocking/mockSubscriptionLink.d.cts +22 -0
  433. package/__cjs/testing/core/types/deprecated.cjs +3 -0
  434. package/__cjs/testing/core/types/deprecated.cjs.map +1 -0
  435. package/__cjs/testing/core/types/deprecated.d.cts +11 -0
  436. package/__cjs/testing/index.cjs +9 -0
  437. package/__cjs/testing/index.cjs.map +1 -0
  438. package/__cjs/testing/index.d.cts +4 -0
  439. package/__cjs/testing/react/MockedProvider.cjs +43 -0
  440. package/__cjs/testing/react/MockedProvider.cjs.map +1 -0
  441. package/__cjs/testing/react/MockedProvider.d.cts +33 -0
  442. package/__cjs/testing/react/index.cjs +6 -0
  443. package/__cjs/testing/react/index.cjs.map +1 -0
  444. package/__cjs/testing/react/index.d.cts +3 -0
  445. package/__cjs/utilities/DeepPartial.cjs +7 -0
  446. package/__cjs/utilities/DeepPartial.cjs.map +1 -0
  447. package/__cjs/utilities/DeepPartial.d.cts +15 -0
  448. package/__cjs/utilities/HKT.cjs +3 -0
  449. package/__cjs/utilities/HKT.cjs.map +1 -0
  450. package/__cjs/utilities/HKT.d.cts +36 -0
  451. package/__cjs/utilities/caching/index.cjs +6 -0
  452. package/__cjs/utilities/caching/index.cjs.map +1 -0
  453. package/__cjs/utilities/caching/index.d.cts +3 -0
  454. package/__cjs/utilities/caching/sizes.cjs +29 -0
  455. package/__cjs/utilities/caching/sizes.cjs.map +1 -0
  456. package/__cjs/utilities/caching/sizes.d.cts +286 -0
  457. package/__cjs/utilities/common/stripTypename.cjs +25 -0
  458. package/__cjs/utilities/common/stripTypename.cjs.map +1 -0
  459. package/__cjs/utilities/common/stripTypename.d.cts +19 -0
  460. package/__cjs/utilities/environment/index.cjs +5 -0
  461. package/__cjs/utilities/environment/index.cjs.map +1 -0
  462. package/__cjs/utilities/environment/index.d.cts +2 -0
  463. package/__cjs/utilities/environment/index.development.cjs +5 -0
  464. package/__cjs/utilities/environment/index.development.cjs.map +1 -0
  465. package/__cjs/utilities/environment/index.development.d.cts +2 -0
  466. package/__cjs/utilities/environment/index.production.cjs +5 -0
  467. package/__cjs/utilities/environment/index.production.cjs.map +1 -0
  468. package/__cjs/utilities/environment/index.production.d.cts +2 -0
  469. package/__cjs/utilities/graphql/DocumentTransform.cjs +190 -0
  470. package/__cjs/utilities/graphql/DocumentTransform.cjs.map +1 -0
  471. package/__cjs/utilities/graphql/DocumentTransform.d.cts +143 -0
  472. package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs +36 -0
  473. package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs.map +1 -0
  474. package/__cjs/utilities/graphql/isFormattedExecutionResult.d.cts +30 -0
  475. package/__cjs/utilities/graphql/operations.cjs +91 -0
  476. package/__cjs/utilities/graphql/operations.cjs.map +1 -0
  477. package/__cjs/utilities/graphql/operations.d.cts +77 -0
  478. package/__cjs/utilities/graphql/print.cjs +33 -0
  479. package/__cjs/utilities/graphql/print.cjs.map +1 -0
  480. package/__cjs/utilities/graphql/print.d.cts +13 -0
  481. package/__cjs/utilities/graphql/storeUtils.cjs +21 -0
  482. package/__cjs/utilities/graphql/storeUtils.cjs.map +1 -0
  483. package/__cjs/utilities/graphql/storeUtils.d.cts +52 -0
  484. package/__cjs/utilities/graphql/transform.cjs +74 -0
  485. package/__cjs/utilities/graphql/transform.cjs.map +1 -0
  486. package/__cjs/utilities/graphql/transform.d.cts +21 -0
  487. package/__cjs/utilities/index.cjs +35 -0
  488. package/__cjs/utilities/index.cjs.map +1 -0
  489. package/__cjs/utilities/index.d.cts +19 -0
  490. package/__cjs/utilities/internal/DeepMerger.cjs +99 -0
  491. package/__cjs/utilities/internal/DeepMerger.cjs.map +1 -0
  492. package/__cjs/utilities/internal/DeepMerger.d.cts +33 -0
  493. package/__cjs/utilities/internal/argumentsObjectFromField.cjs +18 -0
  494. package/__cjs/utilities/internal/argumentsObjectFromField.cjs.map +1 -0
  495. package/__cjs/utilities/internal/argumentsObjectFromField.d.cts +8 -0
  496. package/__cjs/utilities/internal/bindCacheKey.cjs +21 -0
  497. package/__cjs/utilities/internal/bindCacheKey.cjs.map +1 -0
  498. package/__cjs/utilities/internal/bindCacheKey.d.cts +15 -0
  499. package/__cjs/utilities/internal/caches.cjs +76 -0
  500. package/__cjs/utilities/internal/caches.cjs.map +1 -0
  501. package/__cjs/utilities/internal/caches.d.cts +42 -0
  502. package/__cjs/utilities/internal/canUseDOM.cjs +11 -0
  503. package/__cjs/utilities/internal/canUseDOM.cjs.map +1 -0
  504. package/__cjs/utilities/internal/canUseDOM.d.cts +7 -0
  505. package/__cjs/utilities/internal/canonicalStringify.cjs +112 -0
  506. package/__cjs/utilities/internal/canonicalStringify.cjs.map +1 -0
  507. package/__cjs/utilities/internal/canonicalStringify.d.cts +44 -0
  508. package/__cjs/utilities/internal/checkDocument.cjs +67 -0
  509. package/__cjs/utilities/internal/checkDocument.cjs.map +1 -0
  510. package/__cjs/utilities/internal/checkDocument.d.cts +10 -0
  511. package/__cjs/utilities/internal/cloneDeep.cjs +45 -0
  512. package/__cjs/utilities/internal/cloneDeep.cjs.map +1 -0
  513. package/__cjs/utilities/internal/cloneDeep.d.cts +9 -0
  514. package/__cjs/utilities/internal/combineLatestBatched.cjs +71 -0
  515. package/__cjs/utilities/internal/combineLatestBatched.cjs.map +1 -0
  516. package/__cjs/utilities/internal/combineLatestBatched.d.cts +14 -0
  517. package/__cjs/utilities/internal/compact.cjs +26 -0
  518. package/__cjs/utilities/internal/compact.cjs.map +1 -0
  519. package/__cjs/utilities/internal/compact.d.cts +11 -0
  520. package/__cjs/utilities/internal/constants.cjs +26 -0
  521. package/__cjs/utilities/internal/constants.cjs.map +1 -0
  522. package/__cjs/utilities/internal/constants.d.cts +23 -0
  523. package/__cjs/utilities/internal/createFragmentMap.cjs +19 -0
  524. package/__cjs/utilities/internal/createFragmentMap.cjs.map +1 -0
  525. package/__cjs/utilities/internal/createFragmentMap.d.cts +12 -0
  526. package/__cjs/utilities/internal/createFulfilledPromise.cjs +15 -0
  527. package/__cjs/utilities/internal/createFulfilledPromise.cjs.map +1 -0
  528. package/__cjs/utilities/internal/createFulfilledPromise.d.cts +8 -0
  529. package/__cjs/utilities/internal/createRejectedPromise.cjs +17 -0
  530. package/__cjs/utilities/internal/createRejectedPromise.cjs.map +1 -0
  531. package/__cjs/utilities/internal/createRejectedPromise.d.cts +8 -0
  532. package/__cjs/utilities/internal/dealias.cjs +21 -0
  533. package/__cjs/utilities/internal/dealias.cjs.map +1 -0
  534. package/__cjs/utilities/internal/dealias.d.cts +5 -0
  535. package/__cjs/utilities/internal/decoratePromise.cjs +33 -0
  536. package/__cjs/utilities/internal/decoratePromise.cjs.map +1 -0
  537. package/__cjs/utilities/internal/decoratePromise.d.cts +8 -0
  538. package/__cjs/utilities/internal/deepFreeze.cjs +39 -0
  539. package/__cjs/utilities/internal/deepFreeze.cjs.map +1 -0
  540. package/__cjs/utilities/internal/deepFreeze.d.cts +7 -0
  541. package/__cjs/utilities/internal/equalByQuery.cjs +93 -0
  542. package/__cjs/utilities/internal/equalByQuery.cjs.map +1 -0
  543. package/__cjs/utilities/internal/equalByQuery.d.cts +5 -0
  544. package/__cjs/utilities/internal/filterMap.cjs +31 -0
  545. package/__cjs/utilities/internal/filterMap.cjs.map +1 -0
  546. package/__cjs/utilities/internal/filterMap.d.cts +4 -0
  547. package/__cjs/utilities/internal/getDefaultValues.cjs +22 -0
  548. package/__cjs/utilities/internal/getDefaultValues.cjs.map +1 -0
  549. package/__cjs/utilities/internal/getDefaultValues.d.cts +8 -0
  550. package/__cjs/utilities/internal/getFragmentDefinition.cjs +17 -0
  551. package/__cjs/utilities/internal/getFragmentDefinition.cjs.map +1 -0
  552. package/__cjs/utilities/internal/getFragmentDefinition.d.cts +8 -0
  553. package/__cjs/utilities/internal/getFragmentDefinitions.cjs +12 -0
  554. package/__cjs/utilities/internal/getFragmentDefinitions.cjs.map +1 -0
  555. package/__cjs/utilities/internal/getFragmentDefinitions.d.cts +8 -0
  556. package/__cjs/utilities/internal/getFragmentFromSelection.cjs +27 -0
  557. package/__cjs/utilities/internal/getFragmentFromSelection.cjs.map +1 -0
  558. package/__cjs/utilities/internal/getFragmentFromSelection.d.cts +10 -0
  559. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs +96 -0
  560. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs.map +1 -0
  561. package/__cjs/utilities/internal/getFragmentQueryDocument.d.cts +39 -0
  562. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs +12 -0
  563. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs.map +1 -0
  564. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.d.cts +10 -0
  565. package/__cjs/utilities/internal/getMainDefinition.cjs +61 -0
  566. package/__cjs/utilities/internal/getMainDefinition.cjs.map +1 -0
  567. package/__cjs/utilities/internal/getMainDefinition.d.cts +40 -0
  568. package/__cjs/utilities/internal/getMemoryInternals.cjs +132 -0
  569. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -0
  570. package/__cjs/utilities/internal/getMemoryInternals.d.cts +80 -0
  571. package/__cjs/utilities/internal/getOperationDefinition.cjs +14 -0
  572. package/__cjs/utilities/internal/getOperationDefinition.cjs.map +1 -0
  573. package/__cjs/utilities/internal/getOperationDefinition.d.cts +8 -0
  574. package/__cjs/utilities/internal/getOperationName.cjs +12 -0
  575. package/__cjs/utilities/internal/getOperationName.cjs.map +1 -0
  576. package/__cjs/utilities/internal/getOperationName.d.cts +8 -0
  577. package/__cjs/utilities/internal/getQueryDefinition.cjs +16 -0
  578. package/__cjs/utilities/internal/getQueryDefinition.cjs.map +1 -0
  579. package/__cjs/utilities/internal/getQueryDefinition.d.cts +8 -0
  580. package/__cjs/utilities/internal/getStoreKeyName.cjs +76 -0
  581. package/__cjs/utilities/internal/getStoreKeyName.cjs.map +1 -0
  582. package/__cjs/utilities/internal/getStoreKeyName.d.cts +16 -0
  583. package/__cjs/utilities/internal/globals/global.cjs +17 -0
  584. package/__cjs/utilities/internal/globals/global.cjs.map +1 -0
  585. package/__cjs/utilities/internal/globals/global.d.cts +3 -0
  586. package/__cjs/utilities/internal/globals/index.cjs +9 -0
  587. package/__cjs/utilities/internal/globals/index.cjs.map +1 -0
  588. package/__cjs/utilities/internal/globals/index.d.cts +3 -0
  589. package/__cjs/utilities/internal/globals/maybe.cjs +10 -0
  590. package/__cjs/utilities/internal/globals/maybe.cjs.map +1 -0
  591. package/__cjs/utilities/internal/globals/maybe.d.cts +2 -0
  592. package/__cjs/utilities/internal/graphQLResultHasError.cjs +12 -0
  593. package/__cjs/utilities/internal/graphQLResultHasError.cjs.map +1 -0
  594. package/__cjs/utilities/internal/graphQLResultHasError.d.cts +8 -0
  595. package/__cjs/utilities/internal/hasDirectives.cjs +24 -0
  596. package/__cjs/utilities/internal/hasDirectives.cjs.map +1 -0
  597. package/__cjs/utilities/internal/hasDirectives.d.cts +8 -0
  598. package/__cjs/utilities/internal/hasForcedResolvers.cjs +23 -0
  599. package/__cjs/utilities/internal/hasForcedResolvers.cjs.map +1 -0
  600. package/__cjs/utilities/internal/hasForcedResolvers.d.cts +3 -0
  601. package/__cjs/utilities/internal/index.cjs +121 -0
  602. package/__cjs/utilities/internal/index.cjs.map +1 -0
  603. package/__cjs/utilities/internal/index.d.cts +74 -0
  604. package/__cjs/utilities/internal/index.production.cjs +11 -0
  605. package/__cjs/utilities/internal/index.production.cjs.map +1 -0
  606. package/__cjs/utilities/internal/index.production.d.cts +3 -0
  607. package/__cjs/utilities/internal/isArray.cjs +12 -0
  608. package/__cjs/utilities/internal/isArray.cjs.map +1 -0
  609. package/__cjs/utilities/internal/isArray.d.cts +9 -0
  610. package/__cjs/utilities/internal/isDocumentNode.cjs +15 -0
  611. package/__cjs/utilities/internal/isDocumentNode.cjs.map +1 -0
  612. package/__cjs/utilities/internal/isDocumentNode.d.cts +8 -0
  613. package/__cjs/utilities/internal/isField.cjs +12 -0
  614. package/__cjs/utilities/internal/isField.cjs.map +1 -0
  615. package/__cjs/utilities/internal/isField.d.cts +8 -0
  616. package/__cjs/utilities/internal/isNonEmptyArray.cjs +12 -0
  617. package/__cjs/utilities/internal/isNonEmptyArray.cjs.map +1 -0
  618. package/__cjs/utilities/internal/isNonEmptyArray.d.cts +7 -0
  619. package/__cjs/utilities/internal/isNonNullObject.cjs +12 -0
  620. package/__cjs/utilities/internal/isNonNullObject.cjs.map +1 -0
  621. package/__cjs/utilities/internal/isNonNullObject.d.cts +7 -0
  622. package/__cjs/utilities/internal/isPlainObject.cjs +15 -0
  623. package/__cjs/utilities/internal/isPlainObject.cjs.map +1 -0
  624. package/__cjs/utilities/internal/isPlainObject.d.cts +7 -0
  625. package/__cjs/utilities/internal/makeReference.cjs +12 -0
  626. package/__cjs/utilities/internal/makeReference.cjs.map +1 -0
  627. package/__cjs/utilities/internal/makeReference.d.cts +8 -0
  628. package/__cjs/utilities/internal/makeUniqueId.cjs +18 -0
  629. package/__cjs/utilities/internal/makeUniqueId.cjs.map +1 -0
  630. package/__cjs/utilities/internal/makeUniqueId.d.cts +10 -0
  631. package/__cjs/utilities/internal/mapObservableFragment.cjs +27 -0
  632. package/__cjs/utilities/internal/mapObservableFragment.cjs.map +1 -0
  633. package/__cjs/utilities/internal/mapObservableFragment.d.cts +3 -0
  634. package/__cjs/utilities/internal/maybeDeepFreeze.cjs +17 -0
  635. package/__cjs/utilities/internal/maybeDeepFreeze.cjs.map +1 -0
  636. package/__cjs/utilities/internal/maybeDeepFreeze.d.cts +7 -0
  637. package/__cjs/utilities/internal/memoize.cjs +31 -0
  638. package/__cjs/utilities/internal/memoize.cjs.map +1 -0
  639. package/__cjs/utilities/internal/memoize.d.cts +8 -0
  640. package/__cjs/utilities/internal/mergeDeep.cjs +26 -0
  641. package/__cjs/utilities/internal/mergeDeep.cjs.map +1 -0
  642. package/__cjs/utilities/internal/mergeDeep.d.cts +8 -0
  643. package/__cjs/utilities/internal/mergeDeepArray.cjs +27 -0
  644. package/__cjs/utilities/internal/mergeDeepArray.cjs.map +1 -0
  645. package/__cjs/utilities/internal/mergeDeepArray.d.cts +7 -0
  646. package/__cjs/utilities/internal/mergeOptions.cjs +18 -0
  647. package/__cjs/utilities/internal/mergeOptions.cjs.map +1 -0
  648. package/__cjs/utilities/internal/mergeOptions.d.cts +10 -0
  649. package/__cjs/utilities/internal/omitDeep.cjs +48 -0
  650. package/__cjs/utilities/internal/omitDeep.cjs.map +1 -0
  651. package/__cjs/utilities/internal/omitDeep.d.cts +8 -0
  652. package/__cjs/utilities/internal/ponyfills/FinalizationRegistry.cjs +61 -0
  653. package/__cjs/utilities/internal/ponyfills/FinalizationRegistry.cjs.map +1 -0
  654. package/__cjs/utilities/internal/ponyfills/FinalizationRegistry.d.cts +11 -0
  655. package/__cjs/utilities/internal/ponyfills/index.cjs +6 -0
  656. package/__cjs/utilities/internal/ponyfills/index.cjs.map +1 -0
  657. package/__cjs/utilities/internal/ponyfills/index.d.cts +3 -0
  658. package/__cjs/utilities/internal/ponyfills/index.react-native.cjs +6 -0
  659. package/__cjs/utilities/internal/ponyfills/index.react-native.cjs.map +1 -0
  660. package/__cjs/utilities/internal/ponyfills/index.react-native.d.cts +2 -0
  661. package/__cjs/utilities/internal/preventUnhandledRejection.cjs +8 -0
  662. package/__cjs/utilities/internal/preventUnhandledRejection.cjs.map +1 -0
  663. package/__cjs/utilities/internal/preventUnhandledRejection.d.cts +2 -0
  664. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs +302 -0
  665. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs.map +1 -0
  666. package/__cjs/utilities/internal/removeDirectivesFromDocument.d.cts +14 -0
  667. package/__cjs/utilities/internal/removeFragmentSpreads.cjs +14 -0
  668. package/__cjs/utilities/internal/removeFragmentSpreads.cjs.map +1 -0
  669. package/__cjs/utilities/internal/removeFragmentSpreads.d.cts +3 -0
  670. package/__cjs/utilities/internal/resultKeyNameFromField.cjs +12 -0
  671. package/__cjs/utilities/internal/resultKeyNameFromField.cjs.map +1 -0
  672. package/__cjs/utilities/internal/resultKeyNameFromField.d.cts +8 -0
  673. package/__cjs/utilities/internal/shouldInclude.cjs +50 -0
  674. package/__cjs/utilities/internal/shouldInclude.cjs.map +1 -0
  675. package/__cjs/utilities/internal/shouldInclude.d.cts +8 -0
  676. package/__cjs/utilities/internal/storeKeyNameFromField.cjs +29 -0
  677. package/__cjs/utilities/internal/storeKeyNameFromField.cjs.map +1 -0
  678. package/__cjs/utilities/internal/storeKeyNameFromField.d.cts +8 -0
  679. package/__cjs/utilities/internal/stringifyForDisplay.cjs +18 -0
  680. package/__cjs/utilities/internal/stringifyForDisplay.cjs.map +1 -0
  681. package/__cjs/utilities/internal/stringifyForDisplay.d.cts +7 -0
  682. package/__cjs/utilities/internal/toQueryResult.cjs +18 -0
  683. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -0
  684. package/__cjs/utilities/internal/toQueryResult.d.cts +8 -0
  685. package/__cjs/utilities/internal/types/ApplyHKT.cjs +3 -0
  686. package/__cjs/utilities/internal/types/ApplyHKT.cjs.map +1 -0
  687. package/__cjs/utilities/internal/types/ApplyHKT.d.cts +13 -0
  688. package/__cjs/utilities/internal/types/ApplyHKTImplementationWithDefault.cjs +3 -0
  689. package/__cjs/utilities/internal/types/ApplyHKTImplementationWithDefault.cjs.map +1 -0
  690. package/__cjs/utilities/internal/types/ApplyHKTImplementationWithDefault.d.cts +11 -0
  691. package/__cjs/utilities/internal/types/DecoratedPromise.cjs +3 -0
  692. package/__cjs/utilities/internal/types/DecoratedPromise.cjs.map +1 -0
  693. package/__cjs/utilities/internal/types/DecoratedPromise.d.cts +10 -0
  694. package/__cjs/utilities/internal/types/DeepOmit.cjs +3 -0
  695. package/__cjs/utilities/internal/types/DeepOmit.cjs.map +1 -0
  696. package/__cjs/utilities/internal/types/DeepOmit.d.cts +15 -0
  697. package/__cjs/utilities/internal/types/DocumentationTypes.cjs +3 -0
  698. package/__cjs/utilities/internal/types/DocumentationTypes.cjs.map +1 -0
  699. package/__cjs/utilities/internal/types/DocumentationTypes.d.cts +88 -0
  700. package/__cjs/utilities/internal/types/ExtensionsWithStreamDetails.cjs +3 -0
  701. package/__cjs/utilities/internal/types/ExtensionsWithStreamDetails.cjs.map +1 -0
  702. package/__cjs/utilities/internal/types/ExtensionsWithStreamDetails.d.cts +12 -0
  703. package/__cjs/utilities/internal/types/FragmentMap.cjs +3 -0
  704. package/__cjs/utilities/internal/types/FragmentMap.cjs.map +1 -0
  705. package/__cjs/utilities/internal/types/FragmentMap.d.cts +12 -0
  706. package/__cjs/utilities/internal/types/FragmentMapFunction.cjs +3 -0
  707. package/__cjs/utilities/internal/types/FragmentMapFunction.cjs.map +1 -0
  708. package/__cjs/utilities/internal/types/FragmentMapFunction.d.cts +8 -0
  709. package/__cjs/utilities/internal/types/FulfilledPromise.cjs +3 -0
  710. package/__cjs/utilities/internal/types/FulfilledPromise.cjs.map +1 -0
  711. package/__cjs/utilities/internal/types/FulfilledPromise.d.cts +10 -0
  712. package/__cjs/utilities/internal/types/IsAny.cjs +3 -0
  713. package/__cjs/utilities/internal/types/IsAny.cjs.map +1 -0
  714. package/__cjs/utilities/internal/types/IsAny.d.cts +7 -0
  715. package/__cjs/utilities/internal/types/NoInfer.cjs +3 -0
  716. package/__cjs/utilities/internal/types/NoInfer.cjs.map +1 -0
  717. package/__cjs/utilities/internal/types/NoInfer.d.cts +35 -0
  718. package/__cjs/utilities/internal/types/PendingPromise.cjs +3 -0
  719. package/__cjs/utilities/internal/types/PendingPromise.cjs.map +1 -0
  720. package/__cjs/utilities/internal/types/PendingPromise.d.cts +9 -0
  721. package/__cjs/utilities/internal/types/Prettify.cjs +3 -0
  722. package/__cjs/utilities/internal/types/Prettify.cjs.map +1 -0
  723. package/__cjs/utilities/internal/types/Prettify.d.cts +9 -0
  724. package/__cjs/utilities/internal/types/Primitive.cjs +3 -0
  725. package/__cjs/utilities/internal/types/Primitive.cjs.map +1 -0
  726. package/__cjs/utilities/internal/types/Primitive.d.cts +7 -0
  727. package/__cjs/utilities/internal/types/RejectedPromise.cjs +3 -0
  728. package/__cjs/utilities/internal/types/RejectedPromise.cjs.map +1 -0
  729. package/__cjs/utilities/internal/types/RejectedPromise.d.cts +10 -0
  730. package/__cjs/utilities/internal/types/RemoveIndexSignature.cjs +3 -0
  731. package/__cjs/utilities/internal/types/RemoveIndexSignature.cjs.map +1 -0
  732. package/__cjs/utilities/internal/types/RemoveIndexSignature.d.cts +9 -0
  733. package/__cjs/utilities/internal/types/StreamInfoTrie.cjs +3 -0
  734. package/__cjs/utilities/internal/types/StreamInfoTrie.cjs.map +1 -0
  735. package/__cjs/utilities/internal/types/StreamInfoTrie.d.cts +16 -0
  736. package/__cjs/utilities/internal/types/TupleToIntersection.cjs +3 -0
  737. package/__cjs/utilities/internal/types/TupleToIntersection.cjs.map +1 -0
  738. package/__cjs/utilities/internal/types/TupleToIntersection.d.cts +2 -0
  739. package/__cjs/utilities/internal/types/VariablesOption.cjs +3 -0
  740. package/__cjs/utilities/internal/types/VariablesOption.cjs.map +1 -0
  741. package/__cjs/utilities/internal/types/VariablesOption.d.cts +26 -0
  742. package/__cjs/utilities/internal/valueToObjectRepresentation.cjs +44 -0
  743. package/__cjs/utilities/internal/valueToObjectRepresentation.cjs.map +1 -0
  744. package/__cjs/utilities/internal/valueToObjectRepresentation.d.cts +8 -0
  745. package/__cjs/utilities/invariant/index.cjs +100 -0
  746. package/__cjs/utilities/invariant/index.cjs.map +1 -0
  747. package/__cjs/utilities/invariant/index.d.cts +47 -0
  748. package/__cjs/utilities/invariant/index.development.cjs +16 -0
  749. package/__cjs/utilities/invariant/index.development.cjs.map +1 -0
  750. package/__cjs/utilities/invariant/index.development.d.cts +4 -0
  751. package/__cjs/utilities/isNetworkRequestInFlight.cjs +12 -0
  752. package/__cjs/utilities/isNetworkRequestInFlight.cjs.map +1 -0
  753. package/__cjs/utilities/isNetworkRequestInFlight.d.cts +7 -0
  754. package/__cjs/utilities/isNetworkRequestSettled.cjs +11 -0
  755. package/__cjs/utilities/isNetworkRequestSettled.cjs.map +1 -0
  756. package/__cjs/utilities/isNetworkRequestSettled.d.cts +7 -0
  757. package/__cjs/utilities/policies/pagination.cjs +238 -0
  758. package/__cjs/utilities/policies/pagination.cjs.map +1 -0
  759. package/__cjs/utilities/policies/pagination.d.cts +51 -0
  760. package/__cjs/utilities/subscriptions/relay/index.cjs +62 -0
  761. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -0
  762. package/__cjs/utilities/subscriptions/relay/index.d.cts +10 -0
  763. package/__cjs/v4-migration.cjs +9 -0
  764. package/__cjs/v4-migration.cjs.map +1 -0
  765. package/__cjs/v4-migration.d.cts +826 -0
  766. package/__cjs/version.cjs +6 -0
  767. package/__cjs/version.cjs.map +1 -0
  768. package/__cjs/version.d.cts +3 -0
  769. package/cache/core/cache.d.ts +291 -0
  770. package/cache/core/cache.js +354 -0
  771. package/cache/core/cache.js.map +1 -0
  772. package/cache/core/types/Cache.d.ts +302 -0
  773. package/cache/core/types/Cache.js +2 -0
  774. package/cache/core/types/Cache.js.map +1 -0
  775. package/cache/core/types/common.d.ts +64 -0
  776. package/cache/core/types/common.js +29 -0
  777. package/cache/core/types/common.js.map +1 -0
  778. package/cache/deprecated.d.ts +6 -0
  779. package/cache/deprecated.js +2 -0
  780. package/cache/deprecated.js.map +1 -0
  781. package/cache/index.d.ts +19 -0
  782. package/cache/index.js +10 -0
  783. package/cache/index.js.map +1 -0
  784. package/cache/inmemory/entityStore.d.ts +94 -0
  785. package/cache/inmemory/entityStore.js +669 -0
  786. package/cache/inmemory/entityStore.js.map +1 -0
  787. package/cache/inmemory/fragmentRegistry.d.ts +9 -0
  788. package/cache/inmemory/fragmentRegistry.js +131 -0
  789. package/cache/inmemory/fragmentRegistry.js.map +1 -0
  790. package/cache/inmemory/helpers.d.ts +21 -0
  791. package/cache/inmemory/helpers.js +82 -0
  792. package/cache/inmemory/helpers.js.map +1 -0
  793. package/cache/inmemory/inMemoryCache.d.ts +114 -0
  794. package/cache/inmemory/inMemoryCache.js +506 -0
  795. package/cache/inmemory/inMemoryCache.js.map +1 -0
  796. package/cache/inmemory/key-extractor.d.ts +9 -0
  797. package/cache/inmemory/key-extractor.js +185 -0
  798. package/cache/inmemory/key-extractor.js.map +1 -0
  799. package/cache/inmemory/policies.d.ts +126 -0
  800. package/cache/inmemory/policies.js +664 -0
  801. package/cache/inmemory/policies.js.map +1 -0
  802. package/cache/inmemory/reactiveVars.d.ts +19 -0
  803. package/cache/inmemory/reactiveVars.js +83 -0
  804. package/cache/inmemory/reactiveVars.js.map +1 -0
  805. package/cache/inmemory/readFromStore.d.ts +26 -0
  806. package/cache/inmemory/readFromStore.js +289 -0
  807. package/cache/inmemory/readFromStore.js.map +1 -0
  808. package/cache/inmemory/types.d.ts +109 -0
  809. package/cache/inmemory/types.js +2 -0
  810. package/cache/inmemory/types.js.map +1 -0
  811. package/cache/inmemory/writeToStore.d.ts +38 -0
  812. package/cache/inmemory/writeToStore.js +586 -0
  813. package/cache/inmemory/writeToStore.js.map +1 -0
  814. package/changes.json +26 -0
  815. package/core/ApolloClient.d.ts +1210 -0
  816. package/core/ApolloClient.js +531 -0
  817. package/core/ApolloClient.js.map +1 -0
  818. package/core/ObservableQuery.d.ts +467 -0
  819. package/core/ObservableQuery.js +1404 -0
  820. package/core/ObservableQuery.js.map +1 -0
  821. package/core/QueryInfo.d.ts +70 -0
  822. package/core/QueryInfo.js +397 -0
  823. package/core/QueryInfo.js.map +1 -0
  824. package/core/QueryManager.d.ts +168 -0
  825. package/core/QueryManager.js +1147 -0
  826. package/core/QueryManager.js.map +1 -0
  827. package/core/deprecated.d.ts +29 -0
  828. package/core/deprecated.js +2 -0
  829. package/core/deprecated.js.map +1 -0
  830. package/core/index.d.ts +31 -0
  831. package/core/index.js +34 -0
  832. package/core/index.js.map +1 -0
  833. package/core/networkStatus.d.ts +47 -0
  834. package/core/networkStatus.js +48 -0
  835. package/core/networkStatus.js.map +1 -0
  836. package/core/types.d.ts +327 -0
  837. package/core/types.js +2 -0
  838. package/core/types.js.map +1 -0
  839. package/core/watchQueryOptions.d.ts +75 -0
  840. package/core/watchQueryOptions.js +2 -0
  841. package/core/watchQueryOptions.js.map +1 -0
  842. package/dev/index.d.ts +6 -0
  843. package/dev/index.js +5 -0
  844. package/dev/index.js.map +1 -0
  845. package/dev/loadDevMessages.d.ts +2 -0
  846. package/dev/loadDevMessages.js +6 -0
  847. package/dev/loadDevMessages.js.map +1 -0
  848. package/dev/loadErrorMessageHandler.d.ts +8 -0
  849. package/dev/loadErrorMessageHandler.js +24 -0
  850. package/dev/loadErrorMessageHandler.js.map +1 -0
  851. package/dev/loadErrorMessages.d.ts +2 -0
  852. package/dev/loadErrorMessages.js +6 -0
  853. package/dev/loadErrorMessages.js.map +1 -0
  854. package/dev/setErrorMessageHandler.d.ts +34 -0
  855. package/dev/setErrorMessageHandler.js +9 -0
  856. package/dev/setErrorMessageHandler.js.map +1 -0
  857. package/dev/symbol.d.ts +10 -0
  858. package/dev/symbol.js +4 -0
  859. package/dev/symbol.js.map +1 -0
  860. package/errors/CombinedGraphQLErrors.d.ts +191 -0
  861. package/errors/CombinedGraphQLErrors.js +101 -0
  862. package/errors/CombinedGraphQLErrors.js.map +1 -0
  863. package/errors/CombinedProtocolErrors.d.ts +150 -0
  864. package/errors/CombinedProtocolErrors.js +80 -0
  865. package/errors/CombinedProtocolErrors.js.map +1 -0
  866. package/errors/LinkError.d.ts +61 -0
  867. package/errors/LinkError.js +63 -0
  868. package/errors/LinkError.js.map +1 -0
  869. package/errors/LocalStateError.d.ts +56 -0
  870. package/errors/LocalStateError.js +53 -0
  871. package/errors/LocalStateError.js.map +1 -0
  872. package/errors/ServerError.d.ts +87 -0
  873. package/errors/ServerError.js +75 -0
  874. package/errors/ServerError.js.map +1 -0
  875. package/errors/ServerParseError.d.ts +82 -0
  876. package/errors/ServerParseError.js +72 -0
  877. package/errors/ServerParseError.js.map +1 -0
  878. package/errors/UnconventionalError.d.ts +55 -0
  879. package/errors/UnconventionalError.js +63 -0
  880. package/errors/UnconventionalError.js.map +1 -0
  881. package/errors/index.d.ts +14 -0
  882. package/errors/index.js +31 -0
  883. package/errors/index.js.map +1 -0
  884. package/errors/isErrorLike.d.ts +3 -0
  885. package/errors/isErrorLike.js +9 -0
  886. package/errors/isErrorLike.js.map +1 -0
  887. package/errors/utils.d.ts +3 -0
  888. package/errors/utils.js +14 -0
  889. package/errors/utils.js.map +1 -0
  890. package/incremental/handlers/defer20220824.d.ts +66 -0
  891. package/incremental/handlers/defer20220824.js +122 -0
  892. package/incremental/handlers/defer20220824.js.map +1 -0
  893. package/incremental/handlers/graphql17Alpha9.d.ts +98 -0
  894. package/incremental/handlers/graphql17Alpha9.js +223 -0
  895. package/incremental/handlers/graphql17Alpha9.js.map +1 -0
  896. package/incremental/handlers/notImplemented.d.ts +20 -0
  897. package/incremental/handlers/notImplemented.js +15 -0
  898. package/incremental/handlers/notImplemented.js.map +1 -0
  899. package/incremental/index.d.ts +5 -0
  900. package/incremental/index.js +4 -0
  901. package/incremental/index.js.map +1 -0
  902. package/incremental/types.d.ts +33 -0
  903. package/incremental/types.js +2 -0
  904. package/incremental/types.js.map +1 -0
  905. package/invariantErrorCodes.d.ts +13 -0
  906. package/invariantErrorCodes.js +725 -0
  907. package/invariantErrorCodes.js.map +1 -0
  908. package/legacyEntryPoints/apollo-client.cjs +1 -0
  909. package/legacyEntryPoints/apollo-client.d.cts +1 -0
  910. package/legacyEntryPoints/cache/cache.cjs +1 -0
  911. package/legacyEntryPoints/cache/cache.d.cts +1 -0
  912. package/legacyEntryPoints/cache/index.d.ts +1 -0
  913. package/legacyEntryPoints/cache/index.js +1 -0
  914. package/legacyEntryPoints/core/core.cjs +1 -0
  915. package/legacyEntryPoints/core/core.d.cts +1 -0
  916. package/legacyEntryPoints/core/index.d.ts +1 -0
  917. package/legacyEntryPoints/core/index.js +1 -0
  918. package/legacyEntryPoints/dev/dev.cjs +1 -0
  919. package/legacyEntryPoints/dev/dev.d.cts +1 -0
  920. package/legacyEntryPoints/dev/index.d.ts +1 -0
  921. package/legacyEntryPoints/dev/index.js +1 -0
  922. package/legacyEntryPoints/errors/errors.cjs +1 -0
  923. package/legacyEntryPoints/errors/errors.d.cts +1 -0
  924. package/legacyEntryPoints/errors/index.d.ts +1 -0
  925. package/legacyEntryPoints/errors/index.js +1 -0
  926. package/legacyEntryPoints/incremental/incremental.cjs +1 -0
  927. package/legacyEntryPoints/incremental/incremental.d.cts +1 -0
  928. package/legacyEntryPoints/incremental/index.d.ts +1 -0
  929. package/legacyEntryPoints/incremental/index.js +1 -0
  930. package/legacyEntryPoints/index.d.ts +1 -0
  931. package/legacyEntryPoints/index.js +1 -0
  932. package/legacyEntryPoints/link/batch/batch.cjs +1 -0
  933. package/legacyEntryPoints/link/batch/batch.d.cts +1 -0
  934. package/legacyEntryPoints/link/batch/index.d.ts +1 -0
  935. package/legacyEntryPoints/link/batch/index.js +1 -0
  936. package/legacyEntryPoints/link/batch-http/batch-http.cjs +1 -0
  937. package/legacyEntryPoints/link/batch-http/batch-http.d.cts +1 -0
  938. package/legacyEntryPoints/link/batch-http/index.d.ts +1 -0
  939. package/legacyEntryPoints/link/batch-http/index.js +1 -0
  940. package/legacyEntryPoints/link/client-awareness/client-awareness.cjs +1 -0
  941. package/legacyEntryPoints/link/client-awareness/client-awareness.d.cts +1 -0
  942. package/legacyEntryPoints/link/client-awareness/index.d.ts +1 -0
  943. package/legacyEntryPoints/link/client-awareness/index.js +1 -0
  944. package/legacyEntryPoints/link/context/context.cjs +1 -0
  945. package/legacyEntryPoints/link/context/context.d.cts +1 -0
  946. package/legacyEntryPoints/link/context/index.d.ts +1 -0
  947. package/legacyEntryPoints/link/context/index.js +1 -0
  948. package/legacyEntryPoints/link/error/error.cjs +1 -0
  949. package/legacyEntryPoints/link/error/error.d.cts +1 -0
  950. package/legacyEntryPoints/link/error/index.d.ts +1 -0
  951. package/legacyEntryPoints/link/error/index.js +1 -0
  952. package/legacyEntryPoints/link/http/http.cjs +1 -0
  953. package/legacyEntryPoints/link/http/http.d.cts +1 -0
  954. package/legacyEntryPoints/link/http/index.d.ts +1 -0
  955. package/legacyEntryPoints/link/http/index.js +1 -0
  956. package/legacyEntryPoints/link/index.d.ts +1 -0
  957. package/legacyEntryPoints/link/index.js +1 -0
  958. package/legacyEntryPoints/link/link.cjs +1 -0
  959. package/legacyEntryPoints/link/link.d.cts +1 -0
  960. package/legacyEntryPoints/link/persisted-queries/index.d.ts +1 -0
  961. package/legacyEntryPoints/link/persisted-queries/index.js +1 -0
  962. package/legacyEntryPoints/link/persisted-queries/persisted-queries.cjs +1 -0
  963. package/legacyEntryPoints/link/persisted-queries/persisted-queries.d.cts +1 -0
  964. package/legacyEntryPoints/link/remove-typename/index.d.ts +1 -0
  965. package/legacyEntryPoints/link/remove-typename/index.js +1 -0
  966. package/legacyEntryPoints/link/remove-typename/remove-typename.cjs +1 -0
  967. package/legacyEntryPoints/link/remove-typename/remove-typename.d.cts +1 -0
  968. package/legacyEntryPoints/link/retry/index.d.ts +1 -0
  969. package/legacyEntryPoints/link/retry/index.js +1 -0
  970. package/legacyEntryPoints/link/retry/retry.cjs +1 -0
  971. package/legacyEntryPoints/link/retry/retry.d.cts +1 -0
  972. package/legacyEntryPoints/link/schema/index.d.ts +1 -0
  973. package/legacyEntryPoints/link/schema/index.js +1 -0
  974. package/legacyEntryPoints/link/schema/schema.cjs +1 -0
  975. package/legacyEntryPoints/link/schema/schema.d.cts +1 -0
  976. package/legacyEntryPoints/link/subscriptions/index.d.ts +1 -0
  977. package/legacyEntryPoints/link/subscriptions/index.js +1 -0
  978. package/legacyEntryPoints/link/subscriptions/subscriptions.cjs +1 -0
  979. package/legacyEntryPoints/link/subscriptions/subscriptions.d.cts +1 -0
  980. package/legacyEntryPoints/link/utils/index.d.ts +1 -0
  981. package/legacyEntryPoints/link/utils/index.js +1 -0
  982. package/legacyEntryPoints/link/utils/utils.cjs +1 -0
  983. package/legacyEntryPoints/link/utils/utils.d.cts +1 -0
  984. package/legacyEntryPoints/link/ws/index.d.ts +1 -0
  985. package/legacyEntryPoints/link/ws/index.js +1 -0
  986. package/legacyEntryPoints/link/ws/ws.cjs +1 -0
  987. package/legacyEntryPoints/link/ws/ws.d.cts +1 -0
  988. package/legacyEntryPoints/local-state/index.d.ts +1 -0
  989. package/legacyEntryPoints/local-state/index.js +1 -0
  990. package/legacyEntryPoints/local-state/local-state.cjs +1 -0
  991. package/legacyEntryPoints/local-state/local-state.d.cts +1 -0
  992. package/legacyEntryPoints/main.cjs +1 -0
  993. package/legacyEntryPoints/main.d.cts +1 -0
  994. package/legacyEntryPoints/masking/index.d.ts +1 -0
  995. package/legacyEntryPoints/masking/index.js +1 -0
  996. package/legacyEntryPoints/masking/masking.cjs +1 -0
  997. package/legacyEntryPoints/masking/masking.d.cts +1 -0
  998. package/legacyEntryPoints/react/index.d.ts +1 -0
  999. package/legacyEntryPoints/react/index.js +1 -0
  1000. package/legacyEntryPoints/react/internal/compiler-runtime/compiler-runtime.cjs +1 -0
  1001. package/legacyEntryPoints/react/internal/compiler-runtime/compiler-runtime.d.cts +1 -0
  1002. package/legacyEntryPoints/react/internal/compiler-runtime/index.d.ts +1 -0
  1003. package/legacyEntryPoints/react/internal/compiler-runtime/index.js +1 -0
  1004. package/legacyEntryPoints/react/internal/index.d.ts +1 -0
  1005. package/legacyEntryPoints/react/internal/index.js +1 -0
  1006. package/legacyEntryPoints/react/internal/internal.cjs +1 -0
  1007. package/legacyEntryPoints/react/internal/internal.d.cts +1 -0
  1008. package/legacyEntryPoints/react/react.cjs +1 -0
  1009. package/legacyEntryPoints/react/react.d.cts +1 -0
  1010. package/legacyEntryPoints/react/ssr/index.d.ts +1 -0
  1011. package/legacyEntryPoints/react/ssr/index.js +1 -0
  1012. package/legacyEntryPoints/react/ssr/ssr.cjs +1 -0
  1013. package/legacyEntryPoints/react/ssr/ssr.d.cts +1 -0
  1014. package/legacyEntryPoints/testing/index.d.ts +1 -0
  1015. package/legacyEntryPoints/testing/index.js +1 -0
  1016. package/legacyEntryPoints/testing/react/index.d.ts +1 -0
  1017. package/legacyEntryPoints/testing/react/index.js +1 -0
  1018. package/legacyEntryPoints/testing/react/react.cjs +1 -0
  1019. package/legacyEntryPoints/testing/react/react.d.cts +1 -0
  1020. package/legacyEntryPoints/testing/testing.cjs +1 -0
  1021. package/legacyEntryPoints/testing/testing.d.cts +1 -0
  1022. package/legacyEntryPoints/utilities/environment/environment.cjs +1 -0
  1023. package/legacyEntryPoints/utilities/environment/environment.d.cts +1 -0
  1024. package/legacyEntryPoints/utilities/environment/index.d.ts +1 -0
  1025. package/legacyEntryPoints/utilities/environment/index.js +1 -0
  1026. package/legacyEntryPoints/utilities/index.d.ts +1 -0
  1027. package/legacyEntryPoints/utilities/index.js +1 -0
  1028. package/legacyEntryPoints/utilities/internal/globals/globals.cjs +1 -0
  1029. package/legacyEntryPoints/utilities/internal/globals/globals.d.cts +1 -0
  1030. package/legacyEntryPoints/utilities/internal/globals/index.d.ts +1 -0
  1031. package/legacyEntryPoints/utilities/internal/globals/index.js +1 -0
  1032. package/legacyEntryPoints/utilities/internal/index.d.ts +1 -0
  1033. package/legacyEntryPoints/utilities/internal/index.js +1 -0
  1034. package/legacyEntryPoints/utilities/internal/internal.cjs +1 -0
  1035. package/legacyEntryPoints/utilities/internal/internal.d.cts +1 -0
  1036. package/legacyEntryPoints/utilities/internal/ponyfills/index.d.ts +1 -0
  1037. package/legacyEntryPoints/utilities/internal/ponyfills/index.js +1 -0
  1038. package/legacyEntryPoints/utilities/internal/ponyfills/ponyfills.cjs +1 -0
  1039. package/legacyEntryPoints/utilities/internal/ponyfills/ponyfills.d.cts +1 -0
  1040. package/legacyEntryPoints/utilities/invariant/index.d.ts +1 -0
  1041. package/legacyEntryPoints/utilities/invariant/index.js +1 -0
  1042. package/legacyEntryPoints/utilities/invariant/invariant.cjs +1 -0
  1043. package/legacyEntryPoints/utilities/invariant/invariant.d.cts +1 -0
  1044. package/legacyEntryPoints/utilities/subscriptions/relay/index.d.ts +1 -0
  1045. package/legacyEntryPoints/utilities/subscriptions/relay/index.js +1 -0
  1046. package/legacyEntryPoints/utilities/subscriptions/relay/relay.cjs +1 -0
  1047. package/legacyEntryPoints/utilities/subscriptions/relay/relay.d.cts +1 -0
  1048. package/legacyEntryPoints/utilities/utilities.cjs +1 -0
  1049. package/legacyEntryPoints/utilities/utilities.d.cts +1 -0
  1050. package/legacyEntryPoints/v4-migration/index.d.ts +1 -0
  1051. package/legacyEntryPoints/v4-migration/index.js +1 -0
  1052. package/legacyEntryPoints/v4-migration/v4-migration.cjs +1 -0
  1053. package/legacyEntryPoints/v4-migration/v4-migration.d.cts +1 -0
  1054. package/link/batch/batchLink.d.ts +117 -0
  1055. package/link/batch/batchLink.js +49 -0
  1056. package/link/batch/batchLink.js.map +1 -0
  1057. package/link/batch/batching.d.ts +27 -0
  1058. package/link/batch/batching.js +152 -0
  1059. package/link/batch/batching.js.map +1 -0
  1060. package/link/batch/index.d.ts +2 -0
  1061. package/link/batch/index.js +2 -0
  1062. package/link/batch/index.js.map +1 -0
  1063. package/link/batch-http/BaseBatchHttpLink.d.ts +68 -0
  1064. package/link/batch-http/BaseBatchHttpLink.js +152 -0
  1065. package/link/batch-http/BaseBatchHttpLink.js.map +1 -0
  1066. package/link/batch-http/batchHttpLink.d.ts +49 -0
  1067. package/link/batch-http/batchHttpLink.js +38 -0
  1068. package/link/batch-http/batchHttpLink.js.map +1 -0
  1069. package/link/batch-http/index.d.ts +3 -0
  1070. package/link/batch-http/index.js +3 -0
  1071. package/link/batch-http/index.js.map +1 -0
  1072. package/link/client-awareness/ClientAwarenessLink.d.ts +114 -0
  1073. package/link/client-awareness/ClientAwarenessLink.js +86 -0
  1074. package/link/client-awareness/ClientAwarenessLink.js.map +1 -0
  1075. package/link/client-awareness/index.d.ts +2 -0
  1076. package/link/client-awareness/index.js +2 -0
  1077. package/link/client-awareness/index.js.map +1 -0
  1078. package/link/context/index.d.ts +85 -0
  1079. package/link/context/index.js +63 -0
  1080. package/link/context/index.js.map +1 -0
  1081. package/link/core/ApolloLink.d.ts +384 -0
  1082. package/link/core/ApolloLink.js +266 -0
  1083. package/link/core/ApolloLink.js.map +1 -0
  1084. package/link/core/concat.d.ts +7 -0
  1085. package/link/core/concat.js +7 -0
  1086. package/link/core/concat.js.map +1 -0
  1087. package/link/core/deprecated.d.ts +10 -0
  1088. package/link/core/deprecated.js +2 -0
  1089. package/link/core/deprecated.js.map +1 -0
  1090. package/link/core/empty.d.ts +7 -0
  1091. package/link/core/empty.js +7 -0
  1092. package/link/core/empty.js.map +1 -0
  1093. package/link/core/execute.d.ts +3 -0
  1094. package/link/core/execute.js +3 -0
  1095. package/link/core/execute.js.map +1 -0
  1096. package/link/core/from.d.ts +7 -0
  1097. package/link/core/from.js +7 -0
  1098. package/link/core/from.js.map +1 -0
  1099. package/link/core/split.d.ts +7 -0
  1100. package/link/core/split.js +7 -0
  1101. package/link/core/split.js.map +1 -0
  1102. package/link/core/types.d.ts +6 -0
  1103. package/link/core/types.js +2 -0
  1104. package/link/core/types.js.map +1 -0
  1105. package/link/error/index.d.ts +105 -0
  1106. package/link/error/index.js +124 -0
  1107. package/link/error/index.js.map +1 -0
  1108. package/link/http/BaseHttpLink.d.ts +260 -0
  1109. package/link/http/BaseHttpLink.js +157 -0
  1110. package/link/http/BaseHttpLink.js.map +1 -0
  1111. package/link/http/HttpLink.d.ts +58 -0
  1112. package/link/http/HttpLink.js +41 -0
  1113. package/link/http/HttpLink.js.map +1 -0
  1114. package/link/http/checkFetcher.d.ts +2 -0
  1115. package/link/http/checkFetcher.js +5 -0
  1116. package/link/http/checkFetcher.js.map +1 -0
  1117. package/link/http/createSignalIfSupported.d.ts +13 -0
  1118. package/link/http/createSignalIfSupported.js +13 -0
  1119. package/link/http/createSignalIfSupported.js.map +1 -0
  1120. package/link/http/index.d.ts +9 -0
  1121. package/link/http/index.js +10 -0
  1122. package/link/http/index.js.map +1 -0
  1123. package/link/http/parseAndCheckHttpResponse.d.ts +4 -0
  1124. package/link/http/parseAndCheckHttpResponse.js +159 -0
  1125. package/link/http/parseAndCheckHttpResponse.js.map +1 -0
  1126. package/link/http/rewriteURIForGET.d.ts +9 -0
  1127. package/link/http/rewriteURIForGET.js +52 -0
  1128. package/link/http/rewriteURIForGET.js.map +1 -0
  1129. package/link/http/selectHttpOptionsAndBody.d.ts +29 -0
  1130. package/link/http/selectHttpOptionsAndBody.js +103 -0
  1131. package/link/http/selectHttpOptionsAndBody.js.map +1 -0
  1132. package/link/http/selectURI.d.ts +3 -0
  1133. package/link/http/selectURI.js +14 -0
  1134. package/link/http/selectURI.js.map +1 -0
  1135. package/link/index.d.ts +10 -0
  1136. package/link/index.js +7 -0
  1137. package/link/index.js.map +1 -0
  1138. package/link/persisted-queries/index.d.ts +227 -0
  1139. package/link/persisted-queries/index.js +243 -0
  1140. package/link/persisted-queries/index.js.map +1 -0
  1141. package/link/remove-typename/index.d.ts +2 -0
  1142. package/link/remove-typename/index.js +2 -0
  1143. package/link/remove-typename/index.js.map +1 -0
  1144. package/link/remove-typename/removeTypenameFromVariables.d.ts +137 -0
  1145. package/link/remove-typename/removeTypenameFromVariables.js +151 -0
  1146. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -0
  1147. package/link/retry/delayFunction.d.ts +3 -0
  1148. package/link/retry/delayFunction.js +18 -0
  1149. package/link/retry/delayFunction.js.map +1 -0
  1150. package/link/retry/index.d.ts +2 -0
  1151. package/link/retry/index.js +2 -0
  1152. package/link/retry/index.js.map +1 -0
  1153. package/link/retry/retryFunction.d.ts +3 -0
  1154. package/link/retry/retryFunction.js +9 -0
  1155. package/link/retry/retryFunction.js.map +1 -0
  1156. package/link/retry/retryLink.d.ts +148 -0
  1157. package/link/retry/retryLink.js +118 -0
  1158. package/link/retry/retryLink.js.map +1 -0
  1159. package/link/schema/index.d.ts +157 -0
  1160. package/link/schema/index.js +71 -0
  1161. package/link/schema/index.js.map +1 -0
  1162. package/link/subscriptions/index.d.ts +32 -0
  1163. package/link/subscriptions/index.js +97 -0
  1164. package/link/subscriptions/index.js.map +1 -0
  1165. package/link/utils/createOperation.d.ts +3 -0
  1166. package/link/utils/createOperation.js +34 -0
  1167. package/link/utils/createOperation.js.map +1 -0
  1168. package/link/utils/filterOperationVariables.d.ts +5 -0
  1169. package/link/utils/filterOperationVariables.js +22 -0
  1170. package/link/utils/filterOperationVariables.js.map +1 -0
  1171. package/link/utils/index.d.ts +3 -0
  1172. package/link/utils/index.js +3 -0
  1173. package/link/utils/index.js.map +1 -0
  1174. package/link/ws/index.d.ts +88 -0
  1175. package/link/ws/index.js +48 -0
  1176. package/link/ws/index.js.map +1 -0
  1177. package/local-state/LocalState.d.ts +183 -0
  1178. package/local-state/LocalState.js +576 -0
  1179. package/local-state/LocalState.js.map +1 -0
  1180. package/local-state/index.d.ts +2 -0
  1181. package/local-state/index.js +2 -0
  1182. package/local-state/index.js.map +1 -0
  1183. package/masking/GraphQLCodegenDataMasking.d.ts +46 -0
  1184. package/masking/GraphQLCodegenDataMasking.js +2 -0
  1185. package/masking/GraphQLCodegenDataMasking.js.map +1 -0
  1186. package/masking/PreserveTypes.d.ts +26 -0
  1187. package/masking/PreserveTypes.js +2 -0
  1188. package/masking/PreserveTypes.js.map +1 -0
  1189. package/masking/index.d.ts +6 -0
  1190. package/masking/index.js +4 -0
  1191. package/masking/index.js.map +1 -0
  1192. package/masking/internal/types.d.ts +120 -0
  1193. package/masking/internal/types.js +2 -0
  1194. package/masking/internal/types.js.map +1 -0
  1195. package/masking/maskDefinition.d.ts +14 -0
  1196. package/masking/maskDefinition.js +132 -0
  1197. package/masking/maskDefinition.js.map +1 -0
  1198. package/masking/maskFragment.d.ts +8 -0
  1199. package/masking/maskFragment.js +38 -0
  1200. package/masking/maskFragment.js.map +1 -0
  1201. package/masking/maskOperation.d.ts +8 -0
  1202. package/masking/maskOperation.js +25 -0
  1203. package/masking/maskOperation.js.map +1 -0
  1204. package/masking/types.d.ts +16 -0
  1205. package/masking/types.js +2 -0
  1206. package/masking/types.js.map +1 -0
  1207. package/masking/utils.d.ts +14 -0
  1208. package/masking/utils.js +39 -0
  1209. package/masking/utils.js.map +1 -0
  1210. package/package.json +383 -0
  1211. package/react/compiled/index.d.ts +2 -0
  1212. package/react/compiled/index.js +2 -0
  1213. package/react/compiled/index.js.map +1 -0
  1214. package/react/context/ApolloContext.d.ts +9 -0
  1215. package/react/context/ApolloContext.js +22 -0
  1216. package/react/context/ApolloContext.js.map +1 -0
  1217. package/react/context/ApolloProvider.d.ts +10 -0
  1218. package/react/context/ApolloProvider.js +16 -0
  1219. package/react/context/ApolloProvider.js.map +1 -0
  1220. package/react/hooks/constants.d.ts +3 -0
  1221. package/react/hooks/constants.js +2 -0
  1222. package/react/hooks/constants.js.map +1 -0
  1223. package/react/hooks/internal/__use.d.ts +4 -0
  1224. package/react/hooks/internal/__use.js +22 -0
  1225. package/react/hooks/internal/__use.js.map +1 -0
  1226. package/react/hooks/internal/index.d.ts +6 -0
  1227. package/react/hooks/internal/index.js +7 -0
  1228. package/react/hooks/internal/index.js.map +1 -0
  1229. package/react/hooks/internal/useDeepMemo.d.ts +3 -0
  1230. package/react/hooks/internal/useDeepMemo.js +12 -0
  1231. package/react/hooks/internal/useDeepMemo.js.map +1 -0
  1232. package/react/hooks/internal/useIsomorphicLayoutEffect.d.ts +3 -0
  1233. package/react/hooks/internal/useIsomorphicLayoutEffect.js +9 -0
  1234. package/react/hooks/internal/useIsomorphicLayoutEffect.js.map +1 -0
  1235. package/react/hooks/internal/useRenderGuard.d.ts +2 -0
  1236. package/react/hooks/internal/useRenderGuard.js +42 -0
  1237. package/react/hooks/internal/useRenderGuard.js.map +1 -0
  1238. package/react/hooks/internal/useSuspenseHookCacheKey.d.ts +11 -0
  1239. package/react/hooks/internal/useSuspenseHookCacheKey.js +24 -0
  1240. package/react/hooks/internal/useSuspenseHookCacheKey.js.map +1 -0
  1241. package/react/hooks/internal/validateSuspenseHookOptions.d.ts +3 -0
  1242. package/react/hooks/internal/validateSuspenseHookOptions.js +22 -0
  1243. package/react/hooks/internal/validateSuspenseHookOptions.js.map +1 -0
  1244. package/react/hooks/internal/wrapHook.d.ts +66 -0
  1245. package/react/hooks/internal/wrapHook.js +65 -0
  1246. package/react/hooks/internal/wrapHook.js.map +1 -0
  1247. package/react/hooks/useApolloClient.d.ts +18 -0
  1248. package/react/hooks/useApolloClient.js +25 -0
  1249. package/react/hooks/useApolloClient.js.map +1 -0
  1250. package/react/hooks/useBackgroundQuery.d.ts +975 -0
  1251. package/react/hooks/useBackgroundQuery.js +72 -0
  1252. package/react/hooks/useBackgroundQuery.js.map +1 -0
  1253. package/react/hooks/useFragment.d.ts +162 -0
  1254. package/react/hooks/useFragment.js +54 -0
  1255. package/react/hooks/useFragment.js.map +1 -0
  1256. package/react/hooks/useLazyQuery.d.ts +436 -0
  1257. package/react/hooks/useLazyQuery.js +146 -0
  1258. package/react/hooks/useLazyQuery.js.map +1 -0
  1259. package/react/hooks/useLoadableQuery.d.ts +353 -0
  1260. package/react/hooks/useLoadableQuery.js +88 -0
  1261. package/react/hooks/useLoadableQuery.js.map +1 -0
  1262. package/react/hooks/useMutation.d.ts +316 -0
  1263. package/react/hooks/useMutation.js +159 -0
  1264. package/react/hooks/useMutation.js.map +1 -0
  1265. package/react/hooks/useQuery.d.ts +549 -0
  1266. package/react/hooks/useQuery.js +215 -0
  1267. package/react/hooks/useQuery.js.map +1 -0
  1268. package/react/hooks/useQueryRefHandlers.d.ts +78 -0
  1269. package/react/hooks/useQueryRefHandlers.js +68 -0
  1270. package/react/hooks/useQueryRefHandlers.js.map +1 -0
  1271. package/react/hooks/useReactiveVar.d.ts +22 -0
  1272. package/react/hooks/useReactiveVar.js +35 -0
  1273. package/react/hooks/useReactiveVar.js.map +1 -0
  1274. package/react/hooks/useReadQuery.d.ts +100 -0
  1275. package/react/hooks/useReadQuery.js +70 -0
  1276. package/react/hooks/useReadQuery.js.map +1 -0
  1277. package/react/hooks/useSubscription.d.ts +270 -0
  1278. package/react/hooks/useSubscription.js +222 -0
  1279. package/react/hooks/useSubscription.js.map +1 -0
  1280. package/react/hooks/useSuspenseFragment.d.ts +105 -0
  1281. package/react/hooks/useSuspenseFragment.js +47 -0
  1282. package/react/hooks/useSuspenseFragment.js.map +1 -0
  1283. package/react/hooks/useSuspenseQuery.d.ts +630 -0
  1284. package/react/hooks/useSuspenseQuery.js +118 -0
  1285. package/react/hooks/useSuspenseQuery.js.map +1 -0
  1286. package/react/hooks/useSyncExternalStore.d.ts +4 -0
  1287. package/react/hooks/useSyncExternalStore.js +126 -0
  1288. package/react/hooks/useSyncExternalStore.js.map +1 -0
  1289. package/react/hooks-compiled/constants.d.ts +3 -0
  1290. package/react/hooks-compiled/constants.js +2 -0
  1291. package/react/hooks-compiled/constants.js.map +1 -0
  1292. package/react/hooks-compiled/internal/__use.d.ts +4 -0
  1293. package/react/hooks-compiled/internal/__use.js +22 -0
  1294. package/react/hooks-compiled/internal/__use.js.map +1 -0
  1295. package/react/hooks-compiled/internal/index.d.ts +6 -0
  1296. package/react/hooks-compiled/internal/index.js +7 -0
  1297. package/react/hooks-compiled/internal/index.js.map +1 -0
  1298. package/react/hooks-compiled/internal/useDeepMemo.d.ts +3 -0
  1299. package/react/hooks-compiled/internal/useDeepMemo.js +12 -0
  1300. package/react/hooks-compiled/internal/useDeepMemo.js.map +1 -0
  1301. package/react/hooks-compiled/internal/useIsomorphicLayoutEffect.d.ts +3 -0
  1302. package/react/hooks-compiled/internal/useIsomorphicLayoutEffect.js +9 -0
  1303. package/react/hooks-compiled/internal/useIsomorphicLayoutEffect.js.map +1 -0
  1304. package/react/hooks-compiled/internal/useRenderGuard.d.ts +2 -0
  1305. package/react/hooks-compiled/internal/useRenderGuard.js +42 -0
  1306. package/react/hooks-compiled/internal/useRenderGuard.js.map +1 -0
  1307. package/react/hooks-compiled/internal/useSuspenseHookCacheKey.d.ts +11 -0
  1308. package/react/hooks-compiled/internal/useSuspenseHookCacheKey.js +71 -0
  1309. package/react/hooks-compiled/internal/useSuspenseHookCacheKey.js.map +1 -0
  1310. package/react/hooks-compiled/internal/validateSuspenseHookOptions.d.ts +3 -0
  1311. package/react/hooks-compiled/internal/validateSuspenseHookOptions.js +22 -0
  1312. package/react/hooks-compiled/internal/validateSuspenseHookOptions.js.map +1 -0
  1313. package/react/hooks-compiled/internal/wrapHook.d.ts +66 -0
  1314. package/react/hooks-compiled/internal/wrapHook.js +65 -0
  1315. package/react/hooks-compiled/internal/wrapHook.js.map +1 -0
  1316. package/react/hooks-compiled/useApolloClient.d.ts +18 -0
  1317. package/react/hooks-compiled/useApolloClient.js +36 -0
  1318. package/react/hooks-compiled/useApolloClient.js.map +1 -0
  1319. package/react/hooks-compiled/useBackgroundQuery.d.ts +975 -0
  1320. package/react/hooks-compiled/useBackgroundQuery.js +72 -0
  1321. package/react/hooks-compiled/useBackgroundQuery.js.map +1 -0
  1322. package/react/hooks-compiled/useFragment.d.ts +162 -0
  1323. package/react/hooks-compiled/useFragment.js +125 -0
  1324. package/react/hooks-compiled/useFragment.js.map +1 -0
  1325. package/react/hooks-compiled/useLazyQuery.d.ts +436 -0
  1326. package/react/hooks-compiled/useLazyQuery.js +146 -0
  1327. package/react/hooks-compiled/useLazyQuery.js.map +1 -0
  1328. package/react/hooks-compiled/useLoadableQuery.d.ts +353 -0
  1329. package/react/hooks-compiled/useLoadableQuery.js +241 -0
  1330. package/react/hooks-compiled/useLoadableQuery.js.map +1 -0
  1331. package/react/hooks-compiled/useMutation.d.ts +316 -0
  1332. package/react/hooks-compiled/useMutation.js +254 -0
  1333. package/react/hooks-compiled/useMutation.js.map +1 -0
  1334. package/react/hooks-compiled/useQuery.d.ts +549 -0
  1335. package/react/hooks-compiled/useQuery.js +378 -0
  1336. package/react/hooks-compiled/useQuery.js.map +1 -0
  1337. package/react/hooks-compiled/useQueryRefHandlers.d.ts +78 -0
  1338. package/react/hooks-compiled/useQueryRefHandlers.js +106 -0
  1339. package/react/hooks-compiled/useQueryRefHandlers.js.map +1 -0
  1340. package/react/hooks-compiled/useReactiveVar.d.ts +22 -0
  1341. package/react/hooks-compiled/useReactiveVar.js +35 -0
  1342. package/react/hooks-compiled/useReactiveVar.js.map +1 -0
  1343. package/react/hooks-compiled/useReadQuery.d.ts +100 -0
  1344. package/react/hooks-compiled/useReadQuery.js +135 -0
  1345. package/react/hooks-compiled/useReadQuery.js.map +1 -0
  1346. package/react/hooks-compiled/useSubscription.d.ts +270 -0
  1347. package/react/hooks-compiled/useSubscription.js +366 -0
  1348. package/react/hooks-compiled/useSubscription.js.map +1 -0
  1349. package/react/hooks-compiled/useSuspenseFragment.d.ts +105 -0
  1350. package/react/hooks-compiled/useSuspenseFragment.js +47 -0
  1351. package/react/hooks-compiled/useSuspenseFragment.js.map +1 -0
  1352. package/react/hooks-compiled/useSuspenseQuery.d.ts +630 -0
  1353. package/react/hooks-compiled/useSuspenseQuery.js +136 -0
  1354. package/react/hooks-compiled/useSuspenseQuery.js.map +1 -0
  1355. package/react/hooks-compiled/useSyncExternalStore.d.ts +4 -0
  1356. package/react/hooks-compiled/useSyncExternalStore.js +126 -0
  1357. package/react/hooks-compiled/useSyncExternalStore.js.map +1 -0
  1358. package/react/index.compiled.d.ts +33 -0
  1359. package/react/index.compiled.js +19 -0
  1360. package/react/index.compiled.js.map +1 -0
  1361. package/react/index.d.ts +33 -0
  1362. package/react/index.js +19 -0
  1363. package/react/index.js.map +1 -0
  1364. package/react/index.react-server.d.ts +18 -0
  1365. package/react/index.react-server.js +43 -0
  1366. package/react/index.react-server.js.map +1 -0
  1367. package/react/internal/cache/FragmentReference.d.ts +35 -0
  1368. package/react/internal/cache/FragmentReference.js +112 -0
  1369. package/react/internal/cache/FragmentReference.js.map +1 -0
  1370. package/react/internal/cache/QueryReference.d.ts +112 -0
  1371. package/react/internal/cache/QueryReference.js +305 -0
  1372. package/react/internal/cache/QueryReference.js.map +1 -0
  1373. package/react/internal/cache/SuspenseCache.d.ts +29 -0
  1374. package/react/internal/cache/SuspenseCache.js +40 -0
  1375. package/react/internal/cache/SuspenseCache.js.map +1 -0
  1376. package/react/internal/cache/getSuspenseCache.d.ts +18 -0
  1377. package/react/internal/cache/getSuspenseCache.js +9 -0
  1378. package/react/internal/cache/getSuspenseCache.js.map +1 -0
  1379. package/react/internal/cache/types.d.ts +18 -0
  1380. package/react/internal/cache/types.js +2 -0
  1381. package/react/internal/cache/types.js.map +1 -0
  1382. package/react/internal/compiler-runtime/index.d.ts +8 -0
  1383. package/react/internal/compiler-runtime/index.js +28 -0
  1384. package/react/internal/compiler-runtime/index.js.map +1 -0
  1385. package/react/internal/index.d.ts +10 -0
  1386. package/react/internal/index.js +4 -0
  1387. package/react/internal/index.js.map +1 -0
  1388. package/react/internal/types.d.ts +4 -0
  1389. package/react/internal/types.js +2 -0
  1390. package/react/internal/types.js.map +1 -0
  1391. package/react/query-preloader/createQueryPreloader.d.ts +256 -0
  1392. package/react/query-preloader/createQueryPreloader.js +82 -0
  1393. package/react/query-preloader/createQueryPreloader.js.map +1 -0
  1394. package/react/ssr/getDataFromTree.d.ts +25 -0
  1395. package/react/ssr/getDataFromTree.js +39 -0
  1396. package/react/ssr/getDataFromTree.js.map +1 -0
  1397. package/react/ssr/index.d.ts +4 -0
  1398. package/react/ssr/index.js +4 -0
  1399. package/react/ssr/index.js.map +1 -0
  1400. package/react/ssr/prerenderStatic.d.ts +143 -0
  1401. package/react/ssr/prerenderStatic.js +168 -0
  1402. package/react/ssr/prerenderStatic.js.map +1 -0
  1403. package/react/ssr/renderToStringWithData.d.ts +8 -0
  1404. package/react/ssr/renderToStringWithData.js +15 -0
  1405. package/react/ssr/renderToStringWithData.js.map +1 -0
  1406. package/react/ssr/useSSRQuery.d.ts +6 -0
  1407. package/react/ssr/useSSRQuery.js +69 -0
  1408. package/react/ssr/useSSRQuery.js.map +1 -0
  1409. package/react/types/deprecated.d.ts +75 -0
  1410. package/react/types/deprecated.js +2 -0
  1411. package/react/types/deprecated.js.map +1 -0
  1412. package/react/types/types.documentation.d.ts +533 -0
  1413. package/react/types/types.documentation.js +2 -0
  1414. package/react/types/types.documentation.js.map +1 -0
  1415. package/testing/core/mocking/mockLink.d.ts +66 -0
  1416. package/testing/core/mocking/mockLink.js +187 -0
  1417. package/testing/core/mocking/mockLink.js.map +1 -0
  1418. package/testing/core/mocking/mockSubscriptionLink.d.ts +22 -0
  1419. package/testing/core/mocking/mockSubscriptionLink.js +52 -0
  1420. package/testing/core/mocking/mockSubscriptionLink.js.map +1 -0
  1421. package/testing/core/types/deprecated.d.ts +11 -0
  1422. package/testing/core/types/deprecated.js +2 -0
  1423. package/testing/core/types/deprecated.js.map +1 -0
  1424. package/testing/index.d.ts +4 -0
  1425. package/testing/index.js +3 -0
  1426. package/testing/index.js.map +1 -0
  1427. package/testing/react/MockedProvider.d.ts +33 -0
  1428. package/testing/react/MockedProvider.js +38 -0
  1429. package/testing/react/MockedProvider.js.map +1 -0
  1430. package/testing/react/index.d.ts +3 -0
  1431. package/testing/react/index.js +2 -0
  1432. package/testing/react/index.js.map +1 -0
  1433. package/utilities/DeepPartial.d.ts +15 -0
  1434. package/utilities/DeepPartial.js +6 -0
  1435. package/utilities/DeepPartial.js.map +1 -0
  1436. package/utilities/HKT.d.ts +36 -0
  1437. package/utilities/HKT.js +2 -0
  1438. package/utilities/HKT.js.map +1 -0
  1439. package/utilities/caching/index.d.ts +3 -0
  1440. package/utilities/caching/index.js +2 -0
  1441. package/utilities/caching/index.js.map +1 -0
  1442. package/utilities/caching/sizes.d.ts +286 -0
  1443. package/utilities/caching/sizes.js +26 -0
  1444. package/utilities/caching/sizes.js.map +1 -0
  1445. package/utilities/common/stripTypename.d.ts +19 -0
  1446. package/utilities/common/stripTypename.js +22 -0
  1447. package/utilities/common/stripTypename.js.map +1 -0
  1448. package/utilities/environment/index.d.ts +2 -0
  1449. package/utilities/environment/index.development.d.ts +2 -0
  1450. package/utilities/environment/index.development.js +2 -0
  1451. package/utilities/environment/index.development.js.map +1 -0
  1452. package/utilities/environment/index.js +2 -0
  1453. package/utilities/environment/index.js.map +1 -0
  1454. package/utilities/environment/index.production.d.ts +2 -0
  1455. package/utilities/environment/index.production.js +2 -0
  1456. package/utilities/environment/index.production.js.map +1 -0
  1457. package/utilities/graphql/DocumentTransform.d.ts +143 -0
  1458. package/utilities/graphql/DocumentTransform.js +186 -0
  1459. package/utilities/graphql/DocumentTransform.js.map +1 -0
  1460. package/utilities/graphql/isFormattedExecutionResult.d.ts +30 -0
  1461. package/utilities/graphql/isFormattedExecutionResult.js +33 -0
  1462. package/utilities/graphql/isFormattedExecutionResult.js.map +1 -0
  1463. package/utilities/graphql/operations.d.ts +77 -0
  1464. package/utilities/graphql/operations.js +86 -0
  1465. package/utilities/graphql/operations.js.map +1 -0
  1466. package/utilities/graphql/print.d.ts +13 -0
  1467. package/utilities/graphql/print.js +30 -0
  1468. package/utilities/graphql/print.js.map +1 -0
  1469. package/utilities/graphql/storeUtils.d.ts +52 -0
  1470. package/utilities/graphql/storeUtils.js +18 -0
  1471. package/utilities/graphql/storeUtils.js.map +1 -0
  1472. package/utilities/graphql/transform.d.ts +21 -0
  1473. package/utilities/graphql/transform.js +71 -0
  1474. package/utilities/graphql/transform.js.map +1 -0
  1475. package/utilities/index.d.ts +19 -0
  1476. package/utilities/index.js +14 -0
  1477. package/utilities/index.js.map +1 -0
  1478. package/utilities/internal/DeepMerger.d.ts +33 -0
  1479. package/utilities/internal/DeepMerger.js +95 -0
  1480. package/utilities/internal/DeepMerger.js.map +1 -0
  1481. package/utilities/internal/argumentsObjectFromField.d.ts +8 -0
  1482. package/utilities/internal/argumentsObjectFromField.js +15 -0
  1483. package/utilities/internal/argumentsObjectFromField.js.map +1 -0
  1484. package/utilities/internal/bindCacheKey.d.ts +15 -0
  1485. package/utilities/internal/bindCacheKey.js +18 -0
  1486. package/utilities/internal/bindCacheKey.js.map +1 -0
  1487. package/utilities/internal/caches.d.ts +42 -0
  1488. package/utilities/internal/caches.js +73 -0
  1489. package/utilities/internal/caches.js.map +1 -0
  1490. package/utilities/internal/canUseDOM.d.ts +7 -0
  1491. package/utilities/internal/canUseDOM.js +8 -0
  1492. package/utilities/internal/canUseDOM.js.map +1 -0
  1493. package/utilities/internal/canonicalStringify.d.ts +44 -0
  1494. package/utilities/internal/canonicalStringify.js +109 -0
  1495. package/utilities/internal/canonicalStringify.js.map +1 -0
  1496. package/utilities/internal/checkDocument.d.ts +10 -0
  1497. package/utilities/internal/checkDocument.js +64 -0
  1498. package/utilities/internal/checkDocument.js.map +1 -0
  1499. package/utilities/internal/cloneDeep.d.ts +9 -0
  1500. package/utilities/internal/cloneDeep.js +42 -0
  1501. package/utilities/internal/cloneDeep.js.map +1 -0
  1502. package/utilities/internal/combineLatestBatched.d.ts +14 -0
  1503. package/utilities/internal/combineLatestBatched.js +68 -0
  1504. package/utilities/internal/combineLatestBatched.js.map +1 -0
  1505. package/utilities/internal/compact.d.ts +11 -0
  1506. package/utilities/internal/compact.js +23 -0
  1507. package/utilities/internal/compact.js.map +1 -0
  1508. package/utilities/internal/constants.d.ts +23 -0
  1509. package/utilities/internal/constants.js +23 -0
  1510. package/utilities/internal/constants.js.map +1 -0
  1511. package/utilities/internal/createFragmentMap.d.ts +12 -0
  1512. package/utilities/internal/createFragmentMap.js +16 -0
  1513. package/utilities/internal/createFragmentMap.js.map +1 -0
  1514. package/utilities/internal/createFulfilledPromise.d.ts +8 -0
  1515. package/utilities/internal/createFulfilledPromise.js +12 -0
  1516. package/utilities/internal/createFulfilledPromise.js.map +1 -0
  1517. package/utilities/internal/createRejectedPromise.d.ts +8 -0
  1518. package/utilities/internal/createRejectedPromise.js +14 -0
  1519. package/utilities/internal/createRejectedPromise.js.map +1 -0
  1520. package/utilities/internal/dealias.d.ts +5 -0
  1521. package/utilities/internal/dealias.js +18 -0
  1522. package/utilities/internal/dealias.js.map +1 -0
  1523. package/utilities/internal/decoratePromise.d.ts +8 -0
  1524. package/utilities/internal/decoratePromise.js +30 -0
  1525. package/utilities/internal/decoratePromise.js.map +1 -0
  1526. package/utilities/internal/deepFreeze.d.ts +7 -0
  1527. package/utilities/internal/deepFreeze.js +36 -0
  1528. package/utilities/internal/deepFreeze.js.map +1 -0
  1529. package/utilities/internal/equalByQuery.d.ts +5 -0
  1530. package/utilities/internal/equalByQuery.js +90 -0
  1531. package/utilities/internal/equalByQuery.js.map +1 -0
  1532. package/utilities/internal/filterMap.d.ts +4 -0
  1533. package/utilities/internal/filterMap.js +28 -0
  1534. package/utilities/internal/filterMap.js.map +1 -0
  1535. package/utilities/internal/getDefaultValues.d.ts +8 -0
  1536. package/utilities/internal/getDefaultValues.js +19 -0
  1537. package/utilities/internal/getDefaultValues.js.map +1 -0
  1538. package/utilities/internal/getFragmentDefinition.d.ts +8 -0
  1539. package/utilities/internal/getFragmentDefinition.js +14 -0
  1540. package/utilities/internal/getFragmentDefinition.js.map +1 -0
  1541. package/utilities/internal/getFragmentDefinitions.d.ts +8 -0
  1542. package/utilities/internal/getFragmentDefinitions.js +9 -0
  1543. package/utilities/internal/getFragmentDefinitions.js.map +1 -0
  1544. package/utilities/internal/getFragmentFromSelection.d.ts +10 -0
  1545. package/utilities/internal/getFragmentFromSelection.js +24 -0
  1546. package/utilities/internal/getFragmentFromSelection.js.map +1 -0
  1547. package/utilities/internal/getFragmentQueryDocument.d.ts +39 -0
  1548. package/utilities/internal/getFragmentQueryDocument.js +93 -0
  1549. package/utilities/internal/getFragmentQueryDocument.js.map +1 -0
  1550. package/utilities/internal/getGraphQLErrorsFromResult.d.ts +10 -0
  1551. package/utilities/internal/getGraphQLErrorsFromResult.js +9 -0
  1552. package/utilities/internal/getGraphQLErrorsFromResult.js.map +1 -0
  1553. package/utilities/internal/getMainDefinition.d.ts +40 -0
  1554. package/utilities/internal/getMainDefinition.js +58 -0
  1555. package/utilities/internal/getMainDefinition.js.map +1 -0
  1556. package/utilities/internal/getMemoryInternals.d.ts +80 -0
  1557. package/utilities/internal/getMemoryInternals.js +128 -0
  1558. package/utilities/internal/getMemoryInternals.js.map +1 -0
  1559. package/utilities/internal/getOperationDefinition.d.ts +8 -0
  1560. package/utilities/internal/getOperationDefinition.js +11 -0
  1561. package/utilities/internal/getOperationDefinition.js.map +1 -0
  1562. package/utilities/internal/getOperationName.d.ts +8 -0
  1563. package/utilities/internal/getOperationName.js +9 -0
  1564. package/utilities/internal/getOperationName.js.map +1 -0
  1565. package/utilities/internal/getQueryDefinition.d.ts +8 -0
  1566. package/utilities/internal/getQueryDefinition.js +13 -0
  1567. package/utilities/internal/getQueryDefinition.js.map +1 -0
  1568. package/utilities/internal/getStoreKeyName.d.ts +16 -0
  1569. package/utilities/internal/getStoreKeyName.js +73 -0
  1570. package/utilities/internal/getStoreKeyName.js.map +1 -0
  1571. package/utilities/internal/globals/global.d.ts +3 -0
  1572. package/utilities/internal/globals/global.js +14 -0
  1573. package/utilities/internal/globals/global.js.map +1 -0
  1574. package/utilities/internal/globals/index.d.ts +3 -0
  1575. package/utilities/internal/globals/index.js +3 -0
  1576. package/utilities/internal/globals/index.js.map +1 -0
  1577. package/utilities/internal/globals/maybe.d.ts +2 -0
  1578. package/utilities/internal/globals/maybe.js +7 -0
  1579. package/utilities/internal/globals/maybe.js.map +1 -0
  1580. package/utilities/internal/graphQLResultHasError.d.ts +8 -0
  1581. package/utilities/internal/graphQLResultHasError.js +9 -0
  1582. package/utilities/internal/graphQLResultHasError.js.map +1 -0
  1583. package/utilities/internal/hasDirectives.d.ts +8 -0
  1584. package/utilities/internal/hasDirectives.js +21 -0
  1585. package/utilities/internal/hasDirectives.js.map +1 -0
  1586. package/utilities/internal/hasForcedResolvers.d.ts +3 -0
  1587. package/utilities/internal/hasForcedResolvers.js +20 -0
  1588. package/utilities/internal/hasForcedResolvers.js.map +1 -0
  1589. package/utilities/internal/index.d.ts +74 -0
  1590. package/utilities/internal/index.js +56 -0
  1591. package/utilities/internal/index.js.map +1 -0
  1592. package/utilities/internal/index.production.d.ts +3 -0
  1593. package/utilities/internal/index.production.js +7 -0
  1594. package/utilities/internal/index.production.js.map +1 -0
  1595. package/utilities/internal/isArray.d.ts +9 -0
  1596. package/utilities/internal/isArray.js +9 -0
  1597. package/utilities/internal/isArray.js.map +1 -0
  1598. package/utilities/internal/isDocumentNode.d.ts +8 -0
  1599. package/utilities/internal/isDocumentNode.js +12 -0
  1600. package/utilities/internal/isDocumentNode.js.map +1 -0
  1601. package/utilities/internal/isField.d.ts +8 -0
  1602. package/utilities/internal/isField.js +9 -0
  1603. package/utilities/internal/isField.js.map +1 -0
  1604. package/utilities/internal/isNonEmptyArray.d.ts +7 -0
  1605. package/utilities/internal/isNonEmptyArray.js +9 -0
  1606. package/utilities/internal/isNonEmptyArray.js.map +1 -0
  1607. package/utilities/internal/isNonNullObject.d.ts +7 -0
  1608. package/utilities/internal/isNonNullObject.js +9 -0
  1609. package/utilities/internal/isNonNullObject.js.map +1 -0
  1610. package/utilities/internal/isPlainObject.d.ts +7 -0
  1611. package/utilities/internal/isPlainObject.js +12 -0
  1612. package/utilities/internal/isPlainObject.js.map +1 -0
  1613. package/utilities/internal/makeReference.d.ts +8 -0
  1614. package/utilities/internal/makeReference.js +9 -0
  1615. package/utilities/internal/makeReference.js.map +1 -0
  1616. package/utilities/internal/makeUniqueId.d.ts +10 -0
  1617. package/utilities/internal/makeUniqueId.js +15 -0
  1618. package/utilities/internal/makeUniqueId.js.map +1 -0
  1619. package/utilities/internal/mapObservableFragment.d.ts +3 -0
  1620. package/utilities/internal/mapObservableFragment.js +24 -0
  1621. package/utilities/internal/mapObservableFragment.js.map +1 -0
  1622. package/utilities/internal/maybeDeepFreeze.d.ts +7 -0
  1623. package/utilities/internal/maybeDeepFreeze.js +14 -0
  1624. package/utilities/internal/maybeDeepFreeze.js.map +1 -0
  1625. package/utilities/internal/memoize.d.ts +8 -0
  1626. package/utilities/internal/memoize.js +28 -0
  1627. package/utilities/internal/memoize.js.map +1 -0
  1628. package/utilities/internal/mergeDeep.d.ts +8 -0
  1629. package/utilities/internal/mergeDeep.js +23 -0
  1630. package/utilities/internal/mergeDeep.js.map +1 -0
  1631. package/utilities/internal/mergeDeepArray.d.ts +7 -0
  1632. package/utilities/internal/mergeDeepArray.js +24 -0
  1633. package/utilities/internal/mergeDeepArray.js.map +1 -0
  1634. package/utilities/internal/mergeOptions.d.ts +10 -0
  1635. package/utilities/internal/mergeOptions.js +15 -0
  1636. package/utilities/internal/mergeOptions.js.map +1 -0
  1637. package/utilities/internal/omitDeep.d.ts +8 -0
  1638. package/utilities/internal/omitDeep.js +45 -0
  1639. package/utilities/internal/omitDeep.js.map +1 -0
  1640. package/utilities/internal/ponyfills/FinalizationRegistry.d.ts +11 -0
  1641. package/utilities/internal/ponyfills/FinalizationRegistry.js +57 -0
  1642. package/utilities/internal/ponyfills/FinalizationRegistry.js.map +1 -0
  1643. package/utilities/internal/ponyfills/index.d.ts +3 -0
  1644. package/utilities/internal/ponyfills/index.js +3 -0
  1645. package/utilities/internal/ponyfills/index.js.map +1 -0
  1646. package/utilities/internal/ponyfills/index.react-native.d.ts +2 -0
  1647. package/utilities/internal/ponyfills/index.react-native.js +2 -0
  1648. package/utilities/internal/ponyfills/index.react-native.js.map +1 -0
  1649. package/utilities/internal/preventUnhandledRejection.d.ts +2 -0
  1650. package/utilities/internal/preventUnhandledRejection.js +5 -0
  1651. package/utilities/internal/preventUnhandledRejection.js.map +1 -0
  1652. package/utilities/internal/removeDirectivesFromDocument.d.ts +14 -0
  1653. package/utilities/internal/removeDirectivesFromDocument.js +299 -0
  1654. package/utilities/internal/removeDirectivesFromDocument.js.map +1 -0
  1655. package/utilities/internal/removeFragmentSpreads.d.ts +3 -0
  1656. package/utilities/internal/removeFragmentSpreads.js +11 -0
  1657. package/utilities/internal/removeFragmentSpreads.js.map +1 -0
  1658. package/utilities/internal/resultKeyNameFromField.d.ts +8 -0
  1659. package/utilities/internal/resultKeyNameFromField.js +9 -0
  1660. package/utilities/internal/resultKeyNameFromField.js.map +1 -0
  1661. package/utilities/internal/shouldInclude.d.ts +8 -0
  1662. package/utilities/internal/shouldInclude.js +47 -0
  1663. package/utilities/internal/shouldInclude.js.map +1 -0
  1664. package/utilities/internal/storeKeyNameFromField.d.ts +8 -0
  1665. package/utilities/internal/storeKeyNameFromField.js +26 -0
  1666. package/utilities/internal/storeKeyNameFromField.js.map +1 -0
  1667. package/utilities/internal/stringifyForDisplay.d.ts +7 -0
  1668. package/utilities/internal/stringifyForDisplay.js +15 -0
  1669. package/utilities/internal/stringifyForDisplay.js.map +1 -0
  1670. package/utilities/internal/toQueryResult.d.ts +8 -0
  1671. package/utilities/internal/toQueryResult.js +15 -0
  1672. package/utilities/internal/toQueryResult.js.map +1 -0
  1673. package/utilities/internal/types/ApplyHKT.d.ts +13 -0
  1674. package/utilities/internal/types/ApplyHKT.js +2 -0
  1675. package/utilities/internal/types/ApplyHKT.js.map +1 -0
  1676. package/utilities/internal/types/ApplyHKTImplementationWithDefault.d.ts +11 -0
  1677. package/utilities/internal/types/ApplyHKTImplementationWithDefault.js +2 -0
  1678. package/utilities/internal/types/ApplyHKTImplementationWithDefault.js.map +1 -0
  1679. package/utilities/internal/types/DecoratedPromise.d.ts +10 -0
  1680. package/utilities/internal/types/DecoratedPromise.js +2 -0
  1681. package/utilities/internal/types/DecoratedPromise.js.map +1 -0
  1682. package/utilities/internal/types/DeepOmit.d.ts +15 -0
  1683. package/utilities/internal/types/DeepOmit.js +2 -0
  1684. package/utilities/internal/types/DeepOmit.js.map +1 -0
  1685. package/utilities/internal/types/DocumentationTypes.d.ts +88 -0
  1686. package/utilities/internal/types/DocumentationTypes.js +2 -0
  1687. package/utilities/internal/types/DocumentationTypes.js.map +1 -0
  1688. package/utilities/internal/types/ExtensionsWithStreamDetails.d.ts +12 -0
  1689. package/utilities/internal/types/ExtensionsWithStreamDetails.js +2 -0
  1690. package/utilities/internal/types/ExtensionsWithStreamDetails.js.map +1 -0
  1691. package/utilities/internal/types/FragmentMap.d.ts +12 -0
  1692. package/utilities/internal/types/FragmentMap.js +2 -0
  1693. package/utilities/internal/types/FragmentMap.js.map +1 -0
  1694. package/utilities/internal/types/FragmentMapFunction.d.ts +8 -0
  1695. package/utilities/internal/types/FragmentMapFunction.js +2 -0
  1696. package/utilities/internal/types/FragmentMapFunction.js.map +1 -0
  1697. package/utilities/internal/types/FulfilledPromise.d.ts +10 -0
  1698. package/utilities/internal/types/FulfilledPromise.js +2 -0
  1699. package/utilities/internal/types/FulfilledPromise.js.map +1 -0
  1700. package/utilities/internal/types/IsAny.d.ts +7 -0
  1701. package/utilities/internal/types/IsAny.js +2 -0
  1702. package/utilities/internal/types/IsAny.js.map +1 -0
  1703. package/utilities/internal/types/NoInfer.d.ts +35 -0
  1704. package/utilities/internal/types/NoInfer.js +2 -0
  1705. package/utilities/internal/types/NoInfer.js.map +1 -0
  1706. package/utilities/internal/types/PendingPromise.d.ts +9 -0
  1707. package/utilities/internal/types/PendingPromise.js +2 -0
  1708. package/utilities/internal/types/PendingPromise.js.map +1 -0
  1709. package/utilities/internal/types/Prettify.d.ts +9 -0
  1710. package/utilities/internal/types/Prettify.js +2 -0
  1711. package/utilities/internal/types/Prettify.js.map +1 -0
  1712. package/utilities/internal/types/Primitive.d.ts +7 -0
  1713. package/utilities/internal/types/Primitive.js +2 -0
  1714. package/utilities/internal/types/Primitive.js.map +1 -0
  1715. package/utilities/internal/types/RejectedPromise.d.ts +10 -0
  1716. package/utilities/internal/types/RejectedPromise.js +2 -0
  1717. package/utilities/internal/types/RejectedPromise.js.map +1 -0
  1718. package/utilities/internal/types/RemoveIndexSignature.d.ts +9 -0
  1719. package/utilities/internal/types/RemoveIndexSignature.js +2 -0
  1720. package/utilities/internal/types/RemoveIndexSignature.js.map +1 -0
  1721. package/utilities/internal/types/StreamInfoTrie.d.ts +16 -0
  1722. package/utilities/internal/types/StreamInfoTrie.js +2 -0
  1723. package/utilities/internal/types/StreamInfoTrie.js.map +1 -0
  1724. package/utilities/internal/types/TupleToIntersection.d.ts +2 -0
  1725. package/utilities/internal/types/TupleToIntersection.js +2 -0
  1726. package/utilities/internal/types/TupleToIntersection.js.map +1 -0
  1727. package/utilities/internal/types/VariablesOption.d.ts +26 -0
  1728. package/utilities/internal/types/VariablesOption.js +2 -0
  1729. package/utilities/internal/types/VariablesOption.js.map +1 -0
  1730. package/utilities/internal/valueToObjectRepresentation.d.ts +8 -0
  1731. package/utilities/internal/valueToObjectRepresentation.js +41 -0
  1732. package/utilities/internal/valueToObjectRepresentation.js.map +1 -0
  1733. package/utilities/invariant/index.d.ts +47 -0
  1734. package/utilities/invariant/index.development.d.ts +4 -0
  1735. package/utilities/invariant/index.development.js +12 -0
  1736. package/utilities/invariant/index.development.js.map +1 -0
  1737. package/utilities/invariant/index.js +93 -0
  1738. package/utilities/invariant/index.js.map +1 -0
  1739. package/utilities/isNetworkRequestInFlight.d.ts +7 -0
  1740. package/utilities/isNetworkRequestInFlight.js +9 -0
  1741. package/utilities/isNetworkRequestInFlight.js.map +1 -0
  1742. package/utilities/isNetworkRequestSettled.d.ts +7 -0
  1743. package/utilities/isNetworkRequestSettled.js +8 -0
  1744. package/utilities/isNetworkRequestSettled.js.map +1 -0
  1745. package/utilities/policies/pagination.d.ts +51 -0
  1746. package/utilities/policies/pagination.js +233 -0
  1747. package/utilities/policies/pagination.js.map +1 -0
  1748. package/utilities/subscriptions/relay/index.d.ts +10 -0
  1749. package/utilities/subscriptions/relay/index.js +59 -0
  1750. package/utilities/subscriptions/relay/index.js.map +1 -0
  1751. package/v4-migration.d.ts +826 -0
  1752. package/v4-migration.js +8 -0
  1753. package/v4-migration.js.map +1 -0
  1754. package/version.d.ts +3 -0
  1755. package/version.js +3 -0
  1756. package/version.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entityStore.js","sources":["../../../src/cache/inmemory/entityStore.ts"],"sourcesContent":["import { equal } from \"@wry/equality\";\nimport { Trie } from \"@wry/trie\";\nimport type { DocumentNode, FieldNode, SelectionSetNode } from \"graphql\";\nimport type { OptimisticDependencyFunction } from \"optimism\";\nimport { dep } from \"optimism\";\n\nimport type {\n Reference,\n StoreObject,\n StoreValue,\n} from \"@apollo/client/utilities\";\nimport { isReference } from \"@apollo/client/utilities\";\nimport { __DEV__ } from \"@apollo/client/utilities/environment\";\nimport {\n DeepMerger,\n isNonNullObject,\n makeReference,\n maybeDeepFreeze,\n} from \"@apollo/client/utilities/internal\";\nimport { invariant } from \"@apollo/client/utilities/invariant\";\n\nimport type { Cache } from \"../core/types/Cache.js\";\nimport type {\n CanReadFunction,\n DeleteModifier,\n InvalidateModifier,\n Modifier,\n ModifierDetails,\n Modifiers,\n ReadFieldOptions,\n SafeReadonly,\n ToReferenceFunction,\n} from \"../core/types/common.js\";\n\nimport { fieldNameFromStoreName, hasOwn } from \"./helpers.js\";\nimport type { Policies, StorageType } from \"./policies.js\";\nimport type { NormalizedCache, NormalizedCacheObject } from \"./types.js\";\n\nconst DELETE = {} as DeleteModifier;\nconst delModifier: Modifier<any> = () => DELETE;\nconst INVALIDATE = {} as InvalidateModifier;\n\nexport abstract class EntityStore implements NormalizedCache {\n public declare static Root: typeof Root;\n\n protected data: NormalizedCacheObject = {};\n\n constructor(\n public readonly policies: Policies,\n public readonly group: CacheGroup\n ) {}\n\n public abstract addLayer(\n layerId: string,\n replay: (layer: EntityStore) => any\n ): Layer;\n\n public abstract removeLayer(layerId: string): EntityStore;\n\n // Although the EntityStore class is abstract, it contains concrete\n // implementations of the various NormalizedCache interface methods that\n // are inherited by the Root and Layer subclasses.\n\n public toObject(): NormalizedCacheObject {\n return { ...this.data };\n }\n\n public has(dataId: string): boolean {\n return this.lookup(dataId, true) !== void 0;\n }\n\n public get(dataId: string, fieldName: string): StoreValue {\n this.group.depend(dataId, fieldName);\n if (hasOwn.call(this.data, dataId)) {\n const storeObject = this.data[dataId];\n if (storeObject && hasOwn.call(storeObject, fieldName)) {\n return storeObject[fieldName];\n }\n }\n if (\n fieldName === \"__typename\" &&\n hasOwn.call(this.policies.rootTypenamesById, dataId)\n ) {\n return this.policies.rootTypenamesById[dataId];\n }\n if (this instanceof Layer) {\n return this.parent.get(dataId, fieldName);\n }\n }\n\n protected lookup(\n dataId: string,\n dependOnExistence?: boolean\n ): StoreObject | undefined {\n // The has method (above) calls lookup with dependOnExistence = true, so\n // that it can later be invalidated when we add or remove a StoreObject for\n // this dataId. Any consumer who cares about the contents of the StoreObject\n // should not rely on this dependency, since the contents could change\n // without the object being added or removed.\n if (dependOnExistence) this.group.depend(dataId, \"__exists\");\n\n if (hasOwn.call(this.data, dataId)) {\n return this.data[dataId];\n }\n\n if (this instanceof Layer) {\n return this.parent.lookup(dataId, dependOnExistence);\n }\n\n if (this.policies.rootTypenamesById[dataId]) {\n return {};\n }\n }\n\n public merge(older: string | StoreObject, newer: StoreObject | string): void {\n let dataId: string | undefined;\n\n // Convert unexpected references to ID strings.\n if (isReference(older)) older = older.__ref;\n if (isReference(newer)) newer = newer.__ref;\n\n const existing: StoreObject | undefined =\n typeof older === \"string\" ? this.lookup((dataId = older)) : older;\n\n const incoming: StoreObject | undefined =\n typeof newer === \"string\" ? this.lookup((dataId = newer)) : newer;\n\n // If newer was a string ID, but that ID was not defined in this store,\n // then there are no fields to be merged, so we're done.\n if (!incoming) return;\n\n invariant(typeof dataId === \"string\", \"store.merge expects a string ID\");\n\n const merged: StoreObject = new DeepMerger({\n reconciler: storeObjectReconciler,\n }).merge(existing, incoming);\n\n // Even if merged === existing, existing may have come from a lower\n // layer, so we always need to set this.data[dataId] on this level.\n this.data[dataId] = merged;\n\n if (merged !== existing) {\n delete this.refs[dataId];\n if (this.group.caching) {\n const fieldsToDirty: Record<string, 1> = {};\n\n // If we added a new StoreObject where there was previously none, dirty\n // anything that depended on the existence of this dataId, such as the\n // EntityStore#has method.\n if (!existing) fieldsToDirty.__exists = 1;\n\n // Now invalidate dependents who called getFieldValue for any fields\n // that are changing as a result of this merge.\n Object.keys(incoming).forEach((storeFieldName) => {\n if (\n !existing ||\n existing[storeFieldName] !== merged[storeFieldName]\n ) {\n // Always dirty the full storeFieldName, which may include\n // serialized arguments following the fieldName prefix.\n fieldsToDirty[storeFieldName] = 1;\n\n // Also dirty fieldNameFromStoreName(storeFieldName) if it's\n // different from storeFieldName and this field does not have\n // keyArgs configured, because that means the cache can't make\n // any assumptions about how field values with the same field\n // name but different arguments might be interrelated, so it\n // must err on the side of invalidating all field values that\n // share the same short fieldName, regardless of arguments.\n const fieldName = fieldNameFromStoreName(storeFieldName);\n if (\n fieldName !== storeFieldName &&\n !this.policies.hasKeyArgs(merged.__typename, fieldName)\n ) {\n fieldsToDirty[fieldName] = 1;\n }\n\n // If merged[storeFieldName] has become undefined, and this is the\n // Root layer, actually delete the property from the merged object,\n // which is guaranteed to have been created fresh in this method.\n if (merged[storeFieldName] === void 0 && !(this instanceof Layer)) {\n delete merged[storeFieldName];\n }\n }\n });\n\n if (\n fieldsToDirty.__typename &&\n !(existing && existing.__typename) &&\n // Since we return default root __typename strings\n // automatically from store.get, we don't need to dirty the\n // ROOT_QUERY.__typename field if merged.__typename is equal\n // to the default string (usually \"Query\").\n this.policies.rootTypenamesById[dataId] === merged.__typename\n ) {\n delete fieldsToDirty.__typename;\n }\n\n Object.keys(fieldsToDirty).forEach((fieldName) =>\n this.group.dirty(dataId as string, fieldName)\n );\n }\n }\n }\n\n public modify(\n dataId: string,\n fields: Modifier<any> | Modifiers<Record<string, any>>,\n exact: boolean\n ): boolean {\n const storeObject = this.lookup(dataId);\n\n if (storeObject) {\n const changedFields: Record<string, any> = {};\n let needToMerge = false;\n let allDeleted = true;\n\n const sharedDetails = {\n DELETE,\n INVALIDATE,\n isReference,\n toReference: this.toReference,\n canRead: this.canRead,\n readField: <V = StoreValue>(\n fieldNameOrOptions: string | ReadFieldOptions,\n from?: StoreObject | Reference\n ) =>\n this.policies.readField<V>(\n typeof fieldNameOrOptions === \"string\" ?\n {\n fieldName: fieldNameOrOptions,\n from: from || makeReference(dataId),\n }\n : fieldNameOrOptions,\n { store: this }\n ),\n } satisfies Partial<ModifierDetails>;\n\n Object.keys(storeObject).forEach((storeFieldName) => {\n const fieldName = fieldNameFromStoreName(storeFieldName);\n let fieldValue = storeObject[storeFieldName];\n if (fieldValue === void 0) return;\n const modify: Modifier<StoreValue> | undefined =\n typeof fields === \"function\" ? fields : (\n fields[storeFieldName] || (exact ? undefined : fields[fieldName])\n );\n if (modify) {\n let newValue =\n modify === delModifier ? DELETE : (\n modify(maybeDeepFreeze(fieldValue), {\n ...sharedDetails,\n fieldName,\n storeFieldName,\n storage: this.getStorage(dataId, storeFieldName),\n })\n );\n if (newValue === INVALIDATE) {\n this.group.dirty(dataId, storeFieldName);\n } else {\n if (newValue === DELETE) newValue = void 0;\n if (newValue !== fieldValue) {\n changedFields[storeFieldName] = newValue;\n needToMerge = true;\n fieldValue = newValue as StoreValue;\n\n if (__DEV__) {\n const checkReference = (ref: Reference) => {\n if (this.lookup(ref.__ref) === undefined) {\n invariant.warn(\n \"cache.modify: You are trying to write a Reference that is not part of the store: %o\\n\" +\n \"Please make sure to set the `mergeIntoStore` parameter to `true` when creating a Reference that is not part of the store yet:\\n\" +\n \"`toReference(object, true)`\",\n ref\n );\n return true;\n }\n };\n if (isReference(newValue)) {\n checkReference(newValue);\n } else if (Array.isArray(newValue)) {\n // Warn about writing \"mixed\" arrays of Reference and non-Reference objects\n let seenReference: boolean = false;\n let someNonReference: unknown;\n for (const value of newValue) {\n if (isReference(value)) {\n seenReference = true;\n if (checkReference(value)) break;\n } else {\n // Do not warn on primitive values, since those could never be represented\n // by a reference. This is a valid (albeit uncommon) use case.\n if (typeof value === \"object\" && !!value) {\n const [id] = this.policies.identify(value);\n // check if object could even be referenced, otherwise we are not interested in it for this warning\n if (id) {\n someNonReference = value;\n }\n }\n }\n if (seenReference && someNonReference !== undefined) {\n invariant.warn(\n \"cache.modify: Writing an array with a mix of both References and Objects will not result in the Objects being normalized correctly.\\n\" +\n \"Please convert the object instance %o to a Reference before writing it to the cache by calling `toReference(object, true)`.\",\n someNonReference\n );\n break;\n }\n }\n }\n }\n }\n }\n }\n if (fieldValue !== void 0) {\n allDeleted = false;\n }\n });\n\n if (needToMerge) {\n this.merge(dataId, changedFields);\n\n if (allDeleted) {\n if (this instanceof Layer) {\n this.data[dataId] = void 0;\n } else {\n delete this.data[dataId];\n }\n this.group.dirty(dataId, \"__exists\");\n }\n\n return true;\n }\n }\n\n return false;\n }\n\n // If called with only one argument, removes the entire entity\n // identified by dataId. If called with a fieldName as well, removes all\n // fields of that entity whose names match fieldName according to the\n // fieldNameFromStoreName helper function. If called with a fieldName\n // and variables, removes all fields of that entity whose names match fieldName\n // and whose arguments when cached exactly match the variables passed.\n public delete(\n dataId: string,\n fieldName?: string,\n args?: Record<string, any>\n ) {\n const storeObject = this.lookup(dataId);\n if (storeObject) {\n const typename = this.getFieldValue<string>(storeObject, \"__typename\");\n const storeFieldName =\n fieldName && args ?\n this.policies.getStoreFieldName({ typename, fieldName, args })\n : fieldName;\n return this.modify(\n dataId,\n storeFieldName ?\n {\n [storeFieldName]: delModifier,\n }\n : delModifier,\n !!args\n );\n }\n return false;\n }\n\n public evict(options: Cache.EvictOptions, limit: EntityStore): boolean {\n let evicted = false;\n if (options.id) {\n if (hasOwn.call(this.data, options.id)) {\n evicted = this.delete(options.id, options.fieldName, options.args);\n }\n if (this instanceof Layer && this !== limit) {\n evicted = this.parent.evict(options, limit) || evicted;\n }\n // Always invalidate the field to trigger rereading of watched\n // queries, even if no cache data was modified by the eviction,\n // because queries may depend on computed fields with custom read\n // functions, whose values are not stored in the EntityStore.\n if (options.fieldName || evicted) {\n this.group.dirty(options.id, options.fieldName || \"__exists\");\n }\n }\n return evicted;\n }\n\n public clear(): void {\n this.replace(null);\n }\n\n public extract(): NormalizedCacheObject {\n const obj = this.toObject();\n const extraRootIds: string[] = [];\n this.getRootIdSet().forEach((id) => {\n if (!hasOwn.call(this.policies.rootTypenamesById, id)) {\n extraRootIds.push(id);\n }\n });\n if (extraRootIds.length) {\n obj.__META = { extraRootIds: extraRootIds.sort() };\n }\n return obj;\n }\n\n public replace(newData: NormalizedCacheObject | null): void {\n Object.keys(this.data).forEach((dataId) => {\n if (!(newData && hasOwn.call(newData, dataId))) {\n this.delete(dataId);\n }\n });\n if (newData) {\n const { __META, ...rest } = newData;\n Object.keys(rest).forEach((dataId) => {\n this.merge(dataId, rest[dataId] as StoreObject);\n });\n if (__META) {\n __META.extraRootIds.forEach(this.retain, this);\n }\n }\n }\n\n public abstract getStorage(\n idOrObj: string | StoreObject,\n ...storeFieldNames: (string | number)[]\n ): StorageType;\n\n // Maps root entity IDs to the number of times they have been retained, minus\n // the number of times they have been released. Retained entities keep other\n // entities they reference (even indirectly) from being garbage collected.\n private rootIds: {\n [rootId: string]: number;\n } = {};\n\n public retain(rootId: string): number {\n return (this.rootIds[rootId] = (this.rootIds[rootId] || 0) + 1);\n }\n\n public release(rootId: string): number {\n if (this.rootIds[rootId] > 0) {\n const count = --this.rootIds[rootId];\n if (!count) delete this.rootIds[rootId];\n return count;\n }\n return 0;\n }\n\n // Return a Set<string> of all the ID strings that have been retained by\n // this layer/root *and* any layers/roots beneath it.\n public getRootIdSet(ids = new Set<string>()) {\n Object.keys(this.rootIds).forEach(ids.add, ids);\n if (this instanceof Layer) {\n this.parent.getRootIdSet(ids);\n } else {\n // Official singleton IDs like ROOT_QUERY and ROOT_MUTATION are\n // always considered roots for garbage collection, regardless of\n // their retainment counts in this.rootIds.\n Object.keys(this.policies.rootTypenamesById).forEach(ids.add, ids);\n }\n return ids;\n }\n\n // The goal of garbage collection is to remove IDs from the Root layer of the\n // store that are no longer reachable starting from any IDs that have been\n // explicitly retained (see retain and release, above). Returns an array of\n // dataId strings that were removed from the store.\n public gc() {\n const ids = this.getRootIdSet();\n const snapshot = this.toObject();\n ids.forEach((id) => {\n if (hasOwn.call(snapshot, id)) {\n // Because we are iterating over an ECMAScript Set, the IDs we add here\n // will be visited in later iterations of the forEach loop only if they\n // were not previously contained by the Set.\n Object.keys(this.findChildRefIds(id)).forEach(ids.add, ids);\n // By removing IDs from the snapshot object here, we protect them from\n // getting removed from the root store layer below.\n delete snapshot[id];\n }\n });\n const idsToRemove = Object.keys(snapshot);\n if (idsToRemove.length) {\n let root: EntityStore = this;\n while (root instanceof Layer) root = root.parent;\n idsToRemove.forEach((id) => root.delete(id));\n }\n return idsToRemove;\n }\n\n // Lazily tracks { __ref: <dataId> } strings contained by this.data[dataId].\n private refs: {\n [dataId: string]: Record<string, true>;\n } = {};\n\n public findChildRefIds(dataId: string): Record<string, true> {\n if (!hasOwn.call(this.refs, dataId)) {\n const found = (this.refs[dataId] = {} as Record<string, true>);\n const root = this.data[dataId];\n if (!root) return found;\n\n const workSet = new Set<Record<string | number, any>>([root]);\n // Within the store, only arrays and objects can contain child entity\n // references, so we can prune the traversal using this predicate:\n workSet.forEach((obj) => {\n if (isReference(obj)) {\n found[obj.__ref] = true;\n // In rare cases, a { __ref } Reference object may have other fields.\n // This often indicates a mismerging of References with StoreObjects,\n // but garbage collection should not be fooled by a stray __ref\n // property in a StoreObject (ignoring all the other fields just\n // because the StoreObject looks like a Reference). To avoid this\n // premature termination of findChildRefIds recursion, we fall through\n // to the code below, which will handle any other properties of obj.\n }\n if (isNonNullObject(obj)) {\n Object.keys(obj).forEach((key) => {\n const child = obj[key];\n // No need to add primitive values to the workSet, since they cannot\n // contain reference objects.\n if (isNonNullObject(child)) {\n workSet.add(child);\n }\n });\n }\n });\n }\n return this.refs[dataId];\n }\n\n // Used to compute cache keys specific to this.group.\n /** overload for `InMemoryCache.maybeBroadcastWatch` */\n public makeCacheKey(\n document: DocumentNode,\n callback: Cache.WatchCallback<any>,\n details: string\n ): object;\n /** overload for `StoreReader.executeSelectionSet` */\n public makeCacheKey(\n selectionSet: SelectionSetNode,\n parent: string /* = ( Reference.__ref ) */ | StoreObject,\n varString: string | undefined\n ): object;\n /** overload for `StoreReader.executeSubSelectedArray` */\n public makeCacheKey(\n field: FieldNode,\n array: readonly any[],\n varString: string | undefined\n ): object;\n /**\n * @deprecated This is only meant for internal usage,\n * in your own code please use a `Trie` instance instead.\n */\n public makeCacheKey(...args: any[]): object;\n public makeCacheKey() {\n return this.group.keyMaker.lookupArray(arguments);\n }\n\n // Bound function that can be passed around to provide easy access to fields\n // of Reference objects as well as ordinary objects.\n public getFieldValue = <T = StoreValue>(\n objectOrReference: StoreObject | Reference | undefined,\n storeFieldName: string\n ) =>\n maybeDeepFreeze(\n isReference(objectOrReference) ?\n this.get(objectOrReference.__ref, storeFieldName)\n : objectOrReference && objectOrReference[storeFieldName]\n ) as SafeReadonly<T>;\n\n // Returns true for non-normalized StoreObjects and non-dangling\n // References, indicating that readField(name, objOrRef) has a chance of\n // working. Useful for filtering out dangling references from lists.\n public canRead: CanReadFunction = (objOrRef) => {\n return isReference(objOrRef) ?\n this.has(objOrRef.__ref)\n : typeof objOrRef === \"object\";\n };\n\n // Bound function that converts an id or an object with a __typename and\n // primary key fields to a Reference object. If called with a Reference object,\n // that same Reference object is returned. Pass true for mergeIntoStore to persist\n // an object into the store.\n public toReference: ToReferenceFunction = (objOrIdOrRef, mergeIntoStore) => {\n if (typeof objOrIdOrRef === \"string\") {\n return makeReference(objOrIdOrRef);\n }\n\n if (isReference(objOrIdOrRef)) {\n return objOrIdOrRef;\n }\n\n const [id] = this.policies.identify(objOrIdOrRef);\n\n if (id) {\n const ref = makeReference(id);\n if (mergeIntoStore) {\n this.merge(id, objOrIdOrRef);\n }\n return ref;\n }\n };\n\n public get supportsResultCaching(): boolean {\n return this.group.caching;\n }\n}\n\nexport type FieldValueGetter = EntityStore[\"getFieldValue\"];\n\n// A single CacheGroup represents a set of one or more EntityStore objects,\n// typically the Root store in a CacheGroup by itself, and all active Layer\n// stores in a group together. A single EntityStore object belongs to only\n// one CacheGroup, store.group. The CacheGroup is responsible for tracking\n// dependencies, so store.group is helpful for generating unique keys for\n// cached results that need to be invalidated when/if those dependencies\n// change. If we used the EntityStore objects themselves as cache keys (that\n// is, store rather than store.group), the cache would become unnecessarily\n// fragmented by all the different Layer objects. Instead, the CacheGroup\n// approach allows all optimistic Layer objects in the same linked list to\n// belong to one CacheGroup, with the non-optimistic Root object belonging\n// to another CacheGroup, allowing resultCaching dependencies to be tracked\n// separately for optimistic and non-optimistic entity data.\nclass CacheGroup {\n private d: OptimisticDependencyFunction<string> | null = null;\n\n // Used by the EntityStore#makeCacheKey method to compute cache keys\n // specific to this CacheGroup.\n public keyMaker!: Trie<object>;\n\n constructor(\n public readonly caching: boolean,\n private parent: CacheGroup | null = null\n ) {\n this.resetCaching();\n }\n\n public resetCaching() {\n this.d = this.caching ? dep<string>() : null;\n this.keyMaker = new Trie();\n }\n\n public depend(dataId: string, storeFieldName: string) {\n if (this.d) {\n this.d(makeDepKey(dataId, storeFieldName));\n const fieldName = fieldNameFromStoreName(storeFieldName);\n if (fieldName !== storeFieldName) {\n // Fields with arguments that contribute extra identifying\n // information to the fieldName (thus forming the storeFieldName)\n // depend not only on the full storeFieldName but also on the\n // short fieldName, so the field can be invalidated using either\n // level of specificity.\n this.d(makeDepKey(dataId, fieldName));\n }\n if (this.parent) {\n this.parent.depend(dataId, storeFieldName);\n }\n }\n }\n\n public dirty(dataId: string, storeFieldName: string) {\n if (this.d) {\n this.d.dirty(\n makeDepKey(dataId, storeFieldName),\n // When storeFieldName === \"__exists\", that means the entity identified\n // by dataId has either disappeared from the cache or was newly added,\n // so the result caching system would do well to \"forget everything it\n // knows\" about that object. To achieve that kind of invalidation, we\n // not only dirty the associated result cache entry, but also remove it\n // completely from the dependency graph. For the optimism implementation\n // details, see https://github.com/benjamn/optimism/pull/195.\n storeFieldName === \"__exists\" ? \"forget\" : \"setDirty\"\n );\n }\n }\n}\n\nfunction makeDepKey(dataId: string, storeFieldName: string) {\n // Since field names cannot have '#' characters in them, this method\n // of joining the field name and the ID should be unambiguous, and much\n // cheaper than JSON.stringify([dataId, fieldName]).\n return storeFieldName + \"#\" + dataId;\n}\n\nexport function maybeDependOnExistenceOfEntity(\n store: NormalizedCache,\n entityId: string\n) {\n if (supportsResultCaching(store)) {\n // We use this pseudo-field __exists elsewhere in the EntityStore code to\n // represent changes in the existence of the entity object identified by\n // entityId. This dependency gets reliably dirtied whenever an object with\n // this ID is deleted (or newly created) within this group, so any result\n // cache entries (for example, StoreReader#executeSelectionSet results) that\n // depend on __exists for this entityId will get dirtied as well, leading to\n // the eventual recomputation (instead of reuse) of those result objects the\n // next time someone reads them from the cache.\n store.group.depend(entityId, \"__exists\");\n }\n}\n\nclass Root extends EntityStore {\n constructor({\n policies,\n resultCaching = true,\n seed,\n }: {\n policies: Policies;\n resultCaching?: boolean;\n seed?: NormalizedCacheObject;\n }) {\n super(policies, new CacheGroup(resultCaching));\n if (seed) this.replace(seed);\n }\n\n public readonly stump = new Stump(this);\n\n public addLayer(layerId: string, replay: (layer: EntityStore) => any): Layer {\n // Adding an optimistic Layer on top of the Root actually adds the Layer\n // on top of the Stump, so the Stump always comes between the Root and\n // any Layer objects that we've added.\n return this.stump.addLayer(layerId, replay);\n }\n\n public removeLayer(): Root {\n // Never remove the root layer.\n return this;\n }\n\n public readonly storageTrie = new Trie<StorageType>();\n public getStorage(): StorageType {\n return this.storageTrie.lookupArray(arguments);\n }\n}\nEntityStore.Root = Root;\n\n// Not exported, since all Layer instances are created by the addLayer method\n// of the EntityStore.Root class.\nclass Layer extends EntityStore {\n constructor(\n public readonly id: string,\n public readonly parent: EntityStore,\n public readonly replay: (layer: EntityStore) => any,\n public readonly group: CacheGroup\n ) {\n super(parent.policies, group);\n replay(this);\n }\n\n public addLayer(layerId: string, replay: (layer: EntityStore) => any): Layer {\n return new Layer(layerId, this, replay, this.group);\n }\n\n public removeLayer(layerId: string): EntityStore {\n // Remove all instances of the given id, not just the first one.\n const parent = this.parent.removeLayer(layerId);\n\n if (layerId === this.id) {\n if (this.group.caching) {\n // Dirty every ID we're removing. Technically we might be able to avoid\n // dirtying fields that have values in higher layers, but we don't have\n // easy access to higher layers here, and we're about to recreate those\n // layers anyway (see parent.addLayer below).\n Object.keys(this.data).forEach((dataId) => {\n const ownStoreObject = this.data[dataId];\n const parentStoreObject = parent[\"lookup\"](dataId);\n if (!parentStoreObject) {\n // The StoreObject identified by dataId was defined in this layer\n // but will be undefined in the parent layer, so we can delete the\n // whole entity using this.delete(dataId). Since we're about to\n // throw this layer away, the only goal of this deletion is to dirty\n // the removed fields.\n this.delete(dataId);\n } else if (!ownStoreObject) {\n // This layer had an entry for dataId but it was undefined, which\n // means the entity was deleted in this layer, and it's about to\n // become undeleted when we remove this layer, so we need to dirty\n // all fields that are about to be reexposed.\n this.group.dirty(dataId, \"__exists\");\n Object.keys(parentStoreObject).forEach((storeFieldName) => {\n this.group.dirty(dataId, storeFieldName);\n });\n } else if (ownStoreObject !== parentStoreObject) {\n // If ownStoreObject is not exactly the same as parentStoreObject,\n // dirty any fields whose values will change as a result of this\n // removal.\n Object.keys(ownStoreObject).forEach((storeFieldName) => {\n if (\n !equal(\n ownStoreObject[storeFieldName],\n parentStoreObject[storeFieldName]\n )\n ) {\n this.group.dirty(dataId, storeFieldName);\n }\n });\n }\n });\n }\n\n return parent;\n }\n\n // No changes are necessary if the parent chain remains identical.\n if (parent === this.parent) return this;\n\n // Recreate this layer on top of the new parent.\n return parent.addLayer(this.id, this.replay);\n }\n\n public toObject(): NormalizedCacheObject {\n return {\n ...this.parent.toObject(),\n ...this.data,\n };\n }\n\n public findChildRefIds(dataId: string): Record<string, true> {\n const fromParent = this.parent.findChildRefIds(dataId);\n return hasOwn.call(this.data, dataId) ?\n {\n ...fromParent,\n ...super.findChildRefIds(dataId),\n }\n : fromParent;\n }\n\n public getStorage(\n ...args: Parameters<EntityStore[\"getStorage\"]>\n ): StorageType {\n let p: EntityStore = this.parent;\n while ((p as Layer).parent) p = (p as Layer).parent;\n return p.getStorage(...args);\n }\n}\n\n// Represents a Layer permanently installed just above the Root, which allows\n// reading optimistically (and registering optimistic dependencies) even when\n// no optimistic layers are currently active. The stump.group CacheGroup object\n// is shared by any/all Layer objects added on top of the Stump.\nclass Stump extends Layer {\n constructor(root: Root) {\n super(\n \"EntityStore.Stump\",\n root,\n () => {},\n new CacheGroup(root.group.caching, root.group)\n );\n }\n\n public removeLayer() {\n // Never remove the Stump layer.\n return this;\n }\n\n public merge(older: string | StoreObject, newer: string | StoreObject) {\n // We never want to write any data into the Stump, so we forward any merge\n // calls to the Root instead. Another option here would be to throw an\n // exception, but the toReference(object, true) function can sometimes\n // trigger Stump writes (which used to be Root writes, before the Stump\n // concept was introduced).\n return this.parent.merge(older, newer);\n }\n}\n\nfunction storeObjectReconciler(\n existingObject: StoreObject,\n incomingObject: StoreObject,\n property: string | number\n): StoreValue {\n const existingValue = existingObject[property];\n const incomingValue = incomingObject[property];\n // Wherever there is a key collision, prefer the incoming value, unless\n // it is deeply equal to the existing value. It's worth checking deep\n // equality here (even though blindly returning incoming would be\n // logically correct) because preserving the referential identity of\n // existing data can prevent needless rereading and rerendering.\n return equal(existingValue, incomingValue) ? existingValue : incomingValue;\n}\n\nexport function supportsResultCaching(store: any): store is EntityStore {\n // When result caching is disabled, store.depend will be null.\n return !!(store && store.supportsResultCaching);\n}\n"],"names":[],"mappings":"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,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IACE,CAAF,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;IACE,CAAF,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;IACE,CAAF,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IACE,CAAF,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA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CAAA,CAAiC;oBACvB,CAAV,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;oBACU,CAAV,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;oBACU,CAAV,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;oBACU,CAAV,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;oBACU,CAAV,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAA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AA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EA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AAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,C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,CAAA,CAAuE,EAAvE;QACI,CAAJ,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAA,CAAA,CAAe,CAAC,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAvB,CAAA,CAAA,CAAA,CAA4B,CAAC,CAA7B,CAAA,CAAA,CAAA,CAAkC,EAAE,CAApC,CAAA,CAAA,CAAA,CAAyC,CAAC;IACxC;AACF;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8B,CAC5B,CADF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC6B,EAC3B,CAFF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAE6B,EAC3B,CAHF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAG2B,EAH3B;IAKE,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAwB,CAAxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC,CAAC,CAAvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+C,CAAC;IAC9C,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAwB,CAAxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC,CAAC,CAAvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+C,CAAC;IAC9C,CAAF,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IACE,CAAF,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;IACE,CAAF,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;IACE,CAAF,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;IACE,CAAF,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IACE,CAAF,CAAA,CAAA,CAAA,CAAA,EAAS,CAAT,CAAA,CAAA,CAAA,CAAc,CAAC,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,EAAE,CAA9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2C,EAAE,EAAE,CAA/C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAA6D,EAAE,CAA/D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4E;AAC5E;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqC,CAAC,CAAtC,CAAA,CAAA,CAAA,CAAgD,EAAhD;IACE,CAAF,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;IACE,CAAF,CAAA,CAAA,CAAA,CAAA,EAAS,CAAC,CAAC,CAAC,CAAZ,CAAA,CAAA,CAAA,EAAA,CAAA,EAAqB,CAArB,CAAA,CAAA,CAAA,CAA0B,CAAC,CAA3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgD,CAAC;AACjD;"}
@@ -0,0 +1,9 @@
1
+ import type { DocumentNode, FragmentDefinitionNode } from "graphql";
2
+ export interface FragmentRegistryAPI {
3
+ register(...fragments: DocumentNode[]): this;
4
+ lookup(fragmentName: string): FragmentDefinitionNode | null;
5
+ transform<D extends DocumentNode>(document: D): D;
6
+ resetCaches(): void;
7
+ }
8
+ export declare function createFragmentRegistry(...fragments: DocumentNode[]): FragmentRegistryAPI;
9
+ //# sourceMappingURL=fragmentRegistry.d.ts.map
@@ -0,0 +1,131 @@
1
+ import { WeakCache } from "@wry/caches";
2
+ import { visit } from "graphql";
3
+ import { wrap } from "optimism";
4
+ import { cacheSizes } from "@apollo/client/utilities";
5
+ import { bindCacheKey, getFragmentDefinitions, } from "@apollo/client/utilities/internal";
6
+ // As long as createFragmentRegistry is not imported or used, the
7
+ // FragmentRegistry example implementation provided below should not be bundled
8
+ // (by tree-shaking bundlers like Rollup), because the implementation of
9
+ // InMemoryCache refers only to the TypeScript interface FragmentRegistryAPI,
10
+ // never the concrete implementation FragmentRegistry (which is deliberately not
11
+ // exported from this module).
12
+ export function createFragmentRegistry(...fragments) {
13
+ return new FragmentRegistry(...fragments);
14
+ }
15
+ class FragmentRegistry {
16
+ registry = {};
17
+ // Call `createFragmentRegistry` instead of invoking the
18
+ // FragmentRegistry constructor directly. This reserves the constructor for
19
+ // future configuration of the FragmentRegistry.
20
+ constructor(...fragments) {
21
+ this.resetCaches();
22
+ if (fragments.length) {
23
+ this.register(...fragments);
24
+ }
25
+ }
26
+ register(...fragments) {
27
+ const definitions = new Map();
28
+ fragments.forEach((doc) => {
29
+ getFragmentDefinitions(doc).forEach((node) => {
30
+ definitions.set(node.name.value, node);
31
+ });
32
+ });
33
+ definitions.forEach((node, name) => {
34
+ if (node !== this.registry[name]) {
35
+ this.registry[name] = node;
36
+ this.invalidate(name);
37
+ }
38
+ });
39
+ return this;
40
+ }
41
+ // Overridden in the resetCaches method below.
42
+ invalidate(name) { }
43
+ resetCaches() {
44
+ const proto = FragmentRegistry.prototype;
45
+ this.invalidate = (this.lookup = wrap(proto.lookup.bind(this), {
46
+ // This is intentionally an identity function - a string cannot be keyed weakly.
47
+ // This is not a memory leak, as lifetime is bound to the `FragmentRegistry` instance,
48
+ // and max size is configurable.
49
+ makeCacheKey: (arg) => arg,
50
+ max: cacheSizes["fragmentRegistry.lookup"] ||
51
+ 1000 /* defaultCacheSizes["fragmentRegistry.lookup"] */,
52
+ })).dirty; // This dirty function is bound to the wrapped lookup method.
53
+ this.transform = wrap(proto.transform.bind(this), {
54
+ makeCacheKey: bindCacheKey(this),
55
+ cache: WeakCache,
56
+ max: cacheSizes["fragmentRegistry.transform"] ||
57
+ 2000 /* defaultCacheSizes["fragmentRegistry.transform"] */,
58
+ });
59
+ this.findFragmentSpreads = wrap(proto.findFragmentSpreads.bind(this), {
60
+ makeCacheKey: bindCacheKey(this),
61
+ cache: WeakCache,
62
+ max: cacheSizes["fragmentRegistry.findFragmentSpreads"] ||
63
+ 4000 /* defaultCacheSizes["fragmentRegistry.findFragmentSpreads"] */,
64
+ });
65
+ }
66
+ /*
67
+ * Note:
68
+ * This method is only memoized so it can serve as a dependency to `transform`,
69
+ * so calling `invalidate` will invalidate cache entries for `transform`.
70
+ */
71
+ lookup(fragmentName) {
72
+ return this.registry[fragmentName] || null;
73
+ }
74
+ transform(document) {
75
+ const defined = new Map();
76
+ getFragmentDefinitions(document).forEach((def) => {
77
+ defined.set(def.name.value, def);
78
+ });
79
+ const unbound = new Set();
80
+ const enqueue = (spreadName) => {
81
+ if (!defined.has(spreadName)) {
82
+ unbound.add(spreadName);
83
+ }
84
+ };
85
+ const enqueueChildSpreads = (node) => Object.keys(this.findFragmentSpreads(node)).forEach(enqueue);
86
+ enqueueChildSpreads(document);
87
+ const missing = [];
88
+ const map = {};
89
+ // This Set forEach loop can be extended during iteration by adding
90
+ // additional strings to the unbound set.
91
+ unbound.forEach((fragmentName) => {
92
+ const knownFragmentDef = defined.get(fragmentName);
93
+ if (knownFragmentDef) {
94
+ enqueueChildSpreads((map[fragmentName] = knownFragmentDef));
95
+ }
96
+ else {
97
+ missing.push(fragmentName);
98
+ const def = this.lookup(fragmentName);
99
+ if (def) {
100
+ enqueueChildSpreads((map[fragmentName] = def));
101
+ }
102
+ }
103
+ });
104
+ if (missing.length) {
105
+ const defsToAppend = [];
106
+ missing.forEach((name) => {
107
+ const def = map[name];
108
+ if (def) {
109
+ defsToAppend.push(def);
110
+ }
111
+ });
112
+ if (defsToAppend.length) {
113
+ document = {
114
+ ...document,
115
+ definitions: document.definitions.concat(defsToAppend),
116
+ };
117
+ }
118
+ }
119
+ return document;
120
+ }
121
+ findFragmentSpreads(root) {
122
+ const spreads = {};
123
+ visit(root, {
124
+ FragmentSpread(node) {
125
+ spreads[node.name.value] = node;
126
+ },
127
+ });
128
+ return spreads;
129
+ }
130
+ }
131
+ //# sourceMappingURL=fragmentRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fragmentRegistry.js","sourceRoot":"","sources":["../../../src/cache/inmemory/fragmentRegistry.ts"],"names":[],"mappings":"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","sourcesContent":["import { WeakCache } from \"@wry/caches\";\nimport type {\n ASTNode,\n DocumentNode,\n FragmentDefinitionNode,\n FragmentSpreadNode,\n} from \"graphql\";\nimport { visit } from \"graphql\";\nimport { wrap } from \"optimism\";\n\nimport { cacheSizes } from \"@apollo/client/utilities\";\nimport type { FragmentMap } from \"@apollo/client/utilities/internal\";\nimport {\n bindCacheKey,\n getFragmentDefinitions,\n} from \"@apollo/client/utilities/internal\";\n\nimport { defaultCacheSizes } from \"../../utilities/caching/sizes.js\";\nexport interface FragmentRegistryAPI {\n register(...fragments: DocumentNode[]): this;\n lookup(fragmentName: string): FragmentDefinitionNode | null;\n transform<D extends DocumentNode>(document: D): D;\n resetCaches(): void;\n}\n\n// As long as createFragmentRegistry is not imported or used, the\n// FragmentRegistry example implementation provided below should not be bundled\n// (by tree-shaking bundlers like Rollup), because the implementation of\n// InMemoryCache refers only to the TypeScript interface FragmentRegistryAPI,\n// never the concrete implementation FragmentRegistry (which is deliberately not\n// exported from this module).\nexport function createFragmentRegistry(\n ...fragments: DocumentNode[]\n): FragmentRegistryAPI {\n return new FragmentRegistry(...fragments);\n}\n\nclass FragmentRegistry implements FragmentRegistryAPI {\n private registry: FragmentMap = {};\n\n // Call `createFragmentRegistry` instead of invoking the\n // FragmentRegistry constructor directly. This reserves the constructor for\n // future configuration of the FragmentRegistry.\n constructor(...fragments: DocumentNode[]) {\n this.resetCaches();\n if (fragments.length) {\n this.register(...fragments);\n }\n }\n\n public register(...fragments: DocumentNode[]): this {\n const definitions = new Map<string, FragmentDefinitionNode>();\n fragments.forEach((doc: DocumentNode) => {\n getFragmentDefinitions(doc).forEach((node) => {\n definitions.set(node.name.value, node);\n });\n });\n\n definitions.forEach((node, name) => {\n if (node !== this.registry[name]) {\n this.registry[name] = node;\n this.invalidate(name);\n }\n });\n\n return this;\n }\n\n // Overridden in the resetCaches method below.\n private invalidate(name: string) {}\n\n public resetCaches() {\n const proto = FragmentRegistry.prototype;\n this.invalidate = (this.lookup = wrap(proto.lookup.bind(this), {\n // This is intentionally an identity function - a string cannot be keyed weakly.\n // This is not a memory leak, as lifetime is bound to the `FragmentRegistry` instance,\n // and max size is configurable.\n makeCacheKey: (arg) => arg,\n max:\n cacheSizes[\"fragmentRegistry.lookup\"] ||\n defaultCacheSizes[\"fragmentRegistry.lookup\"],\n })).dirty; // This dirty function is bound to the wrapped lookup method.\n this.transform = wrap(proto.transform.bind(this), {\n makeCacheKey: bindCacheKey(this),\n cache: WeakCache,\n max:\n cacheSizes[\"fragmentRegistry.transform\"] ||\n defaultCacheSizes[\"fragmentRegistry.transform\"],\n });\n this.findFragmentSpreads = wrap(proto.findFragmentSpreads.bind(this), {\n makeCacheKey: bindCacheKey(this),\n cache: WeakCache,\n max:\n cacheSizes[\"fragmentRegistry.findFragmentSpreads\"] ||\n defaultCacheSizes[\"fragmentRegistry.findFragmentSpreads\"],\n });\n }\n\n /*\n * Note:\n * This method is only memoized so it can serve as a dependency to `transform`,\n * so calling `invalidate` will invalidate cache entries for `transform`.\n */\n public lookup(fragmentName: string): FragmentDefinitionNode | null {\n return this.registry[fragmentName] || null;\n }\n\n public transform<D extends DocumentNode>(document: D): D {\n const defined = new Map<string, FragmentDefinitionNode>();\n getFragmentDefinitions(document).forEach((def) => {\n defined.set(def.name.value, def);\n });\n\n const unbound = new Set<string>();\n const enqueue = (spreadName: string) => {\n if (!defined.has(spreadName)) {\n unbound.add(spreadName);\n }\n };\n\n const enqueueChildSpreads = (node: ASTNode) =>\n Object.keys(this.findFragmentSpreads(node)).forEach(enqueue);\n\n enqueueChildSpreads(document);\n\n const missing: string[] = [];\n const map: FragmentMap = {};\n\n // This Set forEach loop can be extended during iteration by adding\n // additional strings to the unbound set.\n unbound.forEach((fragmentName) => {\n const knownFragmentDef = defined.get(fragmentName);\n if (knownFragmentDef) {\n enqueueChildSpreads((map[fragmentName] = knownFragmentDef));\n } else {\n missing.push(fragmentName);\n const def = this.lookup(fragmentName);\n if (def) {\n enqueueChildSpreads((map[fragmentName] = def));\n }\n }\n });\n\n if (missing.length) {\n const defsToAppend: FragmentDefinitionNode[] = [];\n missing.forEach((name) => {\n const def = map[name];\n if (def) {\n defsToAppend.push(def);\n }\n });\n\n if (defsToAppend.length) {\n document = {\n ...document,\n definitions: document.definitions.concat(defsToAppend),\n };\n }\n }\n\n return document;\n }\n\n public findFragmentSpreads(root: ASTNode): FragmentSpreadMap {\n const spreads: FragmentSpreadMap = {};\n\n visit(root, {\n FragmentSpread(node) {\n spreads[node.name.value] = node;\n },\n });\n\n return spreads;\n }\n}\n\ninterface FragmentSpreadMap {\n [fragmentSpreadName: string]: FragmentSpreadNode;\n}\n"]}
@@ -0,0 +1,21 @@
1
+ import type { DocumentNode, SelectionSetNode } from "graphql";
2
+ import type { Reference, StoreObject, StoreValue } from "@apollo/client/utilities";
3
+ import type { FragmentMap, FragmentMapFunction } from "@apollo/client/utilities/internal";
4
+ import { DeepMerger } from "@apollo/client/utilities/internal";
5
+ import type { FragmentRegistryAPI } from "./fragmentRegistry.js";
6
+ import type { KeyFieldsContext } from "./policies.js";
7
+ import type { InMemoryCacheConfig, NormalizedCache } from "./types.js";
8
+ export declare const hasOwn: (v: PropertyKey) => boolean;
9
+ export declare function defaultDataIdFromObject({ __typename, id, _id }: Readonly<StoreObject>, context?: KeyFieldsContext): string | undefined;
10
+ export declare function normalizeConfig(config: InMemoryCacheConfig): InMemoryCacheConfig;
11
+ export declare function getTypenameFromStoreObject(store: NormalizedCache, objectOrReference: StoreObject | Reference): string | undefined;
12
+ export declare const TypeOrFieldNameRegExp: RegExp;
13
+ export declare function fieldNameFromStoreName(storeFieldName: string): string;
14
+ export declare function selectionSetMatchesResult(selectionSet: SelectionSetNode, result: Record<string, any>, variables?: Record<string, any>): boolean;
15
+ export declare function storeValueIsStoreObject(value: StoreValue): value is StoreObject;
16
+ export declare function makeProcessedFieldsMerger(): DeepMerger;
17
+ export declare function extractFragmentContext(document: DocumentNode, fragments?: FragmentRegistryAPI): {
18
+ fragmentMap: FragmentMap;
19
+ lookupFragment: FragmentMapFunction;
20
+ };
21
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1,82 @@
1
+ import { isReference } from "@apollo/client/utilities";
2
+ import { compact, createFragmentMap, DeepMerger, getFragmentDefinitions, isArray, isField, isNonNullObject, resultKeyNameFromField, shouldInclude, } from "@apollo/client/utilities/internal";
3
+ export const { hasOwnProperty: hasOwn } = Object.prototype;
4
+ export function defaultDataIdFromObject({ __typename, id, _id }, context) {
5
+ if (typeof __typename === "string") {
6
+ if (context) {
7
+ context.keyObject =
8
+ id != null ? { id }
9
+ : _id != null ? { _id }
10
+ : void 0;
11
+ }
12
+ // If there is no object.id, fall back to object._id.
13
+ if (id == null && _id != null) {
14
+ id = _id;
15
+ }
16
+ if (id != null) {
17
+ return `${__typename}:${typeof id === "number" || typeof id === "string" ?
18
+ id
19
+ : JSON.stringify(id)}`;
20
+ }
21
+ }
22
+ }
23
+ const defaultConfig = {
24
+ dataIdFromObject: defaultDataIdFromObject,
25
+ resultCaching: true,
26
+ };
27
+ export function normalizeConfig(config) {
28
+ return compact(defaultConfig, config);
29
+ }
30
+ export function getTypenameFromStoreObject(store, objectOrReference) {
31
+ return isReference(objectOrReference) ?
32
+ store.get(objectOrReference.__ref, "__typename")
33
+ : objectOrReference && objectOrReference.__typename;
34
+ }
35
+ export const TypeOrFieldNameRegExp = /^[_a-z][_0-9a-z]*/i;
36
+ export function fieldNameFromStoreName(storeFieldName) {
37
+ const match = storeFieldName.match(TypeOrFieldNameRegExp);
38
+ return match ? match[0] : storeFieldName;
39
+ }
40
+ export function selectionSetMatchesResult(selectionSet, result, variables) {
41
+ if (isNonNullObject(result)) {
42
+ return isArray(result) ?
43
+ result.every((item) => selectionSetMatchesResult(selectionSet, item, variables))
44
+ : selectionSet.selections.every((field) => {
45
+ if (isField(field) && shouldInclude(field, variables)) {
46
+ const key = resultKeyNameFromField(field);
47
+ return (hasOwn.call(result, key) &&
48
+ (!field.selectionSet ||
49
+ selectionSetMatchesResult(field.selectionSet, result[key], variables)));
50
+ }
51
+ // If the selection has been skipped with @skip(true) or
52
+ // @include(false), it should not count against the matching. If
53
+ // the selection is not a field, it must be a fragment (inline or
54
+ // named). We will determine if selectionSetMatchesResult for that
55
+ // fragment when we get to it, so for now we return true.
56
+ return true;
57
+ });
58
+ }
59
+ return false;
60
+ }
61
+ export function storeValueIsStoreObject(value) {
62
+ return isNonNullObject(value) && !isReference(value) && !isArray(value);
63
+ }
64
+ export function makeProcessedFieldsMerger() {
65
+ return new DeepMerger();
66
+ }
67
+ export function extractFragmentContext(document, fragments) {
68
+ // FragmentMap consisting only of fragments defined directly in document, not
69
+ // including other fragments registered in the FragmentRegistry.
70
+ const fragmentMap = createFragmentMap(getFragmentDefinitions(document));
71
+ return {
72
+ fragmentMap,
73
+ lookupFragment(name) {
74
+ let def = fragmentMap[name];
75
+ if (!def && fragments) {
76
+ def = fragments.lookup(name);
77
+ }
78
+ return def || null;
79
+ },
80
+ };
81
+ }
82
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/cache/inmemory/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n DocumentNode,\n FragmentDefinitionNode,\n SelectionSetNode,\n} from \"graphql\";\n\nimport type {\n Reference,\n StoreObject,\n StoreValue,\n} from \"@apollo/client/utilities\";\nimport { isReference } from \"@apollo/client/utilities\";\nimport type {\n FragmentMap,\n FragmentMapFunction,\n} from \"@apollo/client/utilities/internal\";\nimport {\n compact,\n createFragmentMap,\n DeepMerger,\n getFragmentDefinitions,\n isArray,\n isField,\n isNonNullObject,\n resultKeyNameFromField,\n shouldInclude,\n} from \"@apollo/client/utilities/internal\";\n\nimport type { FragmentRegistryAPI } from \"./fragmentRegistry.js\";\nimport type { KeyFieldsContext } from \"./policies.js\";\nimport type { InMemoryCacheConfig, NormalizedCache } from \"./types.js\";\n\nexport const { hasOwnProperty: hasOwn } = Object.prototype;\n\nexport function defaultDataIdFromObject(\n { __typename, id, _id }: Readonly<StoreObject>,\n context?: KeyFieldsContext\n): string | undefined {\n if (typeof __typename === \"string\") {\n if (context) {\n context.keyObject =\n id != null ? { id }\n : _id != null ? { _id }\n : void 0;\n }\n\n // If there is no object.id, fall back to object._id.\n if (id == null && _id != null) {\n id = _id;\n }\n\n if (id != null) {\n return `${__typename}:${\n typeof id === \"number\" || typeof id === \"string\" ?\n id\n : JSON.stringify(id)\n }`;\n }\n }\n}\n\nconst defaultConfig: InMemoryCacheConfig = {\n dataIdFromObject: defaultDataIdFromObject,\n resultCaching: true,\n};\n\nexport function normalizeConfig(config: InMemoryCacheConfig) {\n return compact(defaultConfig, config);\n}\n\nexport function getTypenameFromStoreObject(\n store: NormalizedCache,\n objectOrReference: StoreObject | Reference\n): string | undefined {\n return isReference(objectOrReference) ?\n (store.get(objectOrReference.__ref, \"__typename\") as string)\n : objectOrReference && objectOrReference.__typename;\n}\n\nexport const TypeOrFieldNameRegExp = /^[_a-z][_0-9a-z]*/i;\n\nexport function fieldNameFromStoreName(storeFieldName: string): string {\n const match = storeFieldName.match(TypeOrFieldNameRegExp);\n return match ? match[0] : storeFieldName;\n}\n\nexport function selectionSetMatchesResult(\n selectionSet: SelectionSetNode,\n result: Record<string, any>,\n variables?: Record<string, any>\n): boolean {\n if (isNonNullObject(result)) {\n return isArray(result) ?\n result.every((item) =>\n selectionSetMatchesResult(selectionSet, item, variables)\n )\n : selectionSet.selections.every((field) => {\n if (isField(field) && shouldInclude(field, variables)) {\n const key = resultKeyNameFromField(field);\n return (\n hasOwn.call(result, key) &&\n (!field.selectionSet ||\n selectionSetMatchesResult(\n field.selectionSet,\n result[key],\n variables\n ))\n );\n }\n // If the selection has been skipped with @skip(true) or\n // @include(false), it should not count against the matching. If\n // the selection is not a field, it must be a fragment (inline or\n // named). We will determine if selectionSetMatchesResult for that\n // fragment when we get to it, so for now we return true.\n return true;\n });\n }\n return false;\n}\n\nexport function storeValueIsStoreObject(\n value: StoreValue\n): value is StoreObject {\n return isNonNullObject(value) && !isReference(value) && !isArray(value);\n}\n\nexport function makeProcessedFieldsMerger() {\n return new DeepMerger();\n}\n\nexport function extractFragmentContext(\n document: DocumentNode,\n fragments?: FragmentRegistryAPI\n): {\n fragmentMap: FragmentMap;\n lookupFragment: FragmentMapFunction;\n} {\n // FragmentMap consisting only of fragments defined directly in document, not\n // including other fragments registered in the FragmentRegistry.\n const fragmentMap = createFragmentMap(getFragmentDefinitions(document));\n return {\n fragmentMap,\n lookupFragment(name) {\n let def: FragmentDefinitionNode | null = fragmentMap[name];\n if (!def && fragments) {\n def = fragments.lookup(name);\n }\n return def || null;\n },\n };\n}\n"]}