@isograph/react 0.5.2 → 0.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/.turbo/turbo-compile-libs.log +9 -6
  2. package/.turbo/turbo-tsc.log +5 -0
  3. package/dist/_virtual/{rolldown_runtime.js → rolldown_runtime.cjs} +10 -6
  4. package/dist/core/{FragmentReference.js → FragmentReference.cjs} +1 -1
  5. package/dist/core/{FragmentReference.d.ts → FragmentReference.d.cts} +5 -5
  6. package/dist/core/FragmentReference.d.cts.map +1 -0
  7. package/dist/core/FragmentReference.d.mts.map +1 -1
  8. package/dist/core/{IsographEnvironment.js → IsographEnvironment.cjs} +19 -9
  9. package/dist/core/{IsographEnvironment.d.ts → IsographEnvironment.d.cts} +19 -15
  10. package/dist/core/IsographEnvironment.d.cts.map +1 -0
  11. package/dist/core/IsographEnvironment.d.mts +9 -5
  12. package/dist/core/IsographEnvironment.d.mts.map +1 -1
  13. package/dist/core/IsographEnvironment.mjs +17 -7
  14. package/dist/core/IsographEnvironment.mjs.map +1 -1
  15. package/dist/core/{PromiseWrapper.d.ts → PromiseWrapper.d.cts} +1 -1
  16. package/dist/core/PromiseWrapper.d.cts.map +1 -0
  17. package/dist/core/PromiseWrapper.d.mts.map +1 -1
  18. package/dist/core/PromiseWrapper.mjs.map +1 -1
  19. package/dist/core/{areEqualWithDeepComparison.js → areEqualWithDeepComparison.cjs} +7 -7
  20. package/dist/core/areEqualWithDeepComparison.mjs +7 -7
  21. package/dist/core/areEqualWithDeepComparison.mjs.map +1 -1
  22. package/dist/core/{brand.d.ts → brand.d.cts} +2 -2
  23. package/dist/core/brand.d.cts.map +1 -0
  24. package/dist/core/brand.d.mts +1 -1
  25. package/dist/core/brand.d.mts.map +1 -1
  26. package/dist/core/{cache.js → cache.cjs} +16 -29
  27. package/dist/core/cache.d.cts +44 -0
  28. package/dist/core/cache.d.cts.map +1 -0
  29. package/dist/core/cache.d.mts +29 -4
  30. package/dist/core/cache.d.mts.map +1 -1
  31. package/dist/core/cache.mjs +9 -21
  32. package/dist/core/cache.mjs.map +1 -1
  33. package/dist/core/{check.js → check.cjs} +4 -4
  34. package/dist/core/{check.d.ts → check.d.cts} +4 -4
  35. package/dist/core/check.d.cts.map +1 -0
  36. package/dist/core/check.d.mts.map +1 -1
  37. package/dist/core/check.mjs.map +1 -1
  38. package/dist/core/{componentCache.js → componentCache.cjs} +2 -2
  39. package/dist/core/{entrypoint.d.ts → entrypoint.d.cts} +16 -9
  40. package/dist/core/entrypoint.d.cts.map +1 -0
  41. package/dist/core/entrypoint.d.mts +9 -2
  42. package/dist/core/entrypoint.d.mts.map +1 -1
  43. package/dist/core/entrypoint.mjs.map +1 -1
  44. package/dist/core/{garbageCollection.js → garbageCollection.cjs} +3 -3
  45. package/dist/core/{garbageCollection.d.ts → garbageCollection.d.cts} +4 -4
  46. package/dist/core/garbageCollection.d.cts.map +1 -0
  47. package/dist/core/garbageCollection.d.mts.map +1 -1
  48. package/dist/core/garbageCollection.mjs.map +1 -1
  49. package/dist/core/{getOrCreateCacheForArtifact.js → getOrCreateCacheForArtifact.cjs} +4 -4
  50. package/dist/core/getOrCreateCacheForArtifact.mjs.map +1 -1
  51. package/dist/core/{logging.d.ts → logging.d.cts} +9 -10
  52. package/dist/core/logging.d.cts.map +1 -0
  53. package/dist/core/logging.d.mts +0 -1
  54. package/dist/core/logging.d.mts.map +1 -1
  55. package/dist/core/{makeNetworkRequest.js → makeNetworkRequest.cjs} +21 -21
  56. package/dist/core/{makeNetworkRequest.d.ts → makeNetworkRequest.d.cts} +7 -7
  57. package/dist/core/makeNetworkRequest.d.cts.map +1 -0
  58. package/dist/core/makeNetworkRequest.d.mts.map +1 -1
  59. package/dist/core/makeNetworkRequest.mjs +10 -10
  60. package/dist/core/makeNetworkRequest.mjs.map +1 -1
  61. package/dist/core/{optimisticProxy.js → optimisticProxy.cjs} +2 -2
  62. package/dist/core/{optimisticProxy.d.ts → optimisticProxy.d.cts} +2 -3
  63. package/dist/core/optimisticProxy.d.cts.map +1 -0
  64. package/dist/core/optimisticProxy.d.mts +0 -1
  65. package/dist/core/optimisticProxy.d.mts.map +1 -1
  66. package/dist/core/optimisticProxy.mjs.map +1 -1
  67. package/dist/core/{read.js → read.cjs} +66 -63
  68. package/dist/core/{read.d.ts → read.d.cts} +4 -5
  69. package/dist/core/read.d.cts.map +1 -0
  70. package/dist/core/read.d.mts.map +1 -1
  71. package/dist/core/read.mjs +58 -55
  72. package/dist/core/read.mjs.map +1 -1
  73. package/dist/core/{reader.d.ts → reader.d.cts} +11 -9
  74. package/dist/core/reader.d.cts.map +1 -0
  75. package/dist/core/reader.d.mts +5 -3
  76. package/dist/core/reader.d.mts.map +1 -1
  77. package/dist/core/{startUpdate.js → startUpdate.cjs} +14 -14
  78. package/dist/core/startUpdate.mjs +6 -6
  79. package/dist/core/startUpdate.mjs.map +1 -1
  80. package/dist/core/{subscribe.js → subscribe.cjs} +3 -3
  81. package/dist/core/{subscribe.d.ts → subscribe.d.cts} +6 -6
  82. package/dist/core/subscribe.d.cts.map +1 -0
  83. package/dist/core/subscribe.d.mts.map +1 -1
  84. package/dist/core/subscribe.mjs.map +1 -1
  85. package/dist/core/{util.d.ts → util.d.cts} +1 -1
  86. package/dist/core/util.d.cts.map +1 -0
  87. package/dist/core/util.d.mts.map +1 -1
  88. package/dist/core/util.mjs.map +1 -1
  89. package/dist/core/{writeData.js → writeData.cjs} +6 -6
  90. package/dist/core/{writeData.d.ts → writeData.d.cts} +6 -6
  91. package/dist/core/writeData.d.cts.map +1 -0
  92. package/dist/core/writeData.d.mts +1 -1
  93. package/dist/core/writeData.d.mts.map +1 -1
  94. package/dist/core/writeData.mjs.map +1 -1
  95. package/dist/{index.js → index.cjs} +29 -29
  96. package/dist/index.d.cts +32 -0
  97. package/dist/index.d.mts +2 -2
  98. package/dist/loadable-hooks/useClientSideDefer.cjs +14 -0
  99. package/dist/loadable-hooks/{useClientSideDefer.d.ts → useClientSideDefer.d.cts} +4 -4
  100. package/dist/loadable-hooks/useClientSideDefer.d.cts.map +1 -0
  101. package/dist/loadable-hooks/useClientSideDefer.d.mts.map +1 -1
  102. package/dist/loadable-hooks/{useConnectionSpecPagination.js → useConnectionSpecPagination.cjs} +13 -16
  103. package/dist/loadable-hooks/{useConnectionSpecPagination.d.ts → useConnectionSpecPagination.d.cts} +4 -4
  104. package/dist/loadable-hooks/useConnectionSpecPagination.d.cts.map +1 -0
  105. package/dist/loadable-hooks/useConnectionSpecPagination.d.mts.map +1 -1
  106. package/dist/loadable-hooks/useConnectionSpecPagination.mjs.map +1 -1
  107. package/dist/loadable-hooks/{useImperativeExposedMutationField.d.ts → useImperativeExposedMutationField.d.cts} +1 -1
  108. package/dist/loadable-hooks/useImperativeExposedMutationField.d.cts.map +1 -0
  109. package/dist/loadable-hooks/useImperativeExposedMutationField.d.mts.map +1 -1
  110. package/dist/loadable-hooks/{useImperativeLoadableField.js → useImperativeLoadableField.cjs} +4 -5
  111. package/dist/loadable-hooks/{useImperativeLoadableField.d.ts → useImperativeLoadableField.d.cts} +4 -4
  112. package/dist/loadable-hooks/useImperativeLoadableField.d.cts.map +1 -0
  113. package/dist/loadable-hooks/useImperativeLoadableField.d.mts.map +1 -1
  114. package/dist/loadable-hooks/{useSkipLimitPagination.js → useSkipLimitPagination.cjs} +13 -16
  115. package/dist/loadable-hooks/{useSkipLimitPagination.d.ts → useSkipLimitPagination.d.cts} +4 -4
  116. package/dist/loadable-hooks/useSkipLimitPagination.d.cts.map +1 -0
  117. package/dist/loadable-hooks/useSkipLimitPagination.d.mts.map +1 -1
  118. package/dist/loadable-hooks/useSkipLimitPagination.mjs.map +1 -1
  119. package/dist/react/{FragmentReader.js → FragmentReader.cjs} +1 -1
  120. package/dist/react/{FragmentReader.d.ts → FragmentReader.d.cts} +5 -5
  121. package/dist/react/FragmentReader.d.cts.map +1 -0
  122. package/dist/react/FragmentReader.d.mts.map +1 -1
  123. package/dist/react/{FragmentRenderer.js → FragmentRenderer.cjs} +2 -2
  124. package/dist/react/{FragmentRenderer.d.ts → FragmentRenderer.d.cts} +5 -5
  125. package/dist/react/FragmentRenderer.d.cts.map +1 -0
  126. package/dist/react/FragmentRenderer.d.mts.map +1 -1
  127. package/dist/react/{IsographEnvironmentProvider.js → IsographEnvironmentProvider.cjs} +1 -1
  128. package/dist/react/{IsographEnvironmentProvider.d.ts → IsographEnvironmentProvider.d.cts} +2 -2
  129. package/dist/react/IsographEnvironmentProvider.d.cts.map +1 -0
  130. package/dist/react/IsographEnvironmentProvider.d.mts.map +1 -1
  131. package/dist/react/{LoadableFieldReader.js → LoadableFieldReader.cjs} +3 -3
  132. package/dist/react/{LoadableFieldReader.d.ts → LoadableFieldReader.d.cts} +5 -5
  133. package/dist/react/LoadableFieldReader.d.cts.map +1 -0
  134. package/dist/react/LoadableFieldReader.d.mts.map +1 -1
  135. package/dist/react/{LoadableFieldRenderer.js → LoadableFieldRenderer.cjs} +3 -3
  136. package/dist/react/{LoadableFieldRenderer.d.ts → LoadableFieldRenderer.d.cts} +5 -5
  137. package/dist/react/LoadableFieldRenderer.d.cts.map +1 -0
  138. package/dist/react/LoadableFieldRenderer.d.mts.map +1 -1
  139. package/dist/react/{RenderAfterCommit__DO_NOT_USE.js → RenderAfterCommit__DO_NOT_USE.cjs} +1 -2
  140. package/dist/react/{RenderAfterCommit__DO_NOT_USE.d.ts → RenderAfterCommit__DO_NOT_USE.d.cts} +1 -2
  141. package/dist/react/RenderAfterCommit__DO_NOT_USE.d.cts.map +1 -0
  142. package/dist/react/RenderAfterCommit__DO_NOT_USE.d.mts +0 -1
  143. package/dist/react/RenderAfterCommit__DO_NOT_USE.d.mts.map +1 -1
  144. package/dist/react/{createIsographEnvironment.js → createIsographEnvironment.cjs} +2 -2
  145. package/dist/react/{createIsographEnvironment.d.ts → createIsographEnvironment.d.cts} +3 -3
  146. package/dist/react/createIsographEnvironment.d.cts.map +1 -0
  147. package/dist/react/createIsographEnvironment.d.mts +0 -1
  148. package/dist/react/createIsographEnvironment.d.mts.map +1 -1
  149. package/dist/react/{maybeUnwrapNetworkRequest.js → maybeUnwrapNetworkRequest.cjs} +1 -1
  150. package/dist/react/{useImperativeReference.js → useImperativeReference.cjs} +7 -8
  151. package/dist/react/{useImperativeReference.d.ts → useImperativeReference.d.cts} +5 -6
  152. package/dist/react/useImperativeReference.d.cts.map +1 -0
  153. package/dist/react/useImperativeReference.d.mts +0 -1
  154. package/dist/react/useImperativeReference.d.mts.map +1 -1
  155. package/dist/react/useLazyReference.cjs +18 -0
  156. package/dist/react/{useLazyReference.d.ts → useLazyReference.d.cts} +5 -6
  157. package/dist/react/useLazyReference.d.cts.map +1 -0
  158. package/dist/react/useLazyReference.d.mts +0 -1
  159. package/dist/react/useLazyReference.d.mts.map +1 -1
  160. package/dist/react/{useReadAndSubscribe.js → useReadAndSubscribe.cjs} +9 -10
  161. package/dist/react/{useReadAndSubscribe.d.ts → useReadAndSubscribe.d.cts} +4 -5
  162. package/dist/react/useReadAndSubscribe.d.cts.map +1 -0
  163. package/dist/react/useReadAndSubscribe.d.mts +0 -1
  164. package/dist/react/useReadAndSubscribe.d.mts.map +1 -1
  165. package/dist/react/useReadAndSubscribe.mjs.map +1 -1
  166. package/dist/react/{useRerenderOnChange.js → useRerenderOnChange.cjs} +3 -4
  167. package/dist/react/{useRerenderOnChange.d.ts → useRerenderOnChange.d.cts} +4 -4
  168. package/dist/react/useRerenderOnChange.d.cts.map +1 -0
  169. package/dist/react/useRerenderOnChange.d.mts.map +1 -1
  170. package/dist/react/{useResult.js → useResult.cjs} +7 -7
  171. package/dist/react/{useResult.d.ts → useResult.d.cts} +3 -3
  172. package/dist/react/useResult.d.cts.map +1 -0
  173. package/dist/react/useResult.d.mts.map +1 -1
  174. package/package.json +9 -9
  175. package/src/core/IsographEnvironment.ts +47 -22
  176. package/src/core/cache.ts +76 -55
  177. package/src/core/entrypoint.ts +18 -2
  178. package/src/core/getOrCreateCacheForArtifact.ts +2 -2
  179. package/src/core/makeNetworkRequest.ts +10 -12
  180. package/src/core/read.ts +21 -19
  181. package/src/core/reader.ts +9 -5
  182. package/src/core/writeData.ts +4 -4
  183. package/src/index.ts +2 -1
  184. package/src/tests/__isograph/Economist/__link/output_type.ts +2 -1
  185. package/src/tests/__isograph/Node/asEconomist/resolver_reader.ts +4 -3
  186. package/src/tests/__isograph/Query/linkedUpdate/normalization_ast.ts +12 -0
  187. package/src/tests/__isograph/Query/linkedUpdate/resolver_reader.ts +9 -3
  188. package/src/tests/__isograph/Query/meName/normalization_ast.ts +3 -0
  189. package/src/tests/__isograph/Query/meName/resolver_reader.ts +5 -3
  190. package/src/tests/__isograph/Query/meNameSuccessor/normalization_ast.ts +8 -0
  191. package/src/tests/__isograph/Query/meNameSuccessor/resolver_reader.ts +8 -3
  192. package/src/tests/__isograph/Query/nodeField/normalization_ast.ts +3 -0
  193. package/src/tests/__isograph/Query/nodeField/raw_response_type.ts +1 -1
  194. package/src/tests/__isograph/Query/nodeField/resolver_reader.ts +5 -3
  195. package/src/tests/__isograph/Query/normalizeUndefinedField/normalization_ast.ts +3 -0
  196. package/src/tests/__isograph/Query/normalizeUndefinedField/resolver_reader.ts +5 -3
  197. package/src/tests/__isograph/Query/startUpdate/normalization_ast.ts +6 -0
  198. package/src/tests/__isograph/Query/startUpdate/resolver_reader.ts +6 -3
  199. package/src/tests/__isograph/Query/subquery/normalization_ast.ts +4 -0
  200. package/src/tests/__isograph/Query/subquery/raw_response_type.ts +1 -1
  201. package/src/tests/__isograph/Query/subquery/resolver_reader.ts +6 -3
  202. package/src/tests/garbageCollection.test.ts +11 -11
  203. package/src/tests/normalizeData.test.ts +11 -3
  204. package/src/tests/optimisticProxy.test.ts +23 -23
  205. package/src/tests/startUpdate.test.ts +2 -2
  206. package/tsconfig.json +5 -4
  207. package/tsconfig.package.json +8 -0
  208. package/tsconfig.test.json +12 -0
  209. package/tsdown.config.ts +8 -0
  210. package/vitest.config.ts +1 -1
  211. package/dist/core/FragmentReference.d.ts.map +0 -1
  212. package/dist/core/IsographEnvironment.d.ts.map +0 -1
  213. package/dist/core/PromiseWrapper.d.ts.map +0 -1
  214. package/dist/core/brand.d.ts.map +0 -1
  215. package/dist/core/cache.d.ts +0 -20
  216. package/dist/core/cache.d.ts.map +0 -1
  217. package/dist/core/check.d.ts.map +0 -1
  218. package/dist/core/entrypoint.d.ts.map +0 -1
  219. package/dist/core/garbageCollection.d.ts.map +0 -1
  220. package/dist/core/logging.d.ts.map +0 -1
  221. package/dist/core/makeNetworkRequest.d.ts.map +0 -1
  222. package/dist/core/optimisticProxy.d.ts.map +0 -1
  223. package/dist/core/read.d.ts.map +0 -1
  224. package/dist/core/reader.d.ts.map +0 -1
  225. package/dist/core/subscribe.d.ts.map +0 -1
  226. package/dist/core/util.d.ts.map +0 -1
  227. package/dist/core/writeData.d.ts.map +0 -1
  228. package/dist/index.d.ts +0 -32
  229. package/dist/loadable-hooks/useClientSideDefer.d.ts.map +0 -1
  230. package/dist/loadable-hooks/useClientSideDefer.js +0 -15
  231. package/dist/loadable-hooks/useConnectionSpecPagination.d.ts.map +0 -1
  232. package/dist/loadable-hooks/useImperativeExposedMutationField.d.ts.map +0 -1
  233. package/dist/loadable-hooks/useImperativeLoadableField.d.ts.map +0 -1
  234. package/dist/loadable-hooks/useSkipLimitPagination.d.ts.map +0 -1
  235. package/dist/react/FragmentReader.d.ts.map +0 -1
  236. package/dist/react/FragmentRenderer.d.ts.map +0 -1
  237. package/dist/react/IsographEnvironmentProvider.d.ts.map +0 -1
  238. package/dist/react/LoadableFieldReader.d.ts.map +0 -1
  239. package/dist/react/LoadableFieldRenderer.d.ts.map +0 -1
  240. package/dist/react/RenderAfterCommit__DO_NOT_USE.d.ts.map +0 -1
  241. package/dist/react/createIsographEnvironment.d.ts.map +0 -1
  242. package/dist/react/useImperativeReference.d.ts.map +0 -1
  243. package/dist/react/useLazyReference.d.ts.map +0 -1
  244. package/dist/react/useLazyReference.js +0 -19
  245. package/dist/react/useReadAndSubscribe.d.ts.map +0 -1
  246. package/dist/react/useRerenderOnChange.d.ts.map +0 -1
  247. package/dist/react/useResult.d.ts.map +0 -1
  248. package/src/tests/tsconfig.json +0 -21
  249. package/tsconfig.pkg.json +0 -16
  250. /package/dist/core/{PromiseWrapper.js → PromiseWrapper.cjs} +0 -0
  251. /package/dist/core/{entrypoint.js → entrypoint.cjs} +0 -0
  252. /package/dist/core/{logging.js → logging.cjs} +0 -0
  253. /package/dist/core/{util.js → util.cjs} +0 -0
  254. /package/dist/loadable-hooks/{useImperativeExposedMutationField.js → useImperativeExposedMutationField.cjs} +0 -0
