@isograph/react 0.5.2 → 0.5.4

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,5 +1,5 @@
1
- const require_IsographEnvironment = require('../core/IsographEnvironment.js');
2
- const require_useReadAndSubscribe = require('./useReadAndSubscribe.js');
1
+ const require_IsographEnvironment = require('../core/IsographEnvironment.cjs');
2
+ const require_useReadAndSubscribe = require('./useReadAndSubscribe.cjs');
3
3
 
4
4
  //#region src/react/createIsographEnvironment.ts
5
5
  function createIsographEnvironment(baseStoreLayerData, networkFunction, missingFieldHandler, logFunction) {
@@ -1,8 +1,8 @@
1
- import { LogFunction } from "../core/logging.js";
2
- import { BaseStoreLayerData, IsographEnvironment, IsographNetworkFunction, MissingFieldHandler } from "../core/IsographEnvironment.js";
1
+ import { LogFunction } from "../core/logging.cjs";
2
+ import { BaseStoreLayerData, IsographEnvironment, IsographNetworkFunction, MissingFieldHandler } from "../core/IsographEnvironment.cjs";
3
3
 
4
4
  //#region src/react/createIsographEnvironment.d.ts
5
5
  declare function createIsographEnvironment(baseStoreLayerData: BaseStoreLayerData, networkFunction: IsographNetworkFunction, missingFieldHandler?: MissingFieldHandler | null, logFunction?: LogFunction | null): IsographEnvironment;
6
6
  //#endregion
7
7
  export { createIsographEnvironment };
8
- //# sourceMappingURL=createIsographEnvironment.d.ts.map
8
+ //# sourceMappingURL=createIsographEnvironment.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createIsographEnvironment.d.cts","names":[],"sources":["../../src/react/createIsographEnvironment.ts"],"mappings":";;;;iBASgB,yBAAA,CACd,kBAAA,EAAoB,kBAAA,EACpB,eAAA,EAAiB,uBAAA,EACjB,mBAAA,GAAsB,mBAAA,SACtB,WAAA,GAAc,WAAA,UAAW,mBAAA"}
@@ -1,6 +1,5 @@
1
1
  import { LogFunction } from "../core/logging.mjs";
2
2
  import { BaseStoreLayerData, IsographEnvironment, IsographNetworkFunction, MissingFieldHandler } from "../core/IsographEnvironment.mjs";
3
- import "../index.mjs";
4
3
 
5
4
  //#region src/react/createIsographEnvironment.d.ts
6
5
  declare function createIsographEnvironment(baseStoreLayerData: BaseStoreLayerData, networkFunction: IsographNetworkFunction, missingFieldHandler?: MissingFieldHandler | null, logFunction?: LogFunction | null): IsographEnvironment;
@@ -1 +1 @@
1
- {"version":3,"file":"createIsographEnvironment.d.mts","names":[],"sources":["../../src/react/createIsographEnvironment.ts"],"sourcesContent":[],"mappings":";;;;;iBASgB,yBAAA,qBACM,qCACH,+CACK,0CACR,qBAAW"}
1
+ {"version":3,"file":"createIsographEnvironment.d.mts","names":[],"sources":["../../src/react/createIsographEnvironment.ts"],"mappings":";;;;iBASgB,yBAAA,CACd,kBAAA,EAAoB,kBAAA,EACpB,eAAA,EAAiB,uBAAA,EACjB,mBAAA,GAAsB,mBAAA,SACtB,WAAA,GAAc,WAAA,UAAW,mBAAA"}
@@ -1,4 +1,4 @@
1
- const require_PromiseWrapper = require('../core/PromiseWrapper.js');
1
+ const require_PromiseWrapper = require('../core/PromiseWrapper.cjs');
2
2
 
3
3
  //#region src/react/maybeUnwrapNetworkRequest.ts
4
4
  function maybeUnwrapNetworkRequest(networkRequest, networkRequestOptions) {
@@ -1,16 +1,15 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.js');
2
- const require_IsographEnvironment = require('../core/IsographEnvironment.js');
3
- const require_makeNetworkRequest = require('../core/makeNetworkRequest.js');
4
- const require_IsographEnvironmentProvider = require('./IsographEnvironmentProvider.js');
5
- let __isograph_react_disposable_state = require("@isograph/react-disposable-state");
6
- __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_IsographEnvironment = require('../core/IsographEnvironment.cjs');
3
+ const require_makeNetworkRequest = require('../core/makeNetworkRequest.cjs');
4
+ const require_IsographEnvironmentProvider = require('./IsographEnvironmentProvider.cjs');
5
+ let _isograph_react_disposable_state = require("@isograph/react-disposable-state");
7
6
 
8
7
  //#region src/react/useImperativeReference.ts
9
8
  function useImperativeReference(entrypoint) {
10
- const { state, setState } = (0, __isograph_react_disposable_state.useUpdatableDisposableState)();
9
+ const { state, setState } = (0, _isograph_react_disposable_state.useUpdatableDisposableState)();
11
10
  const environment = require_IsographEnvironmentProvider.useIsographEnvironment();
12
11
  return {
13
- fragmentReference: state !== __isograph_react_disposable_state.UNASSIGNED_STATE ? state : null,
12
+ fragmentReference: state !== _isograph_react_disposable_state.UNASSIGNED_STATE ? state : null,
14
13
  loadFragmentReference: (variables, fetchOptions) => {
15
14
  const { fieldName, readerArtifactKind, readerWithRefetchQueries } = require_IsographEnvironment.getOrLoadReaderWithRefetchQueries(environment, entrypoint.readerWithRefetchQueries);
16
15
  const [networkRequest, disposeNetworkRequest] = require_makeNetworkRequest.maybeMakeNetworkRequest(environment, entrypoint, variables, readerWithRefetchQueries, fetchOptions ?? null);
@@ -1,10 +1,9 @@
1
- import { FetchOptions, RequiredFetchOptions } from "../core/check.js";
2
- import { ExtractParameters, FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.js";
3
- import { NetworkResponseObject } from "../core/cache.js";
4
- import { IsographEntrypoint, NormalizationAst, NormalizationAstLoader } from "../core/entrypoint.js";
1
+ import { FetchOptions, RequiredFetchOptions } from "../core/check.cjs";
2
+ import { ExtractParameters, FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.cjs";
3
+ import { NetworkResponseObject } from "../core/cache.cjs";
4
+ import { IsographEntrypoint, NormalizationAst, NormalizationAstLoader } from "../core/entrypoint.cjs";
5
5
 
6
6
  //#region src/react/useImperativeReference.d.ts
7
-
8
7
  type UseImperativeReferenceResult<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader, TRawResponseType> = {
9
8
  fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue> | null;
10
9
  loadFragmentReference: (variables: ExtractParameters<TReadFromStore>, ...[fetchOptions]: NormalizationAstLoader extends TNormalizationAst ? [fetchOptions: RequiredFetchOptions<TClientFieldValue>] : [fetchOptions?: FetchOptions<TClientFieldValue, TRawResponseType>]) => void;
@@ -12,4 +11,4 @@ type UseImperativeReferenceResult<TReadFromStore extends UnknownTReadFromStore,
12
11
  declare function useImperativeReference<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader, TRawResponseType extends NetworkResponseObject>(entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst, TRawResponseType>): UseImperativeReferenceResult<TReadFromStore, TClientFieldValue, TNormalizationAst, TRawResponseType>;
13
12
  //#endregion
14
13
  export { UseImperativeReferenceResult, useImperativeReference };
15
- //# sourceMappingURL=useImperativeReference.d.ts.map
14
+ //# sourceMappingURL=useImperativeReference.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useImperativeReference.d.cts","names":[],"sources":["../../src/react/useImperativeReference.ts"],"mappings":";;;;;;KAwBY,4BAAA,wBACa,qBAAA,+CAEG,gBAAA,GAAmB,sBAAA;EAG7C,iBAAA,EAAmB,iBAAA,CACjB,cAAA,EACA,iBAAA;EAEF,qBAAA,GACE,SAAA,EAAW,iBAAA,CAAkB,cAAA,OACzB,YAAA,GAAe,sBAAA,SAA+B,iBAAA,IAC7C,YAAA,EAAc,oBAAA,CAAqB,iBAAA,MACnC,YAAA,GAAe,YAAA,CAAa,iBAAA,EAAmB,gBAAA;AAAA;AAAA,iBAIxC,sBAAA,wBACS,qBAAA,+CAEG,gBAAA,GAAmB,sBAAA,2BACpB,qBAAA,CAAA,CAEzB,UAAA,EAAY,kBAAA,CACV,cAAA,EACA,iBAAA,EACA,iBAAA,EACA,gBAAA,IAED,4BAAA,CACD,cAAA,EACA,iBAAA,EACA,iBAAA,EACA,gBAAA"}
@@ -4,7 +4,6 @@ import { NetworkResponseObject } from "../core/cache.mjs";
4
4
  import { IsographEntrypoint, NormalizationAst, NormalizationAstLoader } from "../core/entrypoint.mjs";
5
5
 
6
6
  //#region src/react/useImperativeReference.d.ts
7
-
8
7
  type UseImperativeReferenceResult<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader, TRawResponseType> = {
9
8
  fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue> | null;
10
9
  loadFragmentReference: (variables: ExtractParameters<TReadFromStore>, ...[fetchOptions]: NormalizationAstLoader extends TNormalizationAst ? [fetchOptions: RequiredFetchOptions<TClientFieldValue>] : [fetchOptions?: FetchOptions<TClientFieldValue, TRawResponseType>]) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useImperativeReference.d.mts","names":[],"sources":["../../src/react/useImperativeReference.ts"],"sourcesContent":[],"mappings":";;;;;;;AAyByB,KADb,4BACa,CAAA,uBAAA,qBAAA,EAAA,iBAAA,EAAA,0BAEG,gBAFH,GAEsB,sBAFtB,EAAA,gBAAA,CAAA,GAAA;EAEG,iBAAA,EAGP,iBAHO,CAIxB,cAJwB,EAKxB,iBALwB,CAAA,GAAA,IAAA;EAAmB,qBAAA,EAAA,CAAA,SAAA,EAQhC,iBARgC,CAQd,cARc,CAAA,EAAA,GAAA,CAAA,YAAA,CAAA,EASxB,sBATwB,SASO,iBATP,GAAA,CAAA,YAAA,EAUxB,oBAVwB,CAUH,iBAVG,CAAA,CAAA,GAAA,CAAA,YAAA,GAWvB,YAXuB,CAWV,iBAXU,EAWS,gBAXT,CAAA,CAAA,EAAA,GAAA,IAAA;CAI3C;AACA,iBAUY,sBAVZ,CAAA,uBAWqB,qBAXrB,EAAA,iBAAA,EAAA,0BAawB,gBAbxB,GAa2C,sBAb3C,EAAA,yBAcuB,qBAdvB,CAAA,CAAA,UAAA,EAgBU,kBAhBV,CAiBA,cAjBA,EAkBA,iBAlBA,EAmBA,iBAnBA,EAoBA,gBApBA,CAAA,CAAA,EAsBD,4BAtBC,CAuBF,cAvBE,EAwBF,iBAxBE,EAyBF,iBAzBE,EA0BF,gBA1BE,CAAA"}
1
+ {"version":3,"file":"useImperativeReference.d.mts","names":[],"sources":["../../src/react/useImperativeReference.ts"],"mappings":";;;;;;KAwBY,4BAAA,wBACa,qBAAA,+CAEG,gBAAA,GAAmB,sBAAA;EAG7C,iBAAA,EAAmB,iBAAA,CACjB,cAAA,EACA,iBAAA;EAEF,qBAAA,GACE,SAAA,EAAW,iBAAA,CAAkB,cAAA,OACzB,YAAA,GAAe,sBAAA,SAA+B,iBAAA,IAC7C,YAAA,EAAc,oBAAA,CAAqB,iBAAA,MACnC,YAAA,GAAe,YAAA,CAAa,iBAAA,EAAmB,gBAAA;AAAA;AAAA,iBAIxC,sBAAA,wBACS,qBAAA,+CAEG,gBAAA,GAAmB,sBAAA,2BACpB,qBAAA,CAAA,CAEzB,UAAA,EAAY,kBAAA,CACV,cAAA,EACA,iBAAA,EACA,iBAAA,EACA,gBAAA,IAED,4BAAA,CACD,cAAA,EACA,iBAAA,EACA,iBAAA,EACA,gBAAA"}
@@ -0,0 +1,18 @@
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ const require_logging = require('../core/logging.cjs');
3
+ const require_IsographEnvironmentProvider = require('./IsographEnvironmentProvider.cjs');
4
+ const require_getOrCreateCacheForArtifact = require('../core/getOrCreateCacheForArtifact.cjs');
5
+ let _isograph_react_disposable_state = require("@isograph/react-disposable-state");
6
+
7
+ //#region src/react/useLazyReference.ts
8
+ function useLazyReference(entrypoint, variables, ...[fetchOptions]) {
9
+ const environment = require_IsographEnvironmentProvider.useIsographEnvironment();
10
+ if (entrypoint?.kind !== "Entrypoint") require_logging.logMessage(environment, () => ({
11
+ kind: "NonEntrypointReceived",
12
+ entrypoint
13
+ }));
14
+ return { fragmentReference: (0, _isograph_react_disposable_state.useLazyDisposableState)(require_getOrCreateCacheForArtifact.getOrCreateCacheForArtifact(environment, entrypoint, variables, fetchOptions)).state };
15
+ }
16
+
17
+ //#endregion
18
+ exports.useLazyReference = useLazyReference;
@@ -1,13 +1,12 @@
1
- import { FetchOptions, RequiredFetchOptions } from "../core/check.js";
2
- import { ExtractParameters, FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.js";
3
- import { NetworkResponseObject } from "../core/cache.js";
4
- import { IsographEntrypoint, NormalizationAst, NormalizationAstLoader } from "../core/entrypoint.js";
1
+ import { FetchOptions, RequiredFetchOptions } from "../core/check.cjs";
2
+ import { ExtractParameters, FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.cjs";
3
+ import { NetworkResponseObject } from "../core/cache.cjs";
4
+ import { IsographEntrypoint, NormalizationAst, NormalizationAstLoader } from "../core/entrypoint.cjs";
5
5
 
6
6
  //#region src/react/useLazyReference.d.ts
7
-
8
7
  declare function useLazyReference<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader, TRawResponseType extends NetworkResponseObject>(entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst, TRawResponseType>, variables: ExtractParameters<TReadFromStore>, ...[fetchOptions]: TNormalizationAst extends NormalizationAstLoader ? [fetchOptions: RequiredFetchOptions<TClientFieldValue>] : [fetchOptions?: FetchOptions<TClientFieldValue, TRawResponseType>]): NormalizationAst | NormalizationAstLoader extends TNormalizationAst ? unknown : {
9
8
  fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue>;
10
9
  };
11
10
  //#endregion
12
11
  export { useLazyReference };
13
- //# sourceMappingURL=useLazyReference.d.ts.map
12
+ //# sourceMappingURL=useLazyReference.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLazyReference.d.cts","names":[],"sources":["../../src/react/useLazyReference.ts"],"mappings":";;;;;;iBAkBgB,gBAAA,wBACS,qBAAA,+CAEG,gBAAA,GAAmB,sBAAA,2BACpB,qBAAA,CAAA,CAEzB,UAAA,EAAY,kBAAA,CACV,cAAA,EACA,iBAAA,EACA,iBAAA,EACA,gBAAA,GAEF,SAAA,EAAW,iBAAA,CAAkB,cAAA,OACzB,YAAA,GAAe,iBAAA,SAA0B,sBAAA,IACxC,YAAA,EAAc,oBAAA,CAAqB,iBAAA,MACnC,YAAA,GAAe,YAAA,CAAa,iBAAA,EAAmB,gBAAA,KACnD,gBAAA,GAAmB,sBAAA,SAA+B,iBAAA;EAG/C,iBAAA,EAAmB,iBAAA,CAAkB,cAAA,EAAgB,iBAAA;AAAA"}
@@ -4,7 +4,6 @@ import { NetworkResponseObject } from "../core/cache.mjs";
4
4
  import { IsographEntrypoint, NormalizationAst, NormalizationAstLoader } from "../core/entrypoint.mjs";
5
5
 
6
6
  //#region src/react/useLazyReference.d.ts
7
-
8
7
  declare function useLazyReference<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader, TRawResponseType extends NetworkResponseObject>(entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst, TRawResponseType>, variables: ExtractParameters<TReadFromStore>, ...[fetchOptions]: TNormalizationAst extends NormalizationAstLoader ? [fetchOptions: RequiredFetchOptions<TClientFieldValue>] : [fetchOptions?: FetchOptions<TClientFieldValue, TRawResponseType>]): NormalizationAst | NormalizationAstLoader extends TNormalizationAst ? unknown : {
9
8
  fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue>;
10
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useLazyReference.d.mts","names":[],"sources":["../../src/react/useLazyReference.ts"],"sourcesContent":[],"mappings":";;;;;;;AAmByB,iBADT,gBACS,CAAA,uBAAA,qBAAA,EAAA,iBAAA,EAAA,0BAEG,gBAFH,GAEsB,sBAFtB,EAAA,yBAGE,qBAHF,CAAA,CAAA,UAAA,EAKX,kBALW,CAMrB,cANqB,EAOrB,iBAPqB,EAQrB,iBARqB,EASrB,gBATqB,CAAA,EAAA,SAAA,EAWZ,iBAXY,CAWM,cAXN,CAAA,EAAA,GAAA,CAAA,YAAA,CAAA,EAYJ,iBAZI,SAYsB,sBAZtB,GAAA,CAAA,YAAA,EAaJ,oBAbI,CAaiB,iBAbjB,CAAA,CAAA,GAAA,CAAA,YAAA,GAcH,YAdG,CAcU,iBAdV,EAc6B,gBAd7B,CAAA,CAAA,CAAA,EAetB,gBAfsB,GAeH,sBAfG,SAe4B,iBAf5B,GAAA,OAAA,GAAA;EAEG,iBAAA,EAgBH,iBAhBG,CAgBe,cAhBf,EAgB+B,iBAhB/B,CAAA;CAAmB"}
1
+ {"version":3,"file":"useLazyReference.d.mts","names":[],"sources":["../../src/react/useLazyReference.ts"],"mappings":";;;;;;iBAkBgB,gBAAA,wBACS,qBAAA,+CAEG,gBAAA,GAAmB,sBAAA,2BACpB,qBAAA,CAAA,CAEzB,UAAA,EAAY,kBAAA,CACV,cAAA,EACA,iBAAA,EACA,iBAAA,EACA,gBAAA,GAEF,SAAA,EAAW,iBAAA,CAAkB,cAAA,OACzB,YAAA,GAAe,iBAAA,SAA0B,sBAAA,IACxC,YAAA,EAAc,oBAAA,CAAqB,iBAAA,MACnC,YAAA,GAAe,YAAA,CAAa,iBAAA,EAAmB,gBAAA,KACnD,gBAAA,GAAmB,sBAAA,SAA+B,iBAAA;EAG/C,iBAAA,EAAmB,iBAAA,CAAkB,cAAA,EAAgB,iBAAA;AAAA"}
@@ -1,14 +1,13 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.js');
2
- const require_PromiseWrapper = require('../core/PromiseWrapper.js');
3
- const require_logging = require('../core/logging.js');
4
- const require_FragmentReference = require('../core/FragmentReference.js');
5
- const require_read = require('../core/read.js');
6
- const require_subscribe = require('../core/subscribe.js');
7
- const require_IsographEnvironmentProvider = require('./IsographEnvironmentProvider.js');
8
- const require_maybeUnwrapNetworkRequest = require('./maybeUnwrapNetworkRequest.js');
9
- const require_useRerenderOnChange = require('./useRerenderOnChange.js');
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ const require_PromiseWrapper = require('../core/PromiseWrapper.cjs');
3
+ const require_logging = require('../core/logging.cjs');
4
+ const require_FragmentReference = require('../core/FragmentReference.cjs');
5
+ const require_read = require('../core/read.cjs');
6
+ const require_subscribe = require('../core/subscribe.cjs');
7
+ const require_IsographEnvironmentProvider = require('./IsographEnvironmentProvider.cjs');
8
+ const require_maybeUnwrapNetworkRequest = require('./maybeUnwrapNetworkRequest.cjs');
9
+ const require_useRerenderOnChange = require('./useRerenderOnChange.cjs');
10
10
  let react = require("react");
11
- react = require_rolldown_runtime.__toESM(react);
12
11
 
13
12
  //#region src/react/useReadAndSubscribe.ts
14
13
  /**
@@ -1,9 +1,8 @@
1
- import { ReaderAst } from "../core/reader.js";
2
- import { NetworkRequestReaderOptions, WithEncounteredRecords } from "../core/read.js";
3
- import { ExtractData, FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.js";
1
+ import { ReaderAst } from "../core/reader.cjs";
2
+ import { NetworkRequestReaderOptions, WithEncounteredRecords } from "../core/read.cjs";
3
+ import { ExtractData, FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.cjs";
4
4
 
5
5
  //#region src/react/useReadAndSubscribe.d.ts
6
-
7
6
  /**
8
7
  * Read the data from a fragment reference and subscribe to updates.
9
8
  */
@@ -16,4 +15,4 @@ declare function useSubscribeToMultiple<TReadFromStore extends UnknownTReadFromS
16
15
  }>): void;
17
16
  //#endregion
18
17
  export { useReadAndSubscribe, useSubscribeToMultiple };
19
- //# sourceMappingURL=useReadAndSubscribe.d.ts.map
18
+ //# sourceMappingURL=useReadAndSubscribe.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReadAndSubscribe.d.cts","names":[],"sources":["../../src/react/useReadAndSubscribe.ts"],"mappings":";;;;;;AAwBA;;iBAAgB,mBAAA,wBACS,qBAAA,CAAA,CAEvB,iBAAA,EAAmB,iBAAA,CAAkB,cAAA,QACrC,qBAAA,EAAuB,2BAAA,EACvB,SAAA,EAAW,SAAA,CAAU,cAAA,IACpB,WAAA,CAAY,cAAA;AAAA,iBAcC,sBAAA,wBACS,qBAAA,CAAA,CAEvB,KAAA,EAAO,aAAA;EACL,OAAA,EAAS,sBAAA,CAAuB,cAAA;EAChC,QAAA,GAAW,cAAA,EAAgB,sBAAA,CAAuB,cAAA;EAClD,iBAAA,EAAmB,iBAAA,CAAkB,cAAA;EACrC,SAAA,EAAW,SAAA,CAAU,cAAA;AAAA"}
@@ -4,7 +4,6 @@ import "../core/IsographEnvironment.mjs";
4
4
  import { ExtractData, FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.mjs";
5
5
 
6
6
  //#region src/react/useReadAndSubscribe.d.ts
7
-
8
7
  /**
9
8
  * Read the data from a fragment reference and subscribe to updates.
10
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"useReadAndSubscribe.d.mts","names":[],"sources":["../../src/react/useReadAndSubscribe.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AAwBA;AACyB,iBADT,mBACS,CAAA,uBAAA,qBAAA,CAAA,CAAA,iBAAA,EAEJ,iBAFI,CAEc,cAFd,EAAA,GAAA,CAAA,EAAA,qBAAA,EAGA,2BAHA,EAAA,SAAA,EAIZ,SAJY,CAIF,cAJE,CAAA,CAAA,EAKtB,WALsB,CAKV,cALU,CAAA;AAEc,iBAiBvB,sBAjBuB,CAAA,uBAkBd,qBAlBc,CAAA,CAAA,KAAA,EAoB9B,aApB8B,CAAA;EAAlB,OAAA,EAqBR,sBArBQ,CAqBe,cArBf,CAAA;EACI,QAAA,EAAA,CAAA,cAAA,EAqBM,sBArBN,CAqB6B,cArB7B,CAAA,EAAA,GAAA,IAAA;EACF,iBAAA,EAqBA,iBArBA,CAqBkB,cArBlB,EAAA,GAAA,CAAA;EAAV,SAAA,EAsBE,SAtBF,CAsBY,cAtBZ,CAAA;CACE,CAAA,CAAA,EAAA,IAAA"}
1
+ {"version":3,"file":"useReadAndSubscribe.d.mts","names":[],"sources":["../../src/react/useReadAndSubscribe.ts"],"mappings":";;;;;;;;AAwBA;iBAAgB,mBAAA,wBACS,qBAAA,CAAA,CAEvB,iBAAA,EAAmB,iBAAA,CAAkB,cAAA,QACrC,qBAAA,EAAuB,2BAAA,EACvB,SAAA,EAAW,SAAA,CAAU,cAAA,IACpB,WAAA,CAAY,cAAA;AAAA,iBAcC,sBAAA,wBACS,qBAAA,CAAA,CAEvB,KAAA,EAAO,aAAA;EACL,OAAA,EAAS,sBAAA,CAAuB,cAAA;EAChC,QAAA,GAAW,cAAA,EAAgB,sBAAA,CAAuB,cAAA;EAClD,iBAAA,EAAmB,iBAAA,CAAkB,cAAA;EACrC,SAAA,EAAW,SAAA,CAAU,cAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useReadAndSubscribe.mjs","names":["componentFunction: IsographComponentFunction"],"sources":["../../src/react/useReadAndSubscribe.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport {\n type ExtractData,\n type FragmentReference,\n stableIdForFragmentReference,\n type UnknownTReadFromStore,\n} from '../core/FragmentReference';\nimport type { IsographComponentFunction } from '../core/IsographEnvironment';\nimport { logMessage } from '../core/logging';\nimport { readPromise } from '../core/PromiseWrapper';\nimport {\n type NetworkRequestReaderOptions,\n readButDoNotEvaluate,\n type WithEncounteredRecords,\n} from '../core/read';\nimport type { ReaderAst } from '../core/reader';\nimport { subscribe } from '../core/subscribe';\nimport { useIsographEnvironment } from './IsographEnvironmentProvider';\nimport { maybeUnwrapNetworkRequest } from './maybeUnwrapNetworkRequest';\nimport { useRerenderOnChange } from './useRerenderOnChange';\n\n/**\n * Read the data from a fragment reference and subscribe to updates.\n */\nexport function useReadAndSubscribe<\n TReadFromStore extends UnknownTReadFromStore,\n>(\n fragmentReference: FragmentReference<TReadFromStore, any>,\n networkRequestOptions: NetworkRequestReaderOptions,\n readerAst: ReaderAst<TReadFromStore>,\n): ExtractData<TReadFromStore> {\n const environment = useIsographEnvironment();\n const [readOutDataAndRecords, setReadOutDataAndRecords] = useState(() =>\n readButDoNotEvaluate(environment, fragmentReference, networkRequestOptions),\n );\n useRerenderOnChange(\n readOutDataAndRecords,\n fragmentReference,\n setReadOutDataAndRecords,\n readerAst,\n );\n return readOutDataAndRecords.item;\n}\n\nexport function useSubscribeToMultiple<\n TReadFromStore extends UnknownTReadFromStore,\n>(\n items: ReadonlyArray<{\n records: WithEncounteredRecords<TReadFromStore>;\n callback: (updatedRecords: WithEncounteredRecords<TReadFromStore>) => void;\n fragmentReference: FragmentReference<TReadFromStore, any>;\n readerAst: ReaderAst<TReadFromStore>;\n }>,\n) {\n const environment = useIsographEnvironment();\n useEffect(\n () => {\n const cleanupFns = items.map(\n ({ records, callback, fragmentReference, readerAst }) => {\n return subscribe(\n environment,\n records,\n fragmentReference,\n callback,\n readerAst,\n );\n },\n );\n return () => {\n cleanupFns.forEach((loader) => {\n loader();\n });\n };\n },\n // By analogy to useReadAndSubscribe, we can have an empty dependency array?\n // Maybe callback has to be depended on. I don't know!\n // TODO find out\n [\n items\n .map(({ fragmentReference }) => {\n stableIdForFragmentReference(fragmentReference);\n })\n .join('.'),\n ],\n );\n}\n\nexport const componentFunction: IsographComponentFunction = (\n environment,\n fragmentReference,\n networkRequestOptions,\n startUpdate,\n) => {\n function Component(additionalRuntimeProps: { [key: string]: any }) {\n maybeUnwrapNetworkRequest(\n fragmentReference.networkRequest,\n networkRequestOptions,\n );\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n const data = useReadAndSubscribe(\n fragmentReference,\n networkRequestOptions,\n readerWithRefetchQueries.readerArtifact.readerAst,\n );\n\n logMessage(environment, () => ({\n kind: 'ComponentRerendered',\n componentName: fragmentReference.fieldName,\n rootLink: fragmentReference.root,\n }));\n\n return readerWithRefetchQueries.readerArtifact.resolver(\n // @ts-expect-error\n {\n data,\n parameters: fragmentReference.variables,\n startUpdate: readerWithRefetchQueries.readerArtifact.hasUpdatable\n ? startUpdate\n : undefined,\n },\n additionalRuntimeProps,\n );\n }\n const idString = `(type: ${fragmentReference.root.__typename}, id: ${fragmentReference.root.__link})`;\n Component.displayName = `${fragmentReference.fieldName} ${idString} @component`;\n return Component;\n};\n"],"mappings":";;;;;;;;;;;;;;AAwBA,SAAgB,oBAGd,mBACA,uBACA,WAC6B;CAC7B,MAAM,cAAc,wBAAwB;CAC5C,MAAM,CAAC,uBAAuB,4BAA4B,eACxD,qBAAqB,aAAa,mBAAmB,sBAAsB,CAC5E;AACD,qBACE,uBACA,mBACA,0BACA,UACD;AACD,QAAO,sBAAsB;;AAG/B,SAAgB,uBAGd,OAMA;CACA,MAAM,cAAc,wBAAwB;AAC5C,iBACQ;EACJ,MAAM,aAAa,MAAM,KACtB,EAAE,SAAS,UAAU,mBAAmB,gBAAgB;AACvD,UAAO,UACL,aACA,SACA,mBACA,UACA,UACD;IAEJ;AACD,eAAa;AACX,cAAW,SAAS,WAAW;AAC7B,YAAQ;KACR;;IAMN,CACE,MACG,KAAK,EAAE,wBAAwB;AAC9B,+BAA6B,kBAAkB;GAC/C,CACD,KAAK,IAAI,CACb,CACF;;AAGH,MAAaA,qBACX,aACA,mBACA,uBACA,gBACG;CACH,SAAS,UAAU,wBAAgD;AACjE,4BACE,kBAAkB,gBAClB,sBACD;EACD,MAAM,2BAA2B,YAC/B,kBAAkB,yBACnB;EAED,MAAM,OAAO,oBACX,mBACA,uBACA,yBAAyB,eAAe,UACzC;AAED,aAAW,oBAAoB;GAC7B,MAAM;GACN,eAAe,kBAAkB;GACjC,UAAU,kBAAkB;GAC7B,EAAE;AAEH,SAAO,yBAAyB,eAAe,SAE7C;GACE;GACA,YAAY,kBAAkB;GAC9B,aAAa,yBAAyB,eAAe,eACjD,cACA;GACL,EACD,uBACD;;CAEH,MAAM,WAAW,UAAU,kBAAkB,KAAK,WAAW,QAAQ,kBAAkB,KAAK,OAAO;AACnG,WAAU,cAAc,GAAG,kBAAkB,UAAU,GAAG,SAAS;AACnE,QAAO"}
1
+ {"version":3,"file":"useReadAndSubscribe.mjs","names":[],"sources":["../../src/react/useReadAndSubscribe.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport {\n type ExtractData,\n type FragmentReference,\n stableIdForFragmentReference,\n type UnknownTReadFromStore,\n} from '../core/FragmentReference';\nimport type { IsographComponentFunction } from '../core/IsographEnvironment';\nimport { logMessage } from '../core/logging';\nimport { readPromise } from '../core/PromiseWrapper';\nimport {\n type NetworkRequestReaderOptions,\n readButDoNotEvaluate,\n type WithEncounteredRecords,\n} from '../core/read';\nimport type { ReaderAst } from '../core/reader';\nimport { subscribe } from '../core/subscribe';\nimport { useIsographEnvironment } from './IsographEnvironmentProvider';\nimport { maybeUnwrapNetworkRequest } from './maybeUnwrapNetworkRequest';\nimport { useRerenderOnChange } from './useRerenderOnChange';\n\n/**\n * Read the data from a fragment reference and subscribe to updates.\n */\nexport function useReadAndSubscribe<\n TReadFromStore extends UnknownTReadFromStore,\n>(\n fragmentReference: FragmentReference<TReadFromStore, any>,\n networkRequestOptions: NetworkRequestReaderOptions,\n readerAst: ReaderAst<TReadFromStore>,\n): ExtractData<TReadFromStore> {\n const environment = useIsographEnvironment();\n const [readOutDataAndRecords, setReadOutDataAndRecords] = useState(() =>\n readButDoNotEvaluate(environment, fragmentReference, networkRequestOptions),\n );\n useRerenderOnChange(\n readOutDataAndRecords,\n fragmentReference,\n setReadOutDataAndRecords,\n readerAst,\n );\n return readOutDataAndRecords.item;\n}\n\nexport function useSubscribeToMultiple<\n TReadFromStore extends UnknownTReadFromStore,\n>(\n items: ReadonlyArray<{\n records: WithEncounteredRecords<TReadFromStore>;\n callback: (updatedRecords: WithEncounteredRecords<TReadFromStore>) => void;\n fragmentReference: FragmentReference<TReadFromStore, any>;\n readerAst: ReaderAst<TReadFromStore>;\n }>,\n) {\n const environment = useIsographEnvironment();\n useEffect(\n () => {\n const cleanupFns = items.map(\n ({ records, callback, fragmentReference, readerAst }) => {\n return subscribe(\n environment,\n records,\n fragmentReference,\n callback,\n readerAst,\n );\n },\n );\n return () => {\n cleanupFns.forEach((loader) => {\n loader();\n });\n };\n },\n // By analogy to useReadAndSubscribe, we can have an empty dependency array?\n // Maybe callback has to be depended on. I don't know!\n // TODO find out\n [\n items\n .map(({ fragmentReference }) => {\n stableIdForFragmentReference(fragmentReference);\n })\n .join('.'),\n ],\n );\n}\n\nexport const componentFunction: IsographComponentFunction = (\n environment,\n fragmentReference,\n networkRequestOptions,\n startUpdate,\n) => {\n function Component(additionalRuntimeProps: { [key: string]: any }) {\n maybeUnwrapNetworkRequest(\n fragmentReference.networkRequest,\n networkRequestOptions,\n );\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n const data = useReadAndSubscribe(\n fragmentReference,\n networkRequestOptions,\n readerWithRefetchQueries.readerArtifact.readerAst,\n );\n\n logMessage(environment, () => ({\n kind: 'ComponentRerendered',\n componentName: fragmentReference.fieldName,\n rootLink: fragmentReference.root,\n }));\n\n return readerWithRefetchQueries.readerArtifact.resolver(\n // @ts-expect-error\n {\n data,\n parameters: fragmentReference.variables,\n startUpdate: readerWithRefetchQueries.readerArtifact.hasUpdatable\n ? startUpdate\n : undefined,\n },\n additionalRuntimeProps,\n );\n }\n const idString = `(type: ${fragmentReference.root.__typename}, id: ${fragmentReference.root.__link})`;\n Component.displayName = `${fragmentReference.fieldName} ${idString} @component`;\n return Component;\n};\n"],"mappings":";;;;;;;;;;;;;;AAwBA,SAAgB,oBAGd,mBACA,uBACA,WAC6B;CAC7B,MAAM,cAAc,wBAAwB;CAC5C,MAAM,CAAC,uBAAuB,4BAA4B,eACxD,qBAAqB,aAAa,mBAAmB,sBAAsB,CAC5E;AACD,qBACE,uBACA,mBACA,0BACA,UACD;AACD,QAAO,sBAAsB;;AAG/B,SAAgB,uBAGd,OAMA;CACA,MAAM,cAAc,wBAAwB;AAC5C,iBACQ;EACJ,MAAM,aAAa,MAAM,KACtB,EAAE,SAAS,UAAU,mBAAmB,gBAAgB;AACvD,UAAO,UACL,aACA,SACA,mBACA,UACA,UACD;IAEJ;AACD,eAAa;AACX,cAAW,SAAS,WAAW;AAC7B,YAAQ;KACR;;IAMN,CACE,MACG,KAAK,EAAE,wBAAwB;AAC9B,+BAA6B,kBAAkB;GAC/C,CACD,KAAK,IAAI,CACb,CACF;;AAGH,MAAa,qBACX,aACA,mBACA,uBACA,gBACG;CACH,SAAS,UAAU,wBAAgD;AACjE,4BACE,kBAAkB,gBAClB,sBACD;EACD,MAAM,2BAA2B,YAC/B,kBAAkB,yBACnB;EAED,MAAM,OAAO,oBACX,mBACA,uBACA,yBAAyB,eAAe,UACzC;AAED,aAAW,oBAAoB;GAC7B,MAAM;GACN,eAAe,kBAAkB;GACjC,UAAU,kBAAkB;GAC7B,EAAE;AAEH,SAAO,yBAAyB,eAAe,SAE7C;GACE;GACA,YAAY,kBAAkB;GAC9B,aAAa,yBAAyB,eAAe,eACjD,cACA;GACL,EACD,uBACD;;CAEH,MAAM,WAAW,UAAU,kBAAkB,KAAK,WAAW,QAAQ,kBAAkB,KAAK,OAAO;AACnG,WAAU,cAAc,GAAG,kBAAkB,UAAU,GAAG,SAAS;AACnE,QAAO"}
@@ -1,8 +1,7 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.js');
2
- const require_subscribe = require('../core/subscribe.js');
3
- const require_IsographEnvironmentProvider = require('./IsographEnvironmentProvider.js');
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ const require_subscribe = require('../core/subscribe.cjs');
3
+ const require_IsographEnvironmentProvider = require('./IsographEnvironmentProvider.cjs');
4
4
  let react = require("react");
5
- react = require_rolldown_runtime.__toESM(react);
6
5
 
7
6
  //#region src/react/useRerenderOnChange.ts
8
7
  function useRerenderOnChange(encounteredDataAndRecords, fragmentReference, setEncounteredDataAndRecords, readerAst) {
@@ -1,6 +1,6 @@
1
- import { ReaderAst } from "../core/reader.js";
2
- import { WithEncounteredRecords } from "../core/read.js";
3
- import { FragmentReference } from "../core/FragmentReference.js";
1
+ import { ReaderAst } from "../core/reader.cjs";
2
+ import { WithEncounteredRecords } from "../core/read.cjs";
3
+ import { FragmentReference } from "../core/FragmentReference.cjs";
4
4
 
5
5
  //#region src/react/useRerenderOnChange.d.ts
6
6
  declare function useRerenderOnChange<TReadFromStore extends {
@@ -9,4 +9,4 @@ declare function useRerenderOnChange<TReadFromStore extends {
9
9
  }>(encounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>, fragmentReference: FragmentReference<any, any>, setEncounteredDataAndRecords: (data: WithEncounteredRecords<TReadFromStore>) => void, readerAst: ReaderAst<TReadFromStore>): void;
10
10
  //#endregion
11
11
  export { useRerenderOnChange };
12
- //# sourceMappingURL=useRerenderOnChange.d.ts.map
12
+ //# sourceMappingURL=useRerenderOnChange.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRerenderOnChange.d.cts","names":[],"sources":["../../src/react/useRerenderOnChange.ts"],"mappings":";;;;;iBASgB,mBAAA;EACW,UAAA;EAAoB,IAAA;AAAA,EAAA,CAE7C,yBAAA,EAA2B,sBAAA,CAAuB,cAAA,GAClD,iBAAA,EAAmB,iBAAA,YACnB,4BAAA,GACE,IAAA,EAAM,sBAAA,CAAuB,cAAA,YAE/B,SAAA,EAAW,SAAA,CAAU,cAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useRerenderOnChange.d.mts","names":[],"sources":["../../src/react/useRerenderOnChange.ts"],"sourcesContent":[],"mappings":";;;;;iBASgB;;EAAA,IAAA,EAAA,MAAA;CAGoC,CAAA,CAAA,yBAAA,EAAvB,sBAAuB,CAAA,cAAA,CAAA,EAAA,iBAAA,EAC/B,iBAD+B,CAAA,GAAA,EAAA,GAAA,CAAA,EAAA,4BAAA,EAAA,CAAA,IAAA,EAG1C,sBAH0C,CAGnB,cAHmB,CAAA,EAAA,GAAA,IAAA,EAAA,SAAA,EAKvC,SALuC,CAK7B,cAL6B,CAAA,CAAA,EAAA,IAAA"}
1
+ {"version":3,"file":"useRerenderOnChange.d.mts","names":[],"sources":["../../src/react/useRerenderOnChange.ts"],"mappings":";;;;;iBASgB,mBAAA;EACW,UAAA;EAAoB,IAAA;AAAA,EAAA,CAE7C,yBAAA,EAA2B,sBAAA,CAAuB,cAAA,GAClD,iBAAA,EAAmB,iBAAA,YACnB,4BAAA,GACE,IAAA,EAAM,sBAAA,CAAuB,cAAA,YAE/B,SAAA,EAAW,SAAA,CAAU,cAAA"}
@@ -1,10 +1,10 @@
1
- const require_PromiseWrapper = require('../core/PromiseWrapper.js');
2
- const require_startUpdate = require('../core/startUpdate.js');
3
- const require_componentCache = require('../core/componentCache.js');
4
- const require_read = require('../core/read.js');
5
- const require_IsographEnvironmentProvider = require('./IsographEnvironmentProvider.js');
6
- const require_maybeUnwrapNetworkRequest = require('./maybeUnwrapNetworkRequest.js');
7
- const require_useReadAndSubscribe = require('./useReadAndSubscribe.js');
1
+ const require_PromiseWrapper = require('../core/PromiseWrapper.cjs');
2
+ const require_startUpdate = require('../core/startUpdate.cjs');
3
+ const require_componentCache = require('../core/componentCache.cjs');
4
+ const require_read = require('../core/read.cjs');
5
+ const require_IsographEnvironmentProvider = require('./IsographEnvironmentProvider.cjs');
6
+ const require_maybeUnwrapNetworkRequest = require('./maybeUnwrapNetworkRequest.cjs');
7
+ const require_useReadAndSubscribe = require('./useReadAndSubscribe.cjs');
8
8
 
9
9
  //#region src/react/useResult.ts
10
10
  function useResult(fragmentReference, partialNetworkRequestOptions) {
@@ -1,8 +1,8 @@
1
- import { NetworkRequestReaderOptions } from "../core/read.js";
2
- import { FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.js";
1
+ import { NetworkRequestReaderOptions } from "../core/read.cjs";
2
+ import { FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.cjs";
3
3
 
4
4
  //#region src/react/useResult.d.ts
5
5
  declare function useResult<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue>(fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue>, partialNetworkRequestOptions?: Partial<NetworkRequestReaderOptions> | void): TClientFieldValue;
6
6
  //#endregion
7
7
  export { useResult };
8
- //# sourceMappingURL=useResult.d.ts.map
8
+ //# sourceMappingURL=useResult.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useResult.d.cts","names":[],"sources":["../../src/react/useResult.ts"],"mappings":";;;;iBAegB,SAAA,wBACS,qBAAA,oBAAA,CAGvB,iBAAA,EAAmB,iBAAA,CAAkB,cAAA,EAAgB,iBAAA,GACrD,4BAAA,GAA+B,OAAA,CAAQ,2BAAA,WACtC,iBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useResult.d.mts","names":[],"sources":["../../src/react/useResult.ts"],"sourcesContent":[],"mappings":";;;;iBAegB,iCACS,6DAGJ,kBAAkB,gBAAgB,mDACtB,QAAQ,sCACtC"}
1
+ {"version":3,"file":"useResult.d.mts","names":[],"sources":["../../src/react/useResult.ts"],"mappings":";;;;iBAegB,SAAA,wBACS,qBAAA,oBAAA,CAGvB,iBAAA,EAAmB,iBAAA,CAAkB,cAAA,EAAgB,iBAAA,GACrD,4BAAA,GAA+B,OAAA,CAAQ,2BAAA,WACtC,iBAAA"}
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@isograph/react",
3
- "version": "0.5.2",
3
+ "version": "0.5.4",
4
4
  "description": "Use Isograph with React",
5
5
  "homepage": "https://isograph.dev",
6
- "main": "./dist/index.js",
7
- "types": "./dist/index.d.ts",
6
+ "main": "./dist/index.cjs",
7
+ "types": "./dist/index.d.cts",
8
8
  "author": "Isograph Labs",
9
9
  "license": "MIT",
10
10
  "dependencies": {
11
- "@isograph/disposable-types": "0.5.2",
12
- "@isograph/reference-counted-pointer": "0.5.2",
13
- "@isograph/react-disposable-state": "0.5.2"
11
+ "@isograph/disposable-types": "0.5.4",
12
+ "@isograph/react-disposable-state": "0.5.4",
13
+ "@isograph/reference-counted-pointer": "0.5.4"
14
14
  },
15
15
  "peerDependencies": {
16
16
  "react": "^18.0.0 || ^19.0.0"
@@ -32,8 +32,8 @@
32
32
  "module": "./dist/index.mjs",
33
33
  "exports": {
34
34
  ".": {
35
- "import": "./dist/index.mjs",
36
- "require": "./dist/index.js"
35
+ "require": "./dist/index.cjs",
36
+ "import": "./dist/index.mjs"
37
37
  },
38
38
  "./package.json": "./package.json"
39
39
  },
@@ -43,7 +43,7 @@
43
43
  "test": "vitest run",
44
44
  "test-watch": "vitest watch",
45
45
  "coverage": "vitest run --coverage",
46
- "tsc": "tsc",
46
+ "tsc": "tsc -b",
47
47
  "tsc-force": "tsc --build --clean && tsc --build --force",
48
48
  "iso": "../../target/debug/isograph_cli --config ./isograph.config.json"
49
49
  }
@@ -1,9 +1,15 @@
1
1
  import type { ParentCache } from '@isograph/react-disposable-state';
2
2
  import type { Brand } from './brand';
3
+ import type {
4
+ LinkedParentRecordKey,
5
+ ParentRecordKey,
6
+ ScalarParentRecordKey,
7
+ } from './cache';
3
8
  import type {
4
9
  IsographEntrypoint,
5
10
  IsographOperation,
6
11
  IsographPersistedOperation,
12
+ RawReaderWithRefetchQueries,
7
13
  ReaderWithRefetchQueries,
8
14
  ReaderWithRefetchQueriesLoader,
9
15
  } from './entrypoint';
@@ -118,24 +124,36 @@ export type StoreLink = {
118
124
  readonly __typename: TypeName;
119
125
  };
120
126
 
121
- export type DataTypeValue =
127
+ export type DataTypeValueScalar =
122
128
  // N.B. undefined is here to support optional id's, but
123
129
  // undefined should not *actually* be present in the store.
124
130
  | undefined
125
- // Singular scalar fields:
131
+ // Singular fields:
132
+ | unknown
126
133
  | number
127
134
  | boolean
128
135
  | string
129
136
  | null
130
- // Singular linked fields:
137
+ // Plural fields:
138
+ | readonly DataTypeValueScalar[];
139
+
140
+ export type DataTypeValueLinked =
141
+ // N.B. undefined is here to support optional id's, but
142
+ // undefined should not *actually* be present in the store.
143
+ | undefined
144
+ // Singular fields:
145
+ | null
131
146
  | StoreLink
132
- // Plural scalar and linked fields:
133
- | readonly DataTypeValue[];
147
+ // Plural fields:
148
+ | readonly DataTypeValueLinked[];
134
149
 
135
150
  export type StoreRecord = {
136
- [index: DataId | string]: DataTypeValue;
151
+ [key: ScalarParentRecordKey]: DataTypeValueScalar;
152
+ [key: LinkedParentRecordKey]: DataTypeValueLinked;
153
+ readonly [key: ParentRecordKey]: DataTypeValueScalar | DataTypeValueLinked;
137
154
  // TODO __typename?: T, which is restricted to being a concrete string
138
155
  // TODO this shouldn't always be named id
156
+ readonly __typename?: TypeName;
139
157
  readonly id?: DataId;
140
158
  };
141
159
 
@@ -198,7 +216,9 @@ export function createIsographStore(): BaseStoreLayerData {
198
216
  };
199
217
  }
200
218
 
201
- export function assertLink(link: DataTypeValue): StoreLink | null | undefined {
219
+ export function assertLink(
220
+ link: DataTypeValueLinked,
221
+ ): StoreLink | null | undefined {
202
222
  if (isArray(link)) {
203
223
  throw new Error('Unexpected array');
204
224
  }
@@ -211,16 +231,9 @@ export function assertLink(link: DataTypeValue): StoreLink | null | undefined {
211
231
  throw new Error('Invalid link');
212
232
  }
213
233
 
214
- export function getLink(maybeLink: DataTypeValue): StoreLink | null {
215
- if (
216
- maybeLink != null &&
217
- typeof maybeLink === 'object' &&
218
- '__link' in maybeLink &&
219
- maybeLink.__link != null &&
220
- '__typename' in maybeLink &&
221
- maybeLink.__typename != null
222
- ) {
223
- return maybeLink;
234
+ export function getLink(maybeLink: DataTypeValueLinked): StoreLink | null {
235
+ if (!isArray(maybeLink)) {
236
+ return maybeLink ?? null;
224
237
  }
225
238
  return null;
226
239
  }
@@ -242,7 +255,7 @@ export function getOrLoadIsographArtifact(
242
255
  export function getOrLoadReaderWithRefetchQueries(
243
256
  _environment: IsographEnvironment,
244
257
  readerWithRefetchQueries:
245
- | ReaderWithRefetchQueries<any, any>
258
+ | RawReaderWithRefetchQueries<any, any>
246
259
  | ReaderWithRefetchQueriesLoader<any, any>,
247
260
  ): {
248
261
  readerWithRefetchQueries: PromiseWrapper<ReaderWithRefetchQueries<any, any>>;
@@ -251,16 +264,28 @@ export function getOrLoadReaderWithRefetchQueries(
251
264
  } {
252
265
  switch (readerWithRefetchQueries.kind) {
253
266
  case 'ReaderWithRefetchQueries':
267
+ const readerArtifact = readerWithRefetchQueries.readerArtifact();
254
268
  return {
255
- readerWithRefetchQueries: wrapResolvedValue(readerWithRefetchQueries),
256
- fieldName: readerWithRefetchQueries.readerArtifact.fieldName,
257
- readerArtifactKind: readerWithRefetchQueries.readerArtifact.kind,
269
+ readerWithRefetchQueries: wrapResolvedValue({
270
+ kind: 'ReaderWithRefetchQueries',
271
+ nestedRefetchQueries: readerWithRefetchQueries.nestedRefetchQueries,
272
+ readerArtifact: readerArtifact,
273
+ }),
274
+ fieldName: readerArtifact.fieldName,
275
+ readerArtifactKind: readerArtifact.kind,
258
276
  };
259
277
  case 'ReaderWithRefetchQueriesLoader':
260
278
  return {
261
279
  // TODO: cache promise wrapper
262
280
  readerWithRefetchQueries: wrapPromise(
263
- readerWithRefetchQueries.loader(),
281
+ readerWithRefetchQueries
282
+ .loader()
283
+ .then((readerWithRefetchQueries) => ({
284
+ kind: 'ReaderWithRefetchQueries',
285
+ nestedRefetchQueries:
286
+ readerWithRefetchQueries.nestedRefetchQueries,
287
+ readerArtifact: readerWithRefetchQueries.readerArtifact(),
288
+ })),
264
289
  ),
265
290
  fieldName: readerWithRefetchQueries.fieldName,
266
291
  readerArtifactKind: readerWithRefetchQueries.readerArtifactKind,