@isograph/react 0.4.3 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/.turbo/turbo-compile-libs.log +10 -3
  2. package/dist/_virtual/rolldown_runtime.js +25 -0
  3. package/dist/core/FragmentReference.d.mts +38 -0
  4. package/dist/core/FragmentReference.d.mts.map +1 -0
  5. package/dist/core/FragmentReference.d.ts +31 -27
  6. package/dist/core/FragmentReference.d.ts.map +1 -1
  7. package/dist/core/FragmentReference.js +8 -6
  8. package/dist/core/FragmentReference.mjs +10 -0
  9. package/dist/core/FragmentReference.mjs.map +1 -0
  10. package/dist/core/IsographEnvironment.d.mts +89 -0
  11. package/dist/core/IsographEnvironment.d.mts.map +1 -0
  12. package/dist/core/IsographEnvironment.d.ts +77 -72
  13. package/dist/core/IsographEnvironment.d.ts.map +1 -1
  14. package/dist/core/IsographEnvironment.js +62 -59
  15. package/dist/core/IsographEnvironment.mjs +67 -0
  16. package/dist/core/IsographEnvironment.mjs.map +1 -0
  17. package/dist/core/PromiseWrapper.d.mts +36 -0
  18. package/dist/core/PromiseWrapper.d.mts.map +1 -0
  19. package/dist/core/PromiseWrapper.d.ts +27 -18
  20. package/dist/core/PromiseWrapper.d.ts.map +1 -1
  21. package/dist/core/PromiseWrapper.js +45 -43
  22. package/dist/core/PromiseWrapper.mjs +49 -0
  23. package/dist/core/PromiseWrapper.mjs.map +1 -0
  24. package/dist/core/areEqualWithDeepComparison.js +56 -108
  25. package/dist/core/areEqualWithDeepComparison.mjs +62 -0
  26. package/dist/core/areEqualWithDeepComparison.mjs.map +1 -0
  27. package/dist/core/brand.d.mts +19 -0
  28. package/dist/core/brand.d.mts.map +1 -0
  29. package/dist/core/brand.d.ts +18 -1
  30. package/dist/core/brand.d.ts.map +1 -1
  31. package/dist/core/cache.d.mts +20 -0
  32. package/dist/core/cache.d.mts.map +1 -0
  33. package/dist/core/cache.d.ts +18 -34
  34. package/dist/core/cache.d.ts.map +1 -1
  35. package/dist/core/cache.js +210 -516
  36. package/dist/core/cache.mjs +237 -0
  37. package/dist/core/cache.mjs.map +1 -0
  38. package/dist/core/check.d.mts +28 -0
  39. package/dist/core/check.d.mts.map +1 -0
  40. package/dist/core/check.d.ts +24 -18
  41. package/dist/core/check.d.ts.map +1 -1
  42. package/dist/core/check.js +80 -124
  43. package/dist/core/check.mjs +84 -0
  44. package/dist/core/check.mjs.map +1 -0
  45. package/dist/core/componentCache.js +10 -34
  46. package/dist/core/componentCache.mjs +12 -0
  47. package/dist/core/componentCache.mjs.map +1 -0
  48. package/dist/core/entrypoint.d.mts +99 -0
  49. package/dist/core/entrypoint.d.mts.map +1 -0
  50. package/dist/core/entrypoint.d.ts +83 -68
  51. package/dist/core/entrypoint.d.ts.map +1 -1
  52. package/dist/core/entrypoint.js +6 -5
  53. package/dist/core/entrypoint.mjs +8 -0
  54. package/dist/core/entrypoint.mjs.map +1 -0
  55. package/dist/core/garbageCollection.d.mts +18 -0
  56. package/dist/core/garbageCollection.d.mts.map +1 -0
  57. package/dist/core/garbageCollection.d.ts +15 -10
  58. package/dist/core/garbageCollection.d.ts.map +1 -1
  59. package/dist/core/garbageCollection.js +82 -99
  60. package/dist/core/garbageCollection.mjs +89 -0
  61. package/dist/core/garbageCollection.mjs.map +1 -0
  62. package/dist/core/getOrCreateCacheForArtifact.js +37 -0
  63. package/dist/core/getOrCreateCacheForArtifact.mjs +38 -0
  64. package/dist/core/getOrCreateCacheForArtifact.mjs.map +1 -0
  65. package/dist/core/logging.d.mts +95 -0
  66. package/dist/core/logging.d.mts.map +1 -0
  67. package/dist/core/logging.d.ts +78 -60
  68. package/dist/core/logging.d.ts.map +1 -1
  69. package/dist/core/logging.js +17 -18
  70. package/dist/core/logging.mjs +20 -0
  71. package/dist/core/logging.mjs.map +1 -0
  72. package/dist/core/makeNetworkRequest.d.mts +13 -0
  73. package/dist/core/makeNetworkRequest.d.mts.map +1 -0
  74. package/dist/core/makeNetworkRequest.d.ts +12 -8
  75. package/dist/core/makeNetworkRequest.d.ts.map +1 -1
  76. package/dist/core/makeNetworkRequest.js +188 -195
  77. package/dist/core/makeNetworkRequest.mjs +195 -0
  78. package/dist/core/makeNetworkRequest.mjs.map +1 -0
  79. package/dist/core/optimisticProxy.d.mts +43 -0
  80. package/dist/core/optimisticProxy.d.mts.map +1 -0
  81. package/dist/core/optimisticProxy.d.ts +43 -0
  82. package/dist/core/optimisticProxy.d.ts.map +1 -0
  83. package/dist/core/optimisticProxy.js +273 -0
  84. package/dist/core/optimisticProxy.mjs +268 -0
  85. package/dist/core/optimisticProxy.mjs.map +1 -0
  86. package/dist/core/read.d.mts +29 -0
  87. package/dist/core/read.d.mts.map +1 -0
  88. package/dist/core/read.d.ts +23 -27
  89. package/dist/core/read.d.ts.map +1 -1
  90. package/dist/core/read.js +438 -618
  91. package/dist/core/read.mjs +456 -0
  92. package/dist/core/read.mjs.map +1 -0
  93. package/dist/core/reader.d.mts +89 -0
  94. package/dist/core/reader.d.mts.map +1 -0
  95. package/dist/core/reader.d.ts +78 -74
  96. package/dist/core/reader.d.ts.map +1 -1
  97. package/dist/core/startUpdate.js +118 -156
  98. package/dist/core/startUpdate.mjs +125 -0
  99. package/dist/core/startUpdate.mjs.map +1 -0
  100. package/dist/core/subscribe.d.mts +12 -0
  101. package/dist/core/subscribe.d.mts.map +1 -0
  102. package/dist/core/subscribe.d.ts +12 -0
  103. package/dist/core/subscribe.d.ts.map +1 -0
  104. package/dist/core/subscribe.js +79 -0
  105. package/dist/core/subscribe.mjs +79 -0
  106. package/dist/core/subscribe.mjs.map +1 -0
  107. package/dist/core/util.d.mts +27 -0
  108. package/dist/core/util.d.mts.map +1 -0
  109. package/dist/core/util.d.ts +21 -17
  110. package/dist/core/util.d.ts.map +1 -1
  111. package/dist/core/util.js +22 -2
  112. package/dist/core/util.mjs +21 -0
  113. package/dist/core/util.mjs.map +1 -0
  114. package/dist/core/writeData.d.mts +11 -0
  115. package/dist/core/writeData.d.mts.map +1 -0
  116. package/dist/core/writeData.d.ts +11 -0
  117. package/dist/core/writeData.d.ts.map +1 -0
  118. package/dist/core/writeData.js +41 -0
  119. package/dist/core/writeData.mjs +42 -0
  120. package/dist/core/writeData.mjs.map +1 -0
  121. package/dist/index.d.mts +32 -0
  122. package/dist/index.d.ts +32 -29
  123. package/dist/index.js +70 -68
  124. package/dist/index.mjs +31 -0
  125. package/dist/loadable-hooks/useClientSideDefer.d.mts +12 -0
  126. package/dist/loadable-hooks/useClientSideDefer.d.mts.map +1 -0
  127. package/dist/loadable-hooks/useClientSideDefer.d.ts +10 -8
  128. package/dist/loadable-hooks/useClientSideDefer.d.ts.map +1 -1
  129. package/dist/loadable-hooks/useClientSideDefer.js +14 -12
  130. package/dist/loadable-hooks/useClientSideDefer.mjs +14 -0
  131. package/dist/loadable-hooks/useClientSideDefer.mjs.map +1 -0
  132. package/dist/loadable-hooks/useConnectionSpecPagination.d.mts +33 -0
  133. package/dist/loadable-hooks/useConnectionSpecPagination.d.mts.map +1 -0
  134. package/dist/loadable-hooks/useConnectionSpecPagination.d.ts +27 -21
  135. package/dist/loadable-hooks/useConnectionSpecPagination.d.ts.map +1 -1
  136. package/dist/loadable-hooks/useConnectionSpecPagination.js +133 -158
  137. package/dist/loadable-hooks/useConnectionSpecPagination.mjs +134 -0
  138. package/dist/loadable-hooks/useConnectionSpecPagination.mjs.map +1 -0
  139. package/dist/loadable-hooks/useImperativeExposedMutationField.d.mts +8 -0
  140. package/dist/loadable-hooks/useImperativeExposedMutationField.d.mts.map +1 -0
  141. package/dist/loadable-hooks/useImperativeExposedMutationField.d.ts +6 -3
  142. package/dist/loadable-hooks/useImperativeExposedMutationField.d.ts.map +1 -1
  143. package/dist/loadable-hooks/useImperativeExposedMutationField.js +9 -12
  144. package/dist/loadable-hooks/useImperativeExposedMutationField.mjs +11 -0
  145. package/dist/loadable-hooks/useImperativeExposedMutationField.mjs.map +1 -0
  146. package/dist/loadable-hooks/useImperativeLoadableField.d.mts +19 -0
  147. package/dist/loadable-hooks/useImperativeLoadableField.d.mts.map +1 -0
  148. package/dist/loadable-hooks/useImperativeLoadableField.d.ts +15 -11
  149. package/dist/loadable-hooks/useImperativeLoadableField.d.ts.map +1 -1
  150. package/dist/loadable-hooks/useImperativeLoadableField.js +16 -12
  151. package/dist/loadable-hooks/useImperativeLoadableField.mjs +17 -0
  152. package/dist/loadable-hooks/useImperativeLoadableField.mjs.map +1 -0
  153. package/dist/loadable-hooks/useSkipLimitPagination.d.mts +24 -0
  154. package/dist/loadable-hooks/useSkipLimitPagination.d.mts.map +1 -0
  155. package/dist/loadable-hooks/useSkipLimitPagination.d.ts +19 -15
  156. package/dist/loadable-hooks/useSkipLimitPagination.d.ts.map +1 -1
  157. package/dist/loadable-hooks/useSkipLimitPagination.js +118 -160
  158. package/dist/loadable-hooks/useSkipLimitPagination.mjs +119 -0
  159. package/dist/loadable-hooks/useSkipLimitPagination.mjs.map +1 -0
  160. package/dist/react/FragmentReader.d.mts +18 -0
  161. package/dist/react/FragmentReader.d.mts.map +1 -0
  162. package/dist/react/FragmentReader.d.ts +16 -7
  163. package/dist/react/FragmentReader.d.ts.map +1 -1
  164. package/dist/react/FragmentReader.js +8 -7
  165. package/dist/react/FragmentReader.mjs +10 -0
  166. package/dist/react/FragmentReader.mjs.map +1 -0
  167. package/dist/react/FragmentRenderer.d.mts +20 -0
  168. package/dist/react/FragmentRenderer.d.mts.map +1 -0
  169. package/dist/react/FragmentRenderer.d.ts +18 -13
  170. package/dist/react/FragmentRenderer.d.ts.map +1 -1
  171. package/dist/react/FragmentRenderer.js +11 -33
  172. package/dist/react/FragmentRenderer.mjs +12 -0
  173. package/dist/react/FragmentRenderer.mjs.map +1 -0
  174. package/dist/react/IsographEnvironmentProvider.d.mts +17 -0
  175. package/dist/react/IsographEnvironmentProvider.d.mts.map +1 -0
  176. package/dist/react/IsographEnvironmentProvider.d.ts +15 -9
  177. package/dist/react/IsographEnvironmentProvider.d.ts.map +1 -1
  178. package/dist/react/IsographEnvironmentProvider.js +15 -39
  179. package/dist/react/IsographEnvironmentProvider.mjs +17 -0
  180. package/dist/react/IsographEnvironmentProvider.mjs.map +1 -0
  181. package/dist/react/LoadableFieldReader.d.mts +21 -0
  182. package/dist/react/LoadableFieldReader.d.mts.map +1 -0
  183. package/dist/react/LoadableFieldReader.d.ts +20 -11
  184. package/dist/react/LoadableFieldReader.d.ts.map +1 -1
  185. package/dist/react/LoadableFieldReader.js +13 -8
  186. package/dist/react/LoadableFieldReader.mjs +14 -0
  187. package/dist/react/LoadableFieldReader.mjs.map +1 -0
  188. package/dist/react/LoadableFieldRenderer.d.mts +22 -0
  189. package/dist/react/LoadableFieldRenderer.d.mts.map +1 -0
  190. package/dist/react/LoadableFieldRenderer.d.ts +21 -12
  191. package/dist/react/LoadableFieldRenderer.d.ts.map +1 -1
  192. package/dist/react/LoadableFieldRenderer.js +13 -35
  193. package/dist/react/LoadableFieldRenderer.mjs +14 -0
  194. package/dist/react/LoadableFieldRenderer.mjs.map +1 -0
  195. package/dist/react/RenderAfterCommit__DO_NOT_USE.d.mts +18 -0
  196. package/dist/react/RenderAfterCommit__DO_NOT_USE.d.mts.map +1 -0
  197. package/dist/react/RenderAfterCommit__DO_NOT_USE.d.ts +11 -3
  198. package/dist/react/RenderAfterCommit__DO_NOT_USE.d.ts.map +1 -1
  199. package/dist/react/RenderAfterCommit__DO_NOT_USE.js +17 -13
  200. package/dist/react/RenderAfterCommit__DO_NOT_USE.mjs +18 -0
  201. package/dist/react/RenderAfterCommit__DO_NOT_USE.mjs.map +1 -0
  202. package/dist/react/createIsographEnvironment.d.mts +9 -0
  203. package/dist/react/createIsographEnvironment.d.mts.map +1 -0
  204. package/dist/react/createIsographEnvironment.d.ts +8 -0
  205. package/dist/react/createIsographEnvironment.d.ts.map +1 -0
  206. package/dist/react/createIsographEnvironment.js +10 -0
  207. package/dist/react/createIsographEnvironment.mjs +11 -0
  208. package/dist/react/createIsographEnvironment.mjs.map +1 -0
  209. package/dist/react/maybeUnwrapNetworkRequest.js +11 -0
  210. package/dist/react/maybeUnwrapNetworkRequest.mjs +12 -0
  211. package/dist/react/maybeUnwrapNetworkRequest.mjs.map +1 -0
  212. package/dist/react/useImperativeReference.d.mts +15 -0
  213. package/dist/react/useImperativeReference.d.mts.map +1 -0
  214. package/dist/react/useImperativeReference.d.ts +13 -7
  215. package/dist/react/useImperativeReference.d.ts.map +1 -1
  216. package/dist/react/useImperativeReference.js +34 -32
  217. package/dist/react/useImperativeReference.mjs +35 -0
  218. package/dist/react/useImperativeReference.mjs.map +1 -0
  219. package/dist/react/useLazyReference.d.mts +13 -0
  220. package/dist/react/useLazyReference.d.mts.map +1 -0
  221. package/dist/react/useLazyReference.d.ts +11 -5
  222. package/dist/react/useLazyReference.d.ts.map +1 -1
  223. package/dist/react/useLazyReference.js +17 -40
  224. package/dist/react/useLazyReference.mjs +18 -0
  225. package/dist/react/useLazyReference.mjs.map +1 -0
  226. package/dist/react/useReadAndSubscribe.d.mts +20 -0
  227. package/dist/react/useReadAndSubscribe.d.mts.map +1 -0
  228. package/dist/react/useReadAndSubscribe.d.ts +14 -9
  229. package/dist/react/useReadAndSubscribe.d.ts.map +1 -1
  230. package/dist/react/useReadAndSubscribe.js +57 -39
  231. package/dist/react/useReadAndSubscribe.mjs +59 -0
  232. package/dist/react/useReadAndSubscribe.mjs.map +1 -0
  233. package/dist/react/useRerenderOnChange.d.mts +12 -0
  234. package/dist/react/useRerenderOnChange.d.mts.map +1 -0
  235. package/dist/react/useRerenderOnChange.d.ts +10 -6
  236. package/dist/react/useRerenderOnChange.d.ts.map +1 -1
  237. package/dist/react/useRerenderOnChange.js +16 -20
  238. package/dist/react/useRerenderOnChange.mjs +17 -0
  239. package/dist/react/useRerenderOnChange.mjs.map +1 -0
  240. package/dist/react/useResult.d.mts +8 -0
  241. package/dist/react/useResult.d.mts.map +1 -0
  242. package/dist/react/useResult.d.ts +7 -5
  243. package/dist/react/useResult.d.ts.map +1 -1
  244. package/dist/react/useResult.js +27 -39
  245. package/dist/react/useResult.mjs +30 -0
  246. package/dist/react/useResult.mjs.map +1 -0
  247. package/package.json +26 -19
  248. package/src/core/FragmentReference.ts +13 -7
  249. package/src/core/IsographEnvironment.ts +80 -21
  250. package/src/core/PromiseWrapper.ts +14 -7
  251. package/src/core/areEqualWithDeepComparison.ts +2 -18
  252. package/src/core/brand.ts +18 -0
  253. package/src/core/cache.ts +62 -332
  254. package/src/core/check.ts +30 -26
  255. package/src/core/componentCache.ts +11 -44
  256. package/src/core/entrypoint.ts +50 -9
  257. package/src/core/garbageCollection.ts +81 -28
  258. package/src/core/getOrCreateCacheForArtifact.ts +86 -0
  259. package/src/core/logging.ts +25 -13
  260. package/src/core/makeNetworkRequest.ts +320 -94
  261. package/src/core/optimisticProxy.ts +544 -0
  262. package/src/core/read.ts +251 -198
  263. package/src/core/reader.ts +18 -17
  264. package/src/core/startUpdate.ts +47 -36
  265. package/src/core/subscribe.ts +189 -0
  266. package/src/core/util.ts +26 -0
  267. package/src/core/writeData.ts +79 -0
  268. package/src/index.ts +6 -4
  269. package/src/loadable-hooks/useClientSideDefer.ts +80 -30
  270. package/src/loadable-hooks/useConnectionSpecPagination.ts +54 -35
  271. package/src/loadable-hooks/useImperativeLoadableField.ts +5 -5
  272. package/src/loadable-hooks/useSkipLimitPagination.ts +22 -21
  273. package/src/react/FragmentReader.tsx +3 -1
  274. package/src/react/FragmentRenderer.tsx +8 -1
  275. package/src/react/IsographEnvironmentProvider.tsx +2 -1
  276. package/src/react/LoadableFieldReader.tsx +125 -16
  277. package/src/react/LoadableFieldRenderer.tsx +124 -16
  278. package/src/react/createIsographEnvironment.ts +23 -0
  279. package/src/react/maybeUnwrapNetworkRequest.ts +17 -0
  280. package/src/react/useImperativeReference.ts +25 -15
  281. package/src/react/useLazyReference.ts +20 -10
  282. package/src/react/useReadAndSubscribe.ts +53 -12
  283. package/src/react/useRerenderOnChange.ts +3 -3
  284. package/src/react/useResult.ts +15 -35
  285. package/src/tests/__isograph/Node/asEconomist/resolver_reader.ts +1 -1
  286. package/src/tests/__isograph/Query/linkedUpdate/entrypoint.ts +3 -1
  287. package/src/tests/__isograph/Query/linkedUpdate/raw_response_type.ts +13 -0
  288. package/src/tests/__isograph/Query/linkedUpdate/resolver_reader.ts +1 -1
  289. package/src/tests/__isograph/Query/meName/entrypoint.ts +3 -1
  290. package/src/tests/__isograph/Query/meName/raw_response_type.ts +7 -0
  291. package/src/tests/__isograph/Query/meName/resolver_reader.ts +1 -1
  292. package/src/tests/__isograph/Query/meNameSuccessor/entrypoint.ts +3 -1
  293. package/src/tests/__isograph/Query/meNameSuccessor/raw_response_type.ts +14 -0
  294. package/src/tests/__isograph/Query/meNameSuccessor/resolver_reader.ts +1 -1
  295. package/src/tests/__isograph/Query/nodeField/entrypoint.ts +3 -1
  296. package/src/tests/__isograph/Query/nodeField/raw_response_type.ts +7 -0
  297. package/src/tests/__isograph/Query/nodeField/resolver_reader.ts +1 -1
  298. package/src/tests/__isograph/Query/normalizeUndefinedField/entrypoint.ts +33 -0
  299. package/src/tests/__isograph/Query/normalizeUndefinedField/normalization_ast.ts +25 -0
  300. package/src/tests/__isograph/Query/normalizeUndefinedField/output_type.ts +3 -0
  301. package/src/tests/__isograph/Query/normalizeUndefinedField/param_type.ts +9 -0
  302. package/src/tests/__isograph/Query/normalizeUndefinedField/query_text.ts +6 -0
  303. package/src/tests/__isograph/Query/normalizeUndefinedField/raw_response_type.ts +7 -0
  304. package/src/tests/__isograph/Query/normalizeUndefinedField/resolver_reader.ts +38 -0
  305. package/src/tests/__isograph/Query/startUpdate/entrypoint.ts +3 -1
  306. package/src/tests/__isograph/Query/startUpdate/raw_response_type.ts +8 -0
  307. package/src/tests/__isograph/Query/startUpdate/resolver_reader.ts +1 -1
  308. package/src/tests/__isograph/Query/subquery/entrypoint.ts +3 -1
  309. package/src/tests/__isograph/Query/subquery/raw_response_type.ts +9 -0
  310. package/src/tests/__isograph/Query/subquery/resolver_reader.ts +1 -1
  311. package/src/tests/__isograph/iso.ts +11 -1
  312. package/src/tests/garbageCollection.test.ts +10 -10
  313. package/src/tests/meNameSuccessor.ts +7 -4
  314. package/src/tests/nodeQuery.ts +6 -4
  315. package/src/tests/normalizeData.test.ts +94 -18
  316. package/src/tests/optimisticProxy.test.ts +862 -0
  317. package/src/tests/startUpdate.test.ts +11 -11
  318. package/vitest.config.ts +5 -0
  319. package/dist/core/areEqualWithDeepComparison.d.ts +0 -3
  320. package/dist/core/areEqualWithDeepComparison.d.ts.map +0 -1
  321. package/dist/core/brand.js +0 -2
  322. package/dist/core/componentCache.d.ts +0 -5
  323. package/dist/core/componentCache.d.ts.map +0 -1
  324. package/dist/core/reader.js +0 -2
  325. package/dist/core/startUpdate.d.ts +0 -8
  326. package/dist/core/startUpdate.d.ts.map +0 -1
  327. package/dist/index.d.ts.map +0 -1
