@isograph/react 0.4.3 → 0.5.1

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 (327) hide show
  1. package/.turbo/turbo-compile-libs.log +10 -3
  2. package/dist/_virtual/rolldown_runtime.js +25 -0
  3. package/dist/core/FragmentReference.d.mts +38 -0
  4. package/dist/core/FragmentReference.d.mts.map +1 -0
  5. package/dist/core/FragmentReference.d.ts +31 -27
  6. package/dist/core/FragmentReference.d.ts.map +1 -1
  7. package/dist/core/FragmentReference.js +8 -6
  8. package/dist/core/FragmentReference.mjs +10 -0
  9. package/dist/core/FragmentReference.mjs.map +1 -0
  10. package/dist/core/IsographEnvironment.d.mts +89 -0
  11. package/dist/core/IsographEnvironment.d.mts.map +1 -0
  12. package/dist/core/IsographEnvironment.d.ts +77 -72
  13. package/dist/core/IsographEnvironment.d.ts.map +1 -1
  14. package/dist/core/IsographEnvironment.js +62 -59
  15. package/dist/core/IsographEnvironment.mjs +67 -0
  16. package/dist/core/IsographEnvironment.mjs.map +1 -0
  17. package/dist/core/PromiseWrapper.d.mts +36 -0
  18. package/dist/core/PromiseWrapper.d.mts.map +1 -0
  19. package/dist/core/PromiseWrapper.d.ts +27 -18
  20. package/dist/core/PromiseWrapper.d.ts.map +1 -1
  21. package/dist/core/PromiseWrapper.js +45 -43
  22. package/dist/core/PromiseWrapper.mjs +49 -0
  23. package/dist/core/PromiseWrapper.mjs.map +1 -0
  24. package/dist/core/areEqualWithDeepComparison.js +56 -108
  25. package/dist/core/areEqualWithDeepComparison.mjs +62 -0
  26. package/dist/core/areEqualWithDeepComparison.mjs.map +1 -0
  27. package/dist/core/brand.d.mts +19 -0
  28. package/dist/core/brand.d.mts.map +1 -0
  29. package/dist/core/brand.d.ts +18 -1
  30. package/dist/core/brand.d.ts.map +1 -1
  31. package/dist/core/cache.d.mts +20 -0
  32. package/dist/core/cache.d.mts.map +1 -0
  33. package/dist/core/cache.d.ts +18 -34
  34. package/dist/core/cache.d.ts.map +1 -1
  35. package/dist/core/cache.js +210 -516
  36. package/dist/core/cache.mjs +237 -0
  37. package/dist/core/cache.mjs.map +1 -0
  38. package/dist/core/check.d.mts +28 -0
  39. package/dist/core/check.d.mts.map +1 -0
  40. package/dist/core/check.d.ts +24 -18
  41. package/dist/core/check.d.ts.map +1 -1
  42. package/dist/core/check.js +80 -124
  43. package/dist/core/check.mjs +84 -0
  44. package/dist/core/check.mjs.map +1 -0
  45. package/dist/core/componentCache.js +10 -34
  46. package/dist/core/componentCache.mjs +12 -0
  47. package/dist/core/componentCache.mjs.map +1 -0
  48. package/dist/core/entrypoint.d.mts +99 -0
  49. package/dist/core/entrypoint.d.mts.map +1 -0
  50. package/dist/core/entrypoint.d.ts +83 -68
  51. package/dist/core/entrypoint.d.ts.map +1 -1
  52. package/dist/core/entrypoint.js +6 -5
  53. package/dist/core/entrypoint.mjs +8 -0
  54. package/dist/core/entrypoint.mjs.map +1 -0
  55. package/dist/core/garbageCollection.d.mts +18 -0
  56. package/dist/core/garbageCollection.d.mts.map +1 -0
  57. package/dist/core/garbageCollection.d.ts +15 -10
  58. package/dist/core/garbageCollection.d.ts.map +1 -1
  59. package/dist/core/garbageCollection.js +82 -99
  60. package/dist/core/garbageCollection.mjs +89 -0
  61. package/dist/core/garbageCollection.mjs.map +1 -0
  62. package/dist/core/getOrCreateCacheForArtifact.js +37 -0
  63. package/dist/core/getOrCreateCacheForArtifact.mjs +38 -0
  64. package/dist/core/getOrCreateCacheForArtifact.mjs.map +1 -0
  65. package/dist/core/logging.d.mts +95 -0
  66. package/dist/core/logging.d.mts.map +1 -0
  67. package/dist/core/logging.d.ts +78 -60
  68. package/dist/core/logging.d.ts.map +1 -1
  69. package/dist/core/logging.js +17 -18
  70. package/dist/core/logging.mjs +20 -0
  71. package/dist/core/logging.mjs.map +1 -0
  72. package/dist/core/makeNetworkRequest.d.mts +13 -0
  73. package/dist/core/makeNetworkRequest.d.mts.map +1 -0
  74. package/dist/core/makeNetworkRequest.d.ts +12 -8
  75. package/dist/core/makeNetworkRequest.d.ts.map +1 -1
  76. package/dist/core/makeNetworkRequest.js +188 -195
  77. package/dist/core/makeNetworkRequest.mjs +195 -0
  78. package/dist/core/makeNetworkRequest.mjs.map +1 -0
  79. package/dist/core/optimisticProxy.d.mts +43 -0
  80. package/dist/core/optimisticProxy.d.mts.map +1 -0
  81. package/dist/core/optimisticProxy.d.ts +43 -0
  82. package/dist/core/optimisticProxy.d.ts.map +1 -0
  83. package/dist/core/optimisticProxy.js +273 -0
  84. package/dist/core/optimisticProxy.mjs +268 -0
  85. package/dist/core/optimisticProxy.mjs.map +1 -0
  86. package/dist/core/read.d.mts +29 -0
  87. package/dist/core/read.d.mts.map +1 -0
  88. package/dist/core/read.d.ts +23 -27
  89. package/dist/core/read.d.ts.map +1 -1
  90. package/dist/core/read.js +438 -618
  91. package/dist/core/read.mjs +456 -0
  92. package/dist/core/read.mjs.map +1 -0
  93. package/dist/core/reader.d.mts +89 -0
  94. package/dist/core/reader.d.mts.map +1 -0
  95. package/dist/core/reader.d.ts +78 -74
  96. package/dist/core/reader.d.ts.map +1 -1
  97. package/dist/core/startUpdate.js +118 -156
  98. package/dist/core/startUpdate.mjs +125 -0
  99. package/dist/core/startUpdate.mjs.map +1 -0
  100. package/dist/core/subscribe.d.mts +12 -0
  101. package/dist/core/subscribe.d.mts.map +1 -0
  102. package/dist/core/subscribe.d.ts +12 -0
  103. package/dist/core/subscribe.d.ts.map +1 -0
  104. package/dist/core/subscribe.js +79 -0
  105. package/dist/core/subscribe.mjs +79 -0
  106. package/dist/core/subscribe.mjs.map +1 -0
  107. package/dist/core/util.d.mts +27 -0
  108. package/dist/core/util.d.mts.map +1 -0
  109. package/dist/core/util.d.ts +21 -17
  110. package/dist/core/util.d.ts.map +1 -1
  111. package/dist/core/util.js +22 -2
  112. package/dist/core/util.mjs +21 -0
  113. package/dist/core/util.mjs.map +1 -0
  114. package/dist/core/writeData.d.mts +11 -0
  115. package/dist/core/writeData.d.mts.map +1 -0
  116. package/dist/core/writeData.d.ts +11 -0
  117. package/dist/core/writeData.d.ts.map +1 -0
  118. package/dist/core/writeData.js +41 -0
  119. package/dist/core/writeData.mjs +42 -0
  120. package/dist/core/writeData.mjs.map +1 -0
  121. package/dist/index.d.mts +32 -0
  122. package/dist/index.d.ts +32 -29
  123. package/dist/index.js +70 -68
  124. package/dist/index.mjs +31 -0
  125. package/dist/loadable-hooks/useClientSideDefer.d.mts +12 -0
  126. package/dist/loadable-hooks/useClientSideDefer.d.mts.map +1 -0
  127. package/dist/loadable-hooks/useClientSideDefer.d.ts +10 -8
  128. package/dist/loadable-hooks/useClientSideDefer.d.ts.map +1 -1
  129. package/dist/loadable-hooks/useClientSideDefer.js +14 -12
  130. package/dist/loadable-hooks/useClientSideDefer.mjs +14 -0
  131. package/dist/loadable-hooks/useClientSideDefer.mjs.map +1 -0
  132. package/dist/loadable-hooks/useConnectionSpecPagination.d.mts +33 -0
  133. package/dist/loadable-hooks/useConnectionSpecPagination.d.mts.map +1 -0
  134. package/dist/loadable-hooks/useConnectionSpecPagination.d.ts +27 -21
  135. package/dist/loadable-hooks/useConnectionSpecPagination.d.ts.map +1 -1
  136. package/dist/loadable-hooks/useConnectionSpecPagination.js +133 -158
  137. package/dist/loadable-hooks/useConnectionSpecPagination.mjs +134 -0
  138. package/dist/loadable-hooks/useConnectionSpecPagination.mjs.map +1 -0
  139. package/dist/loadable-hooks/useImperativeExposedMutationField.d.mts +8 -0
  140. package/dist/loadable-hooks/useImperativeExposedMutationField.d.mts.map +1 -0
  141. package/dist/loadable-hooks/useImperativeExposedMutationField.d.ts +6 -3
  142. package/dist/loadable-hooks/useImperativeExposedMutationField.d.ts.map +1 -1
  143. package/dist/loadable-hooks/useImperativeExposedMutationField.js +9 -12
  144. package/dist/loadable-hooks/useImperativeExposedMutationField.mjs +11 -0
  145. package/dist/loadable-hooks/useImperativeExposedMutationField.mjs.map +1 -0
  146. package/dist/loadable-hooks/useImperativeLoadableField.d.mts +19 -0
  147. package/dist/loadable-hooks/useImperativeLoadableField.d.mts.map +1 -0
  148. package/dist/loadable-hooks/useImperativeLoadableField.d.ts +15 -11
  149. package/dist/loadable-hooks/useImperativeLoadableField.d.ts.map +1 -1
  150. package/dist/loadable-hooks/useImperativeLoadableField.js +16 -12
  151. package/dist/loadable-hooks/useImperativeLoadableField.mjs +17 -0
  152. package/dist/loadable-hooks/useImperativeLoadableField.mjs.map +1 -0
  153. package/dist/loadable-hooks/useSkipLimitPagination.d.mts +24 -0
  154. package/dist/loadable-hooks/useSkipLimitPagination.d.mts.map +1 -0
  155. package/dist/loadable-hooks/useSkipLimitPagination.d.ts +19 -15
  156. package/dist/loadable-hooks/useSkipLimitPagination.d.ts.map +1 -1
  157. package/dist/loadable-hooks/useSkipLimitPagination.js +118 -160
  158. package/dist/loadable-hooks/useSkipLimitPagination.mjs +119 -0
  159. package/dist/loadable-hooks/useSkipLimitPagination.mjs.map +1 -0
  160. package/dist/react/FragmentReader.d.mts +18 -0
  161. package/dist/react/FragmentReader.d.mts.map +1 -0
  162. package/dist/react/FragmentReader.d.ts +16 -7
  163. package/dist/react/FragmentReader.d.ts.map +1 -1
  164. package/dist/react/FragmentReader.js +8 -7
  165. package/dist/react/FragmentReader.mjs +10 -0
  166. package/dist/react/FragmentReader.mjs.map +1 -0
  167. package/dist/react/FragmentRenderer.d.mts +20 -0
  168. package/dist/react/FragmentRenderer.d.mts.map +1 -0
  169. package/dist/react/FragmentRenderer.d.ts +18 -13
  170. package/dist/react/FragmentRenderer.d.ts.map +1 -1
  171. package/dist/react/FragmentRenderer.js +11 -33
  172. package/dist/react/FragmentRenderer.mjs +12 -0
  173. package/dist/react/FragmentRenderer.mjs.map +1 -0
  174. package/dist/react/IsographEnvironmentProvider.d.mts +17 -0
  175. package/dist/react/IsographEnvironmentProvider.d.mts.map +1 -0
  176. package/dist/react/IsographEnvironmentProvider.d.ts +15 -9
  177. package/dist/react/IsographEnvironmentProvider.d.ts.map +1 -1
  178. package/dist/react/IsographEnvironmentProvider.js +15 -39
  179. package/dist/react/IsographEnvironmentProvider.mjs +17 -0
  180. package/dist/react/IsographEnvironmentProvider.mjs.map +1 -0
  181. package/dist/react/LoadableFieldReader.d.mts +21 -0
  182. package/dist/react/LoadableFieldReader.d.mts.map +1 -0
  183. package/dist/react/LoadableFieldReader.d.ts +20 -11
  184. package/dist/react/LoadableFieldReader.d.ts.map +1 -1
  185. package/dist/react/LoadableFieldReader.js +13 -8
  186. package/dist/react/LoadableFieldReader.mjs +14 -0
  187. package/dist/react/LoadableFieldReader.mjs.map +1 -0
  188. package/dist/react/LoadableFieldRenderer.d.mts +22 -0
  189. package/dist/react/LoadableFieldRenderer.d.mts.map +1 -0
  190. package/dist/react/LoadableFieldRenderer.d.ts +21 -12
  191. package/dist/react/LoadableFieldRenderer.d.ts.map +1 -1
  192. package/dist/react/LoadableFieldRenderer.js +13 -35
  193. package/dist/react/LoadableFieldRenderer.mjs +14 -0
  194. package/dist/react/LoadableFieldRenderer.mjs.map +1 -0
  195. package/dist/react/RenderAfterCommit__DO_NOT_USE.d.mts +18 -0
  196. package/dist/react/RenderAfterCommit__DO_NOT_USE.d.mts.map +1 -0
  197. package/dist/react/RenderAfterCommit__DO_NOT_USE.d.ts +11 -3
  198. package/dist/react/RenderAfterCommit__DO_NOT_USE.d.ts.map +1 -1
  199. package/dist/react/RenderAfterCommit__DO_NOT_USE.js +17 -13
  200. package/dist/react/RenderAfterCommit__DO_NOT_USE.mjs +18 -0
  201. package/dist/react/RenderAfterCommit__DO_NOT_USE.mjs.map +1 -0
  202. package/dist/react/createIsographEnvironment.d.mts +9 -0
  203. package/dist/react/createIsographEnvironment.d.mts.map +1 -0
  204. package/dist/react/createIsographEnvironment.d.ts +8 -0
  205. package/dist/react/createIsographEnvironment.d.ts.map +1 -0
  206. package/dist/react/createIsographEnvironment.js +10 -0
  207. package/dist/react/createIsographEnvironment.mjs +11 -0
  208. package/dist/react/createIsographEnvironment.mjs.map +1 -0
  209. package/dist/react/maybeUnwrapNetworkRequest.js +11 -0
  210. package/dist/react/maybeUnwrapNetworkRequest.mjs +12 -0
  211. package/dist/react/maybeUnwrapNetworkRequest.mjs.map +1 -0
  212. package/dist/react/useImperativeReference.d.mts +15 -0
  213. package/dist/react/useImperativeReference.d.mts.map +1 -0
  214. package/dist/react/useImperativeReference.d.ts +13 -7
  215. package/dist/react/useImperativeReference.d.ts.map +1 -1
  216. package/dist/react/useImperativeReference.js +34 -32
  217. package/dist/react/useImperativeReference.mjs +35 -0
  218. package/dist/react/useImperativeReference.mjs.map +1 -0
  219. package/dist/react/useLazyReference.d.mts +13 -0
  220. package/dist/react/useLazyReference.d.mts.map +1 -0
  221. package/dist/react/useLazyReference.d.ts +11 -5
  222. package/dist/react/useLazyReference.d.ts.map +1 -1
  223. package/dist/react/useLazyReference.js +17 -40
  224. package/dist/react/useLazyReference.mjs +18 -0
  225. package/dist/react/useLazyReference.mjs.map +1 -0
  226. package/dist/react/useReadAndSubscribe.d.mts +20 -0
  227. package/dist/react/useReadAndSubscribe.d.mts.map +1 -0
  228. package/dist/react/useReadAndSubscribe.d.ts +14 -9
  229. package/dist/react/useReadAndSubscribe.d.ts.map +1 -1
  230. package/dist/react/useReadAndSubscribe.js +57 -39
  231. package/dist/react/useReadAndSubscribe.mjs +59 -0
  232. package/dist/react/useReadAndSubscribe.mjs.map +1 -0
  233. package/dist/react/useRerenderOnChange.d.mts +12 -0
  234. package/dist/react/useRerenderOnChange.d.mts.map +1 -0
  235. package/dist/react/useRerenderOnChange.d.ts +10 -6
  236. package/dist/react/useRerenderOnChange.d.ts.map +1 -1
  237. package/dist/react/useRerenderOnChange.js +16 -20
  238. package/dist/react/useRerenderOnChange.mjs +17 -0
  239. package/dist/react/useRerenderOnChange.mjs.map +1 -0
  240. package/dist/react/useResult.d.mts +8 -0
  241. package/dist/react/useResult.d.mts.map +1 -0
  242. package/dist/react/useResult.d.ts +7 -5
  243. package/dist/react/useResult.d.ts.map +1 -1
  244. package/dist/react/useResult.js +27 -39
  245. package/dist/react/useResult.mjs +30 -0
  246. package/dist/react/useResult.mjs.map +1 -0
  247. package/package.json +26 -19
  248. package/src/core/FragmentReference.ts +13 -7
  249. package/src/core/IsographEnvironment.ts +80 -21
  250. package/src/core/PromiseWrapper.ts +14 -7
  251. package/src/core/areEqualWithDeepComparison.ts +2 -18
  252. package/src/core/brand.ts +18 -0
  253. package/src/core/cache.ts +62 -332
  254. package/src/core/check.ts +30 -26
  255. package/src/core/componentCache.ts +11 -44
  256. package/src/core/entrypoint.ts +50 -9
  257. package/src/core/garbageCollection.ts +81 -28
  258. package/src/core/getOrCreateCacheForArtifact.ts +86 -0
  259. package/src/core/logging.ts +25 -13
  260. package/src/core/makeNetworkRequest.ts +320 -94
  261. package/src/core/optimisticProxy.ts +544 -0
  262. package/src/core/read.ts +251 -198
  263. package/src/core/reader.ts +18 -17
  264. package/src/core/startUpdate.ts +47 -36
  265. package/src/core/subscribe.ts +189 -0
  266. package/src/core/util.ts +26 -0
  267. package/src/core/writeData.ts +79 -0
  268. package/src/index.ts +6 -4
  269. package/src/loadable-hooks/useClientSideDefer.ts +80 -30
  270. package/src/loadable-hooks/useConnectionSpecPagination.ts +54 -35
  271. package/src/loadable-hooks/useImperativeLoadableField.ts +5 -5
  272. package/src/loadable-hooks/useSkipLimitPagination.ts +22 -21
  273. package/src/react/FragmentReader.tsx +3 -1
  274. package/src/react/FragmentRenderer.tsx +8 -1
  275. package/src/react/IsographEnvironmentProvider.tsx +2 -1
  276. package/src/react/LoadableFieldReader.tsx +125 -16
  277. package/src/react/LoadableFieldRenderer.tsx +124 -16
  278. package/src/react/createIsographEnvironment.ts +23 -0
  279. package/src/react/maybeUnwrapNetworkRequest.ts +17 -0
  280. package/src/react/useImperativeReference.ts +25 -15
  281. package/src/react/useLazyReference.ts +20 -10
  282. package/src/react/useReadAndSubscribe.ts +53 -12
  283. package/src/react/useRerenderOnChange.ts +3 -3
  284. package/src/react/useResult.ts +15 -35
  285. package/src/tests/__isograph/Node/asEconomist/resolver_reader.ts +1 -1
  286. package/src/tests/__isograph/Query/linkedUpdate/entrypoint.ts +3 -1
  287. package/src/tests/__isograph/Query/linkedUpdate/raw_response_type.ts +13 -0
  288. package/src/tests/__isograph/Query/linkedUpdate/resolver_reader.ts +1 -1
  289. package/src/tests/__isograph/Query/meName/entrypoint.ts +3 -1
  290. package/src/tests/__isograph/Query/meName/raw_response_type.ts +7 -0
  291. package/src/tests/__isograph/Query/meName/resolver_reader.ts +1 -1
  292. package/src/tests/__isograph/Query/meNameSuccessor/entrypoint.ts +3 -1
  293. package/src/tests/__isograph/Query/meNameSuccessor/raw_response_type.ts +14 -0
  294. package/src/tests/__isograph/Query/meNameSuccessor/resolver_reader.ts +1 -1
  295. package/src/tests/__isograph/Query/nodeField/entrypoint.ts +3 -1
  296. package/src/tests/__isograph/Query/nodeField/raw_response_type.ts +7 -0
  297. package/src/tests/__isograph/Query/nodeField/resolver_reader.ts +1 -1
  298. package/src/tests/__isograph/Query/normalizeUndefinedField/entrypoint.ts +33 -0
  299. package/src/tests/__isograph/Query/normalizeUndefinedField/normalization_ast.ts +25 -0
  300. package/src/tests/__isograph/Query/normalizeUndefinedField/output_type.ts +3 -0
  301. package/src/tests/__isograph/Query/normalizeUndefinedField/param_type.ts +9 -0
  302. package/src/tests/__isograph/Query/normalizeUndefinedField/query_text.ts +6 -0
  303. package/src/tests/__isograph/Query/normalizeUndefinedField/raw_response_type.ts +7 -0
  304. package/src/tests/__isograph/Query/normalizeUndefinedField/resolver_reader.ts +38 -0
  305. package/src/tests/__isograph/Query/startUpdate/entrypoint.ts +3 -1
  306. package/src/tests/__isograph/Query/startUpdate/raw_response_type.ts +8 -0
  307. package/src/tests/__isograph/Query/startUpdate/resolver_reader.ts +1 -1
  308. package/src/tests/__isograph/Query/subquery/entrypoint.ts +3 -1
  309. package/src/tests/__isograph/Query/subquery/raw_response_type.ts +9 -0
  310. package/src/tests/__isograph/Query/subquery/resolver_reader.ts +1 -1
  311. package/src/tests/__isograph/iso.ts +11 -1
  312. package/src/tests/garbageCollection.test.ts +10 -10
  313. package/src/tests/meNameSuccessor.ts +7 -4
  314. package/src/tests/nodeQuery.ts +6 -4
  315. package/src/tests/normalizeData.test.ts +94 -18
  316. package/src/tests/optimisticProxy.test.ts +862 -0
  317. package/src/tests/startUpdate.test.ts +11 -11
  318. package/vitest.config.ts +5 -0
  319. package/dist/core/areEqualWithDeepComparison.d.ts +0 -3
  320. package/dist/core/areEqualWithDeepComparison.d.ts.map +0 -1
  321. package/dist/core/brand.js +0 -2
  322. package/dist/core/componentCache.d.ts +0 -5
  323. package/dist/core/componentCache.d.ts.map +0 -1
  324. package/dist/core/reader.js +0 -2
  325. package/dist/core/startUpdate.d.ts +0 -8
  326. package/dist/core/startUpdate.d.ts.map +0 -1
  327. package/dist/index.d.ts.map +0 -1
