@apollo/client 4.0.0-alpha.15 → 4.0.0-alpha.17

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 (528) hide show
  1. package/CHANGELOG.md +106 -0
  2. package/__cjs/cache/core/cache.cjs.map +1 -1
  3. package/__cjs/cache/core/cache.d.cts +2 -2
  4. package/__cjs/cache/core/types/DataProxy.d.cts +1 -2
  5. package/__cjs/cache/core/types/common.cjs.map +1 -1
  6. package/__cjs/cache/core/types/common.d.cts +1 -2
  7. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  8. package/__cjs/cache/inmemory/inMemoryCache.d.cts +1 -2
  9. package/__cjs/core/ObservableQuery.cjs +104 -48
  10. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  11. package/__cjs/core/ObservableQuery.d.cts +19 -2
  12. package/__cjs/core/QueryManager.cjs +21 -6
  13. package/__cjs/core/QueryManager.cjs.map +1 -1
  14. package/__cjs/core/index.cjs.map +1 -1
  15. package/__cjs/core/index.d.cts +1 -1
  16. package/__cjs/core/types.d.cts +25 -3
  17. package/__cjs/core/watchQueryOptions.d.cts +2 -1
  18. package/__cjs/errors/ServerError.cjs +3 -4
  19. package/__cjs/errors/ServerError.cjs.map +1 -1
  20. package/__cjs/errors/ServerError.d.cts +8 -8
  21. package/__cjs/link/batch-http/batchHttpLink.cjs +0 -35
  22. package/__cjs/link/batch-http/batchHttpLink.cjs.map +1 -1
  23. package/__cjs/link/http/createHttpLink.cjs +1 -1
  24. package/__cjs/link/http/createHttpLink.cjs.map +1 -1
  25. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +20 -55
  26. package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
  27. package/__cjs/link/http/parseAndCheckHttpResponse.d.cts +0 -2
  28. package/__cjs/link/http/selectHttpOptionsAndBody.cjs +1 -1
  29. package/__cjs/link/http/selectHttpOptionsAndBody.cjs.map +1 -1
  30. package/__cjs/link/persisted-queries/index.cjs +12 -10
  31. package/__cjs/link/persisted-queries/index.cjs.map +1 -1
  32. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  33. package/__cjs/react/hooks/useBackgroundQuery.d.cts +51 -14
  34. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  35. package/__cjs/react/hooks/useFragment.d.cts +2 -1
  36. package/__cjs/react/hooks/useLazyQuery.cjs +1 -0
  37. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  38. package/__cjs/react/hooks/useLazyQuery.d.cts +28 -53
  39. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
  40. package/__cjs/react/hooks/useLoadableQuery.d.cts +7 -8
  41. package/__cjs/react/hooks/useQuery.cjs +3 -2
  42. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  43. package/__cjs/react/hooks/useQuery.d.cts +10 -48
  44. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
  45. package/__cjs/react/hooks/useQueryRefHandlers.d.cts +2 -2
  46. package/__cjs/react/hooks/useReadQuery.cjs +1 -0
  47. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
  48. package/__cjs/react/hooks/useReadQuery.d.cts +4 -11
  49. package/__cjs/react/hooks/useSuspenseQuery.cjs +2 -0
  50. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  51. package/__cjs/react/hooks/useSuspenseQuery.d.cts +13 -24
  52. package/__cjs/react/index.cjs.map +1 -1
  53. package/__cjs/react/index.d.cts +1 -1
  54. package/__cjs/react/internal/cache/QueryReference.cjs +7 -1
  55. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
  56. package/__cjs/react/internal/cache/QueryReference.d.cts +25 -65
  57. package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
  58. package/__cjs/react/internal/cache/SuspenseCache.d.cts +3 -3
  59. package/__cjs/react/internal/index.cjs.map +1 -1
  60. package/__cjs/react/internal/index.d.cts +1 -1
  61. package/__cjs/react/internal/types.d.cts +2 -2
  62. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  63. package/__cjs/react/query-preloader/createQueryPreloader.d.cts +5 -5
  64. package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -1
  65. package/__cjs/react/ssr/useSSRQuery.cjs +1 -0
  66. package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -1
  67. package/__cjs/react/types/types.documentation.d.cts +12 -0
  68. package/__cjs/utilities/DeepPartial.cjs.map +1 -0
  69. package/__cjs/utilities/{internal/types/DeepPartial.d.cts → DeepPartial.d.cts} +3 -5
  70. package/__cjs/utilities/index.cjs.map +1 -1
  71. package/__cjs/utilities/index.d.cts +1 -0
  72. package/__cjs/utilities/internal/index.cjs.map +1 -1
  73. package/__cjs/utilities/internal/index.d.cts +0 -1
  74. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -1
  75. package/__cjs/utilities/subscriptions/relay/index.cjs +1 -1
  76. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
  77. package/__cjs/version.cjs +1 -1
  78. package/cache/core/cache.d.ts +2 -2
  79. package/cache/core/cache.js.map +1 -1
  80. package/cache/core/types/DataProxy.d.ts +1 -2
  81. package/cache/core/types/common.d.ts +1 -2
  82. package/cache/core/types/common.js.map +1 -1
  83. package/cache/inmemory/inMemoryCache.d.ts +1 -2
  84. package/cache/inmemory/inMemoryCache.js.map +1 -1
  85. package/core/ObservableQuery.d.ts +19 -2
  86. package/core/ObservableQuery.js +105 -49
  87. package/core/ObservableQuery.js.map +1 -1
  88. package/core/QueryManager.js +20 -5
  89. package/core/QueryManager.js.map +1 -1
  90. package/core/index.d.ts +1 -1
  91. package/core/index.js.map +1 -1
  92. package/core/types.d.ts +25 -3
  93. package/core/watchQueryOptions.d.ts +2 -1
  94. package/errors/ServerError.d.ts +8 -8
  95. package/errors/ServerError.js +3 -4
  96. package/errors/ServerError.js.map +1 -1
  97. package/link/batch-http/batchHttpLink.js +0 -35
  98. package/link/batch-http/batchHttpLink.js.map +1 -1
  99. package/link/http/createHttpLink.js +2 -2
  100. package/link/http/createHttpLink.js.map +1 -1
  101. package/link/http/parseAndCheckHttpResponse.d.ts +0 -2
  102. package/link/http/parseAndCheckHttpResponse.js +20 -54
  103. package/link/http/parseAndCheckHttpResponse.js.map +1 -1
  104. package/link/http/selectHttpOptionsAndBody.js +1 -1
  105. package/link/http/selectHttpOptionsAndBody.js.map +1 -1
  106. package/link/persisted-queries/index.js +12 -10
  107. package/link/persisted-queries/index.js.map +1 -1
  108. package/package.json +5 -7
  109. package/react/hooks/useBackgroundQuery.d.ts +51 -14
  110. package/react/hooks/useBackgroundQuery.js.map +1 -1
  111. package/react/hooks/useFragment.d.ts +2 -1
  112. package/react/hooks/useFragment.js.map +1 -1
  113. package/react/hooks/useLazyQuery.d.ts +28 -53
  114. package/react/hooks/useLazyQuery.js +1 -0
  115. package/react/hooks/useLazyQuery.js.map +1 -1
  116. package/react/hooks/useLoadableQuery.d.ts +7 -8
  117. package/react/hooks/useLoadableQuery.js.map +1 -1
  118. package/react/hooks/useQuery.d.ts +10 -48
  119. package/react/hooks/useQuery.js +3 -2
  120. package/react/hooks/useQuery.js.map +1 -1
  121. package/react/hooks/useQueryRefHandlers.d.ts +2 -2
  122. package/react/hooks/useQueryRefHandlers.js.map +1 -1
  123. package/react/hooks/useReadQuery.d.ts +4 -11
  124. package/react/hooks/useReadQuery.js +1 -0
  125. package/react/hooks/useReadQuery.js.map +1 -1
  126. package/react/hooks/useSuspenseQuery.d.ts +13 -24
  127. package/react/hooks/useSuspenseQuery.js +2 -0
  128. package/react/hooks/useSuspenseQuery.js.map +1 -1
  129. package/react/index.d.ts +1 -1
  130. package/react/index.js.map +1 -1
  131. package/react/internal/cache/QueryReference.d.ts +25 -65
  132. package/react/internal/cache/QueryReference.js +7 -1
  133. package/react/internal/cache/QueryReference.js.map +1 -1
  134. package/react/internal/cache/SuspenseCache.d.ts +3 -3
  135. package/react/internal/cache/SuspenseCache.js.map +1 -1
  136. package/react/internal/index.d.ts +1 -1
  137. package/react/internal/index.js.map +1 -1
  138. package/react/internal/types.d.ts +2 -2
  139. package/react/query-preloader/createQueryPreloader.d.ts +5 -5
  140. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  141. package/react/ssr/prerenderStatic.js.map +1 -1
  142. package/react/ssr/useSSRQuery.js +1 -0
  143. package/react/ssr/useSSRQuery.js.map +1 -1
  144. package/react/types/types.documentation.d.ts +12 -0
  145. package/utilities/{internal/types/DeepPartial.d.ts → DeepPartial.d.ts} +3 -5
  146. package/utilities/DeepPartial.js.map +1 -0
  147. package/utilities/index.d.ts +1 -0
  148. package/utilities/index.js.map +1 -1
  149. package/utilities/internal/index.d.ts +0 -1
  150. package/utilities/internal/index.js.map +1 -1
  151. package/utilities/internal/toQueryResult.js.map +1 -1
  152. package/utilities/subscriptions/relay/index.js +2 -2
  153. package/utilities/subscriptions/relay/index.js.map +1 -1
  154. package/version.js +1 -1
  155. package/.changeset/README.md +0 -8
  156. package/.changeset/afraid-grapes-call.md +0 -5
  157. package/.changeset/afraid-moons-arrive.md +0 -5
  158. package/.changeset/beige-mirrors-talk.md +0 -15
  159. package/.changeset/beige-spiders-hope.md +0 -5
  160. package/.changeset/brave-moons-juggle.md +0 -5
  161. package/.changeset/brave-radios-wait.md +0 -5
  162. package/.changeset/bright-ads-share.md +0 -5
  163. package/.changeset/calm-frogs-remain.md +0 -7
  164. package/.changeset/calm-seals-relate.md +0 -5
  165. package/.changeset/chatty-planes-grin.md +0 -5
  166. package/.changeset/clean-sheep-hide.md +0 -6
  167. package/.changeset/clever-zebras-mate.md +0 -5
  168. package/.changeset/config.json +0 -14
  169. package/.changeset/cool-bikes-shake.md +0 -12
  170. package/.changeset/cool-kiwis-hunt.md +0 -15
  171. package/.changeset/cuddly-spiders-tie.md +0 -5
  172. package/.changeset/curvy-flies-accept.md +0 -5
  173. package/.changeset/curvy-pianos-count.md +0 -5
  174. package/.changeset/dirty-cobras-change.md +0 -7
  175. package/.changeset/dirty-eagles-poke.md +0 -5
  176. package/.changeset/dirty-trees-pump.md +0 -5
  177. package/.changeset/early-eggs-develop.md +0 -22
  178. package/.changeset/eighty-squids-fix.md +0 -15
  179. package/.changeset/eleven-kangaroos-jump.md +0 -5
  180. package/.changeset/empty-rabbits-move.md +0 -5
  181. package/.changeset/few-crabs-move.md +0 -6
  182. package/.changeset/fluffy-shoes-applaud.md +0 -5
  183. package/.changeset/forty-hairs-occur.md +0 -5
  184. package/.changeset/forty-shrimps-fry.md +0 -5
  185. package/.changeset/forty-tomatoes-punch.md +0 -5
  186. package/.changeset/four-countries-clean.md +0 -24
  187. package/.changeset/four-ghosts-watch.md +0 -5
  188. package/.changeset/fresh-moose-hope.md +0 -5
  189. package/.changeset/friendly-olives-refuse.md +0 -5
  190. package/.changeset/funny-boats-wink.md +0 -35
  191. package/.changeset/funny-jeans-invent.md +0 -16
  192. package/.changeset/funny-terms-deny.md +0 -5
  193. package/.changeset/fuzzy-seahorses-hunt.md +0 -5
  194. package/.changeset/fuzzy-tips-sit.md +0 -5
  195. package/.changeset/gentle-badgers-train.md +0 -5
  196. package/.changeset/gentle-waves-cough.md +0 -5
  197. package/.changeset/giant-apes-thank.md +0 -5
  198. package/.changeset/giant-bags-share.md +0 -5
  199. package/.changeset/gold-oranges-double.md +0 -5
  200. package/.changeset/good-dolphins-peel.md +0 -113
  201. package/.changeset/gorgeous-chefs-tap.md +0 -5
  202. package/.changeset/great-roses-jog.md +0 -15
  203. package/.changeset/grumpy-vans-type.md +0 -5
  204. package/.changeset/healthy-apes-sneeze.md +0 -5
  205. package/.changeset/hip-vans-act.md +0 -5
  206. package/.changeset/hot-cycles-notice.md +0 -5
  207. package/.changeset/hungry-bikes-cough.md +0 -5
  208. package/.changeset/itchy-chefs-run.md +0 -23
  209. package/.changeset/itchy-drinks-refuse.md +0 -5
  210. package/.changeset/itchy-roses-accept.md +0 -5
  211. package/.changeset/khaki-keys-deliver.md +0 -5
  212. package/.changeset/khaki-spies-work.md +0 -11
  213. package/.changeset/kind-fishes-develop.md +0 -17
  214. package/.changeset/large-plants-know.md +0 -5
  215. package/.changeset/late-trainers-peel.md +0 -7
  216. package/.changeset/light-apes-rescue.md +0 -5
  217. package/.changeset/light-dolphins-taste.md +0 -5
  218. package/.changeset/light-sloths-end.md +0 -16
  219. package/.changeset/little-parrots-bow.md +0 -14
  220. package/.changeset/little-spoons-kick.md +0 -7
  221. package/.changeset/loud-cows-raise.md +0 -7
  222. package/.changeset/lucky-hats-push.md +0 -7
  223. package/.changeset/lucky-sheep-explain.md +0 -34
  224. package/.changeset/many-buses-allow.md +0 -5
  225. package/.changeset/many-papayas-hide.md +0 -5
  226. package/.changeset/mean-lizards-think.md +0 -5
  227. package/.changeset/metal-needles-search.md +0 -5
  228. package/.changeset/mighty-penguins-wink.md +0 -16
  229. package/.changeset/modern-feet-do.md +0 -5
  230. package/.changeset/moody-lobsters-listen.md +0 -7
  231. package/.changeset/nervous-fireants-bow.md +0 -5
  232. package/.changeset/nervous-goats-allow.md +0 -5
  233. package/.changeset/nice-donkeys-reflect.md +0 -5
  234. package/.changeset/nice-dots-matter.md +0 -5
  235. package/.changeset/nice-waves-work.md +0 -7
  236. package/.changeset/ninety-bags-bake.md +0 -17
  237. package/.changeset/odd-chicken-hide.md +0 -17
  238. package/.changeset/odd-lemons-relax.md +0 -5
  239. package/.changeset/olive-cougars-ring.md +0 -9
  240. package/.changeset/orange-suits-laugh.md +0 -5
  241. package/.changeset/perfect-ducks-reflect.md +0 -12
  242. package/.changeset/perfect-vans-give.md +0 -7
  243. package/.changeset/polite-bees-care.md +0 -26
  244. package/.changeset/poor-eels-punch.md +0 -5
  245. package/.changeset/poor-spiders-hunt.md +0 -23
  246. package/.changeset/popular-games-sleep.md +0 -5
  247. package/.changeset/pre.json +0 -168
  248. package/.changeset/purple-bears-flash.md +0 -5
  249. package/.changeset/purple-lions-cough.md +0 -5
  250. package/.changeset/rare-houses-prove.md +0 -5
  251. package/.changeset/real-gorillas-move.md +0 -21
  252. package/.changeset/real-teachers-peel.md +0 -5
  253. package/.changeset/rich-eagles-cross.md +0 -5
  254. package/.changeset/rich-kids-carry.md +0 -9
  255. package/.changeset/rude-fans-study.md +0 -5
  256. package/.changeset/selfish-spoons-approve.md +0 -44
  257. package/.changeset/serious-items-develop.md +0 -17
  258. package/.changeset/serious-moons-juggle.md +0 -5
  259. package/.changeset/seven-dragons-repair.md +0 -14
  260. package/.changeset/seven-foxes-melt.md +0 -5
  261. package/.changeset/seven-schools-carry.md +0 -5
  262. package/.changeset/shaggy-pugs-add.md +0 -52
  263. package/.changeset/shiny-carrots-invent.md +0 -5
  264. package/.changeset/short-jokes-jam.md +0 -27
  265. package/.changeset/short-months-complain.md +0 -5
  266. package/.changeset/short-tomatoes-attend.md +0 -5
  267. package/.changeset/silly-knives-exist.md +0 -5
  268. package/.changeset/silly-seas-confess.md +0 -5
  269. package/.changeset/sixty-bats-cry.md +0 -6
  270. package/.changeset/slimy-ants-bake.md +0 -5
  271. package/.changeset/slimy-chicken-melt.md +0 -5
  272. package/.changeset/slimy-maps-press.md +0 -5
  273. package/.changeset/slow-ravens-explain.md +0 -19
  274. package/.changeset/small-buttons-rhyme.md +0 -5
  275. package/.changeset/small-cycles-rescue.md +0 -5
  276. package/.changeset/small-kids-film.md +0 -14
  277. package/.changeset/small-poems-rest.md +0 -5
  278. package/.changeset/smart-rats-explode.md +0 -5
  279. package/.changeset/smooth-coins-collect.md +0 -5
  280. package/.changeset/smooth-pens-reply.md +0 -7
  281. package/.changeset/soft-mails-clean.md +0 -5
  282. package/.changeset/sour-colts-tell.md +0 -5
  283. package/.changeset/sour-guests-poke.md +0 -5
  284. package/.changeset/sour-kids-deliver.md +0 -5
  285. package/.changeset/sour-pillows-guess.md +0 -7
  286. package/.changeset/spotty-mugs-poke.md +0 -5
  287. package/.changeset/strange-seahorses-impress.md +0 -17
  288. package/.changeset/strange-walls-march.md +0 -5
  289. package/.changeset/strong-rivers-fry.md +0 -34
  290. package/.changeset/stupid-pumpkins-travel.md +0 -13
  291. package/.changeset/swift-rivers-share.md +0 -13
  292. package/.changeset/tall-bikes-develop.md +0 -5
  293. package/.changeset/tall-cups-suffer.md +0 -13
  294. package/.changeset/tame-doors-shop.md +0 -14
  295. package/.changeset/tame-points-work.md +0 -11
  296. package/.changeset/tender-swans-flash.md +0 -16
  297. package/.changeset/thick-books-grin.md +0 -5
  298. package/.changeset/thin-peas-hear.md +0 -16
  299. package/.changeset/thirty-pens-jump.md +0 -5
  300. package/.changeset/tidy-pandas-punch.md +0 -5
  301. package/.changeset/tidy-squids-poke.md +0 -12
  302. package/.changeset/tough-rockets-allow.md +0 -5
  303. package/.changeset/tough-taxis-smoke.md +0 -7
  304. package/.changeset/tough-tips-drop.md +0 -15
  305. package/.changeset/tricky-tables-shave.md +0 -5
  306. package/.changeset/twenty-snakes-sort.md +0 -7
  307. package/.changeset/unlucky-kiwis-sell.md +0 -5
  308. package/.changeset/unlucky-sheep-change.md +0 -5
  309. package/.changeset/warm-ties-sit.md +0 -7
  310. package/.changeset/wicked-forks-double.md +0 -33
  311. package/.changeset/wicked-kiwis-buy.md +0 -5
  312. package/.changeset/witty-paws-marry.md +0 -26
  313. package/.changeset/yellow-cats-judge.md +0 -13
  314. package/.changeset/young-phones-fold.md +0 -5
  315. package/.changeset/young-snails-grin.md +0 -5
  316. package/.changeset/young-turtles-explode.md +0 -5
  317. package/__cjs/masking/__benches__/types.bench.cjs +0 -223
  318. package/__cjs/masking/__benches__/types.bench.cjs.map +0 -1
  319. package/__cjs/masking/__benches__/types.bench.d.cts +0 -2
  320. package/__cjs/testing/internal/ObservableStream.cjs +0 -110
  321. package/__cjs/testing/internal/ObservableStream.cjs.map +0 -1
  322. package/__cjs/testing/internal/ObservableStream.d.cts +0 -39
  323. package/__cjs/testing/internal/disposables/enableFakeTimers.cjs +0 -19
  324. package/__cjs/testing/internal/disposables/enableFakeTimers.cjs.map +0 -1
  325. package/__cjs/testing/internal/disposables/enableFakeTimers.d.cts +0 -7
  326. package/__cjs/testing/internal/disposables/index.cjs +0 -12
  327. package/__cjs/testing/internal/disposables/index.cjs.map +0 -1
  328. package/__cjs/testing/internal/disposables/index.d.cts +0 -5
  329. package/__cjs/testing/internal/disposables/spyOnConsole.cjs +0 -24
  330. package/__cjs/testing/internal/disposables/spyOnConsole.cjs.map +0 -1
  331. package/__cjs/testing/internal/disposables/spyOnConsole.d.cts +0 -8
  332. package/__cjs/testing/internal/disposables/withCleanup.cjs +0 -22
  333. package/__cjs/testing/internal/disposables/withCleanup.cjs.map +0 -1
  334. package/__cjs/testing/internal/disposables/withCleanup.d.cts +0 -7
  335. package/__cjs/testing/internal/disposables/withProdMode.cjs +0 -17
  336. package/__cjs/testing/internal/disposables/withProdMode.cjs.map +0 -1
  337. package/__cjs/testing/internal/disposables/withProdMode.d.cts +0 -4
  338. package/__cjs/testing/internal/incremental.cjs +0 -124
  339. package/__cjs/testing/internal/incremental.cjs.map +0 -1
  340. package/__cjs/testing/internal/incremental.d.cts +0 -16
  341. package/__cjs/testing/internal/index.cjs +0 -36
  342. package/__cjs/testing/internal/index.cjs.map +0 -1
  343. package/__cjs/testing/internal/index.d.cts +0 -13
  344. package/__cjs/testing/internal/link.cjs +0 -22
  345. package/__cjs/testing/internal/link.cjs.map +0 -1
  346. package/__cjs/testing/internal/link.d.cts +0 -6
  347. package/__cjs/testing/internal/messageChannelPolyfill.cjs +0 -18
  348. package/__cjs/testing/internal/messageChannelPolyfill.cjs.map +0 -1
  349. package/__cjs/testing/internal/messageChannelPolyfill.d.cts +0 -2
  350. package/__cjs/testing/internal/renderHelpers.cjs +0 -21
  351. package/__cjs/testing/internal/renderHelpers.cjs.map +0 -1
  352. package/__cjs/testing/internal/renderHelpers.d.cts +0 -14
  353. package/__cjs/testing/internal/resetApolloContext.cjs +0 -24
  354. package/__cjs/testing/internal/resetApolloContext.cjs.map +0 -1
  355. package/__cjs/testing/internal/resetApolloContext.d.cts +0 -10
  356. package/__cjs/testing/internal/rtl/actAsync.cjs +0 -18
  357. package/__cjs/testing/internal/rtl/actAsync.cjs.map +0 -1
  358. package/__cjs/testing/internal/rtl/actAsync.d.cts +0 -2
  359. package/__cjs/testing/internal/rtl/renderAsync.cjs +0 -15
  360. package/__cjs/testing/internal/rtl/renderAsync.cjs.map +0 -1
  361. package/__cjs/testing/internal/rtl/renderAsync.d.cts +0 -9
  362. package/__cjs/testing/internal/rtl/renderHookAsync.cjs +0 -37
  363. package/__cjs/testing/internal/rtl/renderHookAsync.cjs.map +0 -1
  364. package/__cjs/testing/internal/rtl/renderHookAsync.d.cts +0 -8
  365. package/__cjs/testing/internal/scenarios/index.cjs +0 -104
  366. package/__cjs/testing/internal/scenarios/index.cjs.map +0 -1
  367. package/__cjs/testing/internal/scenarios/index.d.cts +0 -83
  368. package/__cjs/testing/internal/wait.cjs +0 -7
  369. package/__cjs/testing/internal/wait.cjs.map +0 -1
  370. package/__cjs/testing/internal/wait.d.cts +0 -2
  371. package/__cjs/testing/matchers/arrayWithLength.cjs +0 -15
  372. package/__cjs/testing/matchers/arrayWithLength.cjs.map +0 -1
  373. package/__cjs/testing/matchers/arrayWithLength.d.cts +0 -3
  374. package/__cjs/testing/matchers/index.cjs +0 -31
  375. package/__cjs/testing/matchers/index.cjs.map +0 -1
  376. package/__cjs/testing/matchers/index.d.cts +0 -2
  377. package/__cjs/testing/matchers/isSameClient.cjs +0 -19
  378. package/__cjs/testing/matchers/isSameClient.cjs.map +0 -1
  379. package/__cjs/testing/matchers/isSameClient.d.cts +0 -3
  380. package/__cjs/testing/matchers/isSameObservableQuery.cjs +0 -19
  381. package/__cjs/testing/matchers/isSameObservableQuery.cjs.map +0 -1
  382. package/__cjs/testing/matchers/isSameObservableQuery.d.cts +0 -3
  383. package/__cjs/testing/matchers/toBeDisposed.cjs +0 -20
  384. package/__cjs/testing/matchers/toBeDisposed.cjs.map +0 -1
  385. package/__cjs/testing/matchers/toBeDisposed.d.cts +0 -3
  386. package/__cjs/testing/matchers/toBeGarbageCollected.cjs +0 -43
  387. package/__cjs/testing/matchers/toBeGarbageCollected.cjs.map +0 -1
  388. package/__cjs/testing/matchers/toBeGarbageCollected.d.cts +0 -8
  389. package/__cjs/testing/matchers/toComplete.cjs +0 -30
  390. package/__cjs/testing/matchers/toComplete.cjs.map +0 -1
  391. package/__cjs/testing/matchers/toComplete.d.cts +0 -4
  392. package/__cjs/testing/matchers/toEmitAnything.cjs +0 -33
  393. package/__cjs/testing/matchers/toEmitAnything.cjs.map +0 -1
  394. package/__cjs/testing/matchers/toEmitAnything.d.cts +0 -4
  395. package/__cjs/testing/matchers/toEmitError.cjs +0 -46
  396. package/__cjs/testing/matchers/toEmitError.cjs.map +0 -1
  397. package/__cjs/testing/matchers/toEmitError.d.cts +0 -7
  398. package/__cjs/testing/matchers/toEmitNext.cjs +0 -30
  399. package/__cjs/testing/matchers/toEmitNext.cjs.map +0 -1
  400. package/__cjs/testing/matchers/toEmitNext.d.cts +0 -4
  401. package/__cjs/testing/matchers/toEmitTypedValue.cjs +0 -42
  402. package/__cjs/testing/matchers/toEmitTypedValue.cjs.map +0 -1
  403. package/__cjs/testing/matchers/toEmitTypedValue.d.cts +0 -12
  404. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs +0 -26
  405. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs.map +0 -1
  406. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.d.cts +0 -11
  407. package/__cjs/testing/matchers/toMatchDocument.cjs +0 -37
  408. package/__cjs/testing/matchers/toMatchDocument.cjs.map +0 -1
  409. package/__cjs/testing/matchers/toMatchDocument.d.cts +0 -4
  410. package/__cjs/testing/matchers/toRerenderWithSimilarSnapshot.cjs +0 -65
  411. package/__cjs/testing/matchers/toRerenderWithSimilarSnapshot.cjs.map +0 -1
  412. package/__cjs/testing/matchers/toRerenderWithSimilarSnapshot.d.cts +0 -20
  413. package/__cjs/testing/matchers/toStrictEqualTyped.cjs +0 -32
  414. package/__cjs/testing/matchers/toStrictEqualTyped.cjs.map +0 -1
  415. package/__cjs/testing/matchers/toStrictEqualTyped.d.cts +0 -12
  416. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs +0 -36
  417. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs.map +0 -1
  418. package/__cjs/testing/matchers/utils/getSerializableProperties.d.cts +0 -4
  419. package/__cjs/utilities/internal/types/DeepPartial.cjs.map +0 -1
  420. package/legacyEntryPoints/testing/internal/index.d.ts +0 -1
  421. package/legacyEntryPoints/testing/internal/index.js +0 -1
  422. package/legacyEntryPoints/testing/internal/internal.cjs +0 -1
  423. package/legacyEntryPoints/testing/internal/internal.d.cts +0 -1
  424. package/masking/__benches__/types.bench.d.ts +0 -2
  425. package/masking/__benches__/types.bench.js +0 -221
  426. package/masking/__benches__/types.bench.js.map +0 -1
  427. package/testing/internal/ObservableStream.d.ts +0 -39
  428. package/testing/internal/ObservableStream.js +0 -105
  429. package/testing/internal/ObservableStream.js.map +0 -1
  430. package/testing/internal/disposables/enableFakeTimers.d.ts +0 -7
  431. package/testing/internal/disposables/enableFakeTimers.js +0 -16
  432. package/testing/internal/disposables/enableFakeTimers.js.map +0 -1
  433. package/testing/internal/disposables/index.d.ts +0 -5
  434. package/testing/internal/disposables/index.js +0 -5
  435. package/testing/internal/disposables/index.js.map +0 -1
  436. package/testing/internal/disposables/spyOnConsole.d.ts +0 -8
  437. package/testing/internal/disposables/spyOnConsole.js +0 -21
  438. package/testing/internal/disposables/spyOnConsole.js.map +0 -1
  439. package/testing/internal/disposables/withCleanup.d.ts +0 -7
  440. package/testing/internal/disposables/withCleanup.js +0 -19
  441. package/testing/internal/disposables/withCleanup.js.map +0 -1
  442. package/testing/internal/disposables/withProdMode.d.ts +0 -4
  443. package/testing/internal/disposables/withProdMode.js +0 -13
  444. package/testing/internal/disposables/withProdMode.js.map +0 -1
  445. package/testing/internal/incremental.d.ts +0 -16
  446. package/testing/internal/incremental.js +0 -120
  447. package/testing/internal/incremental.js.map +0 -1
  448. package/testing/internal/index.d.ts +0 -13
  449. package/testing/internal/index.js +0 -12
  450. package/testing/internal/index.js.map +0 -1
  451. package/testing/internal/link.d.ts +0 -6
  452. package/testing/internal/link.js +0 -18
  453. package/testing/internal/link.js.map +0 -1
  454. package/testing/internal/messageChannelPolyfill.d.ts +0 -2
  455. package/testing/internal/messageChannelPolyfill.js +0 -16
  456. package/testing/internal/messageChannelPolyfill.js.map +0 -1
  457. package/testing/internal/renderHelpers.d.ts +0 -14
  458. package/testing/internal/renderHelpers.js +0 -16
  459. package/testing/internal/renderHelpers.js.map +0 -1
  460. package/testing/internal/resetApolloContext.d.ts +0 -10
  461. package/testing/internal/resetApolloContext.js +0 -20
  462. package/testing/internal/resetApolloContext.js.map +0 -1
  463. package/testing/internal/rtl/actAsync.d.ts +0 -2
  464. package/testing/internal/rtl/actAsync.js +0 -14
  465. package/testing/internal/rtl/actAsync.js.map +0 -1
  466. package/testing/internal/rtl/renderAsync.d.ts +0 -9
  467. package/testing/internal/rtl/renderAsync.js +0 -12
  468. package/testing/internal/rtl/renderAsync.js.map +0 -1
  469. package/testing/internal/rtl/renderHookAsync.d.ts +0 -8
  470. package/testing/internal/rtl/renderHookAsync.js +0 -33
  471. package/testing/internal/rtl/renderHookAsync.js.map +0 -1
  472. package/testing/internal/scenarios/index.d.ts +0 -83
  473. package/testing/internal/scenarios/index.js +0 -97
  474. package/testing/internal/scenarios/index.js.map +0 -1
  475. package/testing/internal/wait.d.ts +0 -2
  476. package/testing/internal/wait.js +0 -4
  477. package/testing/internal/wait.js.map +0 -1
  478. package/testing/matchers/arrayWithLength.d.ts +0 -3
  479. package/testing/matchers/arrayWithLength.js +0 -11
  480. package/testing/matchers/arrayWithLength.js.map +0 -1
  481. package/testing/matchers/index.d.ts +0 -2
  482. package/testing/matchers/index.js +0 -29
  483. package/testing/matchers/index.js.map +0 -1
  484. package/testing/matchers/isSameClient.d.ts +0 -3
  485. package/testing/matchers/isSameClient.js +0 -15
  486. package/testing/matchers/isSameClient.js.map +0 -1
  487. package/testing/matchers/isSameObservableQuery.d.ts +0 -3
  488. package/testing/matchers/isSameObservableQuery.js +0 -15
  489. package/testing/matchers/isSameObservableQuery.js.map +0 -1
  490. package/testing/matchers/toBeDisposed.d.ts +0 -3
  491. package/testing/matchers/toBeDisposed.js +0 -16
  492. package/testing/matchers/toBeDisposed.js.map +0 -1
  493. package/testing/matchers/toBeGarbageCollected.d.ts +0 -8
  494. package/testing/matchers/toBeGarbageCollected.js +0 -39
  495. package/testing/matchers/toBeGarbageCollected.js.map +0 -1
  496. package/testing/matchers/toComplete.d.ts +0 -4
  497. package/testing/matchers/toComplete.js +0 -26
  498. package/testing/matchers/toComplete.js.map +0 -1
  499. package/testing/matchers/toEmitAnything.d.ts +0 -4
  500. package/testing/matchers/toEmitAnything.js +0 -29
  501. package/testing/matchers/toEmitAnything.js.map +0 -1
  502. package/testing/matchers/toEmitError.d.ts +0 -7
  503. package/testing/matchers/toEmitError.js +0 -42
  504. package/testing/matchers/toEmitError.js.map +0 -1
  505. package/testing/matchers/toEmitNext.d.ts +0 -4
  506. package/testing/matchers/toEmitNext.js +0 -26
  507. package/testing/matchers/toEmitNext.js.map +0 -1
  508. package/testing/matchers/toEmitTypedValue.d.ts +0 -12
  509. package/testing/matchers/toEmitTypedValue.js +0 -38
  510. package/testing/matchers/toEmitTypedValue.js.map +0 -1
  511. package/testing/matchers/toHaveSuspenseCacheEntryUsing.d.ts +0 -11
  512. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js +0 -22
  513. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js.map +0 -1
  514. package/testing/matchers/toMatchDocument.d.ts +0 -4
  515. package/testing/matchers/toMatchDocument.js +0 -33
  516. package/testing/matchers/toMatchDocument.js.map +0 -1
  517. package/testing/matchers/toRerenderWithSimilarSnapshot.d.ts +0 -20
  518. package/testing/matchers/toRerenderWithSimilarSnapshot.js +0 -62
  519. package/testing/matchers/toRerenderWithSimilarSnapshot.js.map +0 -1
  520. package/testing/matchers/toStrictEqualTyped.d.ts +0 -12
  521. package/testing/matchers/toStrictEqualTyped.js +0 -28
  522. package/testing/matchers/toStrictEqualTyped.js.map +0 -1
  523. package/testing/matchers/utils/getSerializableProperties.d.ts +0 -4
  524. package/testing/matchers/utils/getSerializableProperties.js +0 -33
  525. package/testing/matchers/utils/getSerializableProperties.js.map +0 -1
  526. package/utilities/internal/types/DeepPartial.js.map +0 -1
  527. /package/__cjs/utilities/{internal/types/DeepPartial.cjs → DeepPartial.cjs} +0 -0
  528. /package/utilities/{internal/types/DeepPartial.js → DeepPartial.js} +0 -0
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toStrictEqualTyped = void 0;
4
- const expect_utils_1 = require("@jest/expect-utils");
5
- const isSameClient_js_1 = require("./isSameClient.cjs");
6
- const isSameObservableQuery_js_1 = require("./isSameObservableQuery.cjs");
7
- const getSerializableProperties_js_1 = require("./utils/getSerializableProperties.cjs");
8
- const toStrictEqualTyped = function (actual, expected, options = {}) {
9
- const { includeKnownClassInstances = false } = options;
10
- const value = actual;
11
- const hint = this.utils.matcherHint(this.isNot ? ".not.toStrictEqualTyped" : "toStrictEqualTyped", options?.received || "value", options?.expected || "expected", { ...options.hintOptions, isNot: this.isNot, promise: this.promise });
12
- const serializableProperties = (0, getSerializableProperties_js_1.getSerializableProperties)(value, {
13
- includeKnownClassInstances,
14
- });
15
- const testers = includeKnownClassInstances ? [isSameClient_js_1.isSameClient, isSameObservableQuery_js_1.isSameObservableQuery] : [];
16
- const pass = this.equals(serializableProperties, expected,
17
- // https://github.com/jestjs/jest/blob/22029ba06b69716699254bb9397f2b3bc7b3cf3b/packages/expect/src/matchers.ts#L62-L67
18
- [...testers, ...this.customTesters, expect_utils_1.iterableEquality], true);
19
- return {
20
- pass,
21
- message: () => {
22
- if (pass) {
23
- return hint + `\n\nExpected: not ${this.utils.printExpected(expected)}`;
24
- }
25
- return (hint +
26
- "\n\n" +
27
- this.utils.printDiffOrStringify(expected, serializableProperties, "Expected", "Received", true));
28
- },
29
- };
30
- };
31
- exports.toStrictEqualTyped = toStrictEqualTyped;
32
- //# sourceMappingURL=toStrictEqualTyped.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toStrictEqualTyped.cjs","sources":["../../../../src/testing/matchers/toStrictEqualTyped.ts"],"sourcesContent":["import { iterableEquality } from \"@jest/expect-utils\";\nimport type { MatcherFunction } from \"expect\";\nimport type { MatcherHintOptions } from \"jest-matcher-utils\";\n\nimport { isSameClient } from \"./isSameClient.js\";\nimport { isSameObservableQuery } from \"./isSameObservableQuery.js\";\nimport { getSerializableProperties } from \"./utils/getSerializableProperties.js\";\n\nexport const toStrictEqualTyped: MatcherFunction<\n [\n value: any,\n options?: {\n includeKnownClassInstances?: boolean;\n received?: string;\n expected?: string;\n hintOptions?: MatcherHintOptions;\n },\n ]\n> = function (actual, expected, options = {}) {\n const { includeKnownClassInstances = false } = options;\n const value = actual as Record<string, any>;\n const hint = this.utils.matcherHint(\n this.isNot ? \".not.toStrictEqualTyped\" : \"toStrictEqualTyped\",\n options?.received || \"value\",\n options?.expected || \"expected\",\n { ...options.hintOptions, isNot: this.isNot, promise: this.promise }\n );\n\n const serializableProperties = getSerializableProperties(value, {\n includeKnownClassInstances,\n });\n\n const testers =\n includeKnownClassInstances ? [isSameClient, isSameObservableQuery] : [];\n\n const pass = this.equals(\n serializableProperties,\n expected,\n // https://github.com/jestjs/jest/blob/22029ba06b69716699254bb9397f2b3bc7b3cf3b/packages/expect/src/matchers.ts#L62-L67\n [...testers, ...this.customTesters, iterableEquality],\n true\n );\n\n return {\n pass,\n message: () => {\n if (pass) {\n return hint + `\\n\\nExpected: not ${this.utils.printExpected(expected)}`;\n }\n\n return (\n hint +\n \"\\n\\n\" +\n this.utils.printDiffOrStringify(\n expected,\n serializableProperties,\n \"Expected\",\n \"Received\",\n true\n )\n );\n },\n };\n};\n"],"names":[],"mappings":";;;AAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAIA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CA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"}
@@ -1,12 +0,0 @@
1
- import type { MatcherFunction } from "expect";
2
- import type { MatcherHintOptions } from "jest-matcher-utils";
3
- export declare const toStrictEqualTyped: MatcherFunction<[
4
- value: any,
5
- options?: {
6
- includeKnownClassInstances?: boolean;
7
- received?: string;
8
- expected?: string;
9
- hintOptions?: MatcherHintOptions;
10
- }
11
- ]>;
12
- //# sourceMappingURL=toStrictEqualTyped.d.cts.map
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSerializableProperties = getSerializableProperties;
4
- const client_1 = require("@apollo/client");
5
- const internal_1 = require("@apollo/client/utilities/internal");
6
- function isKnownClassInstance(value) {
7
- return [client_1.ApolloClient, client_1.ObservableQuery].some((c) => value instanceof c);
8
- }
9
- function getSerializableProperties(obj, { includeKnownClassInstances = false, } = {}) {
10
- if (Array.isArray(obj)) {
11
- return obj.map((item) => getSerializableProperties(item, {
12
- includeKnownClassInstances,
13
- }));
14
- }
15
- if ((0, internal_1.isPlainObject)(obj)) {
16
- return [...Object.keys(obj), ...Object.getOwnPropertySymbols(obj)].reduce((memo, key) => {
17
- const value = obj[key];
18
- if (typeof value === "function" ||
19
- (!includeKnownClassInstances && isKnownClassInstance(value))) {
20
- return memo;
21
- }
22
- // Recurse if we have a nested object/array
23
- if ((0, internal_1.isPlainObject)(value) || Array.isArray(value)) {
24
- return {
25
- ...memo,
26
- [key]: getSerializableProperties(value, {
27
- includeKnownClassInstances,
28
- }),
29
- };
30
- }
31
- return { ...memo, [key]: value };
32
- }, {});
33
- }
34
- return obj;
35
- }
36
- //# sourceMappingURL=getSerializableProperties.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getSerializableProperties.cjs","sources":["../../../../../src/testing/matchers/utils/getSerializableProperties.ts"],"sourcesContent":["import { ApolloClient, ObservableQuery } from \"@apollo/client\";\nimport { isPlainObject } from \"@apollo/client/utilities/internal\";\n\nfunction isKnownClassInstance(value: unknown) {\n return [ApolloClient, ObservableQuery].some((c) => value instanceof c);\n}\n\nexport function getSerializableProperties(\n obj: unknown,\n {\n includeKnownClassInstances = false,\n }: {\n includeKnownClassInstances?: boolean;\n } = {}\n): any {\n if (Array.isArray(obj)) {\n return obj.map((item) =>\n getSerializableProperties(item, {\n includeKnownClassInstances,\n })\n );\n }\n\n if (isPlainObject(obj)) {\n return [...Object.keys(obj), ...Object.getOwnPropertySymbols(obj)].reduce(\n (memo, key) => {\n const value = obj[key as any];\n if (\n typeof value === \"function\" ||\n (!includeKnownClassInstances && isKnownClassInstance(value))\n ) {\n return memo;\n }\n\n // Recurse if we have a nested object/array\n if (isPlainObject(value) || Array.isArray(value)) {\n return {\n ...memo,\n [key]: getSerializableProperties(value, {\n includeKnownClassInstances,\n }),\n };\n }\n return { ...memo, [key]: value };\n },\n {} as Record<string, any>\n );\n }\n\n return obj;\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export declare function getSerializableProperties(obj: unknown, { includeKnownClassInstances, }?: {
2
- includeKnownClassInstances?: boolean;
3
- }): any;
4
- //# sourceMappingURL=getSerializableProperties.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DeepPartial.cjs","sources":["../../../../../src/utilities/internal/types/DeepPartial.ts"],"sourcesContent":["// Inspired by type-fest PartialDeep: https://github.com/sindresorhus/type-fest/blob/9feb8c89be9a0f2f688bf2f497230298a8e2472e/source/partial-deep.d.ts\n//\n// We're including the license to give credit to the original implementation.\n// https://github.com/sindresorhus/type-fest/blob/main/license-mit\n\n/*\n * MIT License\n *\n * Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport type { Primitive } from \"./Primitive.js\";\n\ntype DeepPartialPrimitive = Primitive | Date | RegExp;\n\n/** @internal */\nexport type DeepPartial<T> =\n T extends DeepPartialPrimitive ? T\n : T extends Map<infer TKey, infer TValue> ? DeepPartialMap<TKey, TValue>\n : T extends ReadonlyMap<infer TKey, infer TValue> ?\n DeepPartialReadonlyMap<TKey, TValue>\n : T extends Set<infer TItem> ? DeepPartialSet<TItem>\n : T extends ReadonlySet<infer TItem> ? DeepPartialReadonlySet<TItem>\n : T extends (...args: any[]) => unknown ? T | undefined\n : T extends object ?\n T extends (\n ReadonlyArray<infer TItem> // Test for arrays/tuples\n ) ?\n TItem[] extends (\n T // Test for non-tuples\n ) ?\n readonly TItem[] extends T ?\n ReadonlyArray<DeepPartial<TItem | undefined>>\n : Array<DeepPartial<TItem | undefined>>\n : DeepPartialObject<T>\n : DeepPartialObject<T>\n : unknown;\n\ntype DeepPartialMap<TKey, TValue> = {} & Map<\n DeepPartial<TKey>,\n DeepPartial<TValue>\n>;\n\ntype DeepPartialReadonlyMap<TKey, TValue> = {} & ReadonlyMap<\n DeepPartial<TKey>,\n DeepPartial<TValue>\n>;\n\ntype DeepPartialSet<T> = {} & Set<DeepPartial<T>>;\ntype DeepPartialReadonlySet<T> = {} & ReadonlySet<DeepPartial<T>>;\n\ntype DeepPartialObject<T extends object> = {\n [K in keyof T]?: DeepPartial<T[K]>;\n};\n"],"names":[],"mappings":";AAAA,CAAA,EAAA,CAAA,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,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,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;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,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;;"}
@@ -1 +0,0 @@
1
- export * from "@apollo/client/testing/internal";
@@ -1 +0,0 @@
1
- export * from "@apollo/client/testing/internal";
@@ -1 +0,0 @@
1
- module.exports = require("@apollo/client/testing/internal");
@@ -1 +0,0 @@
1
- export * from "@apollo/client/testing/internal";
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.bench.d.ts.map
@@ -1,221 +0,0 @@
1
- import { attest, bench } from "@ark/attest";
2
- import { setup } from "@ark/attest";
3
- import { expectTypeOf } from "expect-type";
4
- setup({
5
- updateSnapshots: !process.env.CI,
6
- });
7
- function test(name, fn) {
8
- fn(name + ": ");
9
- }
10
- test("unmasks deeply nested fragments", (prefix) => {
11
- bench(prefix + "instantiations", () => {
12
- return {};
13
- }).types([5, "instantiations"]);
14
- bench(prefix + "functionality", () => {
15
- expectTypeOf().toEqualTypeOf();
16
- });
17
- });
18
- test("unmasks deeply nested fragments", (prefix) => {
19
- bench(prefix + "instantiations", () => {
20
- return {};
21
- }).types([5, "instantiations"]);
22
- bench(prefix + "functionality", () => {
23
- expectTypeOf().toEqualTypeOf();
24
- });
25
- });
26
- test("unmasks deeply nested nullable fragments", (prefix) => {
27
- bench(prefix + "instantiations", () => {
28
- return {};
29
- }).types([5, "instantiations"]);
30
- bench(prefix + "functionality", () => {
31
- expectTypeOf().toEqualTypeOf();
32
- });
33
- });
34
- test("unmasks DeepPartial types", (prefix) => {
35
- bench(prefix + "instantiations", () => {
36
- return {};
37
- }).types([5, "instantiations"]);
38
- bench(prefix + "functionality", () => {
39
- expectTypeOf().toEqualTypeOf();
40
- });
41
- });
42
- test("Unmasked handles odd types", (prefix) => {
43
- bench(prefix + "empty type instantiations", () => {
44
- attest();
45
- }).types([111, "instantiations"]);
46
- bench(prefix + "empty type functionality", () => {
47
- expectTypeOf().toEqualTypeOf();
48
- });
49
- bench(prefix + "generic record type instantiations", () => {
50
- attest();
51
- }).types([115, "instantiations"]);
52
- bench(prefix + "generic record type functionality", () => {
53
- expectTypeOf().toEqualTypeOf();
54
- });
55
- bench(prefix + "unknown instantiations", () => {
56
- attest();
57
- }).types([47, "instantiations"]);
58
- bench(prefix + "unknown functionality", () => {
59
- expectTypeOf().toBeUnknown();
60
- });
61
- bench(prefix + "any instantiations", () => {
62
- attest();
63
- }).types([48, "instantiations"]);
64
- bench(prefix + "any functionality", () => {
65
- expectTypeOf().toBeAny();
66
- });
67
- });
68
- test("MaybeMasked handles odd types", (prefix) => {
69
- bench(prefix + "empty type instantiations", () => {
70
- attest();
71
- }).types([41, "instantiations"]);
72
- bench(prefix + "empty type functionality", () => {
73
- expectTypeOf().toEqualTypeOf();
74
- });
75
- bench(prefix + "generic record type instantiations", () => {
76
- attest();
77
- }).types([46, "instantiations"]);
78
- bench(prefix + "generic record type functionality", () => {
79
- expectTypeOf().toEqualTypeOf();
80
- });
81
- bench(prefix + "unknown instantiations", () => {
82
- attest();
83
- }).types([41, "instantiations"]);
84
- bench(prefix + "unknown functionality", () => {
85
- expectTypeOf().toBeUnknown();
86
- });
87
- bench(prefix + "any instantiations", () => {
88
- attest();
89
- }).types([43, "instantiations"]);
90
- bench(prefix + "any functionality", () => {
91
- expectTypeOf().toBeAny();
92
- });
93
- });
94
- test("distributed members on MaybeMasked", (prefix) => {
95
- (function unresolvedGeneric() {
96
- bench(prefix + "one unresolved generic mixed with null|undefined", () => {
97
- attest();
98
- }).types([49, "instantiations"]);
99
- })();
100
- (function unresolvedGenerics() {
101
- bench(prefix + "two unresolved generics distribute", () => {
102
- attest();
103
- }).types([50, "instantiations"]);
104
- })();
105
- });
106
- test("deals with overlapping array from parent fragment", (prefix) => {
107
- bench(prefix + "instantiations", () => {
108
- return {};
109
- }).types([5, "instantiations"]);
110
- bench(prefix + "functionality", () => {
111
- const x = {};
112
- // some fields for hovering
113
- x.id;
114
- x.artists;
115
- x.artists?.[0]?.id;
116
- x.artists?.[0]?.birthdate;
117
- x.artists?.[0]?.lastname;
118
- expectTypeOf(x).branded.toEqualTypeOf();
119
- });
120
- });
121
- test("base type, multiple fragments on sub-types", (prefix) => {
122
- bench(prefix + "instantiations", () => {
123
- return {};
124
- }).types([5, "instantiations"]);
125
- bench(prefix + "functionality", () => {
126
- const x = {};
127
- expectTypeOf(x).branded.toEqualTypeOf();
128
- });
129
- });
130
- test("does not detect `$fragmentRefs` if type contains `any`", (prefix) => {
131
- bench(prefix + "instantiations", () => {
132
- return {};
133
- }).types([1, "instantiations"]);
134
- bench(prefix + "functionality", () => {
135
- const x = {};
136
- expectTypeOf(x).branded.toEqualTypeOf();
137
- });
138
- });
139
- test("leaves tuples alone", (prefix) => {
140
- bench(prefix + "instantiations", () => {
141
- return {};
142
- }).types([5, "instantiations"]);
143
- bench(prefix + "functionality", () => {
144
- const x = {};
145
- expectTypeOf(x).branded.toEqualTypeOf();
146
- });
147
- });
148
- test("does not detect `$fragmentRefs` if type is a record type", (prefix) => {
149
- bench(prefix + "instantiations", () => {
150
- return {};
151
- }).types([1, "instantiations"]);
152
- bench(prefix + "functionality", () => {
153
- const x = {};
154
- expectTypeOf(x).branded.toEqualTypeOf();
155
- });
156
- });
157
- test("does not detect `$fragmentRefs` on types with index signatures", (prefix) => {
158
- bench(prefix + "instantiations", () => {
159
- return {};
160
- }).types([1, "instantiations"]);
161
- bench(prefix + "functionality", () => {
162
- const x = {};
163
- expectTypeOf(x).branded.toEqualTypeOf();
164
- });
165
- });
166
- test("detects `$fragmentRefs` on types with index signatures", (prefix) => {
167
- bench(prefix + "instantiations", () => {
168
- return {};
169
- }).types([1, "instantiations"]);
170
- bench(prefix + "functionality", () => {
171
- const x = {};
172
- const y = {};
173
- expectTypeOf(x).branded.toEqualTypeOf();
174
- expectTypeOf(y).toEqualTypeOf();
175
- });
176
- });
177
- test("recursive types: no error 'Type instantiation is excessively deep and possibly infinite.'", (prefix) => {
178
- bench(prefix + "instantiations", () => {
179
- return {};
180
- }).types([1, "instantiations"]);
181
- bench(prefix + "functionality", () => {
182
- const x = {};
183
- expectTypeOf(x).branded.toEqualTypeOf();
184
- });
185
- });
186
- test("MaybeMasked can be called with a generic if `mode` is not set to `unmask`", (prefix) => {
187
- function withGenericResult(arg) {
188
- bench(prefix + "Result generic - instantiations", () => {
189
- const maybeMasked = arg;
190
- return maybeMasked;
191
- }).types([1, "instantiations"]);
192
- bench(prefix + "Result generic - functionality", () => {
193
- const maybeMasked = arg;
194
- expectTypeOf(maybeMasked).toEqualTypeOf(arg);
195
- });
196
- }
197
- function withGenericDocument(arg) {
198
- bench(prefix + "Result generic - instantiations", () => {
199
- const maybeMasked = arg;
200
- return maybeMasked;
201
- }).types([1, "instantiations"]);
202
- bench(prefix + "Result generic - functionality", () => {
203
- const maybeMasked = arg;
204
- // cannot use unresolved generic with `expectTypeOf` here so we just try an assignment the other way round
205
- const test = maybeMasked;
206
- return test;
207
- });
208
- }
209
- withGenericResult({});
210
- withGenericDocument({});
211
- });
212
- test("Unmasked handles branded primitive types", (prefix) => {
213
- bench(prefix + "instantiations", () => {
214
- return {};
215
- }).types([5, "instantiations"]);
216
- bench(prefix + "functionality", () => {
217
- const x = {};
218
- expectTypeOf(x).branded.toEqualTypeOf();
219
- });
220
- });
221
- //# sourceMappingURL=types.bench.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.bench.js","sources":["../../../src/masking/__benches__/types.bench.ts"],"sourcesContent":["import { attest, bench } from \"@ark/attest\";\nimport { setup } from \"@ark/attest\";\nimport { expectTypeOf } from \"expect-type\";\n\nimport type { TypedDocumentNode } from \"@apollo/client\";\nimport type { MaybeMasked, Unmasked } from \"@apollo/client/masking\";\nimport type { DeepPartial } from \"@apollo/client/utilities/internal\";\n\nimport type { ContainsFragmentsRefs } from \"../internal/types.js\";\n\nsetup({\n updateSnapshots: !process.env.CI,\n});\n\nfunction test(name: string, fn: (name: string) => void) {\n fn(name + \": \");\n}\n\ntype UnrelatedType = {\n __typename: \"Unrelated\";\n} & { \" $fragmentName\"?: \"Unrelated\" } & {\n \" $fragmentRefs\"?: {\n Unrelated: {\n __unrelated: boolean;\n };\n };\n};\n// @ts-ignore\ntype _TypeCacheWarmup = Unmasked<UnrelatedType> | MaybeMasked<UnrelatedType>;\n\ntest(\"unmasks deeply nested fragments\", (prefix) => {\n type UserFieldsFragment = {\n __typename: \"User\";\n id: number;\n age: number;\n } & { \" $fragmentName\"?: \"UserFieldsFragment\" } & {\n \" $fragmentRefs\"?: {\n NameFieldsFragment: NameFieldsFragment;\n JobFieldsFragment: JobFieldsFragment;\n };\n };\n\n type NameFieldsFragment = {\n __typename: \"User\";\n firstName: string;\n lastName: string;\n } & { \" $fragmentName\"?: \"NameFieldsFragment\" };\n\n type JobFieldsFragment = {\n __typename: \"User\";\n job: string;\n } & { \" $fragmentName\"?: \"JobFieldsFragment\" } & {\n \" $fragmentRefs\"?: { CareerFieldsFragment: CareerFieldsFragment };\n };\n\n type CareerFieldsFragment = {\n __typename: \"User\";\n position: string;\n } & { \" $fragmentName\"?: \"CareerFieldsFragment\" };\n\n type Source = UserFieldsFragment;\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n expectTypeOf<Unmasked<Source>>().toEqualTypeOf<{\n __typename: \"User\";\n id: number;\n age: number;\n firstName: string;\n lastName: string;\n job: string;\n position: string;\n }>();\n });\n});\n\ntest(\"unmasks deeply nested fragments\", (prefix) => {\n type UserFieldsFragment = {\n __typename: \"User\";\n id: number;\n age: number;\n jobs: Array<\n {\n __typename: \"Job\";\n id: string;\n title: string;\n } & { \" $fragmentRefs\"?: { JobFieldsFragment: JobFieldsFragment } }\n >;\n } & { \" $fragmentName\"?: \"UserFieldsFragment\" } & {\n \" $fragmentRefs\"?: {\n NameFieldsFragment: NameFieldsFragment;\n };\n };\n\n type NameFieldsFragment = {\n __typename: \"User\";\n firstName: string;\n lastName: string;\n } & { \" $fragmentName\"?: \"NameFieldsFragment\" };\n\n type JobFieldsFragment = {\n __typename: \"Job\";\n job: string;\n } & { \" $fragmentName\"?: \"JobFieldsFragment\" } & {\n \" $fragmentRefs\"?: { CareerFieldsFragment: CareerFieldsFragment };\n };\n\n type CareerFieldsFragment = {\n __typename: \"Job\";\n position: string;\n } & { \" $fragmentName\"?: \"CareerFieldsFragment\" };\n\n type Source = UserFieldsFragment;\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n expectTypeOf<Unmasked<Source>>().toEqualTypeOf<{\n __typename: \"User\";\n id: number;\n age: number;\n firstName: string;\n lastName: string;\n jobs: Array<{\n __typename: \"Job\";\n id: string;\n title: string;\n job: string;\n position: string;\n }>;\n }>();\n });\n});\n\ntest(\"unmasks deeply nested nullable fragments\", (prefix) => {\n type UserFieldsFragment = {\n __typename: \"User\";\n id: number;\n age: number;\n career:\n | ({\n __typename: \"Job\";\n id: string;\n title: string;\n } & { \" $fragmentRefs\"?: { JobFieldsFragment: JobFieldsFragment } })\n | null;\n jobs: Array<\n | ({\n __typename: \"Job\";\n id: string;\n title: string;\n } & { \" $fragmentRefs\"?: { JobFieldsFragment: JobFieldsFragment } })\n | null\n >;\n } & { \" $fragmentName\"?: \"UserFieldsFragment\" } & {\n \" $fragmentRefs\"?: {\n NameFieldsFragment: NameFieldsFragment;\n };\n };\n\n type NameFieldsFragment = {\n __typename: \"User\";\n firstName: string;\n lastName: string;\n } & { \" $fragmentName\"?: \"NameFieldsFragment\" };\n\n type JobFieldsFragment = {\n __typename: \"Job\";\n job: string;\n } & { \" $fragmentName\"?: \"JobFieldsFragment\" } & {\n \" $fragmentRefs\"?: { CareerFieldsFragment: CareerFieldsFragment };\n };\n\n type CareerFieldsFragment = {\n __typename: \"Job\";\n position: string;\n } & { \" $fragmentName\"?: \"CareerFieldsFragment\" };\n\n type Source = UserFieldsFragment;\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n expectTypeOf<Unmasked<Source>>().toEqualTypeOf<{\n __typename: \"User\";\n id: number;\n age: number;\n firstName: string;\n lastName: string;\n career: {\n __typename: \"Job\";\n id: string;\n title: string;\n job: string;\n position: string;\n } | null;\n jobs: Array<{\n __typename: \"Job\";\n id: string;\n title: string;\n job: string;\n position: string;\n } | null>;\n }>();\n });\n});\n\ntest(\"unmasks DeepPartial types\", (prefix) => {\n type UserFieldsFragment = {\n __typename: \"User\";\n id: number;\n age: number;\n } & { \" $fragmentName\"?: \"UserFieldsFragment\" } & {\n \" $fragmentRefs\"?: {\n NameFieldsFragment: NameFieldsFragment;\n };\n };\n\n type NameFieldsFragment = {\n __typename: \"User\";\n firstName: string;\n lastName: string;\n } & { \" $fragmentName\"?: \"NameFieldsFragment\" };\n\n type Source = DeepPartial<UserFieldsFragment>;\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n expectTypeOf<Unmasked<Source>>().toEqualTypeOf<{\n __typename?: \"User\";\n id?: number;\n age?: number;\n firstName?: string;\n lastName?: string;\n }>();\n });\n});\n\ntest(\"Unmasked handles odd types\", (prefix) => {\n bench(prefix + \"empty type instantiations\", () => {\n attest<{}, Unmasked<{}>>();\n }).types([111, \"instantiations\"]);\n\n bench(prefix + \"empty type functionality\", () => {\n expectTypeOf<Unmasked<{}>>().toEqualTypeOf<{}>();\n });\n\n bench(prefix + \"generic record type instantiations\", () => {\n attest<Record<string, any>, Unmasked<Record<string, any>>>();\n }).types([115, \"instantiations\"]);\n\n bench(prefix + \"generic record type functionality\", () => {\n expectTypeOf<Unmasked<Record<string, any>>>().toEqualTypeOf<\n Record<string, any>\n >();\n });\n\n bench(prefix + \"unknown instantiations\", () => {\n attest<unknown, Unmasked<unknown>>();\n }).types([47, \"instantiations\"]);\n\n bench(prefix + \"unknown functionality\", () => {\n expectTypeOf<Unmasked<unknown>>().toBeUnknown();\n });\n\n bench(prefix + \"any instantiations\", () => {\n attest<any, Unmasked<any>>();\n }).types([48, \"instantiations\"]);\n\n bench(prefix + \"any functionality\", () => {\n expectTypeOf<Unmasked<any>>().toBeAny();\n });\n});\n\ntest(\"MaybeMasked handles odd types\", (prefix) => {\n bench(prefix + \"empty type instantiations\", () => {\n attest<{}, MaybeMasked<{}>>();\n }).types([41, \"instantiations\"]);\n\n bench(prefix + \"empty type functionality\", () => {\n expectTypeOf<MaybeMasked<{}>>().toEqualTypeOf<{}>();\n });\n\n bench(prefix + \"generic record type instantiations\", () => {\n attest<Record<string, any>, MaybeMasked<Record<string, any>>>();\n }).types([46, \"instantiations\"]);\n bench(prefix + \"generic record type functionality\", () => {\n expectTypeOf<MaybeMasked<Record<string, any>>>().toEqualTypeOf<\n Record<string, any>\n >();\n });\n\n bench(prefix + \"unknown instantiations\", () => {\n attest<unknown, MaybeMasked<unknown>>();\n }).types([41, \"instantiations\"]);\n bench(prefix + \"unknown functionality\", () => {\n expectTypeOf<MaybeMasked<unknown>>().toBeUnknown();\n });\n\n bench(prefix + \"any instantiations\", () => {\n attest<any, MaybeMasked<any>>();\n }).types([43, \"instantiations\"]);\n bench(prefix + \"any functionality\", () => {\n expectTypeOf<MaybeMasked<any>>().toBeAny();\n });\n});\n\ntest(\"distributed members on MaybeMasked\", (prefix) => {\n (function unresolvedGeneric<T>() {\n bench(prefix + \"one unresolved generic mixed with null|undefined\", () => {\n attest<\n [MaybeMasked<T> | null | undefined],\n [MaybeMasked<T | null | undefined>]\n >();\n }).types([49, \"instantiations\"]);\n })();\n\n (function unresolvedGenerics<T, V>() {\n bench(prefix + \"two unresolved generics distribute\", () => {\n attest<[MaybeMasked<T> | MaybeMasked<V>], [MaybeMasked<T | V>]>();\n }).types([50, \"instantiations\"]);\n })();\n});\n\ntest(\"deals with overlapping array from parent fragment\", (prefix) => {\n type Source = {\n __typename: \"Track\";\n /** comment: id */\n id: number;\n /** comment: artists */\n artists?: Array<{\n __typename: \"Artist\";\n /** comment: artists.id */\n id: number;\n \" $fragmentRefs\"?: {\n ArtistFragment: ArtistFragment;\n };\n }> | null;\n \" $fragmentRefs\"?: {\n NestedTrackFragment: NestedTrackFragment;\n };\n };\n\n type ArtistFragment = {\n \" $fragmentName\"?: \"Fragment__Artist\";\n __typename: \"Artist\";\n /** comment: artists.birthday */\n birthdate: string;\n };\n\n type NestedTrackFragment = {\n \" $fragmentName\"?: \"Fragment__Track\";\n __typename: \"Track\";\n artists?: Array<{\n __typename: \"Artist\";\n /** comment: artists.lastname */\n lastname: string;\n }> | null;\n };\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as Unmasked<Source>;\n // some fields for hovering\n x.id;\n x.artists;\n x.artists?.[0]?.id;\n x.artists?.[0]?.birthdate;\n x.artists?.[0]?.lastname;\n expectTypeOf(x).branded.toEqualTypeOf<{\n __typename: \"Track\";\n id: number;\n artists?:\n | Array<{\n __typename: \"Artist\";\n id: number;\n birthdate: string;\n lastname: string;\n }>\n | null\n | undefined;\n }>();\n });\n});\n\ntest(\"base type, multiple fragments on sub-types\", (prefix) => {\n type Source = {\n __typename: \"Track\";\n id: number;\n artists?: Array<{\n __typename: \"Person\" | \"Animatronic\" | \"CartoonCharacter\";\n id: number;\n name: string;\n \" $fragmentRefs\"?: {\n PersonFragment: PersonFragment;\n AnimatronicFragment: AnimatronicFragment;\n CartoonCharacterFragment: CartoonCharacterFragment;\n };\n }> | null;\n };\n\n type PersonFragment = {\n \" $fragmentName\"?: \"Fragment__Person\";\n __typename: \"Person\";\n birthdate: string;\n };\n type AnimatronicFragment = {\n \" $fragmentName\"?: \"Fragment__Animatronic\";\n __typename: \"Animatronic\";\n manufacturer: string;\n warrantyEndDate: string;\n };\n type CartoonCharacterFragment = {\n \" $fragmentName\"?: \"Fragment__CartoonCharacter\";\n __typename: \"CartoonCharacter\";\n animator: string;\n voiceActor: string;\n };\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as Unmasked<Source>;\n expectTypeOf(x).branded.toEqualTypeOf<{\n __typename: \"Track\";\n id: number;\n artists?:\n | Array<\n | {\n __typename: \"Person\";\n id: number;\n name: string;\n birthdate: string;\n }\n | {\n __typename: \"Animatronic\";\n id: number;\n name: string;\n manufacturer: string;\n warrantyEndDate: string;\n }\n | {\n __typename: \"CartoonCharacter\";\n id: number;\n name: string;\n animator: string;\n voiceActor: string;\n }\n >\n | null\n | undefined;\n }>();\n });\n});\n\ntest(\"does not detect `$fragmentRefs` if type contains `any`\", (prefix) => {\n interface Source {\n foo: { bar: any[] };\n \" $fragmentName\": \"foo\";\n }\n\n bench(prefix + \"instantiations\", () => {\n return {} as MaybeMasked<Source>;\n }).types([1, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as MaybeMasked<Source>;\n\n expectTypeOf(x).branded.toEqualTypeOf<Source>();\n });\n});\n\ntest(\"leaves tuples alone\", (prefix) => {\n interface Source {\n coords: [long: number, lat: number];\n }\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as Unmasked<Source>;\n\n expectTypeOf(x).branded.toEqualTypeOf<{\n coords: [long: number, lat: number];\n }>();\n });\n});\n\ntest(\"does not detect `$fragmentRefs` if type is a record type\", (prefix) => {\n interface MetadataItem {\n foo: string;\n }\n\n interface Source {\n metadata: Record<string, MetadataItem>;\n \" $fragmentName\": \"Source\";\n }\n\n bench(prefix + \"instantiations\", () => {\n return {} as MaybeMasked<Source>;\n }).types([1, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as MaybeMasked<Source>;\n\n expectTypeOf(x).branded.toEqualTypeOf<Source>();\n });\n});\n\ntest(\"does not detect `$fragmentRefs` on types with index signatures\", (prefix) => {\n interface Source {\n foo: string;\n \" $fragmentName\": \"Source\";\n [key: string]: string;\n }\n\n bench(prefix + \"instantiations\", () => {\n return {} as MaybeMasked<Source>;\n }).types([1, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as MaybeMasked<Source>;\n\n expectTypeOf(x).branded.toEqualTypeOf<Source>();\n });\n});\n\ntest(\"detects `$fragmentRefs` on types with index signatures\", (prefix) => {\n type Source = {\n __typename: \"Foo\";\n id: number;\n metadata: Record<string, number>;\n structuredMetadata: StructuredMetadata;\n } & { \" $fragmentName\"?: \"UserFieldsFragment\" } & {\n \" $fragmentRefs\"?: {\n FooFragment: FooFragment;\n };\n };\n\n interface StructuredMetadata {\n bar: number;\n [index: string]: number;\n }\n\n type FooFragment = {\n __typename: \"Foo\";\n foo: string;\n } & { \" $fragmentName\"?: \"FooFragment\" };\n\n bench(prefix + \"instantiations\", () => {\n return {} as MaybeMasked<Source>;\n }).types([1, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as Unmasked<Source>;\n const y = {} as ContainsFragmentsRefs<Source>;\n\n expectTypeOf(x).branded.toEqualTypeOf<{\n __typename: \"Foo\";\n id: number;\n metadata: Record<string, number>;\n foo: string;\n structuredMetadata: StructuredMetadata;\n }>();\n expectTypeOf(y).toEqualTypeOf<true>();\n });\n});\n\ntest(\"recursive types: no error 'Type instantiation is excessively deep and possibly infinite.'\", (prefix) => {\n // this type is self-recursive\n type Source = import(\"graphql\").IntrospectionQuery;\n\n bench(prefix + \"instantiations\", () => {\n return {} as MaybeMasked<Source>;\n }).types([1, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as MaybeMasked<Source>;\n\n expectTypeOf(x).branded.toEqualTypeOf<Source>();\n });\n});\n\ntest(\"MaybeMasked can be called with a generic if `mode` is not set to `unmask`\", (prefix) => {\n function withGenericResult<T extends { [key: string]: string }>(\n arg: TypedDocumentNode<T, {}>\n ) {\n bench(prefix + \"Result generic - instantiations\", () => {\n const maybeMasked: MaybeMasked<typeof arg> = arg;\n return maybeMasked;\n }).types([1, \"instantiations\"]);\n\n bench(prefix + \"Result generic - functionality\", () => {\n const maybeMasked: MaybeMasked<typeof arg> = arg;\n expectTypeOf(maybeMasked).toEqualTypeOf(arg);\n });\n }\n function withGenericDocument<T extends TypedDocumentNode>(arg: T) {\n bench(prefix + \"Result generic - instantiations\", () => {\n const maybeMasked: MaybeMasked<T> = arg;\n return maybeMasked;\n }).types([1, \"instantiations\"]);\n\n bench(prefix + \"Result generic - functionality\", () => {\n const maybeMasked: MaybeMasked<T> = arg;\n // cannot use unresolved generic with `expectTypeOf` here so we just try an assignment the other way round\n const test: T = maybeMasked;\n return test;\n });\n }\n withGenericResult({} as any);\n withGenericDocument({} as any);\n});\n\ntest(\"Unmasked handles branded primitive types\", (prefix) => {\n type Branded<T, Name extends string> = T & { __branded?: Name };\n type UUID = Branded<string, \"UUID\">;\n type Source = {\n __typename: \"Foo\";\n id: UUID;\n name: string;\n } & { \" $fragmentName\"?: \"UserFieldsFragment\" } & {\n \" $fragmentRefs\"?: {\n FooFragment: FooFragment;\n };\n };\n type FooFragment = {\n __typename: \"Foo\";\n age: number;\n } & { \" $fragmentName\"?: \"UserFieldsFragment\" };\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as Unmasked<Source>;\n\n expectTypeOf(x).branded.toEqualTypeOf<{\n __typename: \"Foo\";\n id: UUID;\n name: string;\n age: number;\n }>();\n });\n});\n"],"names":[],"mappings":"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"}
@@ -1,39 +0,0 @@
1
- import type { Observable, Subscribable } from "rxjs";
2
- export interface TakeOptions {
3
- timeout?: number;
4
- }
5
- type ObservableEvent<T> = {
6
- type: "next";
7
- value: T;
8
- } | {
9
- type: "error";
10
- error: any;
11
- } | {
12
- type: "complete";
13
- };
14
- export declare class ObservableStream<T> {
15
- private reader;
16
- private subscription;
17
- private readerQueue;
18
- constructor(observable: Observable<T> | Subscribable<T>);
19
- peek({ timeout }?: TakeOptions): Promise<ObservableEvent<T>>;
20
- take({ timeout }?: TakeOptions): Promise<{
21
- type: "error";
22
- error: any;
23
- } | {
24
- type: "complete";
25
- } | {
26
- type: "next";
27
- value: T;
28
- }>;
29
- [Symbol.dispose](): void;
30
- unsubscribe(): void;
31
- takeNext(options?: TakeOptions): Promise<T>;
32
- takeError(options?: TakeOptions): Promise<any>;
33
- takeComplete(options?: TakeOptions): Promise<void>;
34
- private readNextValue;
35
- private current?;
36
- getCurrent(): T | undefined;
37
- }
38
- export {};
39
- //# sourceMappingURL=ObservableStream.d.ts.map
@@ -1,105 +0,0 @@
1
- import { ReadableStream } from "node:stream/web";
2
- import { equals, iterableEquality } from "@jest/expect-utils";
3
- import { expect } from "@jest/globals";
4
- import * as matcherUtils from "jest-matcher-utils";
5
- export class ObservableStream {
6
- reader;
7
- subscription;
8
- readerQueue = [];
9
- constructor(observable) {
10
- this.unsubscribe = this.unsubscribe.bind(this);
11
- this.reader = new ReadableStream({
12
- start: (controller) => {
13
- this.subscription = observable.subscribe({
14
- next: (value) => controller.enqueue({ type: "next", value }),
15
- error: (error) => controller.enqueue({ type: "error", error }),
16
- complete: () => controller.enqueue({ type: "complete" }),
17
- });
18
- },
19
- }).getReader();
20
- }
21
- peek({ timeout = 100 } = {}) {
22
- // Calling `peek` multiple times in a row should not advance the reader
23
- // multiple times until this value has been consumed.
24
- let readerPromise = this.readerQueue[0];
25
- if (!readerPromise) {
26
- // Since this.reader.read() advances the reader in the stream, we don't
27
- // want to consume this promise entirely, otherwise we will miss it when
28
- // calling `take`. Instead, we push it into a queue that can be consumed
29
- // by `take` the next time its called so that we avoid advancing the
30
- // reader until we are finished processing all peeked values.
31
- readerPromise = this.readNextValue();
32
- this.readerQueue.push(readerPromise);
33
- }
34
- return Promise.race([
35
- readerPromise,
36
- new Promise((_, reject) => {
37
- setTimeout(reject, timeout, new Error("Timeout waiting for next event"));
38
- }),
39
- ]);
40
- }
41
- take({ timeout = 100 } = {}) {
42
- return Promise.race([
43
- this.readerQueue.shift() || this.readNextValue(),
44
- new Promise((_, reject) => {
45
- setTimeout(reject, timeout, new Error("Timeout waiting for next event"));
46
- }),
47
- ]).then((value) => {
48
- if (value.type === "next") {
49
- this.current = value.value;
50
- }
51
- return value;
52
- });
53
- }
54
- [Symbol.dispose]() {
55
- this.unsubscribe();
56
- }
57
- unsubscribe() {
58
- this.subscription.unsubscribe();
59
- }
60
- async takeNext(options) {
61
- const event = await this.take(options);
62
- validateEquals(event, { type: "next", value: expect.anything() });
63
- return event.value;
64
- }
65
- async takeError(options) {
66
- const event = await this.take(options);
67
- validateEquals(event, { type: "error", error: expect.anything() });
68
- return event.error;
69
- }
70
- async takeComplete(options) {
71
- const event = await this.take(options);
72
- validateEquals(event, { type: "complete" });
73
- }
74
- async readNextValue() {
75
- return this.reader.read().then((result) => result.value);
76
- }
77
- current;
78
- getCurrent() {
79
- return this.current;
80
- }
81
- }
82
- // Lightweight expect(...).toEqual(...) check that avoids using `expect` so that
83
- // `expect.assertions(num)` does not double count assertions when using the take*
84
- // functions inside of expect(stream).toEmit* matchers.
85
- function validateEquals(actualEvent, expectedEvent) {
86
- // Uses the same matchers as expect(...).toEqual(...)
87
- // https://github.com/jestjs/jest/blob/611d1a4ba0008d67b5dcda485177f0813b2b573e/packages/expect/src/matchers.ts#L626-L629
88
- const isEqual = equals(actualEvent, expectedEvent, [
89
- ...getCustomMatchers(),
90
- iterableEquality,
91
- ]);
92
- if (isEqual) {
93
- return;
94
- }
95
- const hint = matcherUtils.matcherHint("toEqual", "stream", "expected");
96
- throw new Error(hint +
97
- "\n\n" +
98
- matcherUtils.printDiffOrStringify(expectedEvent, actualEvent, "Expected", "Received", true));
99
- }
100
- function getCustomMatchers() {
101
- // https://github.com/jestjs/jest/blob/611d1a4ba0008d67b5dcda485177f0813b2b573e/packages/expect/src/jestMatchersObject.ts#L141-L143
102
- const JEST_MATCHERS_OBJECT = Symbol.for("$$jest-matchers-object");
103
- return globalThis[JEST_MATCHERS_OBJECT].customEqualityTesters;
104
- }
105
- //# sourceMappingURL=ObservableStream.js.map