@@ -1,33 +1,49 @@
1
1
  import * as React from 'react';
2
2
  import { type FetchOptions } from '../core/check';
3
- import {
4
- ExtractParameters,
5
- type UnknownTReadFromStore,
6
- } from '../core/FragmentReference';
3
+ import type { ExtractParameters } from '../core/FragmentReference';
4
+ import { type UnknownTReadFromStore } from '../core/FragmentReference';
7
5
  import { type NetworkRequestReaderOptions } from '../core/read';
8
6
  import { type LoadableField } from '../core/reader';
9
7
  import { useClientSideDefer } from '../loadable-hooks/useClientSideDefer';
10
8
  import { useResult } from './useResult';
11
9
 
10
+ type ArgsWithoutProvidedArgs<
11
+ TReadFromStore extends UnknownTReadFromStore,
12
+ TProvidedArgs extends object,
13
+ > = Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>;
14
+
15
+ type MaybeRequiredArgs<
16
+ TReadFromStore extends UnknownTReadFromStore,
17
+ TProvidedArgs extends object,
18
+ > =
19
+ {} extends ArgsWithoutProvidedArgs<TReadFromStore, TProvidedArgs>
20
+ ? {
21
+ args?: ArgsWithoutProvidedArgs<TReadFromStore, TProvidedArgs>;
22
+ }
23
+ : {
24
+ args: ArgsWithoutProvidedArgs<TReadFromStore, TProvidedArgs>;
25
+ };
26
+
12
27
  export function LoadableFieldRenderer<