@@ -0,0 +1,84 @@
1
+ import { getLink } from "./IsographEnvironment.mjs";
2
+ import { logMessage } from "./logging.mjs";
3
+ import { getStoreRecordProxy } from "./optimisticProxy.mjs";
4
+ import { getParentRecordKey } from "./cache.mjs";
5
+
6
+ //#region src/core/check.ts
7
+ const DEFAULT_SHOULD_FETCH_VALUE = "IfNecessary";
8
+ function check(environment, normalizationAst, variables, root) {
9
+ const newStoreRecord = getStoreRecordProxy(environment.store, root);
10
+ if (newStoreRecord == null) return {
11
+ kind: "MissingData",
12
+ record: root
13
+ };
14
+ const checkResult = checkFromRecord(environment, normalizationAst, variables, newStoreRecord, root);
15
+ logMessage(environment, () => ({
16
+ kind: "EnvironmentCheck",
17
+ result: checkResult
18
+ }));
19
+ return checkResult;
20
+ }
21
+ function checkFromRecord(environment, normalizationAst, variables, record, recordLink) {
22
+ normalizationAstLoop: for (const normalizationAstNode of normalizationAst) switch (normalizationAstNode.kind) {
23
+ case "Scalar":
24
+ if (record[getParentRecordKey(normalizationAstNode, variables)] === void 0) return {
25
+ kind: "MissingData",
26
+ record: recordLink
27
+ };
28
+ continue normalizationAstLoop;
29
+ case "Linked": {
30
+ const linkedValue = record[getParentRecordKey(normalizationAstNode, variables)];
31
+ if (linkedValue === void 0) return {
32
+ kind: "MissingData",
33
+ record: recordLink
34
+ };
35
+ else if (linkedValue == null) continue;
36
+ else if (Array.isArray(linkedValue)) arrayItemsLoop: for (const item of linkedValue) {
37
+ const link = getLink(item);
38
+ if (link == null) throw new Error("Unexpected non-link in the Isograph store. This is indicative of a bug in Isograph.");
39
+ const linkedRecord = getStoreRecordProxy(environment.store, link);
40
+ if (linkedRecord === void 0) return {
41
+ kind: "MissingData",
42
+ record: link
43
+ };
44
+ else if (linkedRecord == null) continue arrayItemsLoop;
45
+ else {
46
+ const result = checkFromRecord(environment, normalizationAstNode.selections, variables, linkedRecord, link);
47
+ if (result.kind === "MissingData") return result;
48
+ }
49
+ }
50
+ else {
51
+ const link = getLink(linkedValue);
52
+ if (link == null) throw new Error("Unexpected non-link in the Isograph store. This is indicative of a bug in Isograph.");
53
+ const linkedRecord = getStoreRecordProxy(environment.store, link);
54
+ if (linkedRecord === void 0) return {
55
+ kind: "MissingData",
56
+ record: link
57
+ };
58
+ else if (linkedRecord == null) continue normalizationAstLoop;
59
+ else {
60
+ const result = checkFromRecord(environment, normalizationAstNode.selections, variables, linkedRecord, link);
61
+ if (result.kind === "MissingData") return result;
62
+ }
63
+ }
64
+ continue normalizationAstLoop;
65
+ }
66
+ case "InlineFragment": {
67
+ const existingRecordTypename = record["__typename"];
68
+ if (existingRecordTypename == null) return {
69
+ kind: "MissingData",
70
+ record: recordLink
71
+ };
72
+ if (existingRecordTypename === normalizationAstNode.type) {
73
+ const result = checkFromRecord(environment, normalizationAstNode.selections, variables, record, recordLink);
74
+ if (result.kind === "MissingData") return result;
75
+ }
76
+ continue normalizationAstLoop;
77
+ }
78
+ }
79
+ return { kind: "EnoughData" };
80
+ }
81
+
82
+ //#endregion
83
+ export { DEFAULT_SHOULD_FETCH_VALUE, check };
84
+ //# sourceMappingURL=check.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.mjs","names":["DEFAULT_SHOULD_FETCH_VALUE: ShouldFetch"],"sources":["../../src/core/check.ts"],"sourcesContent":["import { getParentRecordKey } from './cache';\nimport type { NormalizationAstNodes } from './entrypoint';\nimport type { Variables } from './FragmentReference';\nimport type {\n IsographEnvironment,\n StoreLink,\n StoreRecord,\n} from './IsographEnvironment';\nimport { getLink } from './IsographEnvironment';\nimport { logMessage } from './logging';\nimport { getStoreRecordProxy } from './optimisticProxy';\n\nexport type ShouldFetch = RequiredShouldFetch | 'IfNecessary';\nexport type RequiredShouldFetch = 'Yes' | 'No';\n\nexport const DEFAULT_SHOULD_FETCH_VALUE: ShouldFetch = 'IfNecessary';\n\ntype FetchOptionsShared<TReadOutData> = {\n onComplete?: (data: TReadOutData) => void;\n onError?: () => void;\n};\n\nexport interface FetchOptions<TReadOutData, TRawResponseType>\n extends FetchOptionsShared<TReadOutData> {\n shouldFetch?: ShouldFetch;\n optimisticNetworkResponse?: TRawResponseType;\n}\n\nexport interface RequiredFetchOptions<TReadOutData>\n extends FetchOptionsShared<TReadOutData> {\n shouldFetch: RequiredShouldFetch;\n}\n\nexport type CheckResult =\n | {\n kind: 'EnoughData';\n }\n | {\n kind: 'MissingData';\n record: StoreLink;\n };\n\nexport function check(\n environment: IsographEnvironment,\n normalizationAst: NormalizationAstNodes,\n variables: Variables,\n root: StoreLink,\n): CheckResult {\n const newStoreRecord = getStoreRecordProxy(environment.store, root);\n\n if (newStoreRecord == null) {\n return {\n kind: 'MissingData',\n record: root,\n };\n }\n\n const checkResult = checkFromRecord(\n environment,\n normalizationAst,\n variables,\n newStoreRecord,\n root,\n );\n logMessage(environment, () => ({\n kind: 'EnvironmentCheck',\n result: checkResult,\n }));\n return checkResult;\n}\n\nfunction checkFromRecord(\n environment: IsographEnvironment,\n normalizationAst: NormalizationAstNodes,\n variables: Variables,\n record: StoreRecord,\n recordLink: StoreLink,\n): CheckResult {\n normalizationAstLoop: for (const normalizationAstNode of normalizationAst) {\n switch (normalizationAstNode.kind) {\n case 'Scalar': {\n const parentRecordKey = getParentRecordKey(\n normalizationAstNode,\n variables,\n );\n const scalarValue = record[parentRecordKey];\n\n // null means the value is known to be missing, so it must\n // be exactly undefined\n if (scalarValue === undefined) {\n return {\n kind: 'MissingData',\n record: recordLink,\n };\n }\n continue normalizationAstLoop;\n }\n case 'Linked': {\n const parentRecordKey = getParentRecordKey(\n normalizationAstNode,\n variables,\n );\n\n const linkedValue = record[parentRecordKey];\n\n if (linkedValue === undefined) {\n return {\n kind: 'MissingData',\n record: recordLink,\n };\n } else if (linkedValue == null) {\n continue;\n } else if (Array.isArray(linkedValue)) {\n arrayItemsLoop: for (const item of linkedValue) {\n const link = getLink(item);\n if (link == null) {\n throw new Error(\n 'Unexpected non-link in the Isograph store. ' +\n 'This is indicative of a bug in Isograph.',\n );\n }\n\n const linkedRecord = getStoreRecordProxy(environment.store, link);\n\n if (linkedRecord === undefined) {\n return {\n kind: 'MissingData',\n record: link,\n };\n } else if (linkedRecord == null) {\n continue arrayItemsLoop;\n } else {\n // TODO in __DEV__ assert linkedRecord is an object\n const result = checkFromRecord(\n environment,\n normalizationAstNode.selections,\n variables,\n linkedRecord,\n link,\n );\n\n if (result.kind === 'MissingData') {\n return result;\n }\n }\n }\n } else {\n const link = getLink(linkedValue);\n if (link == null) {\n throw new Error(\n 'Unexpected non-link in the Isograph store. ' +\n 'This is indicative of a bug in Isograph.',\n );\n }\n\n const linkedRecord = getStoreRecordProxy(environment.store, link);\n\n if (linkedRecord === undefined) {\n return {\n kind: 'MissingData',\n record: link,\n };\n } else if (linkedRecord == null) {\n continue normalizationAstLoop;\n } else {\n // TODO in __DEV__ assert linkedRecord is an object\n const result = checkFromRecord(\n environment,\n normalizationAstNode.selections,\n variables,\n linkedRecord,\n link,\n );\n\n if (result.kind === 'MissingData') {\n return result;\n }\n }\n }\n\n continue normalizationAstLoop;\n }\n case 'InlineFragment': {\n const existingRecordTypename = record['__typename'];\n\n if (existingRecordTypename == null) {\n return {\n kind: 'MissingData',\n record: recordLink,\n };\n }\n\n if (existingRecordTypename === normalizationAstNode.type) {\n const result = checkFromRecord(\n environment,\n normalizationAstNode.selections,\n variables,\n record,\n recordLink,\n );\n\n if (result.kind === 'MissingData') {\n return result;\n }\n }\n\n continue normalizationAstLoop;\n }\n }\n }\n\n return {\n kind: 'EnoughData',\n };\n}\n"],"mappings":";;;;;;AAeA,MAAaA,6BAA0C;AA2BvD,SAAgB,MACd,aACA,kBACA,WACA,MACa;CACb,MAAM,iBAAiB,oBAAoB,YAAY,OAAO,KAAK;AAEnE,KAAI,kBAAkB,KACpB,QAAO;EACL,MAAM;EACN,QAAQ;EACT;CAGH,MAAM,cAAc,gBAClB,aACA,kBACA,WACA,gBACA,KACD;AACD,YAAW,oBAAoB;EAC7B,MAAM;EACN,QAAQ;EACT,EAAE;AACH,QAAO;;AAGT,SAAS,gBACP,aACA,kBACA,WACA,QACA,YACa;AACb,sBAAsB,MAAK,MAAM,wBAAwB,iBACvD,SAAQ,qBAAqB,MAA7B;EACE,KAAK;AASH,OAJoB,OAJI,mBACtB,sBACA,UACD,MAKmB,OAClB,QAAO;IACL,MAAM;IACN,QAAQ;IACT;AAEH,YAAS;EAEX,KAAK,UAAU;GAMb,MAAM,cAAc,OALI,mBACtB,sBACA,UACD;AAID,OAAI,gBAAgB,OAClB,QAAO;IACL,MAAM;IACN,QAAQ;IACT;YACQ,eAAe,KACxB;YACS,MAAM,QAAQ,YAAY,CACnC,gBAAgB,MAAK,MAAM,QAAQ,aAAa;IAC9C,MAAM,OAAO,QAAQ,KAAK;AAC1B,QAAI,QAAQ,KACV,OAAM,IAAI,MACR,sFAED;IAGH,MAAM,eAAe,oBAAoB,YAAY,OAAO,KAAK;AAEjE,QAAI,iBAAiB,OACnB,QAAO;KACL,MAAM;KACN,QAAQ;KACT;aACQ,gBAAgB,KACzB,UAAS;SACJ;KAEL,MAAM,SAAS,gBACb,aACA,qBAAqB,YACrB,WACA,cACA,KACD;AAED,SAAI,OAAO,SAAS,cAClB,QAAO;;;QAIR;IACL,MAAM,OAAO,QAAQ,YAAY;AACjC,QAAI,QAAQ,KACV,OAAM,IAAI,MACR,sFAED;IAGH,MAAM,eAAe,oBAAoB,YAAY,OAAO,KAAK;AAEjE,QAAI,iBAAiB,OACnB,QAAO;KACL,MAAM;KACN,QAAQ;KACT;aACQ,gBAAgB,KACzB,UAAS;SACJ;KAEL,MAAM,SAAS,gBACb,aACA,qBAAqB,YACrB,WACA,cACA,KACD;AAED,SAAI,OAAO,SAAS,cAClB,QAAO;;;AAKb,YAAS;;EAEX,KAAK,kBAAkB;GACrB,MAAM,yBAAyB,OAAO;AAEtC,OAAI,0BAA0B,KAC5B,QAAO;IACL,MAAM;IACN,QAAQ;IACT;AAGH,OAAI,2BAA2B,qBAAqB,MAAM;IACxD,MAAM,SAAS,gBACb,aACA,qBAAqB,YACrB,WACA,QACA,WACD;AAED,QAAI,OAAO,SAAS,cAClB,QAAO;;AAIX,YAAS;;;AAKf,QAAO,EACL,MAAM,cACP"}
@@ -1,35 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getOrCreateCachedComponent = getOrCreateCachedComponent;
4
- const useReadAndSubscribe_1 = require("../react/useReadAndSubscribe");
5
- const FragmentReference_1 = require("./FragmentReference");
6
- const logging_1 = require("./logging");
7
- const PromiseWrapper_1 = require("./PromiseWrapper");
8
- const startUpdate_1 = require("./startUpdate");
9
- function getOrCreateCachedComponent(environment, componentName, fragmentReference, networkRequestOptions) {
10
- var _a;
11
- var _b, _c;
12
- // We create startUpdate outside of component to make it stable
13
- const startUpdate = (0, startUpdate_1.createStartUpdate)(environment, fragmentReference, networkRequestOptions);
14
- return ((_a = (_b = environment.componentCache)[_c = (0, FragmentReference_1.stableIdForFragmentReference)(fragmentReference, componentName)]) !== null && _a !== void 0 ? _a : (_b[_c] = (() => {
15
- function Component(additionalRuntimeProps) {
16
- const readerWithRefetchQueries = (0, PromiseWrapper_1.readPromise)(fragmentReference.readerWithRefetchQueries);
17
- const data = (0, useReadAndSubscribe_1.useReadAndSubscribe)(fragmentReference, networkRequestOptions, readerWithRefetchQueries.readerArtifact.readerAst);
18
- (0, logging_1.logMessage)(environment, () => ({
19
- kind: 'ComponentRerendered',
20
- componentName,
21
- rootLink: fragmentReference.root,
22
- }));
23
- return readerWithRefetchQueries.readerArtifact.resolver({
24
- data,
25
- parameters: fragmentReference.variables,
26
- startUpdate: readerWithRefetchQueries.readerArtifact.hasUpdatable
27
- ? startUpdate
28
- : undefined,
29
- }, additionalRuntimeProps);
30
- }
31
- const idString = `(type: ${fragmentReference.root.__typename}, id: ${fragmentReference.root.__link})`;
32
- Component.displayName = `${componentName} ${idString} @component`;
33
- return Component;
34
- })()));
1
+ const require_FragmentReference = require('./FragmentReference.js');
2
+ const require_startUpdate = require('./startUpdate.js');
3
+
4
+ //#region src/core/componentCache.ts
5
+ function getOrCreateCachedComponent(environment, fragmentReference, networkRequestOptions) {
6
+ const startUpdate = require_startUpdate.createStartUpdate(environment, fragmentReference, networkRequestOptions);
7
+ return environment.componentCache[require_FragmentReference.stableIdForFragmentReference(fragmentReference)] ??= environment.componentFunction(environment, fragmentReference, networkRequestOptions, startUpdate);
35
8
  }
9
+
10
+ //#endregion
11
+ exports.getOrCreateCachedComponent = getOrCreateCachedComponent;
@@ -0,0 +1,12 @@
1
+ import { stableIdForFragmentReference } from "./FragmentReference.mjs";
2
+ import { createStartUpdate } from "./startUpdate.mjs";
3
+
4
+ //#region src/core/componentCache.ts
5
+ function getOrCreateCachedComponent(environment, fragmentReference, networkRequestOptions) {
6
+ const startUpdate = createStartUpdate(environment, fragmentReference, networkRequestOptions);
7
+ return environment.componentCache[stableIdForFragmentReference(fragmentReference)] ??= environment.componentFunction(environment, fragmentReference, networkRequestOptions, startUpdate);
8
+ }
9
+
10
+ //#endregion
11
+ export { getOrCreateCachedComponent };
12
+ //# sourceMappingURL=componentCache.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"componentCache.mjs","names":[],"sources":["../../src/core/componentCache.ts"],"sourcesContent":["import type { FragmentReference } from './FragmentReference';\nimport { stableIdForFragmentReference } from './FragmentReference';\nimport type { IsographEnvironment } from './IsographEnvironment';\nimport type { NetworkRequestReaderOptions } from './read';\nimport { createStartUpdate } from './startUpdate';\n\nexport function getOrCreateCachedComponent(\n environment: IsographEnvironment,\n fragmentReference: FragmentReference<any, any>,\n networkRequestOptions: NetworkRequestReaderOptions,\n): React.FC<any> {\n // We create startUpdate outside of component to make it stable\n const startUpdate = createStartUpdate(\n environment,\n fragmentReference,\n networkRequestOptions,\n );\n\n return (environment.componentCache[\n stableIdForFragmentReference(fragmentReference)\n ] ??= environment.componentFunction(\n environment,\n fragmentReference,\n networkRequestOptions,\n startUpdate,\n ));\n}\n"],"mappings":";;;;AAMA,SAAgB,2BACd,aACA,mBACA,uBACe;CAEf,MAAM,cAAc,kBAClB,aACA,mBACA,sBACD;AAED,QAAQ,YAAY,eAClB,6BAA6B,kBAAkB,MAC3C,YAAY,kBAChB,aACA,mBACA,uBACA,YACD"}
@@ -0,0 +1,99 @@
1
+ import { Contravariant, PhantomData } from "./brand.mjs";
2
+ import { Arguments } from "./util.mjs";
3
+ import { TopLevelReaderArtifact } from "./reader.mjs";
4
+ import { ComponentOrFieldName, TypeName } from "./IsographEnvironment.mjs";
5
+ import { FragmentReference, UnknownTReadFromStore } from "./FragmentReference.mjs";
6
+ import { NetworkResponseObject } from "./cache.mjs";
7
+
8
+ //#region src/core/entrypoint.d.ts
9
+ type ReaderWithRefetchQueries<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue> = {
10
+ readonly kind: 'ReaderWithRefetchQueries';
11
+ readonly readerArtifact: TopLevelReaderArtifact<TReadFromStore, TClientFieldValue, any>;
12
+ readonly nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[];
13
+ };
14
+ type ReaderWithRefetchQueriesLoader<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue> = {
15
+ readonly kind: 'ReaderWithRefetchQueriesLoader';
16
+ readonly fieldName: ComponentOrFieldName;
17
+ readonly readerArtifactKind: 'EagerReaderArtifact' | 'ComponentReaderArtifact';
18
+ readonly loader: () => Promise<ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>>;
19
+ };
20
+ type NetworkRequestInfo<TNormalizationAst> = {
21
+ readonly kind: 'NetworkRequestInfo';
22
+ readonly operation: IsographOperation | IsographPersistedOperation;
23
+ readonly normalizationAst: TNormalizationAst;
24
+ };
25
+ type IsographOperation = {
26
+ readonly kind: 'Operation';
27
+ readonly text: string;
28
+ };
29
+ type IsographPersistedOperation = {
30
+ readonly kind: 'PersistedOperation';
31
+ readonly operationId: string;
32
+ readonly extraInfo: IsographPersistedOperationExtraInfo | null;
33
+ };
34
+ type IsographPersistedOperationExtraInfo = {
35
+ readonly kind: 'PersistedOperationExtraInfo';
36
+ readonly operationName: string | null;
37
+ readonly operationKind: 'Query' | 'Mutation' | 'Subscription';
38
+ };
39
+ type IsographEntrypoint<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader, TRawResponseType extends NetworkResponseObject> = {
40
+ readonly kind: 'Entrypoint';
41
+ readonly networkRequestInfo: NetworkRequestInfo<TNormalizationAst>;
42
+ readonly readerWithRefetchQueries: ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue> | ReaderWithRefetchQueriesLoader<TReadFromStore, TClientFieldValue>;
43
+ readonly concreteType: TypeName;
44
+ /**
45
+ * This field exists solely for typechecking, and will not exist at runtime.
46
+ */
47
+ readonly '~TRawResponseType'?: PhantomData<Contravariant<TRawResponseType>>;
48
+ };
49
+ type FragmentReferenceOfEntrypoint<TEntrypoint extends IsographEntrypoint<any, any, any, any>> = FragmentReference<ExtractReadFromStore<TEntrypoint>, ExtractClientFieldValue<TEntrypoint>>;
50
+ type IsographEntrypointLoader<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TRawResponseType extends NetworkResponseObject> = {
51
+ readonly kind: 'EntrypointLoader';
52
+ readonly typeAndField: string;
53
+ readonly readerArtifactKind: 'EagerReaderArtifact' | 'ComponentReaderArtifact';
54
+ readonly loader: () => Promise<IsographEntrypoint<TReadFromStore, TClientFieldValue, NormalizationAst, TRawResponseType>>;
55
+ };
56
+ type NormalizationAstNode = NormalizationScalarField | NormalizationLinkedField | NormalizationInlineFragment;
57
+ type NormalizationAstNodes = ReadonlyArray<NormalizationAstNode>;
58
+ type NormalizationAst = {
59
+ readonly kind: 'NormalizationAst';
60
+ readonly selections: NormalizationAstNodes;
61
+ };
62
+ type NormalizationAstLoader = {
63
+ readonly kind: 'NormalizationAstLoader';
64
+ readonly loader: () => Promise<NormalizationAst>;
65
+ };
66
+ type NormalizationScalarField = {
67
+ readonly kind: 'Scalar';
68
+ readonly fieldName: string;
69
+ readonly arguments: Arguments | null;
70
+ };
71
+ type NormalizationLinkedField = {
72
+ readonly kind: 'Linked';
73
+ readonly fieldName: string;
74
+ readonly arguments: Arguments | null;
75
+ readonly selections: NormalizationAstNodes;
76
+ readonly concreteType: TypeName | null;
77
+ };
78
+ type NormalizationInlineFragment = {
79
+ readonly kind: 'InlineFragment';
80
+ readonly type: string;
81
+ readonly selections: NormalizationAstNodes;
82
+ };
83
+ type RefetchQueryNormalizationArtifact = {
84
+ readonly kind: 'RefetchQuery';
85
+ readonly networkRequestInfo: NetworkRequestInfo<NormalizationAst>;
86
+ readonly concreteType: TypeName;
87
+ };
88
+ type RefetchQueryNormalizationArtifactWrapper = {
89
+ readonly artifact: RefetchQueryNormalizationArtifact;
90
+ readonly allowedVariables: string[];
91
+ };
92
+ declare function assertIsEntrypoint<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader, TRawResponseType extends NetworkResponseObject>(value: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst, TRawResponseType> | ((_: any) => any) | any): asserts value is IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst, TRawResponseType>;
93
+ type ExtractReadFromStore<Type> = Type extends IsographEntrypoint<infer X, any, any, any> ? X : never;
94
+ type ExtractClientFieldValue<Type> = Type extends IsographEntrypoint<any, infer X, any, any> ? X : never;
95
+ type ExtractResolverResult<Type> = Type extends IsographEntrypoint<any, infer X, any, any> ? X : never;
96
+ type ExtractProps<Type> = Type extends React.FC<infer X> ? X : never;
97
+ //#endregion
98
+ export { ExtractClientFieldValue, ExtractProps, ExtractReadFromStore, ExtractResolverResult, FragmentReferenceOfEntrypoint, IsographEntrypoint, IsographEntrypointLoader, IsographOperation, IsographPersistedOperation, IsographPersistedOperationExtraInfo, NetworkRequestInfo, NormalizationAst, NormalizationAstLoader, NormalizationAstNode, NormalizationAstNodes, NormalizationInlineFragment, NormalizationLinkedField, NormalizationScalarField, ReaderWithRefetchQueries, RefetchQueryNormalizationArtifact, RefetchQueryNormalizationArtifactWrapper, assertIsEntrypoint };
99
+ //# sourceMappingURL=entrypoint.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entrypoint.d.mts","names":[],"sources":["../../src/core/entrypoint.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,84 +1,99 @@
1
- import type { UnknownTReadFromStore } from './FragmentReference';
2
- import type { TypeName } from './IsographEnvironment';
3
- import { TopLevelReaderArtifact } from './reader';
4
- import { Arguments } from './util';
5
- export type ReaderWithRefetchQueries<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue> = {
6
- readonly kind: 'ReaderWithRefetchQueries';
7
- readonly readerArtifact: TopLevelReaderArtifact<TReadFromStore, TClientFieldValue, any>;
8
- readonly nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[];
1
+ import { Contravariant, PhantomData } from "./brand.js";
2
+ import { Arguments } from "./util.js";
3
+ import { TopLevelReaderArtifact } from "./reader.js";
4
+ import { ComponentOrFieldName, TypeName } from "./IsographEnvironment.js";
5
+ import { FragmentReference, UnknownTReadFromStore } from "./FragmentReference.js";
6
+ import { NetworkResponseObject } from "./cache.js";
7
+
8
+ //#region src/core/entrypoint.d.ts
9
+ type ReaderWithRefetchQueries<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue> = {
10
+ readonly kind: 'ReaderWithRefetchQueries';
11
+ readonly readerArtifact: TopLevelReaderArtifact<TReadFromStore, TClientFieldValue, any>;
12
+ readonly nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[];
9
13
  };
10
- export type ReaderWithRefetchQueriesLoader<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue> = {
11
- readonly kind: 'ReaderWithRefetchQueriesLoader';
12
- readonly loader: () => Promise<ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>>;
14
+ type ReaderWithRefetchQueriesLoader<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue> = {
15
+ readonly kind: 'ReaderWithRefetchQueriesLoader';
16
+ readonly fieldName: ComponentOrFieldName;
17
+ readonly readerArtifactKind: 'EagerReaderArtifact' | 'ComponentReaderArtifact';
18
+ readonly loader: () => Promise<ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>>;
13
19
  };
14
- export type NetworkRequestInfo<TNormalizationAst> = {
15
- readonly kind: 'NetworkRequestInfo';
16
- readonly operation: IsographOperation | IsographPersistedOperation;
17
- readonly normalizationAst: TNormalizationAst;
20
+ type NetworkRequestInfo<TNormalizationAst> = {
21
+ readonly kind: 'NetworkRequestInfo';
22
+ readonly operation: IsographOperation | IsographPersistedOperation;
23
+ readonly normalizationAst: TNormalizationAst;
18
24
  };
19
- export type IsographOperation = {
20
- readonly kind: 'Operation';
21
- readonly text: string;
25
+ type IsographOperation = {
26
+ readonly kind: 'Operation';
27
+ readonly text: string;
22
28
  };
23
- export type IsographPersistedOperation = {
24
- readonly kind: 'PersistedOperation';
25
- readonly operationId: string;
26
- readonly extraInfo: IsographPersistedOperationExtraInfo | null;
29
+ type IsographPersistedOperation = {
30
+ readonly kind: 'PersistedOperation';
31
+ readonly operationId: string;
32
+ readonly extraInfo: IsographPersistedOperationExtraInfo | null;
27
33
  };
28
- export type IsographPersistedOperationExtraInfo = {
29
- readonly kind: 'PersistedOperationExtraInfo';
30
- readonly operationName: string | null;
31
- readonly operationKind: 'Query' | 'Mutation' | 'Subscription';
34
+ type IsographPersistedOperationExtraInfo = {
35
+ readonly kind: 'PersistedOperationExtraInfo';
36
+ readonly operationName: string | null;
37
+ readonly operationKind: 'Query' | 'Mutation' | 'Subscription';
32
38
  };
33
- export type IsographEntrypoint<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader> = {
34
- readonly kind: 'Entrypoint';
35
- readonly networkRequestInfo: NetworkRequestInfo<TNormalizationAst>;
36
- readonly readerWithRefetchQueries: ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue> | ReaderWithRefetchQueriesLoader<TReadFromStore, TClientFieldValue>;
37
- readonly concreteType: TypeName;
39
+ type IsographEntrypoint<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader, TRawResponseType extends NetworkResponseObject> = {
40
+ readonly kind: 'Entrypoint';
41
+ readonly networkRequestInfo: NetworkRequestInfo<TNormalizationAst>;
42
+ readonly readerWithRefetchQueries: ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue> | ReaderWithRefetchQueriesLoader<TReadFromStore, TClientFieldValue>;
43
+ readonly concreteType: TypeName;
44
+ /**
45
+ * This field exists solely for typechecking, and will not exist at runtime.
46
+ */
47
+ readonly '~TRawResponseType'?: PhantomData<Contravariant<TRawResponseType>>;
38
48
  };
39
- export type IsographEntrypointLoader<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue> = {
40
- readonly kind: 'EntrypointLoader';
41
- readonly typeAndField: string;
42
- readonly loader: () => Promise<IsographEntrypoint<TReadFromStore, TClientFieldValue, NormalizationAst>>;
49
+ type FragmentReferenceOfEntrypoint<TEntrypoint extends IsographEntrypoint<any, any, any, any>> = FragmentReference<ExtractReadFromStore<TEntrypoint>, ExtractClientFieldValue<TEntrypoint>>;
50
+ type IsographEntrypointLoader<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TRawResponseType extends NetworkResponseObject> = {
51
+ readonly kind: 'EntrypointLoader';
52
+ readonly typeAndField: string;
53
+ readonly readerArtifactKind: 'EagerReaderArtifact' | 'ComponentReaderArtifact';
54
+ readonly loader: () => Promise<IsographEntrypoint<TReadFromStore, TClientFieldValue, NormalizationAst, TRawResponseType>>;
43
55
  };
44
- export type NormalizationAstNode = NormalizationScalarField | NormalizationLinkedField | NormalizationInlineFragment;
45
- export type NormalizationAstNodes = ReadonlyArray<NormalizationAstNode>;
46
- export type NormalizationAst = {
47
- readonly kind: 'NormalizationAst';
48
- readonly selections: NormalizationAstNodes;
56
+ type NormalizationAstNode = NormalizationScalarField | NormalizationLinkedField | NormalizationInlineFragment;
57
+ type NormalizationAstNodes = ReadonlyArray<NormalizationAstNode>;
58
+ type NormalizationAst = {
59
+ readonly kind: 'NormalizationAst';
60
+ readonly selections: NormalizationAstNodes;
49
61
  };
50
- export type NormalizationAstLoader = {
51
- readonly kind: 'NormalizationAstLoader';
52
- readonly loader: () => Promise<NormalizationAst>;
62
+ type NormalizationAstLoader = {
63
+ readonly kind: 'NormalizationAstLoader';
64
+ readonly loader: () => Promise<NormalizationAst>;
53
65
  };
54
- export type NormalizationScalarField = {
55
- readonly kind: 'Scalar';
56
- readonly fieldName: string;
57
- readonly arguments: Arguments | null;
66
+ type NormalizationScalarField = {
67
+ readonly kind: 'Scalar';
68
+ readonly fieldName: string;
69
+ readonly arguments: Arguments | null;
58
70
  };
59
- export type NormalizationLinkedField = {
60
- readonly kind: 'Linked';
61
- readonly fieldName: string;
62
- readonly arguments: Arguments | null;
63
- readonly selections: NormalizationAstNodes;
64
- readonly concreteType: TypeName | null;
71
+ type NormalizationLinkedField = {
72
+ readonly kind: 'Linked';
73
+ readonly fieldName: string;
74
+ readonly arguments: Arguments | null;
75
+ readonly selections: NormalizationAstNodes;
76
+ readonly concreteType: TypeName | null;
65
77
  };
66
- export type NormalizationInlineFragment = {
67
- readonly kind: 'InlineFragment';
68
- readonly type: string;
69
- readonly selections: NormalizationAstNodes;
78
+ type NormalizationInlineFragment = {
79
+ readonly kind: 'InlineFragment';
80
+ readonly type: string;
81
+ readonly selections: NormalizationAstNodes;
70
82
  };
71
- export type RefetchQueryNormalizationArtifact = {
72
- readonly kind: 'RefetchQuery';
73
- readonly networkRequestInfo: NetworkRequestInfo<NormalizationAst>;
74
- readonly concreteType: TypeName;
83
+ type RefetchQueryNormalizationArtifact = {
84
+ readonly kind: 'RefetchQuery';
85
+ readonly networkRequestInfo: NetworkRequestInfo<NormalizationAst>;
86
+ readonly concreteType: TypeName;
75
87
  };
76
- export type RefetchQueryNormalizationArtifactWrapper = {
77
- readonly artifact: RefetchQueryNormalizationArtifact;
78
- readonly allowedVariables: string[];
88
+ type RefetchQueryNormalizationArtifactWrapper = {
89
+ readonly artifact: RefetchQueryNormalizationArtifact;
90
+ readonly allowedVariables: string[];
79
91
  };
80
- export declare function assertIsEntrypoint<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader>(value: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst> | ((_: any) => any) | any): asserts value is IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>;
81
- export type ExtractReadFromStore<Type> = Type extends IsographEntrypoint<infer X, any, any> ? X : never;
82
- export type ExtractResolverResult<Type> = Type extends IsographEntrypoint<any, infer X, any> ? X : never;
83
- export type ExtractProps<Type> = Type extends React.FC<infer X> ? X : never;
92
+ declare function assertIsEntrypoint<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader, TRawResponseType extends NetworkResponseObject>(value: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst, TRawResponseType> | ((_: any) => any) | any): asserts value is IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst, TRawResponseType>;
93
+ type ExtractReadFromStore<Type> = Type extends IsographEntrypoint<infer X, any, any, any> ? X : never;
94
+ type ExtractClientFieldValue<Type> = Type extends IsographEntrypoint<any, infer X, any, any> ? X : never;
95
+ type ExtractResolverResult<Type> = Type extends IsographEntrypoint<any, infer X, any, any> ? X : never;
96
+ type ExtractProps<Type> = Type extends React.FC<infer X> ? X : never;
97
+ //#endregion
98
+ export { ExtractClientFieldValue, ExtractProps, ExtractReadFromStore, ExtractResolverResult, FragmentReferenceOfEntrypoint, IsographEntrypoint, IsographEntrypointLoader, IsographOperation, IsographPersistedOperation, IsographPersistedOperationExtraInfo, NetworkRequestInfo, NormalizationAst, NormalizationAstLoader, NormalizationAstNode, NormalizationAstNodes, NormalizationInlineFragment, NormalizationLinkedField, NormalizationScalarField, ReaderWithRefetchQueries, RefetchQueryNormalizationArtifact, RefetchQueryNormalizationArtifactWrapper, assertIsEntrypoint };
84
99
  //# sourceMappingURL=entrypoint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entrypoint.d.ts","sourceRoot":"","sources":["../../src/core/entrypoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entrypoint.d.ts","names":[],"sources":["../../src/core/entrypoint.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assertIsEntrypoint = assertIsEntrypoint;
1
+
2
+ //#region src/core/entrypoint.ts
4
3
  function assertIsEntrypoint(value) {
5
- if (typeof value === 'function')
6
- throw new Error('Not a string');
4
+ if (typeof value === "function") throw new Error("Not a string");
7
5
  }
6
+
7
+ //#endregion
8
+ exports.assertIsEntrypoint = assertIsEntrypoint;
@@ -0,0 +1,8 @@
1
+ //#region src/core/entrypoint.ts
2
+ function assertIsEntrypoint(value) {
3
+ if (typeof value === "function") throw new Error("Not a string");
4
+ }
5
+
6
+ //#endregion
7
+ export { assertIsEntrypoint };
8
+ //# sourceMappingURL=entrypoint.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entrypoint.mjs","names":[],"sources":["../../src/core/entrypoint.ts"],"sourcesContent":["import type { Contravariant, PhantomData } from './brand';\nimport type { NetworkResponseObject } from './cache';\nimport type {\n FragmentReference,\n UnknownTReadFromStore,\n} from './FragmentReference';\nimport type { ComponentOrFieldName, TypeName } from './IsographEnvironment';\nimport type { TopLevelReaderArtifact } from './reader';\nimport type { Arguments } from './util';\n\nexport type ReaderWithRefetchQueries<\n TReadFromStore extends UnknownTReadFromStore,\n TClientFieldValue,\n> = {\n readonly kind: 'ReaderWithRefetchQueries';\n readonly readerArtifact: TopLevelReaderArtifact<\n TReadFromStore,\n TClientFieldValue,\n // TODO don't type this as any\n any\n >;\n readonly nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[];\n};\n\nexport type ReaderWithRefetchQueriesLoader<\n TReadFromStore extends UnknownTReadFromStore,\n TClientFieldValue,\n> = {\n readonly kind: 'ReaderWithRefetchQueriesLoader';\n readonly fieldName: ComponentOrFieldName;\n readonly readerArtifactKind:\n | 'EagerReaderArtifact'\n | 'ComponentReaderArtifact';\n readonly loader: () => Promise<\n ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>\n >;\n};\n\nexport type NetworkRequestInfo<TNormalizationAst> = {\n readonly kind: 'NetworkRequestInfo';\n readonly operation: IsographOperation | IsographPersistedOperation;\n readonly normalizationAst: TNormalizationAst;\n};\n\nexport type IsographOperation = {\n readonly kind: 'Operation';\n readonly text: string;\n};\n\nexport type IsographPersistedOperation = {\n readonly kind: 'PersistedOperation';\n readonly operationId: string;\n readonly extraInfo: IsographPersistedOperationExtraInfo | null;\n};\n\nexport type IsographPersistedOperationExtraInfo = {\n readonly kind: 'PersistedOperationExtraInfo';\n readonly operationName: string | null;\n readonly operationKind: 'Query' | 'Mutation' | 'Subscription';\n};\n\n// This type should be treated as an opaque type.\nexport type IsographEntrypoint<\n TReadFromStore extends UnknownTReadFromStore,\n TClientFieldValue,\n TNormalizationAst extends NormalizationAst | NormalizationAstLoader,\n TRawResponseType extends NetworkResponseObject,\n> = {\n readonly kind: 'Entrypoint';\n readonly networkRequestInfo: NetworkRequestInfo<TNormalizationAst>;\n readonly readerWithRefetchQueries:\n | ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>\n | ReaderWithRefetchQueriesLoader<TReadFromStore, TClientFieldValue>;\n readonly concreteType: TypeName;\n /**\n * This field exists solely for typechecking, and will not exist at runtime.\n */\n readonly '~TRawResponseType'?: PhantomData<Contravariant<TRawResponseType>>;\n};\n\nexport type FragmentReferenceOfEntrypoint<\n TEntrypoint extends IsographEntrypoint<any, any, any, any>,\n> = FragmentReference<\n ExtractReadFromStore<TEntrypoint>,\n ExtractClientFieldValue<TEntrypoint>\n>;\n\nexport type IsographEntrypointLoader<\n TReadFromStore extends UnknownTReadFromStore,\n TClientFieldValue,\n TRawResponseType extends NetworkResponseObject,\n> = {\n readonly kind: 'EntrypointLoader';\n readonly typeAndField: string;\n readonly readerArtifactKind:\n | 'EagerReaderArtifact'\n | 'ComponentReaderArtifact';\n readonly loader: () => Promise<\n IsographEntrypoint<\n TReadFromStore,\n TClientFieldValue,\n NormalizationAst,\n TRawResponseType\n >\n >;\n};\n\nexport type NormalizationAstNode =\n | NormalizationScalarField\n | NormalizationLinkedField\n | NormalizationInlineFragment;\n\nexport type NormalizationAstNodes = ReadonlyArray<NormalizationAstNode>;\n\nexport type NormalizationAst = {\n readonly kind: 'NormalizationAst';\n readonly selections: NormalizationAstNodes;\n};\n\nexport type NormalizationAstLoader = {\n readonly kind: 'NormalizationAstLoader';\n readonly loader: () => Promise<NormalizationAst>;\n};\n\nexport type NormalizationScalarField = {\n readonly kind: 'Scalar';\n readonly fieldName: string;\n readonly arguments: Arguments | null;\n};\n\nexport type NormalizationLinkedField = {\n readonly kind: 'Linked';\n readonly fieldName: string;\n readonly arguments: Arguments | null;\n readonly selections: NormalizationAstNodes;\n readonly concreteType: TypeName | null;\n};\n\nexport type NormalizationInlineFragment = {\n readonly kind: 'InlineFragment';\n readonly type: string;\n readonly selections: NormalizationAstNodes;\n};\n\n// This is more like an entrypoint, but one specifically for a refetch query/mutation\nexport type RefetchQueryNormalizationArtifact = {\n readonly kind: 'RefetchQuery';\n readonly networkRequestInfo: NetworkRequestInfo<NormalizationAst>;\n readonly concreteType: TypeName;\n};\n\n// TODO rename\nexport type RefetchQueryNormalizationArtifactWrapper = {\n readonly artifact: RefetchQueryNormalizationArtifact;\n readonly allowedVariables: string[];\n};\n\nexport function assertIsEntrypoint<\n TReadFromStore extends UnknownTReadFromStore,\n TClientFieldValue,\n TNormalizationAst extends NormalizationAst | NormalizationAstLoader,\n TRawResponseType extends NetworkResponseObject,\n>(\n value:\n | IsographEntrypoint<\n TReadFromStore,\n TClientFieldValue,\n TNormalizationAst,\n TRawResponseType\n >\n | ((_: any) => any)\n // Temporarily, allow any here. Once we automatically provide\n // types to entrypoints, we probably don't need this.\n | any,\n): asserts value is IsographEntrypoint<\n TReadFromStore,\n TClientFieldValue,\n TNormalizationAst,\n TRawResponseType\n> {\n if (typeof value === 'function') throw new Error('Not a string');\n}\n\nexport type ExtractReadFromStore<Type> =\n Type extends IsographEntrypoint<infer X, any, any, any> ? X : never;\nexport type ExtractClientFieldValue<Type> =\n Type extends IsographEntrypoint<any, infer X, any, any> ? X : never;\nexport type ExtractRawResponseType<Type> =\n Type extends IsographEntrypoint<any, any, any, infer X> ? X : never;\nexport type ExtractResolverResult<Type> =\n Type extends IsographEntrypoint<any, infer X, any, any> ? X : never;\nexport type ExtractProps<Type> = Type extends React.FC<infer X> ? X : never;\n"],"mappings":";AA6JA,SAAgB,mBAMd,OAgBA;AACA,KAAI,OAAO,UAAU,WAAY,OAAM,IAAI,MAAM,eAAe"}
@@ -0,0 +1,18 @@
1
+ import { PromiseWrapper } from "./PromiseWrapper.mjs";
2
+ import "./optimisticProxy.mjs";
3
+ import { IsographEnvironment, StoreLink } from "./IsographEnvironment.mjs";
4
+ import { NormalizationAst } from "./entrypoint.mjs";
5
+
6
+ //#region src/core/garbageCollection.d.ts
7
+ type RetainedQuery = {
8
+ readonly normalizationAst: PromiseWrapper<NormalizationAst>;
9
+ readonly variables: {};
10
+ readonly root: StoreLink;
11
+ };
12
+ type DidUnretainSomeQuery = boolean;
13
+ declare function unretainQuery(environment: IsographEnvironment, retainedQuery: RetainedQuery): DidUnretainSomeQuery;
14
+ declare function retainQuery(environment: IsographEnvironment, queryToRetain: RetainedQuery): void;
15
+ declare function garbageCollectEnvironment(environment: IsographEnvironment): void;
16
+ //#endregion
17
+ export { DidUnretainSomeQuery, RetainedQuery, garbageCollectEnvironment, retainQuery, unretainQuery };
18
+ //# sourceMappingURL=garbageCollection.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"garbageCollection.d.mts","names":[],"sources":["../../src/core/garbageCollection.ts"],"sourcesContent":[],"mappings":";;;;;;KAmBY,aAAA;6BACiB,eAAe;EADhC,SAAA,SAAa,EAAA,CAAA,CAAA;EACmB,SAAA,IAAA,EAE3B,SAF2B;CAAf;AAmBb,KADJ,oBAAA,GACiB,OAAA;AACd,iBADC,aAAA,CACD,WAAA,EAAA,mBAAA,EAAA,aAAA,EACE,aADF,CAAA,EAEZ,oBAFY;AACE,iBAaD,WAAA,CAbC,WAAA,EAcF,mBAdE,EAAA,aAAA,EAeA,aAfA,CAAA,EAAA,IAAA;AACd,iBAsBa,yBAAA,CAtBb,WAAA,EAsBoD,mBAtBpD,CAAA,EAAA,IAAA"}
@@ -1,12 +1,17 @@
1
- import { NormalizationAstNodes } from './entrypoint';
2
- import { IsographEnvironment, type StoreLink } from './IsographEnvironment';
3
- export type RetainedQuery = {
4
- readonly normalizationAst: NormalizationAstNodes;
5
- readonly variables: {};
6
- readonly root: StoreLink;
1
+ import { PromiseWrapper } from "./PromiseWrapper.js";
2
+ import { IsographEnvironment, StoreLink } from "./IsographEnvironment.js";
3
+ import { NormalizationAst } from "./entrypoint.js";
4
+
5
+ //#region src/core/garbageCollection.d.ts
6
+ type RetainedQuery = {
7
+ readonly normalizationAst: PromiseWrapper<NormalizationAst>;
8
+ readonly variables: {};
9
+ readonly root: StoreLink;
7
10
  };
8
- export type DidUnretainSomeQuery = boolean;
9
- export declare function unretainQuery(environment: IsographEnvironment, retainedQuery: RetainedQuery): DidUnretainSomeQuery;
10
- export declare function retainQuery(environment: IsographEnvironment, queryToRetain: RetainedQuery): void;
11
- export declare function garbageCollectEnvironment(environment: IsographEnvironment): void;
11
+ type DidUnretainSomeQuery = boolean;
12
+ declare function unretainQuery(environment: IsographEnvironment, retainedQuery: RetainedQuery): DidUnretainSomeQuery;
13
+ declare function retainQuery(environment: IsographEnvironment, queryToRetain: RetainedQuery): void;
14
+ declare function garbageCollectEnvironment(environment: IsographEnvironment): void;
15
+ //#endregion
16
+ export { DidUnretainSomeQuery, RetainedQuery, garbageCollectEnvironment, retainQuery, unretainQuery };
12
17
  //# sourceMappingURL=garbageCollection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"garbageCollection.d.ts","sourceRoot":"","sources":["../../src/core/garbageCollection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EAGL,mBAAmB,EAGnB,KAAK,SAAS,EAEf,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAC3C,wBAAgB,aAAa,CAC3B,WAAW,EAAE,mBAAmB,EAChC,aAAa,EAAE,aAAa,GAC3B,oBAAoB,CAUtB;AAED,wBAAgB,WAAW,CACzB,WAAW,EAAE,mBAAmB,EAChC,aAAa,EAAE,aAAa,QAM7B;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,mBAAmB,QA+BzE"}
1
+ {"version":3,"file":"garbageCollection.d.ts","names":[],"sources":["../../src/core/garbageCollection.ts"],"sourcesContent":[],"mappings":";;;;;KAmBY,aAAA;EAAA,SAAA,gBAAa,EACI,cADJ,CACmB,gBADnB,CAAA;EACmB,SAAA,SAAA,EAAA,CAAA,CAAA;EAAf,SAAA,IAAA,EAEZ,SAFY;CAEZ;AAkBF,KAFH,oBAAA,GAEG,OAAA;AACE,iBAFD,aAAA,CAEC,WAAA,EADF,mBACE,EAAA,aAAA,EAAA,aAAA,CAAA,EACd,oBADc;AACd,iBAYa,WAAA,CAZb,WAAA,EAaY,mBAbZ,EAAA,aAAA,EAcc,aAdd,CAAA,EAAA,IAAA;AAAoB,iBAsBP,yBAAA,CAtBO,WAAA,EAsBgC,mBAtBhC,CAAA,EAAA,IAAA"}