@isograph/react 0.5.0 → 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 (297) hide show
  1. package/.turbo/turbo-compile-libs.log +9 -2
  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 -29
  6. package/dist/core/FragmentReference.d.ts.map +1 -1
  7. package/dist/core/FragmentReference.js +7 -5
  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 +76 -79
  13. package/dist/core/IsographEnvironment.d.ts.map +1 -1
  14. package/dist/core/IsographEnvironment.js +60 -82
  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 +26 -23
  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 +6 -6
  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 -37
  34. package/dist/core/cache.d.ts.map +1 -1
  35. package/dist/core/cache.js +203 -537
  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 +21 -19
  41. package/dist/core/check.d.ts.map +1 -1
  42. package/dist/core/check.js +80 -127
  43. package/dist/core/check.mjs +84 -0
  44. package/dist/core/check.mjs.map +1 -0
  45. package/dist/core/componentCache.js +9 -35
  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 -78
  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 -16
  58. package/dist/core/garbageCollection.d.ts.map +1 -1
  59. package/dist/core/garbageCollection.js +76 -115
  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 +66 -61
  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 -10
  75. package/dist/core/makeNetworkRequest.d.ts.map +1 -1
  76. package/dist/core/makeNetworkRequest.js +180 -264
  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 +37 -53
  82. package/dist/core/optimisticProxy.d.ts.map +1 -1
  83. package/dist/core/optimisticProxy.js +245 -371
  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 -28
  89. package/dist/core/read.d.ts.map +1 -1
  90. package/dist/core/read.js +435 -650
  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 -77
  96. package/dist/core/reader.d.ts.map +1 -1
  97. package/dist/core/startUpdate.js +115 -152
  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 -69
  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 +9 -12
  128. package/dist/loadable-hooks/useClientSideDefer.d.ts.map +1 -1
  129. package/dist/loadable-hooks/useClientSideDefer.js +13 -44
  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 +26 -22
  135. package/dist/loadable-hooks/useConnectionSpecPagination.d.ts.map +1 -1
  136. package/dist/loadable-hooks/useConnectionSpecPagination.js +133 -172
  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 -8
  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 -14
  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 +15 -12
  184. package/dist/react/LoadableFieldReader.d.ts.map +1 -1
  185. package/dist/react/LoadableFieldReader.js +13 -47
  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 +16 -13
  191. package/dist/react/LoadableFieldRenderer.d.ts.map +1 -1
  192. package/dist/react/LoadableFieldRenderer.js +13 -70
  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 -8
  215. package/dist/react/useImperativeReference.d.ts.map +1 -1
  216. package/dist/react/useImperativeReference.js +34 -30
  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 -6
  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 -37
  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 -40
  245. package/dist/react/useResult.mjs +30 -0
  246. package/dist/react/useResult.mjs.map +1 -0
  247. package/package.json +17 -9
  248. package/src/core/FragmentReference.ts +3 -3
  249. package/src/core/IsographEnvironment.ts +29 -16
  250. package/src/core/areEqualWithDeepComparison.ts +2 -18
  251. package/src/core/cache.ts +18 -383
  252. package/src/core/check.ts +9 -16
  253. package/src/core/componentCache.ts +10 -47
  254. package/src/core/entrypoint.ts +15 -3
  255. package/src/core/garbageCollection.ts +21 -10
  256. package/src/core/getOrCreateCacheForArtifact.ts +86 -0
  257. package/src/core/logging.ts +10 -10
  258. package/src/core/makeNetworkRequest.ts +16 -23
  259. package/src/core/optimisticProxy.ts +28 -47
  260. package/src/core/read.ts +21 -38
  261. package/src/core/reader.ts +8 -11
  262. package/src/core/startUpdate.ts +2 -6
  263. package/src/core/subscribe.ts +189 -0
  264. package/src/core/util.ts +26 -0
  265. package/src/core/writeData.ts +79 -0
  266. package/src/index.ts +5 -4
  267. package/src/loadable-hooks/useClientSideDefer.ts +4 -4
  268. package/src/loadable-hooks/useConnectionSpecPagination.ts +20 -18
  269. package/src/loadable-hooks/useImperativeLoadableField.ts +3 -3
  270. package/src/loadable-hooks/useSkipLimitPagination.ts +20 -18
  271. package/src/react/IsographEnvironmentProvider.tsx +2 -1
  272. package/src/react/LoadableFieldReader.tsx +2 -4
  273. package/src/react/LoadableFieldRenderer.tsx +2 -4
  274. package/src/react/createIsographEnvironment.ts +23 -0
  275. package/src/react/maybeUnwrapNetworkRequest.ts +17 -0
  276. package/src/react/useImperativeReference.ts +5 -4
  277. package/src/react/useLazyReference.ts +7 -8
  278. package/src/react/useReadAndSubscribe.ts +53 -5
  279. package/src/react/useRerenderOnChange.ts +3 -3
  280. package/src/react/useResult.ts +6 -24
  281. package/src/tests/__isograph/Economist/__link/output_type.ts +2 -0
  282. package/src/tests/garbageCollection.test.ts +3 -6
  283. package/src/tests/meNameSuccessor.ts +1 -1
  284. package/src/tests/nodeQuery.ts +2 -2
  285. package/src/tests/normalizeData.test.ts +5 -3
  286. package/src/tests/optimisticProxy.test.ts +7 -5
  287. package/src/tests/startUpdate.test.ts +5 -7
  288. package/vitest.config.ts +5 -0
  289. package/dist/core/areEqualWithDeepComparison.d.ts +0 -3
  290. package/dist/core/areEqualWithDeepComparison.d.ts.map +0 -1
  291. package/dist/core/brand.js +0 -2
  292. package/dist/core/componentCache.d.ts +0 -5
  293. package/dist/core/componentCache.d.ts.map +0 -1
  294. package/dist/core/reader.js +0 -2
  295. package/dist/core/startUpdate.d.ts +0 -9
  296. package/dist/core/startUpdate.d.ts.map +0 -1
  297. package/dist/index.d.ts.map +0 -1