13
28
  TReadFromStore extends UnknownTReadFromStore,
14
29
  TProvidedArgs extends object,
15
30
  TChildrenResult,
16
31
  TProps,
17
- >(props: {
18
- loadableField: LoadableField<
19
- TReadFromStore,
20
- React.FC<TProps>,
21
- Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>
22
- >;
23
- // TODO we can improve this to not require args if its an empty object
24
- args: Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>;
25
- fetchOptions?: FetchOptions<React.FC<TProps>>;
26
- networkRequestOptions?: Partial<NetworkRequestReaderOptions>;
27
- additionalProps: Omit<TProps, keyof JSX.IntrinsicAttributes>;
28
- }): TChildrenResult {
32
+ >(
33
+ props: {
34
+ loadableField: LoadableField<
35
+ TReadFromStore,
36
+ React.FC<TProps>,
37
+ Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>
38
+ >;
39
+ fetchOptions?: FetchOptions<React.FC<TProps>, never>;
40
+ networkRequestOptions?: Partial<NetworkRequestReaderOptions>;
41
+ additionalProps: Omit<TProps, keyof JSX.IntrinsicAttributes>;
42
+ } & MaybeRequiredArgs<TReadFromStore, TProvidedArgs>,
43
+ ): TChildrenResult {
29
44
  const { fragmentReference } = useClientSideDefer(
30
45
  props.loadableField,
46
+ // @ts-expect-error
31
47
  props.args,
32
48
  props.fetchOptions,
33
49
  );
@@ -39,3 +55,95 @@ export function LoadableFieldRenderer<
39
55
  // @ts-expect-error
40
56
  return <Component {...props.additionalProps} />;
41
57
  }
58
+
59
+ // @ts-ignore
60
+ function tsTests() {
61
+ let neverArgs!: LoadableField<
62
+ {
63
+ parameters: Record<string, never>;
64
+ data: {};
65
+ },
66
+ () => React.ReactNode
67
+ >;
68
+
69
+ let optionalArgs!: LoadableField<
70
+ {
71
+ parameters: {
72
+ foo?: string;
73
+ };
74
+ data: {};
75
+ },
76
+ () => React.ReactNode
77
+ >;
78
+
79
+ let requiredArgs!: LoadableField<
80
+ {
81
+ parameters: {
82
+ foo: string;
83
+ };
84
+ data: {};
85
+ },
86
+ () => React.ReactNode
87
+ >;
88
+
89
+ <LoadableFieldRenderer loadableField={neverArgs} additionalProps={{}} />;
90
+ <LoadableFieldRenderer
91
+ loadableField={neverArgs}
92
+ additionalProps={{}}
93
+ args={{}}
94
+ />;
95
+ <LoadableFieldRenderer
96
+ loadableField={neverArgs}
97
+ additionalProps={{}}
98
+ args={{
99
+ // @ts-expect-error
100
+ foo: 'bar',
101
+ }}
102
+ />;
103
+
104
+ <LoadableFieldRenderer loadableField={optionalArgs} additionalProps={{}} />;
105
+ <LoadableFieldRenderer
106
+ loadableField={optionalArgs}
107
+ additionalProps={{}}
108
+ args={{}}
109
+ />;
110
+ <LoadableFieldRenderer
111
+ loadableField={optionalArgs}
112
+ additionalProps={{}}
113
+ args={{
114
+ foo: 'bar',
115
+ }}
116
+ />;
117
+ <LoadableFieldRenderer
118
+ loadableField={optionalArgs}
119
+ additionalProps={{}}
120
+ args={{
121
+ // @ts-expect-error
122
+ foo: 12,
123
+ }}
124
+ />;
125
+
126
+ // @ts-expect-error
127
+ <LoadableFieldRenderer loadableField={requiredArgs} additionalProps={{}} />;
128
+ <LoadableFieldRenderer
129
+ loadableField={requiredArgs}
130
+ additionalProps={{}}
131
+ // @ts-expect-error
132
+ args={{}}
133
+ />;
134
+ <LoadableFieldRenderer
135
+ loadableField={requiredArgs}
136
+ additionalProps={{}}
137
+ args={{
138
+ foo: 'bar',
139
+ }}
140
+ />;
141
+ <LoadableFieldRenderer
142
+ loadableField={requiredArgs}
143
+ additionalProps={{}}
144
+ args={{
145
+ // @ts-expect-error
146
+ foo: 12,
147
+ }}
148
+ />;
149
+ }
@@ -0,0 +1,23 @@
1
+ import {
2
+ createIsographEnvironmentCore,
3
+ type BaseStoreLayerData,
4
+ type IsographNetworkFunction,
5
+ type MissingFieldHandler,
6
+ } from '../core/IsographEnvironment';
7
+ import type { LogFunction } from '../core/logging';
8
+ import { componentFunction } from './useReadAndSubscribe';
9
+
10
+ export function createIsographEnvironment(
11
+ baseStoreLayerData: BaseStoreLayerData,
12
+ networkFunction: IsographNetworkFunction,
13
+ missingFieldHandler?: MissingFieldHandler | null,
14
+ logFunction?: LogFunction | null,
15
+ ) {
16
+ return createIsographEnvironmentCore(
17
+ baseStoreLayerData,
18
+ networkFunction,
19
+ componentFunction,
20
+ missingFieldHandler,
21
+ logFunction,
22
+ );
23
+ }
@@ -0,0 +1,17 @@
1
+ import { type PromiseWrapper, getPromiseState } from '../core/PromiseWrapper';
2
+ import type { NetworkRequestReaderOptions } from '../core/read';
3
+
4
+ export function maybeUnwrapNetworkRequest(
5
+ networkRequest: PromiseWrapper<void, any>,
6
+ networkRequestOptions: NetworkRequestReaderOptions,
7
+ ) {
8
+ const state = getPromiseState(networkRequest);
9
+ if (state.kind === 'Err' && networkRequestOptions.throwOnNetworkError) {
10
+ throw state.error;
11
+ } else if (
12
+ state.kind === 'Pending' &&
13
+ networkRequestOptions.suspendIfInFlight
14
+ ) {
15
+ throw state.promise;
16
+ }
17
+ }
@@ -2,26 +2,31 @@ import {
2
2
  UNASSIGNED_STATE,
3
3
  useUpdatableDisposableState,
4
4
  } from '@isograph/react-disposable-state';
5
- import { FetchOptions, type RequiredFetchOptions } from '../core/check';
5
+ import type { NetworkResponseObject } from '../core/cache';
6
+ import type { FetchOptions } from '../core/check';
7
+ import { type RequiredFetchOptions } from '../core/check';
8
+ import type { IsographEntrypoint } from '../core/entrypoint';
6
9
  import {
7
- IsographEntrypoint,
8
10
  type NormalizationAst,
9
11
  type NormalizationAstLoader,
10
12
  } from '../core/entrypoint';
11
- import {
13
+ import type {
12
14
  ExtractParameters,
13
15
  FragmentReference,
14
- type UnknownTReadFromStore,
15
16
  } from '../core/FragmentReference';
16
- import { ROOT_ID } from '../core/IsographEnvironment';
17
+ import { type UnknownTReadFromStore } from '../core/FragmentReference';
18
+ import {
19
+ getOrLoadReaderWithRefetchQueries,
20
+ ROOT_ID,
21
+ } from '../core/IsographEnvironment';
17
22
  import { maybeMakeNetworkRequest } from '../core/makeNetworkRequest';
18
- import { wrapPromise, wrapResolvedValue } from '../core/PromiseWrapper';
19
23
  import { useIsographEnvironment } from './IsographEnvironmentProvider';
20
24
 
21
25
  export type UseImperativeReferenceResult<
22
26
  TReadFromStore extends UnknownTReadFromStore,
23
27
  TClientFieldValue,
24
28
  TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
29
+ TRawResponseType,
25
30
  > = {
26
31
  fragmentReference: FragmentReference<
27
32
  TReadFromStore,
@@ -31,7 +36,7 @@ export type UseImperativeReferenceResult<
31
36
  variables: ExtractParameters<TReadFromStore>,
32
37
  ...[fetchOptions]: NormalizationAstLoader extends TNormalizationAst
33
38
  ? [fetchOptions: RequiredFetchOptions<TClientFieldValue>]
34
- : [fetchOptions?: FetchOptions<TClientFieldValue>]
39
+ : [fetchOptions?: FetchOptions<TClientFieldValue, TRawResponseType>]
35
40
  ) => void;
36
41
  };
37
42
 
@@ -39,16 +44,19 @@ export function useImperativeReference<
39
44
  TReadFromStore extends UnknownTReadFromStore,
40
45
  TClientFieldValue,
41
46
  TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
47
+ TRawResponseType extends NetworkResponseObject,
42
48
  >(
43
49
  entrypoint: IsographEntrypoint<
44
50
  TReadFromStore,
45
51
  TClientFieldValue,
46
- TNormalizationAst
52
+ TNormalizationAst,
53
+ TRawResponseType
47
54
  >,
48
55
  ): UseImperativeReferenceResult<
49
56
  TReadFromStore,
50
57
  TClientFieldValue,
51
- TNormalizationAst
58
+ TNormalizationAst,
59
+ TRawResponseType
52
60
  > {
53
61
  const { state, setState } =
54
62
  useUpdatableDisposableState<
@@ -59,13 +67,13 @@ export function useImperativeReference<
59
67
  fragmentReference: state !== UNASSIGNED_STATE ? state : null,
60
68
  loadFragmentReference: (
61
69
  variables: ExtractParameters<TReadFromStore>,
62
- fetchOptions?: FetchOptions<TClientFieldValue>,
70
+ fetchOptions?: FetchOptions<TClientFieldValue, TRawResponseType>,
63
71
  ) => {
64
- const readerWithRefetchQueries =
65
- entrypoint.readerWithRefetchQueries.kind ===
66
- 'ReaderWithRefetchQueriesLoader'
67
- ? wrapPromise(entrypoint.readerWithRefetchQueries.loader())
68
- : wrapResolvedValue(entrypoint.readerWithRefetchQueries);
72
+ const { fieldName, readerArtifactKind, readerWithRefetchQueries } =
73
+ getOrLoadReaderWithRefetchQueries(
74
+ environment,
75
+ entrypoint.readerWithRefetchQueries,
76
+ );
69
77
  const [networkRequest, disposeNetworkRequest] = maybeMakeNetworkRequest(
70
78
  environment,
71
79
  entrypoint,
@@ -77,6 +85,8 @@ export function useImperativeReference<
77
85
  {
78
86
  kind: 'FragmentReference',
79
87
  readerWithRefetchQueries,
88
+ fieldName,
89
+ readerArtifactKind,
80
90
  root: { __link: ROOT_ID, __typename: entrypoint.concreteType },
81
91
  variables,
82
92
  networkRequest,
@@ -1,33 +1,37 @@
1
1
  import { useLazyDisposableState } from '@isograph/react-disposable-state';
2
- import { getOrCreateCacheForArtifact } from '../core/cache';
3
- import { FetchOptions, type RequiredFetchOptions } from '../core/check';
2
+ import { type NetworkResponseObject } from '../core/cache';
3
+ import type { FetchOptions } from '../core/check';
4
+ import { type RequiredFetchOptions } from '../core/check';
5
+ import type { IsographEntrypoint } from '../core/entrypoint';
4
6
  import {
5
- IsographEntrypoint,
6
7
  type NormalizationAst,
7
8
  type NormalizationAstLoader,
8
9
  } from '../core/entrypoint';
9
- import {
10
+ import type {
10
11
  ExtractParameters,
11
12
  FragmentReference,
12
- type UnknownTReadFromStore,
13
13
  } from '../core/FragmentReference';
14
+ import { type UnknownTReadFromStore } from '../core/FragmentReference';
14
15
  import { logMessage } from '../core/logging';
15
16
  import { useIsographEnvironment } from './IsographEnvironmentProvider';
17
+ import { getOrCreateCacheForArtifact } from '../core/getOrCreateCacheForArtifact';
16
18
 
17
19
  export function useLazyReference<
18
20
  TReadFromStore extends UnknownTReadFromStore,
19
21
  TClientFieldValue,
20
22
  TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
23
+ TRawResponseType extends NetworkResponseObject,
21
24
  >(
22
25
  entrypoint: IsographEntrypoint<
23
26
  TReadFromStore,
24
27
  TClientFieldValue,
25
- TNormalizationAst
28
+ TNormalizationAst,
29
+ TRawResponseType
26
30
  >,
27
31
  variables: ExtractParameters<TReadFromStore>,
28
32
  ...[fetchOptions]: TNormalizationAst extends NormalizationAstLoader
29
33
  ? [fetchOptions: RequiredFetchOptions<TClientFieldValue>]
30
- : [fetchOptions?: FetchOptions<TClientFieldValue>]
34
+ : [fetchOptions?: FetchOptions<TClientFieldValue, TRawResponseType>]
31
35
  ): NormalizationAst | NormalizationAstLoader extends TNormalizationAst
32
36
  ? unknown
33
37
  : {
@@ -57,12 +61,18 @@ export function useLazyReference<
57
61
 
58
62
  // @ts-ignore
59
63
  function tsTests() {
60
- let withAst!: IsographEntrypoint<any, unknown, NormalizationAst>;
61
- let withAstLoader!: IsographEntrypoint<any, unknown, NormalizationAstLoader>;
64
+ let withAst!: IsographEntrypoint<any, unknown, NormalizationAst, any>;
65
+ let withAstLoader!: IsographEntrypoint<
66
+ any,
67
+ unknown,
68
+ NormalizationAstLoader,
69
+ {}
70
+ >;
62
71
  let withAstOrLoader!: IsographEntrypoint<
63
72
  any,
64
73
  unknown,
65
- NormalizationAst | NormalizationAstLoader
74
+ NormalizationAst | NormalizationAstLoader,
75
+ {}
66
76
  >;
67
77
 
68
78
  useLazyReference(withAst, {}) satisfies {};
@@ -1,19 +1,22 @@
1
1
  import { useEffect, useState } from 'react';
2
- import { subscribe } from '../core/cache';
3
2
  import {
4
- ExtractData,
5
- FragmentReference,
3
+ type ExtractData,
4
+ type FragmentReference,
6
5
  stableIdForFragmentReference,
7
6
  type UnknownTReadFromStore,
8
7
  } from '../core/FragmentReference';
8
+ import type { IsographComponentFunction } from '../core/IsographEnvironment';
9
+ import { logMessage } from '../core/logging';
9
10
  import { readPromise } from '../core/PromiseWrapper';
10
11
  import {
11
- NetworkRequestReaderOptions,
12
+ type NetworkRequestReaderOptions,
12
13
  readButDoNotEvaluate,
13
- WithEncounteredRecords,
14
+ type WithEncounteredRecords,
14
15
  } from '../core/read';
15
16
  import type { ReaderAst } from '../core/reader';
17
+ import { subscribe } from '../core/subscribe';
16
18
  import { useIsographEnvironment } from './IsographEnvironmentProvider';
19
+ import { maybeUnwrapNetworkRequest } from './maybeUnwrapNetworkRequest';
17
20
  import { useRerenderOnChange } from './useRerenderOnChange';
18
21
 
19
22
  /**
@@ -75,15 +78,53 @@ export function useSubscribeToMultiple<
75
78
  [
76
79
  items
77
80
  .map(({ fragmentReference }) => {
78
- const readerWithRefetchQueries = readPromise(
79
- fragmentReference.readerWithRefetchQueries,
80
- );
81
- stableIdForFragmentReference(
82
- fragmentReference,
83
- readerWithRefetchQueries.readerArtifact.fieldName,
84
- );
81
+ stableIdForFragmentReference(fragmentReference);
85
82
  })
86
83
  .join('.'),
87
84
  ],
88
85
  );
89
86
  }
87
+
88
+ export const componentFunction: IsographComponentFunction = (
89
+ environment,
90
+ fragmentReference,
91
+ networkRequestOptions,
92
+ startUpdate,
93
+ ) => {
94
+ function Component(additionalRuntimeProps: { [key: string]: any }) {
95
+ maybeUnwrapNetworkRequest(
96
+ fragmentReference.networkRequest,
97
+ networkRequestOptions,
98
+ );
99
+ const readerWithRefetchQueries = readPromise(
100
+ fragmentReference.readerWithRefetchQueries,
101
+ );
102
+
103
+ const data = useReadAndSubscribe(
104
+ fragmentReference,
105
+ networkRequestOptions,
106
+ readerWithRefetchQueries.readerArtifact.readerAst,
107
+ );
108
+
109
+ logMessage(environment, () => ({
110
+ kind: 'ComponentRerendered',
111
+ componentName: fragmentReference.fieldName,
112
+ rootLink: fragmentReference.root,
113
+ }));
114
+
115
+ return readerWithRefetchQueries.readerArtifact.resolver(
116
+ // @ts-expect-error
117
+ {
118
+ data,
119
+ parameters: fragmentReference.variables,
120
+ startUpdate: readerWithRefetchQueries.readerArtifact.hasUpdatable
121
+ ? startUpdate
122
+ : undefined,
123
+ },
124
+ additionalRuntimeProps,
125
+ );
126
+ }
127
+ const idString = `(type: ${fragmentReference.root.__typename}, id: ${fragmentReference.root.__link})`;
128
+ Component.displayName = `${fragmentReference.fieldName} ${idString} @component`;
129
+ return Component;
130
+ };
@@ -1,8 +1,8 @@
1
1
  import { useEffect } from 'react';
2
- import { subscribe } from '../core/cache';
3
- import { FragmentReference } from '../core/FragmentReference';
4
- import { WithEncounteredRecords } from '../core/read';
2
+ import type { FragmentReference } from '../core/FragmentReference';
3
+ import type { WithEncounteredRecords } from '../core/read';
5
4
  import type { ReaderAst } from '../core/reader';
5
+ import { subscribe } from '../core/subscribe';
6
6
  import { useIsographEnvironment } from './IsographEnvironmentProvider';
7
7
 
8
8
  // TODO add unit tests for this. Add integration tests that test
@@ -1,19 +1,16 @@
1
1
  import { getOrCreateCachedComponent } from '../core/componentCache';
2
- import {
2
+ import type {
3
3
  FragmentReference,
4
- type UnknownTReadFromStore,
4
+ UnknownTReadFromStore,
5
5
  } from '../core/FragmentReference';
6
+ import { readPromise } from '../core/PromiseWrapper';
6
7
  import {
7
- getPromiseState,
8
- PromiseWrapper,
9
- readPromise,
10
- } from '../core/PromiseWrapper';
11
- import {
8
+ type NetworkRequestReaderOptions,
12
9
  getNetworkRequestOptionsWithDefaults,
13
- NetworkRequestReaderOptions,
14
10
  } from '../core/read';
15
11
  import { getOrCreateCachedStartUpdate } from '../core/startUpdate';
16
- import { useIsographEnvironment } from '../react/IsographEnvironmentProvider';
12
+ import { useIsographEnvironment } from './IsographEnvironmentProvider';
13
+ import { maybeUnwrapNetworkRequest } from './maybeUnwrapNetworkRequest';
17
14
  import { useReadAndSubscribe } from './useReadAndSubscribe';
18
15
 
19
16
  export function useResult<
@@ -28,25 +25,23 @@ export function useResult<
28
25
  partialNetworkRequestOptions,
29
26
  );
30
27
 
31
- maybeUnwrapNetworkRequest(
32
- fragmentReference.networkRequest,
33
- networkRequestOptions,
34
- );
35
- const readerWithRefetchQueries = readPromise(
36
- fragmentReference.readerWithRefetchQueries,
37
- );
38
-
39
- switch (readerWithRefetchQueries.readerArtifact.kind) {
28
+ switch (fragmentReference.readerArtifactKind) {
40
29
  case 'ComponentReaderArtifact': {
41
30
  // @ts-expect-error
42
31
  return getOrCreateCachedComponent(
43
32
  environment,
44
- readerWithRefetchQueries.readerArtifact.fieldName,
45
33
  fragmentReference,
46
34
  networkRequestOptions,
47
35
  );
48
36
  }
49
37
  case 'EagerReaderArtifact': {
38
+ maybeUnwrapNetworkRequest(
39
+ fragmentReference.networkRequest,
40
+ networkRequestOptions,
41
+ );
42
+ const readerWithRefetchQueries = readPromise(
43
+ fragmentReference.readerWithRefetchQueries,
44
+ );
50
45
  const data = useReadAndSubscribe(
51
46
  fragmentReference,
52
47
  networkRequestOptions,
@@ -60,28 +55,13 @@ export function useResult<
60
55
  startUpdate: getOrCreateCachedStartUpdate(
61
56
  environment,
62
57
  fragmentReference,
63
- readerWithRefetchQueries.readerArtifact.fieldName,
64
58
  networkRequestOptions,
65
59
  ),
66
60
  }
67
61
  : undefined),
68
62
  };
63
+ // @ts-expect-error
69
64
  return readerWithRefetchQueries.readerArtifact.resolver(param);
70
65
  }
71
66
  }
72
67
  }
73
-
74
- export function maybeUnwrapNetworkRequest(
75
- networkRequest: PromiseWrapper<void, any>,
76
- networkRequestOptions: NetworkRequestReaderOptions,
77
- ) {
78
- const state = getPromiseState(networkRequest);
79
- if (state.kind === 'Err' && networkRequestOptions.throwOnNetworkError) {
80
- throw state.error;
81
- } else if (
82
- state.kind === 'Pending' &&
83
- networkRequestOptions.suspendIfInFlight
84
- ) {
85
- throw state.promise;
86
- }
87
- }
@@ -19,7 +19,7 @@ const artifact: EagerReaderArtifact<
19
19
  Link<"Economist"> | null
20
20
  > = {
21
21
  kind: "EagerReaderArtifact",
22
- fieldName: "Node.asEconomist",
22
+ fieldName: "asEconomist",
23
23
  resolver: ({ data }) => data.__typename === "Economist" ? data.__link : null,
24
24
  readerAst,
25
25
  hasUpdatable: false,
@@ -1,6 +1,7 @@
1
1
  import type {IsographEntrypoint, NormalizationAst, RefetchQueryNormalizationArtifactWrapper} from '@isograph/react';
2
2
  import {Query__linkedUpdate__param} from './param_type';
3
3
  import {Query__linkedUpdate__output_type} from './output_type';
4
+ import type {Query__linkedUpdate__raw_response_type} from './raw_response_type';
4
5
  import readerResolver from './resolver_reader';
5
6
  import queryText from './query_text';
6
7
  import normalizationAst from './normalization_ast';
@@ -9,7 +10,8 @@ const nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[] = [];
9
10
  const artifact: IsographEntrypoint<
10
11
  Query__linkedUpdate__param,
11
12
  Query__linkedUpdate__output_type,
12
- NormalizationAst
13
+ NormalizationAst,
14
+ Query__linkedUpdate__raw_response_type
13
15
  > = {
14
16
  kind: "Entrypoint",
15
17
  networkRequestInfo: {
@@ -0,0 +1,13 @@
1
+ export type Query__linkedUpdate__raw_response_type = {
2
+ node____id___l_0?: ({
3
+ __typename: "Economist",
4
+ id: string,
5
+ name: string,
6
+ } | null),
7
+ node____id___l_1?: ({
8
+ __typename: "Economist",
9
+ id: string,
10
+ name: string,
11
+ } | null),
12
+ }
13
+
@@ -84,7 +84,7 @@ const artifact: EagerReaderArtifact<
84
84
  Query__linkedUpdate__output_type
85
85
  > = {
86
86
  kind: "EagerReaderArtifact",
87
- fieldName: "Query.linkedUpdate",
87
+ fieldName: "linkedUpdate",
88
88
  resolver,
89
89
  readerAst,
90
90
  hasUpdatable: true,
@@ -1,6 +1,7 @@
1
1
  import type {IsographEntrypoint, NormalizationAst, RefetchQueryNormalizationArtifactWrapper} from '@isograph/react';
2
2
  import {Query__meName__param} from './param_type';
3
3
  import {Query__meName__output_type} from './output_type';
4
+ import type {Query__meName__raw_response_type} from './raw_response_type';
4
5
  import readerResolver from './resolver_reader';
5
6
  import queryText from './query_text';
6
7
  import normalizationAst from './normalization_ast';
@@ -9,7 +10,8 @@ const nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[] = [];
9
10
  const artifact: IsographEntrypoint<
10
11
  Query__meName__param,
11
12
  Query__meName__output_type,
12
- NormalizationAst
13
+ NormalizationAst,
14
+ Query__meName__raw_response_type
13
15
  > = {
14
16
  kind: "Entrypoint",
15
17
  networkRequestInfo: {
@@ -0,0 +1,7 @@
1
+ export type Query__meName__raw_response_type = {
2
+ me: {
3
+ id: string,
4
+ name: string,
5
+ },
6
+ }
7
+
@@ -29,7 +29,7 @@ const artifact: EagerReaderArtifact<
29
29
  Query__meName__output_type
30
30
  > = {
31
31
  kind: "EagerReaderArtifact",
32
- fieldName: "Query.meName",
32
+ fieldName: "meName",
33
33
  resolver,
34
34
  readerAst,
35
35
  hasUpdatable: false,
@@ -1,6 +1,7 @@
1
1
  import type {IsographEntrypoint, NormalizationAst, RefetchQueryNormalizationArtifactWrapper} from '@isograph/react';
2
2
  import {Query__meNameSuccessor__param} from './param_type';
3
3
  import {Query__meNameSuccessor__output_type} from './output_type';
4
+ import type {Query__meNameSuccessor__raw_response_type} from './raw_response_type';
4
5
  import readerResolver from './resolver_reader';
5
6
  import queryText from './query_text';
6
7
  import normalizationAst from './normalization_ast';
@@ -9,7 +10,8 @@ const nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[] = [];
9
10
  const artifact: IsographEntrypoint<
10
11
  Query__meNameSuccessor__param,
11
12
  Query__meNameSuccessor__output_type,
12
- NormalizationAst
13
+ NormalizationAst,
14
+ Query__meNameSuccessor__raw_response_type
13
15
  > = {
14
16
  kind: "Entrypoint",
15
17
  networkRequestInfo: {