@@ -1,6 +1,6 @@
1
- import { FetchOptions } from "../core/check.js";
2
- import { LoadableField } from "../core/reader.js";
3
- import { FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.js";
1
+ import { FetchOptions } from "../core/check.cjs";
2
+ import { LoadableField } from "../core/reader.cjs";
3
+ import { FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.cjs";
4
4
 
5
5
  //#region src/loadable-hooks/useConnectionSpecPagination.d.ts
6
6
  type UsePaginationReturnValue<TReadFromStore extends UnknownTReadFromStore, TItem> = {
@@ -30,4 +30,4 @@ type UseConnectionSpecPaginationArgs = {
30
30
  declare function useConnectionSpecPagination<TReadFromStore extends UnknownTReadFromStore, TItem>(loadableField: LoadableField<TReadFromStore, Connection<TItem>, UseConnectionSpecPaginationArgs>, initialState?: PageInfo): UsePaginationReturnValue<TReadFromStore, TItem>;
31
31
  //#endregion
32
32
  export { Connection, PageInfo, UseConnectionSpecPaginationArgs, UsePaginationReturnValue, useConnectionSpecPagination };
33
- //# sourceMappingURL=useConnectionSpecPagination.d.ts.map
33
+ //# sourceMappingURL=useConnectionSpecPagination.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnectionSpecPagination.d.cts","names":[],"sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"mappings":";;;;;KAyBY,wBAAA,wBACa,qBAAA;EAInB,IAAA;EACA,eAAA,EAAiB,iBAAA,CAAkB,cAAA,EAAgB,UAAA,CAAW,KAAA;EAC9D,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;EAGvB,IAAA;EACA,SAAA,GACE,KAAA,UACA,YAAA,GAAe,YAAA,CAAa,UAAA,CAAW,KAAA;EAEzC,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;EAGvB,IAAA;EACA,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;AAAA,KAyBjB,QAAA;EAAA,SACD,WAAA;EAAA,SACA,SAAA;AAAA;AAAA,KAGC,UAAA;EAAA,SACD,KAAA,EAAO,aAAA,CAAc,CAAA;EAAA,SACrB,QAAA,EAAU,QAAA;AAAA;AAAA,KAQT,+BAAA;EACV,KAAA;EACA,KAAA;AAAA;AAAA,iBAGc,2BAAA,wBACS,qBAAA,QAAA,CAGvB,aAAA,EAAe,aAAA,CACb,cAAA,EACA,UAAA,CAAW,KAAA,GACX,+BAAA,GAEF,YAAA,GAAe,QAAA,GACd,wBAAA,CAAyB,cAAA,EAAgB,KAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useConnectionSpecPagination.d.mts","names":[],"sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"sourcesContent":[],"mappings":";;;;;KAyBY,gDACa;;EADb,eAAA,EAMW,iBANa,CAMK,cANL,EAMqB,UANrB,CAMgC,KANhC,CAAA,CAAA;EACX,OAAA,EAMV,aANU,CAMI,KANJ,CAAA;CAKgB,GAAA;EAA2B,IAAA,EAAA,gBAAA;EAAX,SAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,YAAA,CAAA,EAOlC,YAPkC,CAOrB,UAPqB,CAOV,KAPU,CAAA,EAAA,KAAA,CAAA,EAAA,GAAA,IAAA;EAAlC,OAAA,EASR,aATQ,CASM,KATN,CAAA;CACM,GAAA;EAAd,IAAA,EAAA,eAAA;EAMgC,OAAA,EAMhC,aANgC,CAMlB,KANkB,CAAA;CAAX;AAAb,KA+BX,QAAA,GA/BW;EAEM,SAAA,WAAA,EAAA,OAAA;EAAd,SAAA,SAAA,EAAA,MAAA,GAAA,IAAA;CAIc;AAAd,KA8BH,UA9BG,CAAA,CAAA,CAAA,GAAA;EAAa,SAAA,KAAA,EA+BV,aA/BU,CA+BI,CA/BJ,CAAA,GAAA,IAAA;EAyBhB,SAAA,QAAQ,EAOC,QAPD;AAKpB,CAAA;AACgC,KASpB,+BAAA,GAToB;EAAd,KAAA,EAAA,MAAA;EACG,KAAA,EAAA,MAAA,GAAA,IAAA;CAAQ;AAQjB,iBAKI,2BAL2B,CAAA,uBAMlB,qBANkB,EAAA,KAAA,CAAA,CAAA,aAAA,EAS1B,aAT0B,CAUvC,cAVuC,EAWvC,UAXuC,CAW5B,KAX4B,CAAA,EAYvC,+BAZuC,CAAA,EAAA,YAAA,CAAA,EAc1B,QAd0B,CAAA,EAexC,wBAfwC,CAef,cAfe,EAeC,KAfD,CAAA"}
1
+ {"version":3,"file":"useConnectionSpecPagination.d.mts","names":[],"sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"mappings":";;;;;KAyBY,wBAAA,wBACa,qBAAA;EAInB,IAAA;EACA,eAAA,EAAiB,iBAAA,CAAkB,cAAA,EAAgB,UAAA,CAAW,KAAA;EAC9D,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;EAGvB,IAAA;EACA,SAAA,GACE,KAAA,UACA,YAAA,GAAe,YAAA,CAAa,UAAA,CAAW,KAAA;EAEzC,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;EAGvB,IAAA;EACA,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;AAAA,KAyBjB,QAAA;EAAA,SACD,WAAA;EAAA,SACA,SAAA;AAAA;AAAA,KAGC,UAAA;EAAA,SACD,KAAA,EAAO,aAAA,CAAc,CAAA;EAAA,SACrB,QAAA,EAAU,QAAA;AAAA;AAAA,KAQT,+BAAA;EACV,KAAA;EACA,KAAA;AAAA;AAAA,iBAGc,2BAAA,wBACS,qBAAA,QAAA,CAGvB,aAAA,EAAe,aAAA,CACb,cAAA,EACA,UAAA,CAAW,KAAA,GACX,+BAAA,GAEF,YAAA,GAAe,QAAA,GACd,wBAAA,CAAyB,cAAA,EAAgB,KAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useConnectionSpecPagination.mjs","names":["outArray: Array<T>","mostRecentItem:\n | LoadedFragmentReference<TReadFromStore, Connection<TItem>>\n | undefined"],"sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"sourcesContent":["import type { ItemCleanupPair } from '@isograph/disposable-types';\nimport {\n UNASSIGNED_STATE,\n useUpdatableDisposableState,\n} from '@isograph/react-disposable-state';\nimport type { ReferenceCountedPointer } from '@isograph/reference-counted-pointer';\nimport { createReferenceCountedPointer } from '@isograph/reference-counted-pointer';\nimport { useState } from 'react';\nimport { subscribeToAnyChange } from '../core/cache';\nimport type { FetchOptions } from '../core/check';\nimport type {\n FragmentReference,\n UnknownTReadFromStore,\n} from '../core/FragmentReference';\nimport { getPromiseState, readPromise } from '../core/PromiseWrapper';\nimport {\n readButDoNotEvaluate,\n type WithEncounteredRecords,\n} from '../core/read';\nimport type { LoadableField, ReaderAst } from '../core/reader';\nimport { getOrCreateCachedStartUpdate } from '../core/startUpdate';\nimport { useIsographEnvironment } from '../react/IsographEnvironmentProvider';\nimport { maybeUnwrapNetworkRequest } from '../react/maybeUnwrapNetworkRequest';\nimport { useSubscribeToMultiple } from '../react/useReadAndSubscribe';\n\nexport type UsePaginationReturnValue<\n TReadFromStore extends UnknownTReadFromStore,\n TItem,\n> =\n | {\n kind: 'Pending';\n pendingFragment: FragmentReference<TReadFromStore, Connection<TItem>>;\n results: ReadonlyArray<TItem>;\n }\n | {\n kind: 'HasMoreRecords';\n fetchMore: (\n count: number,\n fetchOptions?: FetchOptions<Connection<TItem>, never>,\n ) => void;\n results: ReadonlyArray<TItem>;\n }\n | {\n kind: 'NoMoreRecords';\n results: ReadonlyArray<TItem>;\n };\n\ntype LoadedFragmentReferences<\n TReadFromStore extends { parameters: object; data: object },\n TItem,\n> = ReadonlyArray<LoadedFragmentReference<TReadFromStore, TItem>>;\n\ntype LoadedFragmentReference<\n TReadFromStore extends { parameters: object; data: object },\n TItem,\n> = ItemCleanupPair<\n ReferenceCountedPointer<FragmentReference<TReadFromStore, TItem>>\n>;\n\nfunction flatten<T>(arr: ReadonlyArray<ReadonlyArray<T>>): ReadonlyArray<T> {\n let outArray: Array<T> = [];\n for (const subarr of arr) {\n for (const item of subarr) {\n outArray.push(item);\n }\n }\n return outArray;\n}\n\nexport type PageInfo = {\n readonly hasNextPage: boolean;\n readonly endCursor: string | null;\n};\n\nexport type Connection<T> = {\n readonly edges: ReadonlyArray<T> | null;\n readonly pageInfo: PageInfo;\n};\n\ntype NonNullConnection<T> = {\n readonly edges: ReadonlyArray<T>;\n readonly pageInfo: PageInfo;\n};\n\nexport type UseConnectionSpecPaginationArgs = {\n first: number;\n after: string | null;\n};\n\nexport function useConnectionSpecPagination<\n TReadFromStore extends UnknownTReadFromStore,\n TItem,\n>(\n loadableField: LoadableField<\n TReadFromStore,\n Connection<TItem>,\n UseConnectionSpecPaginationArgs\n >,\n initialState?: PageInfo,\n): UsePaginationReturnValue<TReadFromStore, TItem> {\n const networkRequestOptions = {\n suspendIfInFlight: true,\n throwOnNetworkError: true,\n };\n const { state, setState } =\n useUpdatableDisposableState<\n LoadedFragmentReferences<TReadFromStore, Connection<TItem>>\n >();\n\n const environment = useIsographEnvironment();\n\n // TODO move this out of useSkipLimitPagination, and pass environment and networkRequestOptions\n // as parameters (or recreate networkRequestOptions)\n function readCompletedFragmentReferences(\n completedReferences: FragmentReference<TReadFromStore, Connection<TItem>>[],\n ): NonNullConnection<TItem> {\n const results = completedReferences.map((fragmentReference, i) => {\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n // invariant: readOutDataAndRecords.length === completedReferences.length\n const data = readOutDataAndRecords[i]?.item;\n if (data == null) {\n throw new Error(\n 'Parameter data is unexpectedly null. This is indicative of a bug in Isograph.',\n );\n }\n\n const firstParameter = {\n data,\n parameters: fragmentReference.variables,\n ...(readerWithRefetchQueries.readerArtifact.hasUpdatable\n ? {\n startUpdate: getOrCreateCachedStartUpdate(\n environment,\n fragmentReference,\n networkRequestOptions,\n ),\n }\n : undefined),\n };\n\n if (\n readerWithRefetchQueries.readerArtifact.kind !== 'EagerReaderArtifact'\n ) {\n throw new Error(\n `@loadable field of kind \"${readerWithRefetchQueries.readerArtifact.kind}\" is not supported by useSkipLimitPagination`,\n );\n }\n\n return readerWithRefetchQueries.readerArtifact.resolver(firstParameter);\n });\n\n const items = flatten(results.map((result) => result.edges ?? []));\n\n return {\n edges: items,\n pageInfo: results[results.length - 1]?.pageInfo ?? {\n endCursor: null,\n hasNextPage: true,\n },\n };\n }\n\n function subscribeCompletedFragmentReferences(\n completedReferences: FragmentReference<TReadFromStore, Connection<TItem>>[],\n ) {\n return completedReferences.map(\n (\n fragmentReference,\n i,\n ): {\n records: WithEncounteredRecords<TReadFromStore>;\n callback: (\n updatedRecords: WithEncounteredRecords<TReadFromStore>,\n ) => void;\n fragmentReference: FragmentReference<TReadFromStore, Connection<TItem>>;\n readerAst: ReaderAst<Connection<TItem>>;\n } => {\n maybeUnwrapNetworkRequest(\n fragmentReference.networkRequest,\n networkRequestOptions,\n );\n\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n const records = readOutDataAndRecords[i];\n if (records == null) {\n throw new Error(\n 'subscribeCompletedFragmentReferences records is unexpectedly null',\n );\n }\n\n return {\n fragmentReference,\n readerAst: readerWithRefetchQueries.readerArtifact.readerAst,\n records,\n callback(_data) {\n rerender({});\n },\n };\n },\n );\n }\n\n const getFetchMore =\n (after: string | null) =>\n (\n count: number,\n fetchOptions?: FetchOptions<Connection<TItem>, never>,\n ): void => {\n const loadedField = loadableField(\n {\n after: after,\n first: count,\n },\n fetchOptions ?? {},\n )[1]();\n const newPointer = createReferenceCountedPointer(loadedField);\n const clonedPointers = loadedReferences.map(([refCountedPointer]) => {\n const clonedRefCountedPointer = refCountedPointer.cloneIfNotDisposed();\n if (clonedRefCountedPointer == null) {\n throw new Error(\n 'This reference counted pointer has already been disposed. \\\n This is indicative of a bug in useSkipLimitPagination.',\n );\n }\n return clonedRefCountedPointer;\n });\n clonedPointers.push(newPointer);\n\n const totalItemCleanupPair: ItemCleanupPair<\n ReadonlyArray<\n ItemCleanupPair<\n ReferenceCountedPointer<\n FragmentReference<TReadFromStore, Connection<TItem>>\n >\n >\n >\n > = [\n clonedPointers,\n () => {\n clonedPointers.forEach(([, dispose]) => {\n dispose();\n });\n },\n ];\n\n setState(totalItemCleanupPair);\n };\n\n const [, rerender] = useState({});\n\n const loadedReferences = state === UNASSIGNED_STATE ? [] : state;\n\n const mostRecentItem:\n | LoadedFragmentReference<TReadFromStore, Connection<TItem>>\n | undefined = loadedReferences[loadedReferences.length - 1];\n const mostRecentFragmentReference =\n mostRecentItem?.[0].getItemIfNotDisposed();\n\n if (mostRecentItem != null && mostRecentFragmentReference == null) {\n throw new Error(\n 'FragmentReference is unexpectedly disposed. \\\n This is indicative of a bug in Isograph.',\n );\n }\n\n const networkRequestStatus =\n mostRecentFragmentReference != null\n ? {\n mostRecentFragmentReference,\n state: getPromiseState(mostRecentFragmentReference.networkRequest),\n }\n : null;\n\n const slicedFragmentReferences =\n networkRequestStatus?.state?.kind === 'Ok'\n ? loadedReferences\n : loadedReferences.slice(0, loadedReferences.length - 1);\n\n const completedFragmentReferences = slicedFragmentReferences.map(\n ([pointer]) => {\n const fragmentReference = pointer.getItemIfNotDisposed();\n if (fragmentReference == null) {\n throw new Error(\n 'FragmentReference is unexpectedly disposed. \\\n This is indicative of a bug in Isograph.',\n );\n }\n return fragmentReference;\n },\n );\n\n const readOutDataAndRecords = completedFragmentReferences.map(\n (fragmentReference) =>\n readButDoNotEvaluate(\n environment,\n fragmentReference,\n networkRequestOptions,\n ),\n );\n\n useSubscribeToMultiple<TReadFromStore>(\n subscribeCompletedFragmentReferences(completedFragmentReferences),\n );\n\n if (networkRequestStatus == null) {\n if (initialState?.hasNextPage ?? true) {\n return {\n kind: 'HasMoreRecords',\n fetchMore: getFetchMore(initialState?.endCursor ?? null),\n results: [],\n };\n } else {\n return {\n kind: 'NoMoreRecords',\n results: [],\n };\n }\n }\n\n switch (networkRequestStatus.state.kind) {\n case 'Pending': {\n const unsubscribe = subscribeToAnyChange(environment, () => {\n unsubscribe();\n rerender({});\n });\n\n const results = readCompletedFragmentReferences(\n completedFragmentReferences,\n );\n return {\n results: results.edges,\n kind: 'Pending',\n pendingFragment: networkRequestStatus.mostRecentFragmentReference,\n };\n }\n case 'Err': {\n throw networkRequestStatus.state.error;\n }\n case 'Ok': {\n const results = readCompletedFragmentReferences(\n completedFragmentReferences,\n );\n\n if (results.pageInfo.hasNextPage) {\n return {\n kind: 'HasMoreRecords',\n fetchMore: getFetchMore(results.pageInfo.endCursor),\n results: results.edges,\n };\n } else {\n return {\n kind: 'NoMoreRecords',\n results: results.edges,\n };\n }\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useConnectionSpecPagination.mjs","names":[],"sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"sourcesContent":["import type { ItemCleanupPair } from '@isograph/disposable-types';\nimport {\n UNASSIGNED_STATE,\n useUpdatableDisposableState,\n} from '@isograph/react-disposable-state';\nimport type { ReferenceCountedPointer } from '@isograph/reference-counted-pointer';\nimport { createReferenceCountedPointer } from '@isograph/reference-counted-pointer';\nimport { useState } from 'react';\nimport { subscribeToAnyChange } from '../core/cache';\nimport type { FetchOptions } from '../core/check';\nimport type {\n FragmentReference,\n UnknownTReadFromStore,\n} from '../core/FragmentReference';\nimport { getPromiseState, readPromise } from '../core/PromiseWrapper';\nimport {\n readButDoNotEvaluate,\n type WithEncounteredRecords,\n} from '../core/read';\nimport type { LoadableField, ReaderAst } from '../core/reader';\nimport { getOrCreateCachedStartUpdate } from '../core/startUpdate';\nimport { useIsographEnvironment } from '../react/IsographEnvironmentProvider';\nimport { maybeUnwrapNetworkRequest } from '../react/maybeUnwrapNetworkRequest';\nimport { useSubscribeToMultiple } from '../react/useReadAndSubscribe';\n\nexport type UsePaginationReturnValue<\n TReadFromStore extends UnknownTReadFromStore,\n TItem,\n> =\n | {\n kind: 'Pending';\n pendingFragment: FragmentReference<TReadFromStore, Connection<TItem>>;\n results: ReadonlyArray<TItem>;\n }\n | {\n kind: 'HasMoreRecords';\n fetchMore: (\n count: number,\n fetchOptions?: FetchOptions<Connection<TItem>, never>,\n ) => void;\n results: ReadonlyArray<TItem>;\n }\n | {\n kind: 'NoMoreRecords';\n results: ReadonlyArray<TItem>;\n };\n\ntype LoadedFragmentReferences<\n TReadFromStore extends { parameters: object; data: object },\n TItem,\n> = ReadonlyArray<LoadedFragmentReference<TReadFromStore, TItem>>;\n\ntype LoadedFragmentReference<\n TReadFromStore extends { parameters: object; data: object },\n TItem,\n> = ItemCleanupPair<\n ReferenceCountedPointer<FragmentReference<TReadFromStore, TItem>>\n>;\n\nfunction flatten<T>(arr: ReadonlyArray<ReadonlyArray<T>>): ReadonlyArray<T> {\n let outArray: Array<T> = [];\n for (const subarr of arr) {\n for (const item of subarr) {\n outArray.push(item);\n }\n }\n return outArray;\n}\n\nexport type PageInfo = {\n readonly hasNextPage: boolean;\n readonly endCursor: string | null;\n};\n\nexport type Connection<T> = {\n readonly edges: ReadonlyArray<T> | null;\n readonly pageInfo: PageInfo;\n};\n\ntype NonNullConnection<T> = {\n readonly edges: ReadonlyArray<T>;\n readonly pageInfo: PageInfo;\n};\n\nexport type UseConnectionSpecPaginationArgs = {\n first: number;\n after: string | null;\n};\n\nexport function useConnectionSpecPagination<\n TReadFromStore extends UnknownTReadFromStore,\n TItem,\n>(\n loadableField: LoadableField<\n TReadFromStore,\n Connection<TItem>,\n UseConnectionSpecPaginationArgs\n >,\n initialState?: PageInfo,\n): UsePaginationReturnValue<TReadFromStore, TItem> {\n const networkRequestOptions = {\n suspendIfInFlight: true,\n throwOnNetworkError: true,\n };\n const { state, setState } =\n useUpdatableDisposableState<\n LoadedFragmentReferences<TReadFromStore, Connection<TItem>>\n >();\n\n const environment = useIsographEnvironment();\n\n // TODO move this out of useSkipLimitPagination, and pass environment and networkRequestOptions\n // as parameters (or recreate networkRequestOptions)\n function readCompletedFragmentReferences(\n completedReferences: FragmentReference<TReadFromStore, Connection<TItem>>[],\n ): NonNullConnection<TItem> {\n const results = completedReferences.map((fragmentReference, i) => {\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n // invariant: readOutDataAndRecords.length === completedReferences.length\n const data = readOutDataAndRecords[i]?.item;\n if (data == null) {\n throw new Error(\n 'Parameter data is unexpectedly null. This is indicative of a bug in Isograph.',\n );\n }\n\n const firstParameter = {\n data,\n parameters: fragmentReference.variables,\n ...(readerWithRefetchQueries.readerArtifact.hasUpdatable\n ? {\n startUpdate: getOrCreateCachedStartUpdate(\n environment,\n fragmentReference,\n networkRequestOptions,\n ),\n }\n : undefined),\n };\n\n if (\n readerWithRefetchQueries.readerArtifact.kind !== 'EagerReaderArtifact'\n ) {\n throw new Error(\n `@loadable field of kind \"${readerWithRefetchQueries.readerArtifact.kind}\" is not supported by useSkipLimitPagination`,\n );\n }\n\n return readerWithRefetchQueries.readerArtifact.resolver(firstParameter);\n });\n\n const items = flatten(results.map((result) => result.edges ?? []));\n\n return {\n edges: items,\n pageInfo: results[results.length - 1]?.pageInfo ?? {\n endCursor: null,\n hasNextPage: true,\n },\n };\n }\n\n function subscribeCompletedFragmentReferences(\n completedReferences: FragmentReference<TReadFromStore, Connection<TItem>>[],\n ) {\n return completedReferences.map(\n (\n fragmentReference,\n i,\n ): {\n records: WithEncounteredRecords<TReadFromStore>;\n callback: (\n updatedRecords: WithEncounteredRecords<TReadFromStore>,\n ) => void;\n fragmentReference: FragmentReference<TReadFromStore, Connection<TItem>>;\n readerAst: ReaderAst<Connection<TItem>>;\n } => {\n maybeUnwrapNetworkRequest(\n fragmentReference.networkRequest,\n networkRequestOptions,\n );\n\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n const records = readOutDataAndRecords[i];\n if (records == null) {\n throw new Error(\n 'subscribeCompletedFragmentReferences records is unexpectedly null',\n );\n }\n\n return {\n fragmentReference,\n readerAst: readerWithRefetchQueries.readerArtifact.readerAst,\n records,\n callback(_data) {\n rerender({});\n },\n };\n },\n );\n }\n\n const getFetchMore =\n (after: string | null) =>\n (\n count: number,\n fetchOptions?: FetchOptions<Connection<TItem>, never>,\n ): void => {\n const loadedField = loadableField(\n {\n after: after,\n first: count,\n },\n fetchOptions ?? {},\n )[1]();\n const newPointer = createReferenceCountedPointer(loadedField);\n const clonedPointers = loadedReferences.map(([refCountedPointer]) => {\n const clonedRefCountedPointer = refCountedPointer.cloneIfNotDisposed();\n if (clonedRefCountedPointer == null) {\n throw new Error(\n 'This reference counted pointer has already been disposed. \\\n This is indicative of a bug in useSkipLimitPagination.',\n );\n }\n return clonedRefCountedPointer;\n });\n clonedPointers.push(newPointer);\n\n const totalItemCleanupPair: ItemCleanupPair<\n ReadonlyArray<\n ItemCleanupPair<\n ReferenceCountedPointer<\n FragmentReference<TReadFromStore, Connection<TItem>>\n >\n >\n >\n > = [\n clonedPointers,\n () => {\n clonedPointers.forEach(([, dispose]) => {\n dispose();\n });\n },\n ];\n\n setState(totalItemCleanupPair);\n };\n\n const [, rerender] = useState({});\n\n const loadedReferences = state === UNASSIGNED_STATE ? [] : state;\n\n const mostRecentItem:\n | LoadedFragmentReference<TReadFromStore, Connection<TItem>>\n | undefined = loadedReferences[loadedReferences.length - 1];\n const mostRecentFragmentReference =\n mostRecentItem?.[0].getItemIfNotDisposed();\n\n if (mostRecentItem != null && mostRecentFragmentReference == null) {\n throw new Error(\n 'FragmentReference is unexpectedly disposed. \\\n This is indicative of a bug in Isograph.',\n );\n }\n\n const networkRequestStatus =\n mostRecentFragmentReference != null\n ? {\n mostRecentFragmentReference,\n state: getPromiseState(mostRecentFragmentReference.networkRequest),\n }\n : null;\n\n const slicedFragmentReferences =\n networkRequestStatus?.state?.kind === 'Ok'\n ? loadedReferences\n : loadedReferences.slice(0, loadedReferences.length - 1);\n\n const completedFragmentReferences = slicedFragmentReferences.map(\n ([pointer]) => {\n const fragmentReference = pointer.getItemIfNotDisposed();\n if (fragmentReference == null) {\n throw new Error(\n 'FragmentReference is unexpectedly disposed. \\\n This is indicative of a bug in Isograph.',\n );\n }\n return fragmentReference;\n },\n );\n\n const readOutDataAndRecords = completedFragmentReferences.map(\n (fragmentReference) =>\n readButDoNotEvaluate(\n environment,\n fragmentReference,\n networkRequestOptions,\n ),\n );\n\n useSubscribeToMultiple<TReadFromStore>(\n subscribeCompletedFragmentReferences(completedFragmentReferences),\n );\n\n if (networkRequestStatus == null) {\n if (initialState?.hasNextPage ?? true) {\n return {\n kind: 'HasMoreRecords',\n fetchMore: getFetchMore(initialState?.endCursor ?? null),\n results: [],\n };\n } else {\n return {\n kind: 'NoMoreRecords',\n results: [],\n };\n }\n }\n\n switch (networkRequestStatus.state.kind) {\n case 'Pending': {\n const unsubscribe = subscribeToAnyChange(environment, () => {\n unsubscribe();\n rerender({});\n });\n\n const results = readCompletedFragmentReferences(\n completedFragmentReferences,\n );\n return {\n results: results.edges,\n kind: 'Pending',\n pendingFragment: networkRequestStatus.mostRecentFragmentReference,\n };\n }\n case 'Err': {\n throw networkRequestStatus.state.error;\n }\n case 'Ok': {\n const results = readCompletedFragmentReferences(\n completedFragmentReferences,\n );\n\n if (results.pageInfo.hasNextPage) {\n return {\n kind: 'HasMoreRecords',\n fetchMore: getFetchMore(results.pageInfo.endCursor),\n results: results.edges,\n };\n } else {\n return {\n kind: 'NoMoreRecords',\n results: results.edges,\n };\n }\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;AA2DA,SAAS,QAAW,KAAwD;CAC1E,IAAI,WAAqB,EAAE;AAC3B,MAAK,MAAM,UAAU,IACnB,MAAK,MAAM,QAAQ,OACjB,UAAS,KAAK,KAAK;AAGvB,QAAO;;AAuBT,SAAgB,4BAId,eAKA,cACiD;CACjD,MAAM,wBAAwB;EAC5B,mBAAmB;EACnB,qBAAqB;EACtB;CACD,MAAM,EAAE,OAAO,aACb,6BAEG;CAEL,MAAM,cAAc,wBAAwB;CAI5C,SAAS,gCACP,qBAC0B;EAC1B,MAAM,UAAU,oBAAoB,KAAK,mBAAmB,MAAM;GAChE,MAAM,2BAA2B,YAC/B,kBAAkB,yBACnB;GAGD,MAAM,OAAO,sBAAsB,IAAI;AACvC,OAAI,QAAQ,KACV,OAAM,IAAI,MACR,gFACD;GAGH,MAAM,iBAAiB;IACrB;IACA,YAAY,kBAAkB;IAC9B,GAAI,yBAAyB,eAAe,eACxC,EACE,aAAa,6BACX,aACA,mBACA,sBACD,EACF,GACD;IACL;AAED,OACE,yBAAyB,eAAe,SAAS,sBAEjD,OAAM,IAAI,MACR,4BAA4B,yBAAyB,eAAe,KAAK,8CAC1E;AAGH,UAAO,yBAAyB,eAAe,SAAS,eAAe;IACvE;AAIF,SAAO;GACL,OAHY,QAAQ,QAAQ,KAAK,WAAW,OAAO,SAAS,EAAE,CAAC,CAAC;GAIhE,UAAU,QAAQ,QAAQ,SAAS,IAAI,YAAY;IACjD,WAAW;IACX,aAAa;IACd;GACF;;CAGH,SAAS,qCACP,qBACA;AACA,SAAO,oBAAoB,KAEvB,mBACA,MAQG;AACH,6BACE,kBAAkB,gBAClB,sBACD;GAED,MAAM,2BAA2B,YAC/B,kBAAkB,yBACnB;GAED,MAAM,UAAU,sBAAsB;AACtC,OAAI,WAAW,KACb,OAAM,IAAI,MACR,oEACD;AAGH,UAAO;IACL;IACA,WAAW,yBAAyB,eAAe;IACnD;IACA,SAAS,OAAO;AACd,cAAS,EAAE,CAAC;;IAEf;IAEJ;;CAGH,MAAM,gBACH,WAEC,OACA,iBACS;EAQT,MAAM,aAAa,8BAPC,cAClB;GACS;GACP,OAAO;GACR,EACD,gBAAgB,EAAE,CACnB,CAAC,IAAI,CACuD;EAC7D,MAAM,iBAAiB,iBAAiB,KAAK,CAAC,uBAAuB;GACnE,MAAM,0BAA0B,kBAAkB,oBAAoB;AACtE,OAAI,2BAA2B,KAC7B,OAAM,IAAI,MACR,+HAED;AAEH,UAAO;IACP;AACF,iBAAe,KAAK,WAAW;AAmB/B,WATI,CACF,sBACM;AACJ,kBAAe,SAAS,GAAG,aAAa;AACtC,aAAS;KACT;IAEL,CAE6B;;CAGlC,MAAM,GAAG,YAAY,SAAS,EAAE,CAAC;CAEjC,MAAM,mBAAmB,UAAU,mBAAmB,EAAE,GAAG;CAE3D,MAAM,iBAEU,iBAAiB,iBAAiB,SAAS;CAC3D,MAAM,8BACJ,iBAAiB,GAAG,sBAAsB;AAE5C,KAAI,kBAAkB,QAAQ,+BAA+B,KAC3D,OAAM,IAAI,MACR,6FAED;CAGH,MAAM,uBACJ,+BAA+B,OAC3B;EACE;EACA,OAAO,gBAAgB,4BAA4B,eAAe;EACnE,GACD;CAON,MAAM,+BAJJ,sBAAsB,OAAO,SAAS,OAClC,mBACA,iBAAiB,MAAM,GAAG,iBAAiB,SAAS,EAAE,EAEC,KAC1D,CAAC,aAAa;EACb,MAAM,oBAAoB,QAAQ,sBAAsB;AACxD,MAAI,qBAAqB,KACvB,OAAM,IAAI,MACR,mGAED;AAEH,SAAO;GAEV;CAED,MAAM,wBAAwB,4BAA4B,KACvD,sBACC,qBACE,aACA,mBACA,sBACD,CACJ;AAED,wBACE,qCAAqC,4BAA4B,CAClE;AAED,KAAI,wBAAwB,KAC1B,KAAI,cAAc,eAAe,KAC/B,QAAO;EACL,MAAM;EACN,WAAW,aAAa,cAAc,aAAa,KAAK;EACxD,SAAS,EAAE;EACZ;KAED,QAAO;EACL,MAAM;EACN,SAAS,EAAE;EACZ;AAIL,SAAQ,qBAAqB,MAAM,MAAnC;EACE,KAAK,WAAW;GACd,MAAM,cAAc,qBAAqB,mBAAmB;AAC1D,iBAAa;AACb,aAAS,EAAE,CAAC;KACZ;AAKF,UAAO;IACL,SAJc,gCACd,4BACD,CAEkB;IACjB,MAAM;IACN,iBAAiB,qBAAqB;IACvC;;EAEH,KAAK,MACH,OAAM,qBAAqB,MAAM;EAEnC,KAAK,MAAM;GACT,MAAM,UAAU,gCACd,4BACD;AAED,OAAI,QAAQ,SAAS,YACnB,QAAO;IACL,MAAM;IACN,WAAW,aAAa,QAAQ,SAAS,UAAU;IACnD,SAAS,QAAQ;IAClB;OAED,QAAO;IACL,MAAM;IACN,SAAS,QAAQ;IAClB"}
@@ -5,4 +5,4 @@ type UseImperativeLoadableFieldReturn<TArgs> = {
5
5
  declare function useImperativeExposedMutationField<TArgs>(exposedField: (args: TArgs) => [string, () => void]): UseImperativeLoadableFieldReturn<TArgs>;
6
6
  //#endregion
7
7
  export { UseImperativeLoadableFieldReturn, useImperativeExposedMutationField };
8
- //# sourceMappingURL=useImperativeExposedMutationField.d.ts.map
8
+ //# sourceMappingURL=useImperativeExposedMutationField.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useImperativeExposedMutationField.d.cts","names":[],"sources":["../../src/loadable-hooks/useImperativeExposedMutationField.ts"],"mappings":";KAAY,gCAAA;EACV,qBAAA,GAAwB,IAAA,EAAM,KAAA;AAAA;AAAA,iBAMhB,iCAAA,OAAA,CACd,YAAA,GAAe,IAAA,EAAM,KAAA,4BACpB,gCAAA,CAAiC,KAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useImperativeExposedMutationField.d.mts","names":[],"sources":["../../src/loadable-hooks/useImperativeExposedMutationField.ts"],"sourcesContent":[],"mappings":";KAAY;EAAA,qBAAA,EAAA,CAAA,IAAA,EACoB,KADY,EAAA,GAAA,IAAA;AAO5C,CAAA;AACuB,iBADP,iCACO,CAAA,KAAA,CAAA,CAAA,YAAA,EAAA,CAAA,IAAA,EAAA,KAAA,EAAA,GAAA,CAAA,MAAA,EAAA,GAAA,GAAA,IAAA,CAAA,CAAA,EACpB,gCADoB,CACa,KADb,CAAA"}
1
+ {"version":3,"file":"useImperativeExposedMutationField.d.mts","names":[],"sources":["../../src/loadable-hooks/useImperativeExposedMutationField.ts"],"mappings":";KAAY,gCAAA;EACV,qBAAA,GAAwB,IAAA,EAAM,KAAA;AAAA;AAAA,iBAMhB,iCAAA,OAAA,CACd,YAAA,GAAe,IAAA,EAAM,KAAA,4BACpB,gCAAA,CAAiC,KAAA"}
@@ -1,16 +1,15 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.js');
2
- let __isograph_react_disposable_state = require("@isograph/react-disposable-state");
3
- __isograph_react_disposable_state = require_rolldown_runtime.__toESM(__isograph_react_disposable_state);
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ let _isograph_react_disposable_state = require("@isograph/react-disposable-state");
4
3
 
5
4
  //#region src/loadable-hooks/useImperativeLoadableField.ts
6
5
  function useImperativeLoadableField(loadableField) {
7
- const { state, setState } = (0, __isograph_react_disposable_state.useUpdatableDisposableState)();
6
+ const { state, setState } = (0, _isograph_react_disposable_state.useUpdatableDisposableState)();
8
7
  return {
9
8
  loadFragmentReference: (args, fetchOptions) => {
10
9
  const [_id, loader] = loadableField(args, fetchOptions ?? {});
11
10
  setState(loader());
12
11
  },
13
- fragmentReference: state !== __isograph_react_disposable_state.UNASSIGNED_STATE ? state : null
12
+ fragmentReference: state !== _isograph_react_disposable_state.UNASSIGNED_STATE ? state : null
14
13
  };
15
14
  }
16
15
 
@@ -1,6 +1,6 @@
1
- import { FetchOptions } from "../core/check.js";
2
- import { LoadableField } from "../core/reader.js";
3
- import { ExtractParameters, FragmentReference } from "../core/FragmentReference.js";
1
+ import { FetchOptions } from "../core/check.cjs";
2
+ import { LoadableField } from "../core/reader.cjs";
3
+ import { ExtractParameters, FragmentReference } from "../core/FragmentReference.cjs";
4
4
 
5
5
  //#region src/loadable-hooks/useImperativeLoadableField.d.ts
6
6
  type UseImperativeLoadableFieldReturn<TReadFromStore extends {
@@ -16,4 +16,4 @@ declare function useImperativeLoadableField<TReadFromStore extends {
16
16
  }, TResult, TProvidedArgs extends object>(loadableField: LoadableField<TReadFromStore, TResult, Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>>): UseImperativeLoadableFieldReturn<TReadFromStore, TResult, TProvidedArgs>;
17
17
  //#endregion
18
18
  export { UseImperativeLoadableFieldReturn, useImperativeLoadableField };
19
- //# sourceMappingURL=useImperativeLoadableField.d.ts.map
19
+ //# sourceMappingURL=useImperativeLoadableField.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useImperativeLoadableField.d.cts","names":[],"sources":["../../src/loadable-hooks/useImperativeLoadableField.ts"],"mappings":";;;;;KAWY,gCAAA;EACe,IAAA;EAAc,UAAA;AAAA;EAIvC,iBAAA,EAAmB,iBAAA,CAAkB,cAAA,EAAgB,OAAA;EACrD,qBAAA,GAGE,IAAA,EAAM,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA,UACpD,YAAA,GAAe,YAAA,CAAa,OAAA;AAAA;AAAA,iBAIhB,0BAAA;EACW,IAAA;EAAc,UAAA;AAAA,yCAAA,CAIvC,aAAA,EAAe,aAAA,CACb,cAAA,EACA,OAAA,EACA,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA,KAE/C,gCAAA,CAAiC,cAAA,EAAgB,OAAA,EAAS,aAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useImperativeLoadableField.d.mts","names":[],"sources":["../../src/loadable-hooks/useImperativeLoadableField.ts"],"sourcesContent":[],"mappings":";;;;;KAWY;;EAAA,UAAA,EAAA,MAAA;CAK2B,EAAA,OAAA,EAAA,sBAAA,MAAA,CAAA,GAAA;EAAgB,iBAAA,EAAlC,iBAAkC,CAAhB,cAAgB,EAAA,OAAA,CAAA,GAAA,IAAA;EAAlC,qBAAA,EAAA,CAAA,IAAA,EAIX,IAJW,CAIN,iBAJM,CAIY,cAJZ,CAAA,EAAA,MAImC,aAJnC,CAAA,GAAA,IAAA,EAAA,YAAA,CAAA,EAKF,YALE,CAKW,OALX,EAAA,KAAA,CAAA,EAAA,GAAA,IAAA;CAIY;AAAlB,iBAKC,0BALD,CAAA,uBAAA;EAAyC,IAAA,EAAA,MAAA;EAA9C,UAAA,EAAA,MAAA;CACsB,EAAA,OAAA,EAAA,sBAAA,MAAA,CAAA,CAAA,aAAA,EASf,aATe,CAU5B,cAV4B,EAW5B,OAX4B,EAY5B,IAZ4B,CAYvB,iBAZuB,CAYL,cAZK,CAAA,EAAA,MAYkB,aAZlB,CAAA,CAAA,CAAA,EAc7B,gCAd6B,CAcI,cAdJ,EAcoB,OAdpB,EAc6B,aAd7B,CAAA"}
1
+ {"version":3,"file":"useImperativeLoadableField.d.mts","names":[],"sources":["../../src/loadable-hooks/useImperativeLoadableField.ts"],"mappings":";;;;;KAWY,gCAAA;EACe,IAAA;EAAc,UAAA;AAAA;EAIvC,iBAAA,EAAmB,iBAAA,CAAkB,cAAA,EAAgB,OAAA;EACrD,qBAAA,GAGE,IAAA,EAAM,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA,UACpD,YAAA,GAAe,YAAA,CAAa,OAAA;AAAA;AAAA,iBAIhB,0BAAA;EACW,IAAA;EAAc,UAAA;AAAA,yCAAA,CAIvC,aAAA,EAAe,aAAA,CACb,cAAA,EACA,OAAA,EACA,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA,KAE/C,gCAAA,CAAiC,cAAA,EAAgB,OAAA,EAAS,aAAA"}
@@ -1,17 +1,14 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.js');
2
- const require_PromiseWrapper = require('../core/PromiseWrapper.js');
3
- const require_startUpdate = require('../core/startUpdate.js');
4
- const require_read = require('../core/read.js');
5
- const require_cache = require('../core/cache.js');
6
- const require_IsographEnvironmentProvider = require('../react/IsographEnvironmentProvider.js');
7
- const require_maybeUnwrapNetworkRequest = require('../react/maybeUnwrapNetworkRequest.js');
8
- const require_useReadAndSubscribe = require('../react/useReadAndSubscribe.js');
9
- let __isograph_react_disposable_state = require("@isograph/react-disposable-state");
10
- __isograph_react_disposable_state = require_rolldown_runtime.__toESM(__isograph_react_disposable_state);
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ const require_PromiseWrapper = require('../core/PromiseWrapper.cjs');
3
+ const require_startUpdate = require('../core/startUpdate.cjs');
4
+ const require_read = require('../core/read.cjs');
5
+ const require_cache = require('../core/cache.cjs');
6
+ const require_IsographEnvironmentProvider = require('../react/IsographEnvironmentProvider.cjs');
7
+ const require_maybeUnwrapNetworkRequest = require('../react/maybeUnwrapNetworkRequest.cjs');
8
+ const require_useReadAndSubscribe = require('../react/useReadAndSubscribe.cjs');
9
+ let _isograph_react_disposable_state = require("@isograph/react-disposable-state");
11
10
  let react = require("react");
12
- react = require_rolldown_runtime.__toESM(react);
13
- let __isograph_reference_counted_pointer = require("@isograph/reference-counted-pointer");
14
- __isograph_reference_counted_pointer = require_rolldown_runtime.__toESM(__isograph_reference_counted_pointer);
11
+ let _isograph_reference_counted_pointer = require("@isograph/reference-counted-pointer");
15
12
 
16
13
  //#region src/loadable-hooks/useSkipLimitPagination.ts
17
14
  function flatten(arr) {
@@ -24,7 +21,7 @@ function useSkipLimitPagination(loadableField, initialState) {
24
21
  suspendIfInFlight: true,
25
22
  throwOnNetworkError: true
26
23
  };
27
- const { state, setState } = (0, __isograph_react_disposable_state.useUpdatableDisposableState)();
24
+ const { state, setState } = (0, _isograph_react_disposable_state.useUpdatableDisposableState)();
28
25
  const environment = require_IsographEnvironmentProvider.useIsographEnvironment();
29
26
  function readCompletedFragmentReferences(completedReferences) {
30
27
  return flatten(completedReferences.map((fragmentReference, i) => {
@@ -57,7 +54,7 @@ function useSkipLimitPagination(loadableField, initialState) {
57
54
  });
58
55
  }
59
56
  const getFetchMore = (loadedSoFar) => (count, fetchOptions) => {
60
- const newPointer = (0, __isograph_reference_counted_pointer.createReferenceCountedPointer)(loadableField({
57
+ const newPointer = (0, _isograph_reference_counted_pointer.createReferenceCountedPointer)(loadableField({
61
58
  skip: loadedSoFar,
62
59
  limit: count
63
60
  }, fetchOptions ?? {})[1]());
@@ -74,7 +71,7 @@ function useSkipLimitPagination(loadableField, initialState) {
74
71
  }]);
75
72
  };
76
73
  const [, rerender] = (0, react.useState)({});
77
- const loadedReferences = state === __isograph_react_disposable_state.UNASSIGNED_STATE ? [] : state;
74
+ const loadedReferences = state === _isograph_react_disposable_state.UNASSIGNED_STATE ? [] : state;
78
75
  const mostRecentItem = loadedReferences[loadedReferences.length - 1];
79
76
  const mostRecentFragmentReference = mostRecentItem?.[0].getItemIfNotDisposed();
80
77
  if (mostRecentItem != null && mostRecentFragmentReference == null) throw new Error("FragmentReference is unexpectedly disposed. This is indicative of a bug in Isograph.");
@@ -1,6 +1,6 @@
1
- import { FetchOptions } from "../core/check.js";
2
- import { LoadableField } from "../core/reader.js";
3
- import { FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.js";
1
+ import { FetchOptions } from "../core/check.cjs";
2
+ import { LoadableField } from "../core/reader.cjs";
3
+ import { FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.cjs";
4
4
 
5
5
  //#region src/loadable-hooks/useSkipLimitPagination.d.ts
6
6
  type UseSkipLimitReturnValue<TReadFromStore extends UnknownTReadFromStore, TItem> = {
@@ -21,4 +21,4 @@ declare function useSkipLimitPagination<TItem, TReadFromStore extends UnknownTRe
21
21
  }): UseSkipLimitReturnValue<TReadFromStore, TItem>;
22
22
  //#endregion
23
23
  export { UseSkipLimitPaginationArgs, UseSkipLimitReturnValue, useSkipLimitPagination };
24
- //# sourceMappingURL=useSkipLimitPagination.d.ts.map
24
+ //# sourceMappingURL=useSkipLimitPagination.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSkipLimitPagination.d.cts","names":[],"sources":["../../src/loadable-hooks/useSkipLimitPagination.ts"],"mappings":";;;;;KAyBY,uBAAA,wBACa,qBAAA;EAAA,SAIV,IAAA;EAAA,SACA,SAAA,GACP,KAAA,UACA,YAAA,GAAe,YAAA,CAAa,aAAA,CAAc,KAAA;EAAA,SAEnC,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;EAAA,SAGvB,IAAA;EAAA,SACA,OAAA,EAAS,aAAA,CAAc,KAAA;EAAA,SACvB,eAAA,EAAiB,iBAAA,CACxB,cAAA,EACA,aAAA,CAAc,KAAA;AAAA;AAAA,KA+BV,0BAAA;EACV,IAAA;EACA,KAAA;AAAA;AAAA,iBAGc,sBAAA,+BAES,qBAAA,CAAA,CAEvB,aAAA,EAAe,aAAA,CACb,cAAA,EACA,aAAA,CAAc,KAAA,GACd,0BAAA,GAEF,YAAA;EACE,IAAA;AAAA,IAED,uBAAA,CAAwB,cAAA,EAAgB,KAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSkipLimitPagination.d.mts","names":[],"sources":["../../src/loadable-hooks/useSkipLimitPagination.ts"],"sourcesContent":[],"mappings":";;;;;KAyBY,+CACa;;EADb,SAAA,SAAA,EAAA,CAAA,KAAuB,EAAA,MAAA,EAAA,YAAA,CAAA,EAQZ,YARY,CAQC,aARD,CAQe,KARf,CAAA,EAAA,KAAA,CAAA,EAAA,GAAA,IAAA;EACV,SAAA,OAAA,EASD,aATC,CASa,KATb,CAAA;CAOyB,GAAA;EAAd,SAAA,IAAA,EAAA,SAAA;EAAb,SAAA,OAAA,EAMC,aAND,CAMe,KANf,CAAA;EAEe,SAAA,eAAA,EAKN,iBALM,CAM9B,cAN8B,EAO9B,aAP8B,CAOhB,KAPgB,CAAA,CAAA;CAAd;AAIc,KAkC1B,0BAAA,GAlC0B;EAAd,IAAA,EAAA,MAAA;EAEhB,KAAA,EAAA,MAAA;CACc;AAAd,iBAoCQ,sBApCR,CAAA,KAAA,EAAA,uBAsCiB,qBAtCjB,CAAA,CAAA,aAAA,EAwCS,aAxCT,CAyCJ,cAzCI,EA0CJ,aA1CI,CA0CU,KA1CV,CAAA,EA2CJ,0BA3CI,CAAA,EAAA,YAFyC,CAEzC,EAAA;EAFwB,IAAA,CAAA,EAAA,MAAA,GAAA,IAAA,GAAA,IAAA;CAAiB,CAAA,EAkD9C,uBAlD8C,CAkDtB,cAlDsB,EAkDN,KAlDM,CAAA"}
1
+ {"version":3,"file":"useSkipLimitPagination.d.mts","names":[],"sources":["../../src/loadable-hooks/useSkipLimitPagination.ts"],"mappings":";;;;;KAyBY,uBAAA,wBACa,qBAAA;EAAA,SAIV,IAAA;EAAA,SACA,SAAA,GACP,KAAA,UACA,YAAA,GAAe,YAAA,CAAa,aAAA,CAAc,KAAA;EAAA,SAEnC,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;EAAA,SAGvB,IAAA;EAAA,SACA,OAAA,EAAS,aAAA,CAAc,KAAA;EAAA,SACvB,eAAA,EAAiB,iBAAA,CACxB,cAAA,EACA,aAAA,CAAc,KAAA;AAAA;AAAA,KA+BV,0BAAA;EACV,IAAA;EACA,KAAA;AAAA;AAAA,iBAGc,sBAAA,+BAES,qBAAA,CAAA,CAEvB,aAAA,EAAe,aAAA,CACb,cAAA,EACA,aAAA,CAAc,KAAA,GACd,0BAAA,GAEF,YAAA;EACE,IAAA;AAAA,IAED,uBAAA,CAAwB,cAAA,EAAgB,KAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSkipLimitPagination.mjs","names":["outArray: Array<T>","mostRecentItem:\n | LoadedFragmentReference<TReadFromStore, TItem>\n | undefined"],"sources":["../../src/loadable-hooks/useSkipLimitPagination.ts"],"sourcesContent":["import type { ItemCleanupPair } from '@isograph/disposable-types';\nimport {\n UNASSIGNED_STATE,\n useUpdatableDisposableState,\n} from '@isograph/react-disposable-state';\nimport type { ReferenceCountedPointer } from '@isograph/reference-counted-pointer';\nimport { createReferenceCountedPointer } from '@isograph/reference-counted-pointer';\nimport { useState } from 'react';\nimport { subscribeToAnyChange } from '../core/cache';\nimport type { FetchOptions } from '../core/check';\nimport type {\n FragmentReference,\n UnknownTReadFromStore,\n} from '../core/FragmentReference';\nimport { getPromiseState, readPromise } from '../core/PromiseWrapper';\nimport {\n readButDoNotEvaluate,\n type WithEncounteredRecords,\n} from '../core/read';\nimport type { LoadableField, ReaderAst } from '../core/reader';\nimport { getOrCreateCachedStartUpdate } from '../core/startUpdate';\nimport { useIsographEnvironment } from '../react/IsographEnvironmentProvider';\nimport { maybeUnwrapNetworkRequest } from '../react/maybeUnwrapNetworkRequest';\nimport { useSubscribeToMultiple } from '../react/useReadAndSubscribe';\n\nexport type UseSkipLimitReturnValue<\n TReadFromStore extends UnknownTReadFromStore,\n TItem,\n> =\n | {\n readonly kind: 'Complete';\n readonly fetchMore: (\n count: number,\n fetchOptions?: FetchOptions<ReadonlyArray<TItem>, never>,\n ) => void;\n readonly results: ReadonlyArray<TItem>;\n }\n | {\n readonly kind: 'Pending';\n readonly results: ReadonlyArray<TItem>;\n readonly pendingFragment: FragmentReference<\n TReadFromStore,\n ReadonlyArray<TItem>\n >;\n };\n\ntype ArrayFragmentReference<\n TReadFromStore extends UnknownTReadFromStore,\n TItem,\n> = FragmentReference<TReadFromStore, ReadonlyArray<TItem>>;\n\ntype LoadedFragmentReferences<\n TReadFromStore extends { parameters: object; data: object },\n TItem,\n> = ReadonlyArray<LoadedFragmentReference<TReadFromStore, TItem>>;\n\ntype LoadedFragmentReference<\n TReadFromStore extends { parameters: object; data: object },\n TItem,\n> = ItemCleanupPair<\n ReferenceCountedPointer<ArrayFragmentReference<TReadFromStore, TItem>>\n>;\n\nfunction flatten<T>(arr: ReadonlyArray<ReadonlyArray<T>>): ReadonlyArray<T> {\n let outArray: Array<T> = [];\n for (const subarr of arr) {\n for (const item of subarr) {\n outArray.push(item);\n }\n }\n return outArray;\n}\n\nexport type UseSkipLimitPaginationArgs = {\n skip: number;\n limit: number;\n};\n\nexport function useSkipLimitPagination<\n TItem,\n TReadFromStore extends UnknownTReadFromStore,\n>(\n loadableField: LoadableField<\n TReadFromStore,\n ReadonlyArray<TItem>,\n UseSkipLimitPaginationArgs\n >,\n initialState?: {\n skip?: number | void | null;\n },\n): UseSkipLimitReturnValue<TReadFromStore, TItem> {\n const networkRequestOptions = {\n suspendIfInFlight: true,\n throwOnNetworkError: true,\n };\n const { state, setState } =\n useUpdatableDisposableState<\n LoadedFragmentReferences<TReadFromStore, TItem>\n >();\n\n const environment = useIsographEnvironment();\n\n // TODO move this out of useSkipLimitPagination, and pass environment and networkRequestOptions\n // as parameters (or recreate networkRequestOptions)\n function readCompletedFragmentReferences(\n completedReferences: ArrayFragmentReference<TReadFromStore, TItem>[],\n ) {\n const results = completedReferences.map((fragmentReference, i) => {\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n // invariant: readOutDataAndRecords.length === completedReferences.length\n const data = readOutDataAndRecords[i]?.item;\n if (data == null) {\n throw new Error(\n 'Parameter data is unexpectedly null. This is indicative of a bug in Isograph.',\n );\n }\n\n const firstParameter = {\n data,\n parameters: fragmentReference.variables,\n ...(readerWithRefetchQueries.readerArtifact.hasUpdatable\n ? {\n startUpdate: getOrCreateCachedStartUpdate(\n environment,\n fragmentReference,\n networkRequestOptions,\n ),\n }\n : undefined),\n };\n\n if (\n readerWithRefetchQueries.readerArtifact.kind !== 'EagerReaderArtifact'\n ) {\n throw new Error(\n `@loadable field of kind \"${readerWithRefetchQueries.readerArtifact.kind}\" is not supported by useSkipLimitPagination`,\n );\n }\n\n return readerWithRefetchQueries.readerArtifact.resolver(firstParameter);\n });\n\n const items = flatten(results);\n return items;\n }\n\n function subscribeCompletedFragmentReferences(\n completedReferences: ArrayFragmentReference<TReadFromStore, TItem>[],\n ) {\n return completedReferences.map(\n (\n fragmentReference,\n i,\n ): {\n records: WithEncounteredRecords<TReadFromStore>;\n callback: (\n updatedRecords: WithEncounteredRecords<TReadFromStore>,\n ) => void;\n fragmentReference: ArrayFragmentReference<TReadFromStore, TItem>;\n readerAst: ReaderAst<TItem>;\n } => {\n maybeUnwrapNetworkRequest(\n fragmentReference.networkRequest,\n networkRequestOptions,\n );\n\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n const records = readOutDataAndRecords[i];\n if (records == null) {\n throw new Error(\n 'subscribeCompletedFragmentReferences records is unexpectedly null',\n );\n }\n\n return {\n fragmentReference,\n readerAst: readerWithRefetchQueries.readerArtifact.readerAst,\n records,\n callback(_data) {\n rerender({});\n },\n };\n },\n );\n }\n\n const getFetchMore =\n (loadedSoFar: number) =>\n (\n count: number,\n fetchOptions?: FetchOptions<ReadonlyArray<TItem>, never>,\n ): void => {\n const loadedField = loadableField(\n {\n skip: loadedSoFar,\n limit: count,\n },\n fetchOptions ?? {},\n )[1]();\n const newPointer = createReferenceCountedPointer(loadedField);\n const clonedPointers = loadedReferences.map(([refCountedPointer]) => {\n const clonedRefCountedPointer = refCountedPointer.cloneIfNotDisposed();\n if (clonedRefCountedPointer == null) {\n throw new Error(\n 'This reference counted pointer has already been disposed. \\\n This is indicative of a bug in useSkipLimitPagination.',\n );\n }\n return clonedRefCountedPointer;\n });\n clonedPointers.push(newPointer);\n\n const totalItemCleanupPair: ItemCleanupPair<\n ReadonlyArray<\n ItemCleanupPair<\n ReferenceCountedPointer<\n ArrayFragmentReference<TReadFromStore, TItem>\n >\n >\n >\n > = [\n clonedPointers,\n () => {\n clonedPointers.forEach(([, dispose]) => {\n dispose();\n });\n },\n ];\n\n setState(totalItemCleanupPair);\n };\n\n const [, rerender] = useState({});\n\n const loadedReferences = state === UNASSIGNED_STATE ? [] : state;\n\n const mostRecentItem:\n | LoadedFragmentReference<TReadFromStore, TItem>\n | undefined = loadedReferences[loadedReferences.length - 1];\n const mostRecentFragmentReference =\n mostRecentItem?.[0].getItemIfNotDisposed();\n\n if (mostRecentItem != null && mostRecentFragmentReference == null) {\n throw new Error(\n 'FragmentReference is unexpectedly disposed. \\\n This is indicative of a bug in Isograph.',\n );\n }\n\n const networkRequestStatus =\n mostRecentFragmentReference != null\n ? {\n mostRecentFragmentReference,\n state: getPromiseState(mostRecentFragmentReference.networkRequest),\n }\n : null;\n\n const slicedFragmentReferences =\n networkRequestStatus?.state?.kind === 'Ok'\n ? loadedReferences\n : loadedReferences.slice(0, loadedReferences.length - 1);\n\n const completedFragmentReferences = slicedFragmentReferences.map(\n ([pointer]) => {\n const fragmentReference = pointer.getItemIfNotDisposed();\n if (fragmentReference == null) {\n throw new Error(\n 'FragmentReference is unexpectedly disposed. \\\n This is indicative of a bug in Isograph.',\n );\n }\n return fragmentReference;\n },\n );\n\n const readOutDataAndRecords = completedFragmentReferences.map(\n (fragmentReference) =>\n readButDoNotEvaluate(\n environment,\n fragmentReference,\n networkRequestOptions,\n ),\n );\n\n useSubscribeToMultiple<TReadFromStore>(\n subscribeCompletedFragmentReferences(completedFragmentReferences),\n );\n\n if (networkRequestStatus == null) {\n return {\n kind: 'Complete',\n fetchMore: getFetchMore(initialState?.skip ?? 0),\n results: [],\n };\n }\n\n switch (networkRequestStatus.state.kind) {\n case 'Pending': {\n const unsubscribe = subscribeToAnyChange(environment, () => {\n unsubscribe();\n rerender({});\n });\n\n return {\n kind: 'Pending',\n pendingFragment: networkRequestStatus.mostRecentFragmentReference,\n results: readCompletedFragmentReferences(completedFragmentReferences),\n };\n }\n case 'Err': {\n throw networkRequestStatus.state.error;\n }\n case 'Ok': {\n const results = readCompletedFragmentReferences(\n completedFragmentReferences,\n );\n return {\n kind: 'Complete',\n results,\n fetchMore: getFetchMore(results.length),\n };\n }\n }\n}\n\n// @ts-ignore\nfunction tsTests() {\n type Parameters = {\n readonly search: string;\n readonly skip: number;\n readonly limit: number;\n };\n\n let basicLoadable!: LoadableField<\n {\n readonly data: object;\n readonly parameters: Omit<Parameters, 'search'>;\n },\n object[]\n >;\n\n useSkipLimitPagination(basicLoadable);\n useSkipLimitPagination(basicLoadable, {});\n useSkipLimitPagination(basicLoadable, { skip: 10 });\n\n let unprovidedSearchLoadable!: LoadableField<\n {\n readonly data: object;\n readonly parameters: Parameters;\n },\n object[]\n >;\n // @ts-expect-error\n useSkipLimitPagination(unprovidedSearchLoadable);\n\n let providedSearchLoadable!: LoadableField<\n {\n readonly data: object;\n readonly parameters: Parameters;\n },\n object[],\n Omit<Parameters, 'search'>\n >;\n\n useSkipLimitPagination(providedSearchLoadable);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useSkipLimitPagination.mjs","names":[],"sources":["../../src/loadable-hooks/useSkipLimitPagination.ts"],"sourcesContent":["import type { ItemCleanupPair } from '@isograph/disposable-types';\nimport {\n UNASSIGNED_STATE,\n useUpdatableDisposableState,\n} from '@isograph/react-disposable-state';\nimport type { ReferenceCountedPointer } from '@isograph/reference-counted-pointer';\nimport { createReferenceCountedPointer } from '@isograph/reference-counted-pointer';\nimport { useState } from 'react';\nimport { subscribeToAnyChange } from '../core/cache';\nimport type { FetchOptions } from '../core/check';\nimport type {\n FragmentReference,\n UnknownTReadFromStore,\n} from '../core/FragmentReference';\nimport { getPromiseState, readPromise } from '../core/PromiseWrapper';\nimport {\n readButDoNotEvaluate,\n type WithEncounteredRecords,\n} from '../core/read';\nimport type { LoadableField, ReaderAst } from '../core/reader';\nimport { getOrCreateCachedStartUpdate } from '../core/startUpdate';\nimport { useIsographEnvironment } from '../react/IsographEnvironmentProvider';\nimport { maybeUnwrapNetworkRequest } from '../react/maybeUnwrapNetworkRequest';\nimport { useSubscribeToMultiple } from '../react/useReadAndSubscribe';\n\nexport type UseSkipLimitReturnValue<\n TReadFromStore extends UnknownTReadFromStore,\n TItem,\n> =\n | {\n readonly kind: 'Complete';\n readonly fetchMore: (\n count: number,\n fetchOptions?: FetchOptions<ReadonlyArray<TItem>, never>,\n ) => void;\n readonly results: ReadonlyArray<TItem>;\n }\n | {\n readonly kind: 'Pending';\n readonly results: ReadonlyArray<TItem>;\n readonly pendingFragment: FragmentReference<\n TReadFromStore,\n ReadonlyArray<TItem>\n >;\n };\n\ntype ArrayFragmentReference<\n TReadFromStore extends UnknownTReadFromStore,\n TItem,\n> = FragmentReference<TReadFromStore, ReadonlyArray<TItem>>;\n\ntype LoadedFragmentReferences<\n TReadFromStore extends { parameters: object; data: object },\n TItem,\n> = ReadonlyArray<LoadedFragmentReference<TReadFromStore, TItem>>;\n\ntype LoadedFragmentReference<\n TReadFromStore extends { parameters: object; data: object },\n TItem,\n> = ItemCleanupPair<\n ReferenceCountedPointer<ArrayFragmentReference<TReadFromStore, TItem>>\n>;\n\nfunction flatten<T>(arr: ReadonlyArray<ReadonlyArray<T>>): ReadonlyArray<T> {\n let outArray: Array<T> = [];\n for (const subarr of arr) {\n for (const item of subarr) {\n outArray.push(item);\n }\n }\n return outArray;\n}\n\nexport type UseSkipLimitPaginationArgs = {\n skip: number;\n limit: number;\n};\n\nexport function useSkipLimitPagination<\n TItem,\n TReadFromStore extends UnknownTReadFromStore,\n>(\n loadableField: LoadableField<\n TReadFromStore,\n ReadonlyArray<TItem>,\n UseSkipLimitPaginationArgs\n >,\n initialState?: {\n skip?: number | void | null;\n },\n): UseSkipLimitReturnValue<TReadFromStore, TItem> {\n const networkRequestOptions = {\n suspendIfInFlight: true,\n throwOnNetworkError: true,\n };\n const { state, setState } =\n useUpdatableDisposableState<\n LoadedFragmentReferences<TReadFromStore, TItem>\n >();\n\n const environment = useIsographEnvironment();\n\n // TODO move this out of useSkipLimitPagination, and pass environment and networkRequestOptions\n // as parameters (or recreate networkRequestOptions)\n function readCompletedFragmentReferences(\n completedReferences: ArrayFragmentReference<TReadFromStore, TItem>[],\n ) {\n const results = completedReferences.map((fragmentReference, i) => {\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n // invariant: readOutDataAndRecords.length === completedReferences.length\n const data = readOutDataAndRecords[i]?.item;\n if (data == null) {\n throw new Error(\n 'Parameter data is unexpectedly null. This is indicative of a bug in Isograph.',\n );\n }\n\n const firstParameter = {\n data,\n parameters: fragmentReference.variables,\n ...(readerWithRefetchQueries.readerArtifact.hasUpdatable\n ? {\n startUpdate: getOrCreateCachedStartUpdate(\n environment,\n fragmentReference,\n networkRequestOptions,\n ),\n }\n : undefined),\n };\n\n if (\n readerWithRefetchQueries.readerArtifact.kind !== 'EagerReaderArtifact'\n ) {\n throw new Error(\n `@loadable field of kind \"${readerWithRefetchQueries.readerArtifact.kind}\" is not supported by useSkipLimitPagination`,\n );\n }\n\n return readerWithRefetchQueries.readerArtifact.resolver(firstParameter);\n });\n\n const items = flatten(results);\n return items;\n }\n\n function subscribeCompletedFragmentReferences(\n completedReferences: ArrayFragmentReference<TReadFromStore, TItem>[],\n ) {\n return completedReferences.map(\n (\n fragmentReference,\n i,\n ): {\n records: WithEncounteredRecords<TReadFromStore>;\n callback: (\n updatedRecords: WithEncounteredRecords<TReadFromStore>,\n ) => void;\n fragmentReference: ArrayFragmentReference<TReadFromStore, TItem>;\n readerAst: ReaderAst<TItem>;\n } => {\n maybeUnwrapNetworkRequest(\n fragmentReference.networkRequest,\n networkRequestOptions,\n );\n\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n const records = readOutDataAndRecords[i];\n if (records == null) {\n throw new Error(\n 'subscribeCompletedFragmentReferences records is unexpectedly null',\n );\n }\n\n return {\n fragmentReference,\n readerAst: readerWithRefetchQueries.readerArtifact.readerAst,\n records,\n callback(_data) {\n rerender({});\n },\n };\n },\n );\n }\n\n const getFetchMore =\n (loadedSoFar: number) =>\n (\n count: number,\n fetchOptions?: FetchOptions<ReadonlyArray<TItem>, never>,\n ): void => {\n const loadedField = loadableField(\n {\n skip: loadedSoFar,\n limit: count,\n },\n fetchOptions ?? {},\n )[1]();\n const newPointer = createReferenceCountedPointer(loadedField);\n const clonedPointers = loadedReferences.map(([refCountedPointer]) => {\n const clonedRefCountedPointer = refCountedPointer.cloneIfNotDisposed();\n if (clonedRefCountedPointer == null) {\n throw new Error(\n 'This reference counted pointer has already been disposed. \\\n This is indicative of a bug in useSkipLimitPagination.',\n );\n }\n return clonedRefCountedPointer;\n });\n clonedPointers.push(newPointer);\n\n const totalItemCleanupPair: ItemCleanupPair<\n ReadonlyArray<\n ItemCleanupPair<\n ReferenceCountedPointer<\n ArrayFragmentReference<TReadFromStore, TItem>\n >\n >\n >\n > = [\n clonedPointers,\n () => {\n clonedPointers.forEach(([, dispose]) => {\n dispose();\n });\n },\n ];\n\n setState(totalItemCleanupPair);\n };\n\n const [, rerender] = useState({});\n\n const loadedReferences = state === UNASSIGNED_STATE ? [] : state;\n\n const mostRecentItem:\n | LoadedFragmentReference<TReadFromStore, TItem>\n | undefined = loadedReferences[loadedReferences.length - 1];\n const mostRecentFragmentReference =\n mostRecentItem?.[0].getItemIfNotDisposed();\n\n if (mostRecentItem != null && mostRecentFragmentReference == null) {\n throw new Error(\n 'FragmentReference is unexpectedly disposed. \\\n This is indicative of a bug in Isograph.',\n );\n }\n\n const networkRequestStatus =\n mostRecentFragmentReference != null\n ? {\n mostRecentFragmentReference,\n state: getPromiseState(mostRecentFragmentReference.networkRequest),\n }\n : null;\n\n const slicedFragmentReferences =\n networkRequestStatus?.state?.kind === 'Ok'\n ? loadedReferences\n : loadedReferences.slice(0, loadedReferences.length - 1);\n\n const completedFragmentReferences = slicedFragmentReferences.map(\n ([pointer]) => {\n const fragmentReference = pointer.getItemIfNotDisposed();\n if (fragmentReference == null) {\n throw new Error(\n 'FragmentReference is unexpectedly disposed. \\\n This is indicative of a bug in Isograph.',\n );\n }\n return fragmentReference;\n },\n );\n\n const readOutDataAndRecords = completedFragmentReferences.map(\n (fragmentReference) =>\n readButDoNotEvaluate(\n environment,\n fragmentReference,\n networkRequestOptions,\n ),\n );\n\n useSubscribeToMultiple<TReadFromStore>(\n subscribeCompletedFragmentReferences(completedFragmentReferences),\n );\n\n if (networkRequestStatus == null) {\n return {\n kind: 'Complete',\n fetchMore: getFetchMore(initialState?.skip ?? 0),\n results: [],\n };\n }\n\n switch (networkRequestStatus.state.kind) {\n case 'Pending': {\n const unsubscribe = subscribeToAnyChange(environment, () => {\n unsubscribe();\n rerender({});\n });\n\n return {\n kind: 'Pending',\n pendingFragment: networkRequestStatus.mostRecentFragmentReference,\n results: readCompletedFragmentReferences(completedFragmentReferences),\n };\n }\n case 'Err': {\n throw networkRequestStatus.state.error;\n }\n case 'Ok': {\n const results = readCompletedFragmentReferences(\n completedFragmentReferences,\n );\n return {\n kind: 'Complete',\n results,\n fetchMore: getFetchMore(results.length),\n };\n }\n }\n}\n\n// @ts-ignore\nfunction tsTests() {\n type Parameters = {\n readonly search: string;\n readonly skip: number;\n readonly limit: number;\n };\n\n let basicLoadable!: LoadableField<\n {\n readonly data: object;\n readonly parameters: Omit<Parameters, 'search'>;\n },\n object[]\n >;\n\n useSkipLimitPagination(basicLoadable);\n useSkipLimitPagination(basicLoadable, {});\n useSkipLimitPagination(basicLoadable, { skip: 10 });\n\n let unprovidedSearchLoadable!: LoadableField<\n {\n readonly data: object;\n readonly parameters: Parameters;\n },\n object[]\n >;\n // @ts-expect-error\n useSkipLimitPagination(unprovidedSearchLoadable);\n\n let providedSearchLoadable!: LoadableField<\n {\n readonly data: object;\n readonly parameters: Parameters;\n },\n object[],\n Omit<Parameters, 'search'>\n >;\n\n useSkipLimitPagination(providedSearchLoadable);\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- const require_useResult = require('./useResult.js');
1
+ const require_useResult = require('./useResult.cjs');
2
2
 
3
3
  //#region src/react/FragmentReader.tsx
4
4
  function FragmentReader({ fragmentReference, networkRequestOptions, children }) {
@@ -1,7 +1,7 @@
1
- import { NetworkRequestReaderOptions } from "../core/read.js";
2
- import { FragmentReference } from "../core/FragmentReference.js";
3
- import { NetworkResponseObject } from "../core/cache.js";
4
- import { ExtractReadFromStore, IsographEntrypoint } from "../core/entrypoint.js";
1
+ import { NetworkRequestReaderOptions } from "../core/read.cjs";
2
+ import { FragmentReference } from "../core/FragmentReference.cjs";
3
+ import { NetworkResponseObject } from "../core/cache.cjs";
4
+ import { ExtractReadFromStore, IsographEntrypoint } from "../core/entrypoint.cjs";
5
5
 
6
6
  //#region src/react/FragmentReader.d.ts
7
7
  declare function FragmentReader<TResult, TRawResponseType extends NetworkResponseObject, TEntrypoint extends IsographEntrypoint<any, TResult, any, TRawResponseType>, TChildrenResult>({
@@ -15,4 +15,4 @@ declare function FragmentReader<TResult, TRawResponseType extends NetworkRespons
15
15
  }): TChildrenResult;
16
16
  //#endregion
17
17
  export { FragmentReader };
18
- //# sourceMappingURL=FragmentReader.d.ts.map
18
+ //# sourceMappingURL=FragmentReader.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FragmentReader.d.cts","names":[],"sources":["../../src/react/FragmentReader.tsx"],"mappings":";;;;;;iBASgB,cAAA,mCAEW,qBAAA,sBACL,kBAAA,MAAwB,OAAA,OAAc,gBAAA,mBAAA,CAAA;EAG1D,iBAAA;EACA,qBAAA;EACA;AAAA;EAEA,iBAAA,EAAmB,iBAAA,CACjB,oBAAA,CAAqB,WAAA,GACrB,OAAA;EAEF,qBAAA,GAAwB,OAAA,CAAQ,2BAAA;EAChC,QAAA,GAAW,IAAA,EAAM,OAAA,KAAY,eAAA;AAAA,IAC3B,eAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"FragmentReader.d.mts","names":[],"sources":["../../src/react/FragmentReader.tsx"],"sourcesContent":[],"mappings":";;;;;;iBASgB,iDAEW,2CACL,wBAAwB,cAAc;;;;;qBAOvC,kBACjB,qBAAqB,cACrB;EAZY,qBAAc,CAAA,EAcJ,OAdI,CAcI,2BAdJ,CAAA;EAEH,QAAA,EAAA,CAAA,IAAA,EAaR,OAbQ,EAAA,GAaI,eAbJ;CACmB,CAAA,EAa1C,eAb0C"}
1
+ {"version":3,"file":"FragmentReader.d.mts","names":[],"sources":["../../src/react/FragmentReader.tsx"],"mappings":";;;;;;iBASgB,cAAA,mCAEW,qBAAA,sBACL,kBAAA,MAAwB,OAAA,OAAc,gBAAA,mBAAA,CAAA;EAG1D,iBAAA;EACA,qBAAA;EACA;AAAA;EAEA,iBAAA,EAAmB,iBAAA,CACjB,oBAAA,CAAqB,WAAA,GACrB,OAAA;EAEF,qBAAA,GAAwB,OAAA,CAAQ,2BAAA;EAChC,QAAA,GAAW,IAAA,EAAM,OAAA,KAAY,eAAA;AAAA,IAC3B,eAAA"}
@@ -1,5 +1,5 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.js');
2
- const require_useResult = require('./useResult.js');
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ const require_useResult = require('./useResult.cjs');
3
3
  let react = require("react");
4
4
  react = require_rolldown_runtime.__toESM(react);
5
5
 
@@ -1,7 +1,7 @@
1
- import { NetworkRequestReaderOptions } from "../core/read.js";
2
- import { FragmentReference } from "../core/FragmentReference.js";
3
- import { NetworkResponseObject } from "../core/cache.js";
4
- import { ExtractReadFromStore, IsographEntrypoint } from "../core/entrypoint.js";
1
+ import { NetworkRequestReaderOptions } from "../core/read.cjs";
2
+ import { FragmentReference } from "../core/FragmentReference.cjs";
3
+ import { NetworkResponseObject } from "../core/cache.cjs";
4
+ import { ExtractReadFromStore, IsographEntrypoint } from "../core/entrypoint.cjs";
5
5
  import * as React$1 from "react";
6
6
 
7
7
  //#region src/react/FragmentRenderer.d.ts
@@ -17,4 +17,4 @@ declare function FragmentRenderer<TProps extends Record<any, any>, TRawResponseT
17
17
  }): React$1.ReactNode;
18
18
  //#endregion
19
19
  export { FragmentRenderer, IsExactlyIntrinsicAttributes };
20
- //# sourceMappingURL=FragmentRenderer.d.ts.map
20
+ //# sourceMappingURL=FragmentRenderer.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FragmentRenderer.d.cts","names":[],"sources":["../../src/react/FragmentRenderer.tsx"],"mappings":";;;;;;;KAUY,4BAAA,MAAkC,CAAA,SAAU,GAAA,CAAI,mBAAA,GACxD,GAAA,CAAI,mBAAA,SAA4B,CAAA;AAAA,iBAKpB,gBAAA,gBACC,MAAA,qCACU,qBAAA,sBACL,kBAAA,MAElB,OAAA,CAAM,EAAA,CAAG,MAAA,QAET,gBAAA,EAAA,CAGF,KAAA,EAAO,4BAAA,CAA6B,MAAA;EAE9B,iBAAA,EAAmB,iBAAA,CACjB,oBAAA,CAAqB,WAAA,GACrB,OAAA,CAAM,EAAA,CAAG,MAAA;EAEX,eAAA,GAAkB,MAAA,CAAO,WAAA;EACzB,qBAAA,GAAwB,OAAA,CAAQ,2BAAA;AAAA;EAGhC,iBAAA,EAAmB,iBAAA,CACjB,oBAAA,CAAqB,WAAA,GACrB,OAAA,CAAM,EAAA,CAAG,MAAA;EAEX,eAAA,EAAiB,IAAA,CAAK,MAAA,QAAc,GAAA,CAAI,mBAAA;EACxC,qBAAA,GAAwB,OAAA,CAAQ,2BAAA;AAAA,IAErC,OAAA,CAAM,SAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"FragmentRenderer.d.mts","names":[],"sources":["../../src/react/FragmentRenderer.tsx"],"sourcesContent":[],"mappings":";;;;;;;KAUY,kCAAkC,UAAU,GAAA,CAAI,sBACxD,GAAA,CAAI,4BAA4B;iBAKpB,gCACC,2CACU,2CACL,wBAElB,OAAA,CAAM,GAAG,cAET,0BAGK,6BAA6B;EAhB1B,iBAAA,EAkBe,iBAlBa,CAmB9B,oBAnB8B,CAmBT,WAnBS,CAAA,EAoB9B,OAAA,CAAM,EApBwB,CAoBrB,MApBqB,CAAA,CAAA;EAAM,eAAA,CAAA,EAsBpB,MAtBoB,CAsBb,WAtBa,EAAA,KAAA,CAAA;EAAU,qBAAI,CAAA,EAuB5B,OAvB4B,CAuBpB,2BAvBoB,CAAA;CACxD,GAAA;EAAgC,iBAAA,EAyBT,iBAzBS,CA0B1B,oBA1B0B,CA0BL,WA1BK,CAAA,EA2B1B,OAAA,CAAM,EA3BoB,CA2BjB,MA3BiB,CAAA,CAAA;EAAC,eAAA,EA6BZ,IA7BY,CA6BP,MA7BO,EAAA,MA6BO,GAAA,CAAI,mBA7BX,CAAA;EAKrB,qBAAgB,CAAA,EAyBA,OAzBA,CAyBQ,2BAzBR,CAAA;CACf,CAAA,EA0Bd,OAAA,CAAM,SA1BQ"}
1
+ {"version":3,"file":"FragmentRenderer.d.mts","names":[],"sources":["../../src/react/FragmentRenderer.tsx"],"mappings":";;;;;;;KAUY,4BAAA,MAAkC,CAAA,SAAU,GAAA,CAAI,mBAAA,GACxD,GAAA,CAAI,mBAAA,SAA4B,CAAA;AAAA,iBAKpB,gBAAA,gBACC,MAAA,qCACU,qBAAA,sBACL,kBAAA,MAElB,OAAA,CAAM,EAAA,CAAG,MAAA,QAET,gBAAA,EAAA,CAGF,KAAA,EAAO,4BAAA,CAA6B,MAAA;EAE9B,iBAAA,EAAmB,iBAAA,CACjB,oBAAA,CAAqB,WAAA,GACrB,OAAA,CAAM,EAAA,CAAG,MAAA;EAEX,eAAA,GAAkB,MAAA,CAAO,WAAA;EACzB,qBAAA,GAAwB,OAAA,CAAQ,2BAAA;AAAA;EAGhC,iBAAA,EAAmB,iBAAA,CACjB,oBAAA,CAAqB,WAAA,GACrB,OAAA,CAAM,EAAA,CAAG,MAAA;EAEX,eAAA,EAAiB,IAAA,CAAK,MAAA,QAAc,GAAA,CAAI,mBAAA;EACxC,qBAAA,GAAwB,OAAA,CAAQ,2BAAA;AAAA,IAErC,OAAA,CAAM,SAAA"}
@@ -1,4 +1,4 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.js');
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
2
  let react = require("react");
3
3
  react = require_rolldown_runtime.__toESM(react);
4
4
 
@@ -1,4 +1,4 @@
1
- import { IsographEnvironment } from "../core/IsographEnvironment.js";
1
+ import { IsographEnvironment } from "../core/IsographEnvironment.cjs";
2
2
  import * as React$1 from "react";
3
3
  import { ReactNode } from "react";
4
4
 
@@ -14,4 +14,4 @@ declare function IsographEnvironmentProvider({
14
14
  declare function useIsographEnvironment(): IsographEnvironment;
15
15
  //#endregion
16
16
  export { IsographEnvironmentProvider, IsographEnvironmentProviderProps, useIsographEnvironment };
17
- //# sourceMappingURL=IsographEnvironmentProvider.d.ts.map
17
+ //# sourceMappingURL=IsographEnvironmentProvider.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IsographEnvironmentProvider.d.cts","names":[],"sources":["../../src/react/IsographEnvironmentProvider.tsx"],"mappings":";;;;;KAQY,gCAAA;EAAA,SACD,WAAA,EAAa,mBAAA;EAAA,SACb,QAAA,EAAU,SAAA;AAAA;AAAA,iBAGL,2BAAA,CAAA;EACd,WAAA;EACA;AAAA,GACC,gCAAA,GAAmC,OAAA,CAAM,YAAA;AAAA,iBAQ5B,sBAAA,CAAA,GAA0B,mBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"IsographEnvironmentProvider.d.mts","names":[],"sources":["../../src/react/IsographEnvironmentProvider.tsx"],"sourcesContent":[],"mappings":";;;;;KAQY,gCAAA;EAAA,SAAA,WAAA,EACY,mBADoB;EAK5B,SAAA,QAAA,EAHK,SAGL;CACd;AACA,iBAFc,2BAAA,CAEd;EAAA,WAAA;EAAA;AAAA,CAAA,EACC,gCADD,CAAA,EACoC,OAAA,CAAM,YAD1C;AACC,iBAQa,sBAAA,CAAA,CARb,EAQuC,mBARvC"}
1
+ {"version":3,"file":"IsographEnvironmentProvider.d.mts","names":[],"sources":["../../src/react/IsographEnvironmentProvider.tsx"],"mappings":";;;;;KAQY,gCAAA;EAAA,SACD,WAAA,EAAa,mBAAA;EAAA,SACb,QAAA,EAAU,SAAA;AAAA;AAAA,iBAGL,2BAAA,CAAA;EACd,WAAA;EACA;AAAA,GACC,gCAAA,GAAmC,OAAA,CAAM,YAAA;AAAA,iBAQ5B,sBAAA,CAAA,GAA0B,mBAAA"}
@@ -1,6 +1,6 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.js');
2
- const require_useResult = require('./useResult.js');
3
- const require_useClientSideDefer = require('../loadable-hooks/useClientSideDefer.js');
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ const require_useResult = require('./useResult.cjs');
3
+ const require_useClientSideDefer = require('../loadable-hooks/useClientSideDefer.cjs');
4
4
  let react = require("react");
5
5
  react = require_rolldown_runtime.__toESM(react);
6
6
 
@@ -1,7 +1,7 @@
1
- import { FetchOptions } from "../core/check.js";
2
- import { LoadableField } from "../core/reader.js";
3
- import { NetworkRequestReaderOptions } from "../core/read.js";
4
- import { ExtractParameters, UnknownTReadFromStore } from "../core/FragmentReference.js";
1
+ import { FetchOptions } from "../core/check.cjs";
2
+ import { LoadableField } from "../core/reader.cjs";
3
+ import { NetworkRequestReaderOptions } from "../core/read.cjs";
4
+ import { ExtractParameters, UnknownTReadFromStore } from "../core/FragmentReference.cjs";
5
5
 
6
6
  //#region src/react/LoadableFieldReader.d.ts
7
7
  type ArgsWithoutProvidedArgs<TReadFromStore extends UnknownTReadFromStore, TProvidedArgs extends object> = Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>;
@@ -18,4 +18,4 @@ declare function LoadableFieldReader<TReadFromStore extends UnknownTReadFromStor
18
18
  } & MaybeRequiredArgs<TReadFromStore, TProvidedArgs>): TChildrenResult;
19
19
  //#endregion
20
20
  export { LoadableFieldReader };
21
- //# sourceMappingURL=LoadableFieldReader.d.ts.map
21
+ //# sourceMappingURL=LoadableFieldReader.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadableFieldReader.d.cts","names":[],"sources":["../../src/react/LoadableFieldReader.tsx"],"mappings":";;;;;;KASK,uBAAA,wBACoB,qBAAA,kCAErB,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA;AAAA,KAE7C,iBAAA,wBACoB,qBAAA,6CAGZ,uBAAA,CAAwB,cAAA,EAAgB,aAAA;EAE7C,IAAA,GAAO,uBAAA,CAAwB,cAAA,EAAgB,aAAA;AAAA;EAG/C,IAAA,EAAM,uBAAA,CAAwB,cAAA,EAAgB,aAAA;AAAA;AAAA,iBAGtC,mBAAA,wBACS,qBAAA,yDAAA,CAKvB,KAAA;EACE,aAAA,EAAe,aAAA,CACb,cAAA,EACA,OAAA,EACA,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA;EAEhD,YAAA,GAAe,YAAA,CAAa,OAAA;EAC5B,qBAAA,GAAwB,OAAA,CAAQ,2BAAA;EAChC,QAAA,GAAW,GAAA,EAAK,OAAA,KAAY,eAAA;AAAA,IAC1B,iBAAA,CAAkB,cAAA,EAAgB,aAAA,IACrC,eAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"LoadableFieldReader.d.mts","names":[],"sources":["../../src/react/LoadableFieldReader.tsx"],"sourcesContent":[],"mappings":";;;;;;KASK,+CACoB,uDAErB,KAAK,kBAAkB,uBAAuB;AAPE,KAS/C,iBALA,CAAA,uBAMoB,qBANG,EAAA,sBAAA,MAAA,CAAA,GAAA,CAAA,CAAA,SASf,uBATe,CASS,cATT,EASyB,aATzB,CAAA,GAAA;EACH,IAAA,CAAA,EAUV,uBAVU,CAUc,cAVd,EAU8B,aAV9B,CAAA;CAEE,GAAA;EAAlB,IAAA,EAWK,uBAXL,CAW6B,cAX7B,EAW6C,aAX7C,CAAA;CAAyC;AAA9C,iBAcY,mBAdZ,CAAA,uBAeqB,qBAfrB,EAAA,OAAA,EAAA,sBAAA,MAAA,EAAA,eAAA,CAAA,CAAA,KAAA,EAAA;EAAI,aAAA,EAqBW,aArBX,CAsBF,cAtBE,EAuBF,OAvBE,EAwBF,IAxBE,CAwBG,iBAxBH,CAwBqB,cAxBrB,CAAA,EAAA,MAwB4C,aAxB5C,CAAA,CAAA;EAEH,YAAA,CAAA,EAwBc,YAxBG,CAwBU,OAxBV,EAAA,KAAA,CAAA;EACG,qBAAA,CAAA,EAwBG,OAxBH,CAwBW,2BAxBX,CAAA;EAGY,QAAA,EAAA,CAAA,GAAA,EAsBjB,OAtBiB,EAAA,GAsBL,eAtBK;CAAgB,GAuB/C,iBAvB+C,CAuB7B,cAvB6B,EAuBb,aAvBa,CAAA,CAAA,EAwBlD,eAxBkD"}
1
+ {"version":3,"file":"LoadableFieldReader.d.mts","names":[],"sources":["../../src/react/LoadableFieldReader.tsx"],"mappings":";;;;;;KASK,uBAAA,wBACoB,qBAAA,kCAErB,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA;AAAA,KAE7C,iBAAA,wBACoB,qBAAA,6CAGZ,uBAAA,CAAwB,cAAA,EAAgB,aAAA;EAE7C,IAAA,GAAO,uBAAA,CAAwB,cAAA,EAAgB,aAAA;AAAA;EAG/C,IAAA,EAAM,uBAAA,CAAwB,cAAA,EAAgB,aAAA;AAAA;AAAA,iBAGtC,mBAAA,wBACS,qBAAA,yDAAA,CAKvB,KAAA;EACE,aAAA,EAAe,aAAA,CACb,cAAA,EACA,OAAA,EACA,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA;EAEhD,YAAA,GAAe,YAAA,CAAa,OAAA;EAC5B,qBAAA,GAAwB,OAAA,CAAQ,2BAAA;EAChC,QAAA,GAAW,GAAA,EAAK,OAAA,KAAY,eAAA;AAAA,IAC1B,iBAAA,CAAkB,cAAA,EAAgB,aAAA,IACrC,eAAA"}
@@ -1,6 +1,6 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.js');
2
- const require_useResult = require('./useResult.js');
3
- const require_useClientSideDefer = require('../loadable-hooks/useClientSideDefer.js');
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ const require_useResult = require('./useResult.cjs');
3
+ const require_useClientSideDefer = require('../loadable-hooks/useClientSideDefer.cjs');
4
4
  let react = require("react");
5
5
  react = require_rolldown_runtime.__toESM(react);
6
6
 
@@ -1,7 +1,7 @@
1
- import { FetchOptions } from "../core/check.js";
2
- import { LoadableField } from "../core/reader.js";
3
- import { NetworkRequestReaderOptions } from "../core/read.js";
4
- import { ExtractParameters, UnknownTReadFromStore } from "../core/FragmentReference.js";
1
+ import { FetchOptions } from "../core/check.cjs";
2
+ import { LoadableField } from "../core/reader.cjs";
3
+ import { NetworkRequestReaderOptions } from "../core/read.cjs";
4
+ import { ExtractParameters, UnknownTReadFromStore } from "../core/FragmentReference.cjs";
5
5
  import * as React$1 from "react";
6
6
 
7
7
  //#region src/react/LoadableFieldRenderer.d.ts
@@ -19,4 +19,4 @@ declare function LoadableFieldRenderer<TReadFromStore extends UnknownTReadFromSt
19
19
  } & MaybeRequiredArgs<TReadFromStore, TProvidedArgs>): TChildrenResult;
20
20
  //#endregion
21
21
  export { LoadableFieldRenderer };
22
- //# sourceMappingURL=LoadableFieldRenderer.d.ts.map
22
+ //# sourceMappingURL=LoadableFieldRenderer.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadableFieldRenderer.d.cts","names":[],"sources":["../../src/react/LoadableFieldRenderer.tsx"],"mappings":";;;;;;;KASK,uBAAA,wBACoB,qBAAA,kCAErB,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA;AAAA,KAE7C,iBAAA,wBACoB,qBAAA,6CAGZ,uBAAA,CAAwB,cAAA,EAAgB,aAAA;EAE7C,IAAA,GAAO,uBAAA,CAAwB,cAAA,EAAgB,aAAA;AAAA;EAG/C,IAAA,EAAM,uBAAA,CAAwB,cAAA,EAAgB,aAAA;AAAA;AAAA,iBAGtC,qBAAA,wBACS,qBAAA,wDAAA,CAKvB,KAAA;EACE,aAAA,EAAe,aAAA,CACb,cAAA,EACA,OAAA,CAAM,EAAA,CAAG,MAAA,GACT,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA;EAEhD,YAAA,GAAe,YAAA,CAAa,OAAA,CAAM,EAAA,CAAG,MAAA;EACrC,qBAAA,GAAwB,OAAA,CAAQ,2BAAA;EAChC,eAAA,EAAiB,IAAA,CAAK,MAAA,QAAc,GAAA,CAAI,mBAAA;AAAA,IACtC,iBAAA,CAAkB,cAAA,EAAgB,aAAA,IACrC,eAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"LoadableFieldRenderer.d.mts","names":[],"sources":["../../src/react/LoadableFieldRenderer.tsx"],"sourcesContent":[],"mappings":";;;;;;;KASK,+CACoB,uDAErB,KAAK,kBAAkB,uBAAuB;AAPE,KAS/C,iBALA,CAAA,uBAMoB,qBANG,EAAA,sBAAA,MAAA,CAAA,GAAA,CAAA,CAAA,SASf,uBATe,CASS,cATT,EASyB,aATzB,CAAA,GAAA;EACH,IAAA,CAAA,EAUV,uBAVU,CAUc,cAVd,EAU8B,aAV9B,CAAA;CAEE,GAAA;EAAlB,IAAA,EAWK,uBAXL,CAW6B,cAX7B,EAW6C,aAX7C,CAAA;CAAyC;AAA9C,iBAcY,qBAdZ,CAAA,uBAeqB,qBAfrB,EAAA,sBAAA,MAAA,EAAA,eAAA,EAAA,MAAA,CAAA,CAAA,KAAA,EAAA;EAAI,aAAA,EAqBW,aArBX,CAsBF,cAtBE,EAuBF,OAAA,CAAM,EAvBJ,CAuBO,MAvBP,CAAA,EAwBF,IAxBE,CAwBG,iBAxBH,CAwBqB,cAxBrB,CAAA,EAAA,MAwB4C,aAxB5C,CAAA,CAAA;EAEH,YAAA,CAAA,EAwBc,YAxBG,CAwBU,OAAA,CAAM,EAxBhB,CAwBmB,MAxBnB,CAAA,EAAA,KAAA,CAAA;EACG,qBAAA,CAAA,EAwBG,OAxBH,CAwBW,2BAxBX,CAAA;EAGY,eAAA,EAsBhB,IAtBgB,CAsBX,MAtBW,EAAA,MAsBG,GAAA,CAAI,mBAtBP,CAAA;CAAgB,GAuB/C,iBAvB+C,CAuB7B,cAvB6B,EAuBb,aAvBa,CAAA,CAAA,EAwBlD,eAxBkD"}
1
+ {"version":3,"file":"LoadableFieldRenderer.d.mts","names":[],"sources":["../../src/react/LoadableFieldRenderer.tsx"],"mappings":";;;;;;;KASK,uBAAA,wBACoB,qBAAA,kCAErB,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA;AAAA,KAE7C,iBAAA,wBACoB,qBAAA,6CAGZ,uBAAA,CAAwB,cAAA,EAAgB,aAAA;EAE7C,IAAA,GAAO,uBAAA,CAAwB,cAAA,EAAgB,aAAA;AAAA;EAG/C,IAAA,EAAM,uBAAA,CAAwB,cAAA,EAAgB,aAAA;AAAA;AAAA,iBAGtC,qBAAA,wBACS,qBAAA,wDAAA,CAKvB,KAAA;EACE,aAAA,EAAe,aAAA,CACb,cAAA,EACA,OAAA,CAAM,EAAA,CAAG,MAAA,GACT,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA;EAEhD,YAAA,GAAe,YAAA,CAAa,OAAA,CAAM,EAAA,CAAG,MAAA;EACrC,qBAAA,GAAwB,OAAA,CAAQ,2BAAA;EAChC,eAAA,EAAiB,IAAA,CAAK,MAAA,QAAc,GAAA,CAAI,mBAAA;AAAA,IACtC,iBAAA,CAAkB,cAAA,EAAgB,aAAA,IACrC,eAAA"}
@@ -1,6 +1,5 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.js');
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
2
  let react = require("react");
3
- react = require_rolldown_runtime.__toESM(react);
4
3
 
5
4
  //#region src/react/RenderAfterCommit__DO_NOT_USE.tsx
6
5
  /**
@@ -1,7 +1,6 @@
1
1
  import * as react0 from "react";
2
2
 
3
3
  //#region src/react/RenderAfterCommit__DO_NOT_USE.d.ts
4
-
5
4
  /**
6
5
  * This is a function that will render a component only after it commits.
7
6
  * It should not be used in production. It's useful as a way to debug issues
@@ -15,4 +14,4 @@ declare function RenderAfterCommit__DO_NOT_USE({
15
14
  }): react0.ReactNode;
16
15
  //#endregion
17
16
  export { RenderAfterCommit__DO_NOT_USE };
18
- //# sourceMappingURL=RenderAfterCommit__DO_NOT_USE.d.ts.map
17
+ //# sourceMappingURL=RenderAfterCommit__DO_NOT_USE.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderAfterCommit__DO_NOT_USE.d.cts","names":[],"sources":["../../src/react/RenderAfterCommit__DO_NOT_USE.tsx"],"mappings":";;;;;;AAQA;;;iBAAgB,6BAAA,CAAA;EACd;AAAA;EAEA,QAAA,EAAU,KAAA,CAAM,SAAA;AAAA,IAAS,MAAA,CAC1B,SAAA"}
@@ -1,7 +1,6 @@
1
1
  import * as react0 from "react";
2
2
 
3
3
  //#region src/react/RenderAfterCommit__DO_NOT_USE.d.ts
4
-
5
4
  /**
6
5
  * This is a function that will render a component only after it commits.
7
6
  * It should not be used in production. It's useful as a way to debug issues
@@ -1 +1 @@
1
- {"version":3,"file":"RenderAfterCommit__DO_NOT_USE.d.mts","names":[],"sources":["../../src/react/RenderAfterCommit__DO_NOT_USE.tsx"],"sourcesContent":[],"mappings":";;;;;;;AAQA;;;AAG2B,iBAHX,6BAAA,CAIf;EAAA;CAAA,EAAA;EAAA,QAAA,EADW,KAAA,CAAM,SACjB;IAD0B,MAAA,CAC1B"}
1
+ {"version":3,"file":"RenderAfterCommit__DO_NOT_USE.d.mts","names":[],"sources":["../../src/react/RenderAfterCommit__DO_NOT_USE.tsx"],"mappings":";;;;;;AAQA;;;iBAAgB,6BAAA,CAAA;EACd;AAAA;EAEA,QAAA,EAAU,KAAA,CAAM,SAAA;AAAA,IAAS,MAAA,CAC1B,SAAA"}