@@ -1,88 +1,89 @@
1
- import { Factory } from '@isograph/disposable-types';
2
- import { FetchOptions } from './check';
3
- import { IsographEntrypoint, IsographEntrypointLoader, RefetchQueryNormalizationArtifact, RefetchQueryNormalizationArtifactWrapper } from './entrypoint';
4
- import { ExtractParameters, FragmentReference, type UnknownTReadFromStore } from './FragmentReference';
5
- import { ComponentOrFieldName, IsographEnvironment, type StoreLink } from './IsographEnvironment';
6
- import { Arguments } from './util';
7
- export type TopLevelReaderArtifact<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TComponentProps extends Record<PropertyKey, never>> = EagerReaderArtifact<TReadFromStore, TClientFieldValue> | ComponentReaderArtifact<TReadFromStore, TComponentProps>;
8
- export type EagerReaderArtifact<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue> = {
9
- readonly kind: 'EagerReaderArtifact';
10
- readonly fieldName: ComponentOrFieldName;
11
- readonly readerAst: ReaderAst<TReadFromStore>;
12
- readonly resolver: (data: ResolverFirstParameter<TReadFromStore>) => TClientFieldValue;
13
- readonly hasUpdatable: boolean;
1
+ import { FetchOptions } from "./check.js";
2
+ import { Arguments } from "./util.js";
3
+ import { ComponentOrFieldName, IsographEnvironment, StoreLink } from "./IsographEnvironment.js";
4
+ import { ExtractParameters, FragmentReference, UnknownTReadFromStore } from "./FragmentReference.js";
5
+ import { IsographEntrypoint, IsographEntrypointLoader, RefetchQueryNormalizationArtifact, RefetchQueryNormalizationArtifactWrapper } from "./entrypoint.js";
6
+ import { Factory } from "@isograph/disposable-types";
7
+
8
+ //#region src/core/reader.d.ts
9
+ type TopLevelReaderArtifact<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TComponentProps extends Record<PropertyKey, never>> = EagerReaderArtifact<TReadFromStore, TClientFieldValue> | ComponentReaderArtifact<TReadFromStore, TComponentProps>;
10
+ type EagerReaderArtifact<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue> = {
11
+ readonly kind: 'EagerReaderArtifact';
12
+ readonly fieldName: ComponentOrFieldName;
13
+ readonly readerAst: ReaderAst<TReadFromStore>;
14
+ readonly resolver: (data: ResolverFirstParameter<TReadFromStore>) => TClientFieldValue;
15
+ readonly hasUpdatable: boolean;
14
16
  };
15
- export type ComponentReaderArtifact<TReadFromStore extends UnknownTReadFromStore, TComponentProps extends Record<string, unknown> = Record<PropertyKey, never>> = {
16
- readonly kind: 'ComponentReaderArtifact';
17
- readonly fieldName: ComponentOrFieldName;
18
- readonly readerAst: ReaderAst<TReadFromStore>;
19
- readonly resolver: (data: ResolverFirstParameter<TReadFromStore>, runtimeProps: TComponentProps) => React.ReactNode;
20
- readonly hasUpdatable: boolean;
17
+ type ComponentReaderArtifact<TReadFromStore extends UnknownTReadFromStore, TComponentProps extends Record<string, unknown> = Record<PropertyKey, never>> = {
18
+ readonly kind: 'ComponentReaderArtifact';
19
+ readonly fieldName: ComponentOrFieldName;
20
+ readonly readerAst: ReaderAst<TReadFromStore>;
21
+ readonly resolver: (data: ResolverFirstParameter<TReadFromStore>, runtimeProps: TComponentProps) => React.ReactNode;
22
+ readonly hasUpdatable: boolean;
21
23
  };
22
- export type ResolverFirstParameter<TReadFromStore extends UnknownTReadFromStore> = Pick<TReadFromStore, 'data' | 'parameters' | 'startUpdate'>;
23
- export type StartUpdate<UpdatableData> = (updater: (startUpdateParams: {
24
- updatableData: UpdatableData;
24
+ type ResolverFirstParameter<TReadFromStore extends UnknownTReadFromStore> = Pick<TReadFromStore, 'data' | 'parameters' | 'startUpdate'>;
25
+ type StartUpdate<UpdatableData> = (updater: (startUpdateParams: {
26
+ updatableData: UpdatableData;
25
27
  }) => void) => void;
26
- export type RefetchReaderArtifact = {
27
- readonly kind: 'RefetchReaderArtifact';
28
- readonly readerAst: ReaderAst<unknown>;
29
- readonly resolver: (environment: IsographEnvironment, artifact: RefetchQueryNormalizationArtifact, variables: any, filteredVariables: any, rootLink: StoreLink, readerArtifact: TopLevelReaderArtifact<any, any, any> | null, nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[]) => () => void;
28
+ type RefetchReaderArtifact = {
29
+ readonly kind: 'RefetchReaderArtifact';
30
+ readonly readerAst: ReaderAst<unknown>;
31
+ readonly resolver: (environment: IsographEnvironment, artifact: RefetchQueryNormalizationArtifact, variables: any, filteredVariables: any, rootLink: StoreLink, readerArtifact: TopLevelReaderArtifact<any, any, any> | null, nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[]) => () => void;
30
32
  };
31
- export type ReaderAstNode = ReaderScalarField | ReaderLinkedField | ReaderNonLoadableResolverField | ReaderImperativelyLoadedField | LoadablySelectedField | ReaderLinkField;
32
- export type ReaderAst<TReadFromStore> = ReadonlyArray<ReaderAstNode>;
33
- export type ReaderScalarField = {
34
- readonly kind: 'Scalar';
35
- readonly fieldName: string;
36
- readonly alias: string | null;
37
- readonly arguments: Arguments | null;
38
- readonly isUpdatable: boolean;
33
+ type ReaderAstNode = ReaderScalarField | ReaderLinkedField | ReaderNonLoadableResolverField | ReaderImperativelyLoadedField | LoadablySelectedField | ReaderLinkField;
34
+ type ReaderAst<TReadFromStore> = ReadonlyArray<ReaderAstNode>;
35
+ type ReaderScalarField = {
36
+ readonly kind: 'Scalar';
37
+ readonly fieldName: string;
38
+ readonly alias: string | null;
39
+ readonly arguments: Arguments | null;
40
+ readonly isUpdatable: boolean;
39
41
  };
40
- export type ReaderLinkField = {
41
- readonly kind: 'Link';
42
- readonly alias: string;
42
+ type ReaderLinkField = {
43
+ readonly kind: 'Link';
44
+ readonly alias: string;
43
45
  };
44
- export type ReaderLinkedField = {
45
- readonly kind: 'Linked';
46
- readonly fieldName: string;
47
- readonly alias: string | null;
48
- readonly selections: ReaderAst<unknown>;
49
- readonly arguments: Arguments | null;
50
- readonly condition: EagerReaderArtifact<{
51
- data: any;
52
- parameters: any;
53
- startUpdate?: StartUpdate<any>;
54
- }, StoreLink | null | (StoreLink | null)[] | StoreLink[]> | null;
55
- readonly isUpdatable: boolean;
56
- /**
57
- * If refetchQueryIndex != null, then the linked field is a client pointer.
58
- */
59
- readonly refetchQueryIndex: number | null;
46
+ type ReaderLinkedField = {
47
+ readonly kind: 'Linked';
48
+ readonly fieldName: string;
49
+ readonly alias: string | null;
50
+ readonly selections: ReaderAst<unknown>;
51
+ readonly arguments: Arguments | null;
52
+ readonly condition: EagerReaderArtifact<{
53
+ data: any;
54
+ parameters: any;
55
+ startUpdate?: StartUpdate<any>;
56
+ }, StoreLink | null | (StoreLink | null)[] | StoreLink[]> | null;
57
+ readonly isUpdatable: boolean;
58
+ /**
59
+ * If refetchQueryIndex != null, then the linked field is a client pointer.
60
+ */
61
+ readonly refetchQueryIndex: number | null;
60
62
  };
61
- export interface ReaderClientPointer extends ReaderLinkedField {
62
- readonly refetchQueryIndex: number;
63
- }
64
- export type ReaderNonLoadableResolverField = {
65
- readonly kind: 'Resolver';
66
- readonly alias: string;
67
- readonly readerArtifact: TopLevelReaderArtifact<any, any, any>;
68
- readonly arguments: Arguments | null;
69
- readonly usedRefetchQueries: number[];
63
+ type ReaderNonLoadableResolverField = {
64
+ readonly kind: 'Resolver';
65
+ readonly alias: string;
66
+ readonly readerArtifact: TopLevelReaderArtifact<any, any, any>;
67
+ readonly arguments: Arguments | null;
68
+ readonly usedRefetchQueries: number[];
70
69
  };
71
- export type ReaderImperativelyLoadedField = {
72
- readonly kind: 'ImperativelyLoadedField';
73
- readonly alias: string;
74
- readonly refetchReaderArtifact: RefetchReaderArtifact;
75
- readonly refetchQueryIndex: number;
76
- readonly name: string;
70
+ type ReaderImperativelyLoadedField = {
71
+ readonly kind: 'ImperativelyLoadedField';
72
+ readonly alias: string;
73
+ readonly refetchReaderArtifact: RefetchReaderArtifact;
74
+ readonly refetchQueryIndex: number;
75
+ readonly name: string;
77
76
  };
78
- export type LoadablySelectedField = {
79
- readonly kind: 'LoadablySelectedField';
80
- readonly alias: string;
81
- readonly name: string;
82
- readonly queryArguments: Arguments | null;
83
- readonly refetchReaderAst: ReaderAst<any>;
84
- readonly entrypoint: IsographEntrypoint<any, any, any, any> | IsographEntrypointLoader<any, any, any>;
77
+ type LoadablySelectedField = {
78
+ readonly kind: 'LoadablySelectedField';
79
+ readonly alias: string;
80
+ readonly name: string;
81
+ readonly queryArguments: Arguments | null;
82
+ readonly refetchReaderAst: ReaderAst<any>;
83
+ readonly entrypoint: IsographEntrypoint<any, any, any, any> | IsographEntrypointLoader<any, any, any>;
85
84
  };
86
- export type StableId = string;
87
- export type LoadableField<TReadFromStore extends UnknownTReadFromStore, TResult, TArgs = ExtractParameters<TReadFromStore>> = (args: TArgs | void, fetchOptions: FetchOptions<TResult, never>) => [StableId, Factory<FragmentReference<TReadFromStore, TResult>>];
85
+ type StableId = string;
86
+ type LoadableField<TReadFromStore extends UnknownTReadFromStore, TResult, TArgs = ExtractParameters<TReadFromStore>> = (args: TArgs | void, fetchOptions: FetchOptions<TResult, never>) => [StableId, Factory<FragmentReference<TReadFromStore, TResult>>];
87
+ //#endregion
88
+ export { ComponentReaderArtifact, EagerReaderArtifact, LoadableField, LoadablySelectedField, ReaderAst, ReaderAstNode, ReaderImperativelyLoadedField, ReaderLinkField, ReaderLinkedField, ReaderNonLoadableResolverField, ReaderScalarField, RefetchReaderArtifact, ResolverFirstParameter, StableId, StartUpdate, TopLevelReaderArtifact };
88
89
  //# sourceMappingURL=reader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/core/reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reader.d.ts","names":[],"sources":["../../src/core/reader.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAiBY,KAAA,sBAAsB,CAAA,uBACT,qBADS,EAAA,iBAAA,EAAA,wBAGR,MAHQ,CAGD,WAHC,EAAA,KAAA,CAAA,CAAA,GAK9B,mBAL8B,CAKV,cALU,EAKM,iBALN,CAAA,GAM9B,uBAN8B,CAMN,cANM,EAMU,eANV,CAAA;AACT,KAOb,mBAPa,CAAA,uBAQA,qBARA,EAAA,iBAAA,CAAA,GAAA;EAEQ,SAAA,IAAA,EAAA,qBAAA;EAAP,SAAA,SAAA,EAUJ,oBAVI;EAEF,SAAA,SAAA,EASF,SATE,CASQ,cATR,CAAA;EAAgB,SAAA,QAAA,EAAA,CAAA,IAAA,EAW9B,sBAX8B,CAWP,cAXO,CAAA,EAAA,GAYjC,iBAZiC;EAApC,SAAA,YAAA,EAAA,OAAA;CACwB;AAAgB,KAehC,uBAfgC,CAAA,uBAgBnB,qBAhBmB,EAAA,wBAiBlB,MAjBkB,CAAA,MAAA,EAAA,OAAA,CAAA,GAiBQ,MAjBR,CAiBe,WAjBf,EAAA,KAAA,CAAA,CAAA,GAAA;EAAxC,SAAA,IAAA,EAAA,yBAAA;EAAuB,SAAA,SAAA,EAoBL,oBApBK;EAEf,SAAA,SAAA,EAmBU,SAnBS,CAmBC,cAnBD,CAAA;EACN,SAAA,QAAA,EAAA,CAAA,IAAA,EAoBf,sBApBe,CAoBQ,cApBR,CAAA,EAAA,YAAA,EAqBP,eArBO,EAAA,GAsBlB,KAAA,CAAM,SAtBY;EAIH,SAAA,YAAA,EAAA,OAAA;CACU;AAAV,KAqBV,sBArBU,CAAA,uBAsBG,qBAtBH,CAAA,GAuBlB,IAvBkB,CAuBb,cAvBa,EAAA,MAAA,GAAA,YAAA,GAAA,aAAA,CAAA;AAEW,KAuBrB,WAvBqB,CAAA,aAAA,CAAA,GAAA,CAAA,OAAA,EAAA,CAAA,iBAAA,EAAA;EAAvB,aAAA,EAwBsC,aAxBtC;CACH,EAAA,GAAA,IAAA,EAAA,GAAA,IAAA;AAAiB,KA0BZ,qBAAA,GA1BY;EAIZ,SAAA,IAAA,EAAA,uBAAuB;EACV,SAAA,SAAA,EAuBH,SAvBG,CAAA,OAAA,CAAA;EACC,SAAA,QAAA,EAAA,CAAA,WAAA,EAwBT,mBAxBS,EAAA,QAAA,EAyBZ,iCAzBY,EAAA,SAAA,EAAA,GAAA,EAAA,iBAAA,EAAA,GAAA,EAAA,QAAA,EA8BZ,SA9BY,EAAA,cAAA,EA+BN,sBA/BM,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA,GAAA,IAAA,EAAA,oBAAA,EAiCA,wCAjCA,EAAA,EAAA,GAAA,GAAA,GAAA,IAAA;CAAiC;AAAP,KAqCxC,aAAA,GACR,iBAtCgD,GAuChD,iBAvCgD,GAwChD,8BAxCgD,GAyChD,6BAzCgD,GA0ChD,qBA1CgD,GA2ChD,eA3CgD;AAG9B,KA2CV,SA3CU,CAAA,cAAA,CAAA,GA2CkB,aA3ClB,CA2CgC,aA3ChC,CAAA;AACU,KA4CpB,iBAAA,GA5CoB;EAAV,SAAA,IAAA,EAAA,QAAA;EAEW,SAAA,SAAA,EAAA,MAAA;EAAvB,SAAA,KAAA,EAAA,MAAA,GAAA,IAAA;EACQ,SAAA,SAAA,EA6CI,SA7CJ,GAAA,IAAA;EACX,SAAM,WAAA,EAAA,OAAA;CAAS;AAIV,KA4CA,eAAA,GA5CsB;EACT,SAAA,IAAA,EAAA,MAAA;EAChB,SAAA,KAAA,EAAA,MAAA;CAAL;AAAI,KA+CI,iBAAA,GA/CJ;EAEI,SAAA,IAAA,EAAW,QAAA;EAIX,SAAA,SAAA,EAAA,MAAqB;EAEX,SAAA,KAAA,EAAA,MAAA,GAAA,IAAA;EAEL,SAAA,UAAA,EAyCM,SAzCN,CAAA,OAAA,CAAA;EACH,SAAA,SAAA,EAyCQ,SAzCR,GAAA,IAAA;EAKA,SAAA,SAAA,EAqCQ,mBArCR,CAAA;IACM,IAAA,EAAA,GAAA;IAEM,UAAA,EAAA,GAAA;IAAwC,WAAA,CAAA,EAmClB,WAnCkB,CAAA,GAAA,CAAA;EAItD,CAAA,EAgCR,SAhCQ,GAAA,IAAa,GAAA,CAgCD,SAhCC,GAAA,IAAA,CAAA,EAAA,GAgCqB,SAhCrB,EAAA,CAAA,GAAA,IAAA;EACrB,SAAA,WAAA,EAAA,OAAA;EACA;;;EAGA,SAAA,iBAAA,EAAA,MAAA,GAAA,IAAA;CACA;AAaQ,KA0BA,8BAAA,GA1Be;EAKf,SAAA,IAAA,EAAA,UAAiB;EAIN,SAAA,KAAA,EAAA,MAAA;EACD,SAAA,cAAA,EAoBK,sBApBL,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA;EAE0B,SAAA,SAAA,EAmB1B,SAnB0B,GAAA,IAAA;EAC5C,SAAA,kBAAA,EAAA,MAAA,EAAA;CAAoB;AAAsB,KAsBlC,6BAAA,GAtBkC;EAFxB,SAAA,IAAA,EAAA,yBAAA;EAAmB,SAAA,KAAA,EAAA,MAAA;EAe7B,SAAA,qBAAA,EAYsB,qBARP;EAKf,SAAA,iBAAA,EAAA,MAA6B;EAQ7B,SAAA,IAAA,EAAA,MAAA;CAQe;AACE,KATjB,qBAAA,GASiB;EAIvB,SAAA,IAAA,EAAA,uBAAA;EACA,SAAA,KAAA,EAAA,MAAA;EAAwB,SAAA,IAAA,EAAA,MAAA;EAGlB,SAAA,cAAQ,EATO,SASP,GAAA,IAAA;EAUR,SAAA,gBAAa,EAlBI,SAkBJ,CAAA,GAAA,CAAA;EACA,SAAA,UAAA,EAfnB,kBAemB,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA,GAdnB,wBAcmB,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA;CAEG;AAAlB,KAbE,QAAA,GAaF,MAAA;AAEF,KALI,aAKJ,CAAA,uBAJiB,qBAIjB,EAAA,OAAA,EAAA,QAFE,iBAEF,CAFoB,cAEpB,CAAA,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,GAAA,IAAA,EAAA,YAAA,EAKQ,YALR,CAKqB,OALrB,EAAA,KAAA,CAAA,EAAA,GAAA,CAMF,QANE,EAMQ,OANR,CAMgB,iBANhB,CAMkC,cANlC,EAMkD,OANlD,CAAA,CAAA,CAAA"}
@@ -1,162 +1,125 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getOrCreateCachedStartUpdate = getOrCreateCachedStartUpdate;
4
- exports.createStartUpdate = createStartUpdate;
5
- exports.createUpdatableProxy = createUpdatableProxy;
6
- const cache_1 = require("./cache");
7
- const FragmentReference_1 = require("./FragmentReference");
8
- const IsographEnvironment_1 = require("./IsographEnvironment");
9
- const logging_1 = require("./logging");
10
- const optimisticProxy_1 = require("./optimisticProxy");
11
- const PromiseWrapper_1 = require("./PromiseWrapper");
12
- const read_1 = require("./read");
1
+ const require_PromiseWrapper = require('./PromiseWrapper.js');
2
+ const require_IsographEnvironment = require('./IsographEnvironment.js');
3
+ const require_logging = require('./logging.js');
4
+ const require_FragmentReference = require('./FragmentReference.js');
5
+ const require_read = require('./read.js');
6
+ const require_subscribe = require('./subscribe.js');
7
+ const require_optimisticProxy = require('./optimisticProxy.js');
8
+ const require_cache = require('./cache.js');
9
+
10
+ //#region src/core/startUpdate.ts
13
11
  function getOrCreateCachedStartUpdate(environment, fragmentReference, networkRequestOptions) {
14
- var _a;
15
- var _b, _c;
16
- return ((_a = (_b = environment.eagerReaderCache)[_c = (0, FragmentReference_1.stableIdForFragmentReference)(fragmentReference)]) !== null && _a !== void 0 ? _a : (_b[_c] = createStartUpdate(environment, fragmentReference, networkRequestOptions)));
12
+ return environment.eagerReaderCache[require_FragmentReference.stableIdForFragmentReference(fragmentReference)] ??= createStartUpdate(environment, fragmentReference, networkRequestOptions);
17
13
  }
18
14
  function createStartUpdate(environment, fragmentReference, networkRequestOptions) {
19
- return (updater) => {
20
- let mutableUpdatedIds = new Map();
21
- const startUpdate = (storeLayer) => {
22
- mutableUpdatedIds.clear();
23
- let updatableData = createUpdatableProxy(environment, storeLayer, fragmentReference, networkRequestOptions, mutableUpdatedIds);
24
- try {
25
- updater({ updatableData });
26
- }
27
- catch (e) {
28
- (0, logging_1.logMessage)(environment, () => ({
29
- kind: 'StartUpdateError',
30
- error: e,
31
- }));
32
- throw e;
33
- }
34
- };
35
- environment.store = (0, optimisticProxy_1.addStartUpdateStoreLayer)(environment.store, startUpdate);
36
- (0, logging_1.logMessage)(environment, () => ({
37
- kind: 'StartUpdateComplete',
38
- updatedIds: mutableUpdatedIds,
39
- }));
40
- (0, cache_1.callSubscriptions)(environment, mutableUpdatedIds);
41
- };
15
+ return (updater) => {
16
+ let mutableUpdatedIds = /* @__PURE__ */ new Map();
17
+ const startUpdate = (storeLayer) => {
18
+ mutableUpdatedIds.clear();
19
+ let updatableData = createUpdatableProxy(environment, storeLayer, fragmentReference, networkRequestOptions, mutableUpdatedIds);
20
+ try {
21
+ updater({ updatableData });
22
+ } catch (e) {
23
+ require_logging.logMessage(environment, () => ({
24
+ kind: "StartUpdateError",
25
+ error: e
26
+ }));
27
+ throw e;
28
+ }
29
+ };
30
+ environment.store = require_optimisticProxy.addStartUpdateStoreLayer(environment.store, startUpdate);
31
+ require_logging.logMessage(environment, () => ({
32
+ kind: "StartUpdateComplete",
33
+ updatedIds: mutableUpdatedIds
34
+ }));
35
+ require_subscribe.callSubscriptions(environment, mutableUpdatedIds);
36
+ };
42
37
  }
43
38
  function createUpdatableProxy(environment, storeLayer, fragmentReference, networkRequestOptions, mutableUpdatedIds) {
44
- var _a;
45
- const readerWithRefetchQueries = (0, PromiseWrapper_1.readPromise)(fragmentReference.readerWithRefetchQueries);
46
- return readUpdatableData(environment, storeLayer, readerWithRefetchQueries.readerArtifact.readerAst, fragmentReference.root, (_a = fragmentReference.variables) !== null && _a !== void 0 ? _a : {}, readerWithRefetchQueries.nestedRefetchQueries, fragmentReference.networkRequest, networkRequestOptions, {
47
- lastInvalidated: 0,
48
- }, mutableUpdatedIds).data;
39
+ const readerWithRefetchQueries = require_PromiseWrapper.readPromise(fragmentReference.readerWithRefetchQueries);
40
+ return readUpdatableData(environment, storeLayer, readerWithRefetchQueries.readerArtifact.readerAst, fragmentReference.root, fragmentReference.variables ?? {}, readerWithRefetchQueries.nestedRefetchQueries, fragmentReference.networkRequest, networkRequestOptions, { lastInvalidated: 0 }, mutableUpdatedIds).data;
49
41
  }
50
42
  function defineCachedProperty(target, property, mutableState, get, set) {
51
- let value = {
52
- kind: 'NotSet',
53
- };
54
- Object.defineProperty(target, property, Object.assign({ configurable: false, enumerable: true, get: () => {
55
- if (value.kind === 'NotSet' ||
56
- value.validatedAt < mutableState.lastInvalidated) {
57
- value = {
58
- kind: 'Set',
59
- value: get(),
60
- validatedAt: mutableState.lastInvalidated,
61
- };
62
- }
63
- return value.value;
64
- } }, (set && {
65
- set: (newValue) => {
66
- set(newValue);
67
- mutableState.lastInvalidated++;
68
- },
69
- })));
43
+ let value = { kind: "NotSet" };
44
+ Object.defineProperty(target, property, {
45
+ configurable: false,
46
+ enumerable: true,
47
+ get: () => {
48
+ if (value.kind === "NotSet" || value.validatedAt < mutableState.lastInvalidated) value = {
49
+ kind: "Set",
50
+ value: get(),
51
+ validatedAt: mutableState.lastInvalidated
52
+ };
53
+ return value.value;
54
+ },
55
+ ...set != null && { set: (newValue) => {
56
+ set(newValue);
57
+ mutableState.lastInvalidated++;
58
+ } }
59
+ });
70
60
  }
71
61
  function readUpdatableData(environment, storeLayer, ast, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, mutableState, mutableUpdatedIds) {
72
- var _a, _b;
73
- const storeRecord = (0, optimisticProxy_1.getMutableStoreRecordProxy)(storeLayer, root);
74
- let target = {};
75
- for (const field of ast) {
76
- switch (field.kind) {
77
- case 'Scalar': {
78
- const storeRecordName = (0, cache_1.getParentRecordKey)(field, variables);
79
- defineCachedProperty(target, (_a = field.alias) !== null && _a !== void 0 ? _a : field.fieldName, mutableState, () => {
80
- const data = (0, read_1.readScalarFieldData)(field, storeRecord, root, variables);
81
- if (data.kind === 'MissingData') {
82
- throw new Error(data.reason);
83
- }
84
- return data.data;
85
- }, field.isUpdatable
86
- ? (newValue) => {
87
- const storeRecord = (0, optimisticProxy_1.getOrInsertRecord)(storeLayer.data, root);
88
- storeRecord[storeRecordName] = newValue;
89
- const updatedIds = (0, cache_1.insertEmptySetIfMissing)(mutableUpdatedIds, root.__typename);
90
- updatedIds.add(root.__link);
91
- }
92
- : undefined);
93
- break;
94
- }
95
- case 'Linked': {
96
- const storeRecordName = (0, cache_1.getParentRecordKey)(field, variables);
97
- defineCachedProperty(target, (_b = field.alias) !== null && _b !== void 0 ? _b : field.fieldName, mutableState, () => {
98
- const data = (0, read_1.readLinkedFieldData)(environment, field, storeRecord, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, (ast, root) => readUpdatableData(environment, storeLayer, ast, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, mutableState, mutableUpdatedIds));
99
- if (data.kind === 'MissingData') {
100
- throw new Error(data.reason);
101
- }
102
- return data.data;
103
- }, 'isUpdatable' in field && field.isUpdatable
104
- ? (newValue) => {
105
- const storeRecord = (0, optimisticProxy_1.getOrInsertRecord)(storeLayer.data, root);
106
- if (Array.isArray(newValue)) {
107
- storeRecord[storeRecordName] = newValue.map((node) => (0, IsographEnvironment_1.assertLink)(node === null || node === void 0 ? void 0 : node.__link));
108
- }
109
- else {
110
- storeRecord[storeRecordName] = (0, IsographEnvironment_1.assertLink)(newValue === null || newValue === void 0 ? void 0 : newValue.__link);
111
- }
112
- const updatedIds = (0, cache_1.insertEmptySetIfMissing)(mutableUpdatedIds, root.__typename);
113
- updatedIds.add(root.__link);
114
- }
115
- : undefined);
116
- break;
117
- }
118
- case 'ImperativelyLoadedField': {
119
- defineCachedProperty(target, field.alias, mutableState, () => {
120
- const data = (0, read_1.readImperativelyLoadedField)(environment, field, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, new Map());
121
- if (data.kind === 'MissingData') {
122
- throw new Error(data.reason);
123
- }
124
- return data.data;
125
- });
126
- break;
127
- }
128
- case 'Resolver': {
129
- defineCachedProperty(target, field.alias, mutableState, () => {
130
- const data = (0, read_1.readResolverFieldData)(environment, field, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, new Map());
131
- if (data.kind === 'MissingData') {
132
- throw new Error(data.reason);
133
- }
134
- return data.data;
135
- });
136
- break;
137
- }
138
- case 'LoadablySelectedField': {
139
- defineCachedProperty(target, field.alias, mutableState, () => {
140
- const data = (0, read_1.readLoadablySelectedFieldData)(environment, field, root, variables, networkRequest, networkRequestOptions, new Map());
141
- if (data.kind === 'MissingData') {
142
- throw new Error(data.reason);
143
- }
144
- return data.data;
145
- });
146
- break;
147
- }
148
- case 'Link': {
149
- target[field.alias] = root;
150
- break;
151
- }
152
- default: {
153
- field;
154
- throw new Error('Unexpected case.');
155
- }
156
- }
157
- }
158
- return {
159
- kind: 'Success',
160
- data: target,
161
- };
62
+ const storeRecord = require_optimisticProxy.getMutableStoreRecordProxy(storeLayer, root);
63
+ let target = {};
64
+ for (const field of ast) switch (field.kind) {
65
+ case "Scalar": {
66
+ const storeRecordName = require_cache.getParentRecordKey(field, variables);
67
+ defineCachedProperty(target, field.alias ?? field.fieldName, mutableState, () => {
68
+ const data = require_read.readScalarFieldData(field, storeRecord, root, variables);
69
+ if (data.kind === "MissingData") throw new Error(data.reason);
70
+ return data.data;
71
+ }, field.isUpdatable ? (newValue) => {
72
+ const storeRecord$1 = require_optimisticProxy.getOrInsertRecord(storeLayer.data, root);
73
+ storeRecord$1[storeRecordName] = newValue;
74
+ require_cache.insertEmptySetIfMissing(mutableUpdatedIds, root.__typename).add(root.__link);
75
+ } : void 0);
76
+ break;
77
+ }
78
+ case "Linked": {
79
+ const storeRecordName = require_cache.getParentRecordKey(field, variables);
80
+ defineCachedProperty(target, field.alias ?? field.fieldName, mutableState, () => {
81
+ const data = require_read.readLinkedFieldData(environment, field, storeRecord, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, (ast$1, root$1) => readUpdatableData(environment, storeLayer, ast$1, root$1, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, mutableState, mutableUpdatedIds));
82
+ if (data.kind === "MissingData") throw new Error(data.reason);
83
+ return data.data;
84
+ }, "isUpdatable" in field && field.isUpdatable ? (newValue) => {
85
+ const storeRecord$1 = require_optimisticProxy.getOrInsertRecord(storeLayer.data, root);
86
+ if (Array.isArray(newValue)) storeRecord$1[storeRecordName] = newValue.map((node) => require_IsographEnvironment.assertLink(node?.__link));
87
+ else storeRecord$1[storeRecordName] = require_IsographEnvironment.assertLink(newValue?.__link);
88
+ require_cache.insertEmptySetIfMissing(mutableUpdatedIds, root.__typename).add(root.__link);
89
+ } : void 0);
90
+ break;
91
+ }
92
+ case "ImperativelyLoadedField":
93
+ defineCachedProperty(target, field.alias, mutableState, () => {
94
+ const data = require_read.readImperativelyLoadedField(environment, field, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, /* @__PURE__ */ new Map());
95
+ if (data.kind === "MissingData") throw new Error(data.reason);
96
+ return data.data;
97
+ });
98
+ break;
99
+ case "Resolver":
100
+ defineCachedProperty(target, field.alias, mutableState, () => {
101
+ const data = require_read.readResolverFieldData(environment, field, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, /* @__PURE__ */ new Map());
102
+ if (data.kind === "MissingData") throw new Error(data.reason);
103
+ return data.data;
104
+ });
105
+ break;
106
+ case "LoadablySelectedField":
107
+ defineCachedProperty(target, field.alias, mutableState, () => {
108
+ const data = require_read.readLoadablySelectedFieldData(environment, field, root, variables, networkRequest, networkRequestOptions, /* @__PURE__ */ new Map());
109
+ if (data.kind === "MissingData") throw new Error(data.reason);
110
+ return data.data;
111
+ });
112
+ break;
113
+ case "Link":
114
+ target[field.alias] = root;
115
+ break;
116
+ }
117
+ return {
118
+ kind: "Success",
119
+ data: target
120
+ };
162
121
  }
122
+
123
+ //#endregion
124
+ exports.createStartUpdate = createStartUpdate;
125
+ exports.getOrCreateCachedStartUpdate = getOrCreateCachedStartUpdate;
@@ -0,0 +1,125 @@
1
+ import { readPromise } from "./PromiseWrapper.mjs";
2
+ import { assertLink } from "./IsographEnvironment.mjs";
3
+ import { logMessage } from "./logging.mjs";
4
+ import { stableIdForFragmentReference } from "./FragmentReference.mjs";
5
+ import { readImperativelyLoadedField, readLinkedFieldData, readLoadablySelectedFieldData, readResolverFieldData, readScalarFieldData } from "./read.mjs";
6
+ import { callSubscriptions } from "./subscribe.mjs";
7
+ import { addStartUpdateStoreLayer, getMutableStoreRecordProxy, getOrInsertRecord } from "./optimisticProxy.mjs";
8
+ import { getParentRecordKey, insertEmptySetIfMissing } from "./cache.mjs";
9
+
10
+ //#region src/core/startUpdate.ts
11
+ function getOrCreateCachedStartUpdate(environment, fragmentReference, networkRequestOptions) {
12
+ return environment.eagerReaderCache[stableIdForFragmentReference(fragmentReference)] ??= createStartUpdate(environment, fragmentReference, networkRequestOptions);
13
+ }
14
+ function createStartUpdate(environment, fragmentReference, networkRequestOptions) {
15
+ return (updater) => {
16
+ let mutableUpdatedIds = /* @__PURE__ */ new Map();
17
+ const startUpdate = (storeLayer) => {
18
+ mutableUpdatedIds.clear();
19
+ let updatableData = createUpdatableProxy(environment, storeLayer, fragmentReference, networkRequestOptions, mutableUpdatedIds);
20
+ try {
21
+ updater({ updatableData });
22
+ } catch (e) {
23
+ logMessage(environment, () => ({
24
+ kind: "StartUpdateError",
25
+ error: e
26
+ }));
27
+ throw e;
28
+ }
29
+ };
30
+ environment.store = addStartUpdateStoreLayer(environment.store, startUpdate);
31
+ logMessage(environment, () => ({
32
+ kind: "StartUpdateComplete",
33
+ updatedIds: mutableUpdatedIds
34
+ }));
35
+ callSubscriptions(environment, mutableUpdatedIds);
36
+ };
37
+ }
38
+ function createUpdatableProxy(environment, storeLayer, fragmentReference, networkRequestOptions, mutableUpdatedIds) {
39
+ const readerWithRefetchQueries = readPromise(fragmentReference.readerWithRefetchQueries);
40
+ return readUpdatableData(environment, storeLayer, readerWithRefetchQueries.readerArtifact.readerAst, fragmentReference.root, fragmentReference.variables ?? {}, readerWithRefetchQueries.nestedRefetchQueries, fragmentReference.networkRequest, networkRequestOptions, { lastInvalidated: 0 }, mutableUpdatedIds).data;
41
+ }
42
+ function defineCachedProperty(target, property, mutableState, get, set) {
43
+ let value = { kind: "NotSet" };
44
+ Object.defineProperty(target, property, {
45
+ configurable: false,
46
+ enumerable: true,
47
+ get: () => {
48
+ if (value.kind === "NotSet" || value.validatedAt < mutableState.lastInvalidated) value = {
49
+ kind: "Set",
50
+ value: get(),
51
+ validatedAt: mutableState.lastInvalidated
52
+ };
53
+ return value.value;
54
+ },
55
+ ...set != null && { set: (newValue) => {
56
+ set(newValue);
57
+ mutableState.lastInvalidated++;
58
+ } }
59
+ });
60
+ }
61
+ function readUpdatableData(environment, storeLayer, ast, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, mutableState, mutableUpdatedIds) {
62
+ const storeRecord = getMutableStoreRecordProxy(storeLayer, root);
63
+ let target = {};
64
+ for (const field of ast) switch (field.kind) {
65
+ case "Scalar": {
66
+ const storeRecordName = getParentRecordKey(field, variables);
67
+ defineCachedProperty(target, field.alias ?? field.fieldName, mutableState, () => {
68
+ const data = readScalarFieldData(field, storeRecord, root, variables);
69
+ if (data.kind === "MissingData") throw new Error(data.reason);
70
+ return data.data;
71
+ }, field.isUpdatable ? (newValue) => {
72
+ const storeRecord$1 = getOrInsertRecord(storeLayer.data, root);
73
+ storeRecord$1[storeRecordName] = newValue;
74
+ insertEmptySetIfMissing(mutableUpdatedIds, root.__typename).add(root.__link);
75
+ } : void 0);
76
+ break;
77
+ }
78
+ case "Linked": {
79
+ const storeRecordName = getParentRecordKey(field, variables);
80
+ defineCachedProperty(target, field.alias ?? field.fieldName, mutableState, () => {
81
+ const data = readLinkedFieldData(environment, field, storeRecord, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, (ast$1, root$1) => readUpdatableData(environment, storeLayer, ast$1, root$1, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, mutableState, mutableUpdatedIds));
82
+ if (data.kind === "MissingData") throw new Error(data.reason);
83
+ return data.data;
84
+ }, "isUpdatable" in field && field.isUpdatable ? (newValue) => {
85
+ const storeRecord$1 = getOrInsertRecord(storeLayer.data, root);
86
+ if (Array.isArray(newValue)) storeRecord$1[storeRecordName] = newValue.map((node) => assertLink(node?.__link));
87
+ else storeRecord$1[storeRecordName] = assertLink(newValue?.__link);
88
+ insertEmptySetIfMissing(mutableUpdatedIds, root.__typename).add(root.__link);
89
+ } : void 0);
90
+ break;
91
+ }
92
+ case "ImperativelyLoadedField":
93
+ defineCachedProperty(target, field.alias, mutableState, () => {
94
+ const data = readImperativelyLoadedField(environment, field, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, /* @__PURE__ */ new Map());
95
+ if (data.kind === "MissingData") throw new Error(data.reason);
96
+ return data.data;
97
+ });
98
+ break;
99
+ case "Resolver":
100
+ defineCachedProperty(target, field.alias, mutableState, () => {
101
+ const data = readResolverFieldData(environment, field, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, /* @__PURE__ */ new Map());
102
+ if (data.kind === "MissingData") throw new Error(data.reason);
103
+ return data.data;
104
+ });
105
+ break;
106
+ case "LoadablySelectedField":
107
+ defineCachedProperty(target, field.alias, mutableState, () => {
108
+ const data = readLoadablySelectedFieldData(environment, field, root, variables, networkRequest, networkRequestOptions, /* @__PURE__ */ new Map());
109
+ if (data.kind === "MissingData") throw new Error(data.reason);
110
+ return data.data;
111
+ });
112
+ break;
113
+ case "Link":
114
+ target[field.alias] = root;
115
+ break;
116
+ }
117
+ return {
118
+ kind: "Success",
119
+ data: target
120
+ };
121
+ }
122
+
123
+ //#endregion
124
+ export { createStartUpdate, getOrCreateCachedStartUpdate };
125
+ //# sourceMappingURL=startUpdate.mjs.map