relay-runtime 20.1.1 → 21.0.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 (334) hide show
  1. package/experimental.d.ts +34 -0
  2. package/experimental.js +1 -1
  3. package/experimental.js.flow +11 -11
  4. package/handlers/RelayDefaultHandlerProvider.d.ts +12 -0
  5. package/handlers/connection/ConnectionHandler.d.ts +51 -0
  6. package/handlers/connection/ConnectionHandler.js.flow +5 -5
  7. package/handlers/connection/ConnectionInterface.d.ts +40 -0
  8. package/handlers/connection/ConnectionInterface.js.flow +1 -1
  9. package/handlers/connection/MutationHandlers.d.ts +17 -0
  10. package/index.d.ts +274 -0
  11. package/index.js +1 -1
  12. package/index.js.flow +125 -62
  13. package/lib/experimental.js +3 -3
  14. package/lib/index.js +105 -57
  15. package/lib/multi-actor-environment/ActorIdentifier.js +2 -2
  16. package/lib/multi-actor-environment/MultiActorEnvironment.js +3 -1
  17. package/lib/mutations/commitMutation.js +8 -8
  18. package/lib/mutations/validateMutation.js +4 -4
  19. package/lib/query/GraphQLTag.js +3 -3
  20. package/lib/query/fetchQuery.js +15 -3
  21. package/lib/store/DataChecker.js +38 -4
  22. package/lib/store/NormalizationEngine.js +373 -0
  23. package/lib/store/OperationExecutor.js +172 -113
  24. package/lib/store/RelayConcreteVariables.js +1 -1
  25. package/lib/store/RelayErrorTrie.js +2 -2
  26. package/lib/store/RelayExperimentalGraphResponseTransform.js +8 -8
  27. package/lib/store/RelayModernEnvironment.js +26 -19
  28. package/lib/store/RelayModernRecord.js +18 -8
  29. package/lib/store/RelayModernSelector.js +9 -9
  30. package/lib/store/RelayModernStore.js +152 -43
  31. package/lib/store/RelayPublishQueue.js +1 -1
  32. package/lib/store/RelayReader.js +76 -38
  33. package/lib/store/RelayRecordSource.js +6 -0
  34. package/lib/store/RelayReferenceMarker.js +2 -1
  35. package/lib/store/RelayResponseNormalizer.js +88 -55
  36. package/lib/store/RelayStoreSubscriptions.js +34 -10
  37. package/lib/store/RelayStoreUtils.js +8 -1
  38. package/lib/store/ResolverFragments.js +2 -2
  39. package/lib/store/live-resolvers/LiveResolverCache.js +25 -9
  40. package/lib/store/observeFragmentExperimental.js +17 -1
  41. package/lib/store/observeQueryExperimental.js +2 -2
  42. package/lib/subscription/requestSubscription.js +3 -3
  43. package/lib/util/RelayError.js +3 -0
  44. package/lib/util/RelayFeatureFlags.js +6 -2
  45. package/lib/util/RelayReplaySubject.js +4 -4
  46. package/lib/util/handlePotentialSnapshotErrors.js +2 -2
  47. package/lib/util/stableCopy.js +2 -2
  48. package/llm-docs/api-reference/entrypoint-apis/entrypoint-container.mdx +38 -0
  49. package/llm-docs/api-reference/entrypoint-apis/load-entrypoint.mdx +77 -0
  50. package/llm-docs/api-reference/entrypoint-apis/use-entrypoint-loader.mdx +99 -0
  51. package/llm-docs/api-reference/graphql/graphql-directives.mdx +378 -0
  52. package/llm-docs/api-reference/hooks/_use-lazy-load-query-extra.mdx +16 -0
  53. package/llm-docs/api-reference/hooks/load-query.mdx +84 -0
  54. package/llm-docs/api-reference/hooks/relay-environment-provider.mdx +78 -0
  55. package/llm-docs/api-reference/hooks/use-client-query.mdx +65 -0
  56. package/llm-docs/api-reference/hooks/use-fragment.mdx +69 -0
  57. package/llm-docs/api-reference/hooks/use-lazy-load-query.mdx +62 -0
  58. package/llm-docs/api-reference/hooks/use-mutation.mdx +94 -0
  59. package/llm-docs/api-reference/hooks/use-pagination-fragment.mdx +166 -0
  60. package/llm-docs/api-reference/hooks/use-prefetchable-forward-pagination-fragment.mdx +134 -0
  61. package/llm-docs/api-reference/hooks/use-preloaded-query.mdx +84 -0
  62. package/llm-docs/api-reference/hooks/use-query-loader.mdx +95 -0
  63. package/llm-docs/api-reference/hooks/use-refetchable-fragment.mdx +122 -0
  64. package/llm-docs/api-reference/hooks/use-relay-environment.mdx +37 -0
  65. package/llm-docs/api-reference/hooks/use-subscription.mdx +66 -0
  66. package/llm-docs/api-reference/relay-resolvers/docblock-format.mdx +321 -0
  67. package/llm-docs/api-reference/relay-resolvers/runtime-functions.mdx +94 -0
  68. package/llm-docs/api-reference/relay-runtime/commit-mutation.mdx +65 -0
  69. package/llm-docs/api-reference/relay-runtime/fetch-query.mdx +118 -0
  70. package/llm-docs/api-reference/relay-runtime/field-logger.mdx +170 -0
  71. package/llm-docs/api-reference/relay-runtime/observe-fragment.mdx +92 -0
  72. package/llm-docs/api-reference/relay-runtime/relay-environment.mdx +53 -0
  73. package/llm-docs/api-reference/relay-runtime/request-subscription.mdx +54 -0
  74. package/llm-docs/api-reference/relay-runtime/runtime-configuration.mdx +52 -0
  75. package/llm-docs/api-reference/relay-runtime/store.mdx +734 -0
  76. package/llm-docs/api-reference/relay-runtime/wait-for-fragment-data.mdx +89 -0
  77. package/llm-docs/api-reference/types/CacheConfig.mdx +8 -0
  78. package/llm-docs/api-reference/types/Disposable.mdx +4 -0
  79. package/llm-docs/api-reference/types/GraphQLSubscriptionConfig.mdx +17 -0
  80. package/llm-docs/api-reference/types/MutationConfig.mdx +31 -0
  81. package/llm-docs/api-reference/types/SelectorStoreUpdater.mdx +6 -0
  82. package/llm-docs/api-reference/types/UploadableMap.mdx +3 -0
  83. package/llm-docs/community/learning-resources.mdx +64 -0
  84. package/llm-docs/debugging/declarative-mutation-directives.mdx +34 -0
  85. package/llm-docs/debugging/disallowed-id-types-error.mdx +43 -0
  86. package/llm-docs/debugging/inconsistent-typename-error.mdx +47 -0
  87. package/llm-docs/debugging/relay-devtools.mdx +73 -0
  88. package/llm-docs/debugging/why-null.mdx +116 -0
  89. package/llm-docs/editor-support.mdx +55 -0
  90. package/llm-docs/error-reference/unknown-field.mdx +36 -0
  91. package/llm-docs/getting-started/babel-plugin.mdx +31 -0
  92. package/llm-docs/getting-started/compiler-config.mdx +25 -0
  93. package/llm-docs/getting-started/compiler.mdx +98 -0
  94. package/llm-docs/getting-started/lint-rules.mdx +87 -0
  95. package/llm-docs/getting-started/production.mdx +30 -0
  96. package/llm-docs/getting-started/quick-start.mdx +216 -0
  97. package/llm-docs/glossary/glossary.mdx +1040 -0
  98. package/llm-docs/guided-tour/list-data/advanced-pagination.mdx +157 -0
  99. package/llm-docs/guided-tour/list-data/connections.mdx +81 -0
  100. package/llm-docs/guided-tour/list-data/pagination.mdx +193 -0
  101. package/llm-docs/guided-tour/list-data/rendering-connections.mdx +112 -0
  102. package/llm-docs/guided-tour/list-data/streaming-pagination.mdx +87 -0
  103. package/llm-docs/guided-tour/managing-data-outside-react/retaining-queries.mdx +51 -0
  104. package/llm-docs/guided-tour/refetching/refetching-queries-with-different-data.mdx +337 -0
  105. package/llm-docs/guided-tour/refetching/refreshing-queries.mdx +350 -0
  106. package/llm-docs/guided-tour/rendering/environment.mdx +59 -0
  107. package/llm-docs/guided-tour/rendering/error-states.mdx +295 -0
  108. package/llm-docs/guided-tour/rendering/fragments.mdx +354 -0
  109. package/llm-docs/guided-tour/rendering/loading-states.mdx +245 -0
  110. package/llm-docs/guided-tour/rendering/queries.mdx +261 -0
  111. package/llm-docs/guided-tour/rendering/variables.mdx +233 -0
  112. package/llm-docs/guided-tour/reusing-cached-data/fetch-policies.mdx +56 -0
  113. package/llm-docs/guided-tour/reusing-cached-data/filling-in-missing-data.mdx +102 -0
  114. package/llm-docs/guided-tour/reusing-cached-data/introduction.mdx +22 -0
  115. package/llm-docs/guided-tour/reusing-cached-data/presence-of-data.mdx +93 -0
  116. package/llm-docs/guided-tour/reusing-cached-data/rendering-partially-cached-data.mdx +175 -0
  117. package/llm-docs/guided-tour/reusing-cached-data/staleness-of-data.mdx +116 -0
  118. package/llm-docs/guided-tour/updating-data/client-only-data.mdx +115 -0
  119. package/llm-docs/guided-tour/updating-data/graphql-mutations.mdx +334 -0
  120. package/llm-docs/guided-tour/updating-data/graphql-subscriptions.mdx +279 -0
  121. package/llm-docs/guided-tour/updating-data/imperatively-modifying-linked-fields.mdx +511 -0
  122. package/llm-docs/guided-tour/updating-data/imperatively-modifying-store-data-legacy.mdx +142 -0
  123. package/llm-docs/guided-tour/updating-data/imperatively-modifying-store-data.mdx +275 -0
  124. package/llm-docs/guided-tour/updating-data/introduction.mdx +25 -0
  125. package/llm-docs/guided-tour/updating-data/local-data-updates.mdx +71 -0
  126. package/llm-docs/guided-tour/updating-data/typesafe-updaters-faq.mdx +83 -0
  127. package/llm-docs/guided-tour/updating-data/updating-connections.mdx +592 -0
  128. package/llm-docs/guides/alias-directive.mdx +160 -0
  129. package/llm-docs/guides/catch-directive.mdx +167 -0
  130. package/llm-docs/guides/client-schema-extensions.mdx +208 -0
  131. package/llm-docs/guides/codemods.mdx +79 -0
  132. package/llm-docs/guides/data-driven-dependencies/client-3d.mdx +255 -0
  133. package/llm-docs/guides/data-driven-dependencies/configuration.mdx +127 -0
  134. package/llm-docs/guides/data-driven-dependencies/introduction.mdx +39 -0
  135. package/llm-docs/guides/data-driven-dependencies/server-3d.mdx +664 -0
  136. package/llm-docs/guides/document-comparison.mdx +106 -0
  137. package/llm-docs/guides/graphql-server-specification.mdx +453 -0
  138. package/llm-docs/guides/network-layer.mdx +69 -0
  139. package/llm-docs/guides/persisted-queries.mdx +328 -0
  140. package/llm-docs/guides/relay-resolvers/context.mdx +99 -0
  141. package/llm-docs/guides/relay-resolvers/defining-fields.mdx +151 -0
  142. package/llm-docs/guides/relay-resolvers/defining-types.mdx +164 -0
  143. package/llm-docs/guides/relay-resolvers/deprecated.mdx +27 -0
  144. package/llm-docs/guides/relay-resolvers/derived-fields.mdx +127 -0
  145. package/llm-docs/guides/relay-resolvers/descriptions.mdx +44 -0
  146. package/llm-docs/guides/relay-resolvers/enabling.mdx +41 -0
  147. package/llm-docs/guides/relay-resolvers/errors.mdx +64 -0
  148. package/llm-docs/guides/relay-resolvers/field-arguments.mdx +63 -0
  149. package/llm-docs/guides/relay-resolvers/introduction.mdx +62 -0
  150. package/llm-docs/guides/relay-resolvers/limitations.mdx +30 -0
  151. package/llm-docs/guides/relay-resolvers/live-fields.mdx +164 -0
  152. package/llm-docs/guides/relay-resolvers/return-types.mdx +161 -0
  153. package/llm-docs/guides/relay-resolvers/suspense.mdx +41 -0
  154. package/llm-docs/guides/required-directive.mdx +240 -0
  155. package/llm-docs/guides/semantic-nullability.mdx +93 -0
  156. package/llm-docs/guides/testing-relay-components.mdx +642 -0
  157. package/llm-docs/guides/testing-relay-with-preloaded-queries.mdx +160 -0
  158. package/llm-docs/guides/throw-on-field-error-directive.mdx +58 -0
  159. package/llm-docs/guides/type-emission.mdx +414 -0
  160. package/llm-docs/home.mdx +32 -0
  161. package/llm-docs/principles-and-architecture/architecture-overview.mdx +24 -0
  162. package/llm-docs/principles-and-architecture/compiler-architecture.mdx +106 -0
  163. package/llm-docs/principles-and-architecture/runtime-architecture.mdx +249 -0
  164. package/llm-docs/principles-and-architecture/thinking-in-graphql.mdx +309 -0
  165. package/llm-docs/principles-and-architecture/thinking-in-relay.mdx +104 -0
  166. package/llm-docs/principles-and-architecture/videos.mdx +50 -0
  167. package/llm-docs/tutorial/arrays-lists.mdx +126 -0
  168. package/llm-docs/tutorial/fragments-1.mdx +487 -0
  169. package/llm-docs/tutorial/graphql.mdx +172 -0
  170. package/llm-docs/tutorial/interfaces-polymorphism.mdx +161 -0
  171. package/llm-docs/tutorial/intro.mdx +58 -0
  172. package/llm-docs/tutorial/mutations-updates.mdx +624 -0
  173. package/llm-docs/tutorial/organizing-mutations-queries-and-subscriptions.mdx +13 -0
  174. package/llm-docs/tutorial/queries-1.mdx +267 -0
  175. package/llm-docs/tutorial/queries-2.mdx +389 -0
  176. package/llm-docs/tutorial/refetchable-fragments.mdx +352 -0
  177. package/multi-actor-environment/ActorIdentifier.d.ts +17 -0
  178. package/multi-actor-environment/ActorIdentifier.js.flow +2 -2
  179. package/multi-actor-environment/ActorSpecificEnvironment.js.flow +15 -15
  180. package/multi-actor-environment/ActorUtils.js.flow +1 -1
  181. package/multi-actor-environment/MultiActorEnvironment.d.ts +123 -0
  182. package/multi-actor-environment/MultiActorEnvironment.js.flow +32 -24
  183. package/multi-actor-environment/MultiActorEnvironmentTypes.d.ts +225 -0
  184. package/multi-actor-environment/MultiActorEnvironmentTypes.js.flow +6 -6
  185. package/multi-actor-environment/index.d.ts +14 -0
  186. package/multi-actor-environment.d.ts +8 -0
  187. package/mutations/RelayDeclarativeMutationConfig.d.ts +70 -0
  188. package/mutations/RelayDeclarativeMutationConfig.js.flow +9 -9
  189. package/mutations/RelayRecordProxy.js.flow +8 -11
  190. package/mutations/RelayRecordSourceMutator.js.flow +4 -4
  191. package/mutations/RelayRecordSourceProxy.js.flow +4 -4
  192. package/mutations/RelayRecordSourceSelectorProxy.js.flow +6 -6
  193. package/mutations/applyOptimisticMutation.d.ts +25 -0
  194. package/mutations/applyOptimisticMutation.js.flow +2 -2
  195. package/mutations/commitLocalUpdate.d.ts +10 -0
  196. package/mutations/commitMutation.d.ts +48 -0
  197. package/mutations/commitMutation.js.flow +21 -17
  198. package/mutations/createUpdatableProxy.js.flow +19 -19
  199. package/mutations/readUpdatableFragment.js.flow +3 -3
  200. package/mutations/readUpdatableQuery.js.flow +3 -3
  201. package/mutations/validateMutation.js.flow +7 -7
  202. package/network/RelayNetwork.d.ts +12 -0
  203. package/network/RelayNetworkTypes.d.ts +145 -0
  204. package/network/RelayNetworkTypes.js.flow +18 -18
  205. package/network/RelayObservable.d.ts +197 -0
  206. package/network/RelayObservable.js.flow +32 -30
  207. package/network/RelayQueryResponseCache.d.ts +16 -0
  208. package/network/RelayQueryResponseCache.js.flow +3 -3
  209. package/network/wrapNetworkWithLogObserver.js.flow +1 -1
  210. package/package.json +2 -1
  211. package/query/GraphQLTag.d.ts +45 -0
  212. package/query/GraphQLTag.js.flow +22 -10
  213. package/query/fetchQuery.d.ts +21 -0
  214. package/query/fetchQuery.js.flow +23 -10
  215. package/query/fetchQueryInternal.d.ts +26 -0
  216. package/query/fetchQueryInternal.js.flow +4 -4
  217. package/query/fetchQuery_DEPRECATED.d.ts +17 -0
  218. package/query/fetchQuery_DEPRECATED.js.flow +1 -1
  219. package/store/ClientID.d.ts +14 -0
  220. package/store/DataChecker.js.flow +51 -15
  221. package/store/NormalizationEngine.js.flow +782 -0
  222. package/store/OperationExecutor.d.ts +51 -0
  223. package/store/OperationExecutor.js.flow +204 -98
  224. package/store/RelayConcreteVariables.js.flow +5 -5
  225. package/store/RelayErrorTrie.js.flow +12 -12
  226. package/store/RelayExperimentalGraphResponseHandler.js.flow +3 -3
  227. package/store/RelayExperimentalGraphResponseTransform.js.flow +10 -10
  228. package/store/RelayModernEnvironment.d.ts +97 -0
  229. package/store/RelayModernEnvironment.js.flow +58 -43
  230. package/store/RelayModernFragmentSpecResolver.js.flow +1 -1
  231. package/store/RelayModernOperationDescriptor.d.ts +28 -0
  232. package/store/RelayModernOperationDescriptor.js.flow +1 -1
  233. package/store/RelayModernRecord.d.ts +92 -0
  234. package/store/RelayModernRecord.js.flow +44 -20
  235. package/store/RelayModernSelector.d.ts +123 -0
  236. package/store/RelayModernSelector.js.flow +21 -21
  237. package/store/RelayModernStore.d.ts +57 -0
  238. package/store/RelayModernStore.js.flow +219 -58
  239. package/store/RelayOperationTracker.d.ts +29 -0
  240. package/store/RelayOperationTracker.js.flow +2 -2
  241. package/store/RelayOptimisticRecordSource.js.flow +2 -2
  242. package/store/RelayPublishQueue.js.flow +29 -20
  243. package/store/RelayReader.js.flow +129 -57
  244. package/store/RelayRecordSource.d.ts +26 -0
  245. package/store/RelayRecordSource.js.flow +10 -0
  246. package/store/RelayRecordState.d.ts +28 -0
  247. package/store/RelayRecordState.js.flow +1 -1
  248. package/store/RelayReferenceMarker.js.flow +5 -4
  249. package/store/RelayResponseNormalizer.d.ts +28 -0
  250. package/store/RelayResponseNormalizer.js.flow +130 -62
  251. package/store/RelayStoreSubscriptions.js.flow +52 -8
  252. package/store/RelayStoreTypes.d.ts +1327 -0
  253. package/store/RelayStoreTypes.js.flow +371 -278
  254. package/store/RelayStoreUtils.d.ts +86 -0
  255. package/store/RelayStoreUtils.js.flow +16 -8
  256. package/store/ResolverCache.js.flow +2 -2
  257. package/store/ResolverFragments.d.ts +43 -0
  258. package/store/ResolverFragments.js.flow +22 -14
  259. package/store/StoreInspector.js.flow +7 -8
  260. package/store/ViewerPattern.d.ts +11 -0
  261. package/store/cloneRelayHandleSourceField.js.flow +1 -1
  262. package/store/cloneRelayScalarHandleSourceField.js.flow +1 -1
  263. package/store/createFragmentSpecResolver.d.ts +16 -0
  264. package/store/createRelayContext.js.flow +1 -1
  265. package/store/createRelayLoggingContext.js.flow +4 -4
  266. package/store/defaultGetDataID.js.flow +2 -2
  267. package/store/isRelayModernEnvironment.d.ts +8 -0
  268. package/store/isRelayModernEnvironment.js.flow +4 -2
  269. package/store/live-resolvers/LiveResolverCache.js.flow +55 -20
  270. package/store/live-resolvers/LiveResolverSuspenseSentinel.js.flow +3 -3
  271. package/store/live-resolvers/getOutputTypeRecordIDs.js.flow +1 -1
  272. package/store/live-resolvers/isLiveStateValue.js.flow +2 -2
  273. package/store/live-resolvers/resolverDataInjector.d.ts +27 -0
  274. package/store/live-resolvers/resolverDataInjector.js.flow +8 -5
  275. package/store/observeFragmentExperimental.d.ts +46 -0
  276. package/store/observeFragmentExperimental.js.flow +50 -21
  277. package/store/observeQueryExperimental.d.ts +30 -0
  278. package/store/observeQueryExperimental.js.flow +5 -5
  279. package/store/readInlineData.d.ts +19 -0
  280. package/store/readInlineData.js.flow +5 -5
  281. package/store/waitForFragmentExperimental.d.ts +49 -0
  282. package/store/waitForFragmentExperimental.js.flow +3 -3
  283. package/subscription/requestSubscription.d.ts +27 -0
  284. package/subscription/requestSubscription.js.flow +10 -10
  285. package/util/JSResourceTypes.flow.js.flow +4 -4
  286. package/util/NormalizationNode.d.ts +235 -0
  287. package/util/NormalizationNode.js.flow +127 -123
  288. package/util/ReaderNode.d.ts +264 -0
  289. package/util/ReaderNode.js.flow +156 -151
  290. package/util/RelayConcreteNode.d.ts +120 -0
  291. package/util/RelayConcreteNode.js.flow +32 -32
  292. package/util/RelayError.d.ts +13 -0
  293. package/util/RelayError.js.flow +4 -1
  294. package/util/RelayFeatureFlags.d.ts +40 -0
  295. package/util/RelayFeatureFlags.js.flow +21 -1
  296. package/util/RelayProfiler.d.ts +121 -0
  297. package/util/RelayProfiler.js.flow +1 -1
  298. package/util/RelayReplaySubject.d.ts +25 -0
  299. package/util/RelayReplaySubject.js.flow +3 -3
  300. package/util/RelayRuntimeTypes.d.ts +59 -0
  301. package/util/RelayRuntimeTypes.js.flow +36 -33
  302. package/util/createPayloadFor3DField.d.ts +17 -0
  303. package/util/createPayloadFor3DField.js.flow +9 -5
  304. package/util/deepFreeze.d.ts +8 -0
  305. package/util/deepFreeze.js.flow +2 -2
  306. package/util/getFragmentIdentifier.d.ts +10 -0
  307. package/util/getFragmentIdentifier.js.flow +1 -1
  308. package/util/getPaginationMetadata.d.ts +20 -0
  309. package/util/getPaginationMetadata.js.flow +1 -1
  310. package/util/getPaginationVariables.d.ts +20 -0
  311. package/util/getPaginationVariables.js.flow +1 -1
  312. package/util/getPendingOperationsForFragment.d.ts +18 -0
  313. package/util/getPendingOperationsForFragment.js.flow +2 -2
  314. package/util/getRefetchMetadata.d.ts +19 -0
  315. package/util/getRefetchMetadata.js.flow +6 -5
  316. package/util/getRelayHandleKey.d.ts +8 -0
  317. package/util/getRequestIdentifier.d.ts +17 -0
  318. package/util/getValueAtPath.d.ts +8 -0
  319. package/util/getValueAtPath.js.flow +3 -3
  320. package/util/handlePotentialSnapshotErrors.d.ts +14 -0
  321. package/util/handlePotentialSnapshotErrors.js.flow +5 -5
  322. package/util/isEmptyObject.js.flow +1 -1
  323. package/util/isPromise.d.ts +8 -0
  324. package/util/isPromise.js.flow +2 -2
  325. package/util/isScalarAndEqual.d.ts +8 -0
  326. package/util/isScalarAndEqual.js.flow +1 -1
  327. package/util/recycleNodesInto.d.ts +8 -0
  328. package/util/recycleNodesInto.js.flow +2 -2
  329. package/util/registerEnvironmentWithDevTools.js.flow +1 -1
  330. package/util/shallowFreeze.js.flow +1 -1
  331. package/util/stableCopy.d.ts +8 -0
  332. package/util/stableCopy.js.flow +5 -5
  333. package/util/withProvidedVariables.d.ts +19 -0
  334. package/util/withProvidedVariables.js.flow +14 -10
@@ -17,56 +17,57 @@ import type {ConcreteRequest} from './RelayConcreteNode';
17
17
  import type {JSResourceReference} from 'JSResourceReference';
18
18
 
19
19
  export type ReaderFragmentSpread = {
20
- +kind: 'FragmentSpread',
21
- +name: string,
22
- +args?: ?$ReadOnlyArray<ReaderArgument>,
20
+ readonly kind: 'FragmentSpread',
21
+ readonly name: string,
22
+ readonly args?: ?ReadonlyArray<ReaderArgument>,
23
23
  };
24
24
 
25
25
  export type ReaderInlineDataFragmentSpread = {
26
- +kind: 'InlineDataFragmentSpread',
27
- +name: string,
28
- +selections: $ReadOnlyArray<ReaderSelection>,
29
- +args?: ?$ReadOnlyArray<ReaderArgument>,
30
- +argumentDefinitions: $ReadOnlyArray<ReaderArgumentDefinition>,
26
+ readonly kind: 'InlineDataFragmentSpread',
27
+ readonly name: string,
28
+ readonly selections: ReadonlyArray<ReaderSelection>,
29
+ readonly args?: ?ReadonlyArray<ReaderArgument>,
30
+ readonly argumentDefinitions: ReadonlyArray<ReaderArgumentDefinition>,
31
31
  };
32
32
 
33
33
  export type ReaderFragment = {
34
- +kind: 'Fragment',
35
- +name: string,
36
- +type: string,
37
- +abstractKey?: ?string,
38
- +metadata?: ?{
39
- +connection?: $ReadOnlyArray<ConnectionMetadata>,
34
+ readonly kind: 'Fragment',
35
+ readonly name: string,
36
+ readonly type: string,
37
+ readonly abstractKey?: ?string,
38
+ readonly metadata?: ?{
39
+ readonly connection?: ReadonlyArray<ConnectionMetadata>,
40
40
  // Indicates if the fragment has been annotated with `@throwOnFieldError`
41
- +throwOnFieldError?: boolean,
41
+ readonly throwOnFieldError?: boolean,
42
42
  // Indicates if the fragment has been annotated with `@catch`
43
- +catchTo?: CatchFieldTo,
44
- +hasClientEdges?: boolean,
45
- +mask?: boolean,
46
- +plural?: boolean,
47
- +refetch?: ReaderRefetchMetadata,
43
+ readonly catchTo?: CatchFieldTo,
44
+ readonly hasClientEdges?: boolean,
45
+ readonly mask?: boolean,
46
+ readonly plural?: boolean,
47
+ readonly refetch?: ReaderRefetchMetadata,
48
+ readonly vultureHash?: string,
48
49
  },
49
- +argumentDefinitions: $ReadOnlyArray<ReaderArgumentDefinition>,
50
- +selections: $ReadOnlyArray<ReaderSelection>,
50
+ readonly argumentDefinitions: ReadonlyArray<ReaderArgumentDefinition>,
51
+ readonly selections: ReadonlyArray<ReaderSelection>,
51
52
  };
52
53
 
53
54
  // Marker type for a @refetchable fragment
54
55
  export type ReaderRefetchableFragment = {
55
56
  ...ReaderFragment,
56
- +metadata: {
57
- +connection?: [ConnectionMetadata],
58
- +hasClientEdges?: boolean,
59
- +refetch: ReaderRefetchMetadata,
57
+ readonly metadata: {
58
+ readonly connection?: [ConnectionMetadata],
59
+ readonly hasClientEdges?: boolean,
60
+ readonly refetch: ReaderRefetchMetadata,
60
61
  },
61
62
  };
62
63
 
63
64
  // Marker Type for a @refetchable fragment with a single use of @connection
64
65
  export type ReaderPaginationFragment = {
65
66
  ...ReaderFragment,
66
- +metadata: {
67
- +connection: [ConnectionMetadata],
68
- +hasClientEdges?: boolean,
69
- +refetch: {
67
+ readonly metadata: {
68
+ readonly connection: [ConnectionMetadata],
69
+ readonly hasClientEdges?: boolean,
70
+ readonly refetch: {
70
71
  ...ReaderRefetchMetadata,
71
72
  connection: ReaderPaginationMetadata,
72
73
  },
@@ -74,34 +75,34 @@ export type ReaderPaginationFragment = {
74
75
  };
75
76
 
76
77
  export type RefetchableIdentifierInfo = {
77
- +identifierField: string,
78
- +identifierQueryVariableName: string,
78
+ readonly identifierField: string,
79
+ readonly identifierQueryVariableName: string,
79
80
  };
80
81
 
81
82
  export type ReaderRefetchMetadata = {
82
- +connection?: ?ReaderPaginationMetadata,
83
- +operation: string | ConcreteRequest,
84
- +fragmentPathInResult: Array<string>,
85
- +identifierInfo?: ?RefetchableIdentifierInfo,
86
- +edgesFragment?: ReaderFragment,
83
+ readonly connection?: ?ReaderPaginationMetadata,
84
+ readonly operation: string | ConcreteRequest,
85
+ readonly fragmentPathInResult: Array<string>,
86
+ readonly identifierInfo?: ?RefetchableIdentifierInfo,
87
+ readonly edgesFragment?: ReaderFragment,
87
88
  };
88
89
 
89
90
  // Stricter form of ConnectionMetadata
90
91
  export type ReaderPaginationMetadata = {
91
- +backward: {
92
- +count: string,
93
- +cursor: string,
92
+ readonly backward: {
93
+ readonly count: string,
94
+ readonly cursor: string,
94
95
  } | null,
95
- +forward: {
96
- +count: string,
97
- +cursor: string,
96
+ readonly forward: {
97
+ readonly count: string,
98
+ readonly cursor: string,
98
99
  } | null,
99
- +path: $ReadOnlyArray<string>,
100
+ readonly path: ReadonlyArray<string>,
100
101
  };
101
102
 
102
103
  export type ReaderInlineDataFragment = {
103
- +kind: 'InlineDataFragment',
104
- +name: string,
104
+ readonly kind: 'InlineDataFragment',
105
+ readonly name: string,
105
106
  };
106
107
 
107
108
  export type ReaderArgument =
@@ -113,15 +114,15 @@ export type ReaderArgument =
113
114
  export type ReaderArgumentDefinition = ReaderLocalArgument | ReaderRootArgument;
114
115
 
115
116
  export type ReaderCondition = {
116
- +kind: 'Condition',
117
- +passingValue: boolean,
118
- +condition: string,
119
- +selections: $ReadOnlyArray<ReaderSelection>,
117
+ readonly kind: 'Condition',
118
+ readonly passingValue: boolean,
119
+ readonly condition: string,
120
+ readonly selections: ReadonlyArray<ReaderSelection>,
120
121
  };
121
122
 
122
123
  export type ReaderClientExtension = {
123
- +kind: 'ClientExtension',
124
- +selections: $ReadOnlyArray<ReaderSelection>,
124
+ readonly kind: 'ClientExtension',
125
+ readonly selections: ReadonlyArray<ReaderSelection>,
125
126
  };
126
127
 
127
128
  export type ReaderField =
@@ -131,78 +132,78 @@ export type ReaderField =
131
132
  | ReaderRelayLiveResolver;
132
133
 
133
134
  export type ReaderRootArgument = {
134
- +kind: 'RootArgument',
135
- +name: string,
135
+ readonly kind: 'RootArgument',
136
+ readonly name: string,
136
137
  };
137
138
 
138
139
  export type ReaderInlineFragment = {
139
- +kind: 'InlineFragment',
140
- +selections: $ReadOnlyArray<ReaderSelection>,
141
- +type: ?string,
142
- +abstractKey?: ?string,
140
+ readonly kind: 'InlineFragment',
141
+ readonly selections: ReadonlyArray<ReaderSelection>,
142
+ readonly type: ?string,
143
+ readonly abstractKey?: ?string,
143
144
  };
144
145
 
145
146
  export type ReaderAliasedInlineFragmentSpread = {
146
- +kind: 'AliasedInlineFragmentSpread',
147
- +name: string,
148
- +fragment: ReaderInlineFragment,
147
+ readonly kind: 'AliasedInlineFragmentSpread',
148
+ readonly name: string,
149
+ readonly fragment: ReaderInlineFragment,
149
150
  };
150
151
 
151
152
  export type ReaderLinkedField = {
152
- +kind: 'LinkedField',
153
- +alias?: ?string,
154
- +name: string,
155
- +storageKey?: ?string,
156
- +args?: ?$ReadOnlyArray<ReaderArgument>,
157
- +concreteType?: ?string,
158
- +plural: boolean,
159
- +selections: $ReadOnlyArray<ReaderSelection>,
153
+ readonly kind: 'LinkedField',
154
+ readonly alias?: ?string,
155
+ readonly name: string,
156
+ readonly storageKey?: ?string,
157
+ readonly args?: ?ReadonlyArray<ReaderArgument>,
158
+ readonly concreteType?: ?string,
159
+ readonly plural: boolean,
160
+ readonly selections: ReadonlyArray<ReaderSelection>,
160
161
  };
161
162
 
162
163
  export type ReaderActorChange = {
163
- +kind: 'ActorChange',
164
- +alias?: ?string,
165
- +name: string,
166
- +storageKey?: ?string,
167
- +args?: ?$ReadOnlyArray<ReaderArgument>,
168
- +fragmentSpread: ReaderFragmentSpread,
164
+ readonly kind: 'ActorChange',
165
+ readonly alias?: ?string,
166
+ readonly name: string,
167
+ readonly storageKey?: ?string,
168
+ readonly args?: ?ReadonlyArray<ReaderArgument>,
169
+ readonly fragmentSpread: ReaderFragmentSpread,
169
170
  };
170
171
 
171
172
  export type ReaderModuleImport = {
172
- +args?: ?$ReadOnlyArray<ReaderArgument>,
173
- +kind: 'ModuleImport',
174
- +documentName: string,
175
- +fragmentPropName: string,
176
- +fragmentName: string,
177
- +componentModuleProvider?: () =>
178
- | mixed
179
- | Promise<mixed>
180
- | JSResourceReference<mixed>,
173
+ readonly args?: ?ReadonlyArray<ReaderArgument>,
174
+ readonly kind: 'ModuleImport',
175
+ readonly documentName: string,
176
+ readonly fragmentPropName: string,
177
+ readonly fragmentName: string,
178
+ readonly componentModuleProvider?: () =>
179
+ | unknown
180
+ | Promise<unknown>
181
+ | JSResourceReference<unknown>,
181
182
  };
182
183
 
183
184
  export type ReaderListValueArgument = {
184
- +kind: 'ListValue',
185
- +name: string,
186
- +items: $ReadOnlyArray<ReaderArgument | null>,
185
+ readonly kind: 'ListValue',
186
+ readonly name: string,
187
+ readonly items: ReadonlyArray<ReaderArgument | null>,
187
188
  };
188
189
 
189
190
  export type ReaderLiteralArgument = {
190
- +kind: 'Literal',
191
- +name: string,
192
- +type?: ?string,
193
- +value: mixed,
191
+ readonly kind: 'Literal',
192
+ readonly name: string,
193
+ readonly type?: ?string,
194
+ readonly value: unknown,
194
195
  };
195
196
 
196
197
  export type ReaderLocalArgument = {
197
- +kind: 'LocalArgument',
198
- +name: string,
199
- +defaultValue: mixed,
198
+ readonly kind: 'LocalArgument',
199
+ readonly name: string,
200
+ readonly defaultValue: unknown,
200
201
  };
201
202
 
202
203
  export type ReaderObjectValueArgument = {
203
- +kind: 'ObjectValue',
204
- +name: string,
205
- +fields: $ReadOnlyArray<ReaderArgument>,
204
+ readonly kind: 'ObjectValue',
205
+ readonly name: string,
206
+ readonly fields: ReadonlyArray<ReaderArgument>,
206
207
  };
207
208
 
208
209
  export type ReaderNode =
@@ -212,44 +213,47 @@ export type ReaderNode =
212
213
  | ReaderInlineFragment;
213
214
 
214
215
  export type ReaderScalarField = {
215
- +kind: 'ScalarField',
216
- +alias?: ?string,
217
- +name: string,
218
- +args?: ?$ReadOnlyArray<ReaderArgument>,
219
- +storageKey?: ?string,
216
+ readonly kind: 'ScalarField',
217
+ readonly alias?: ?string,
218
+ readonly name: string,
219
+ readonly args?: ?ReadonlyArray<ReaderArgument>,
220
+ readonly storageKey?: ?string,
220
221
  };
221
222
 
222
223
  export type ReaderDefer = {
223
- +kind: 'Defer',
224
- +selections: $ReadOnlyArray<ReaderSelection>,
224
+ readonly kind: 'Defer',
225
+ readonly selections: ReadonlyArray<ReaderSelection>,
225
226
  };
226
227
 
227
228
  export type ReaderStream = {
228
- +kind: 'Stream',
229
- +selections: $ReadOnlyArray<ReaderSelection>,
229
+ readonly kind: 'Stream',
230
+ readonly selections: ReadonlyArray<ReaderSelection>,
230
231
  };
231
232
 
232
233
  export type RequiredFieldAction = 'NONE' | 'LOG' | 'THROW';
233
234
 
234
235
  export type ReaderRequiredField = {
235
- +kind: 'RequiredField',
236
- +field: ReaderField | ReaderClientEdge,
237
- +action: RequiredFieldAction,
236
+ readonly kind: 'RequiredField',
237
+ readonly field: ReaderField | ReaderClientEdge,
238
+ readonly action: RequiredFieldAction,
238
239
  // TODO: This field is not used any more, we should be able to remove it.
239
- +path?: mixed,
240
+ readonly path?: unknown,
240
241
  };
241
242
 
242
243
  export type CatchFieldTo = 'RESULT' | 'NULL';
243
244
 
244
245
  export type ReaderCatchField = {
245
- +kind: 'CatchField',
246
- +field: ReaderField | ReaderClientEdge | ReaderAliasedInlineFragmentSpread,
247
- +to: CatchFieldTo,
246
+ readonly kind: 'CatchField',
247
+ readonly field:
248
+ | ReaderField
249
+ | ReaderClientEdge
250
+ | ReaderAliasedInlineFragmentSpread,
251
+ readonly to: CatchFieldTo,
248
252
  // TODO: This field is not used any more, we should be able to remove it.
249
- +path?: mixed,
253
+ readonly path?: unknown,
250
254
  };
251
255
 
252
- export type ResolverFunction = (...args: Array<any>) => mixed; // flowlint-line unclear-type:off
256
+ export type ResolverFunction = (...args: Array<any>) => unknown; // flowlint-line unclear-type:off
253
257
  // With ES6 imports, a resolver function might be exported under the `default` key.
254
258
  export type ResolverModule = ResolverFunction | {default: ResolverFunction};
255
259
 
@@ -258,58 +262,59 @@ export type ResolverNormalizationInfo =
258
262
  | ResolverWeakModelNormalizationInfo;
259
263
 
260
264
  export type ResolverOutputTypeNormalizationInfo = {
261
- +kind: 'OutputType',
262
- +concreteType: string | null,
263
- +plural: boolean,
264
- +normalizationNode: NormalizationSelectableNode,
265
+ readonly kind: 'OutputType',
266
+ readonly concreteType: string | null,
267
+ readonly plural: boolean,
268
+ readonly normalizationNode: NormalizationSelectableNode,
265
269
  };
266
270
 
267
271
  export type ResolverWeakModelNormalizationInfo = {
268
- +kind: 'WeakModel',
269
- +concreteType: string | null,
270
- +plural: boolean,
272
+ readonly kind: 'WeakModel',
273
+ readonly concreteType: string | null,
274
+ readonly plural: boolean,
271
275
  };
272
276
 
273
277
  export type ReaderRelayResolver = {
274
- +kind: 'RelayResolver',
275
- +alias?: ?string,
276
- +name: string,
277
- +args?: ?$ReadOnlyArray<ReaderArgument>,
278
- +fragment?: ?ReaderFragmentSpread,
279
- +path: string,
280
- +resolverModule: ResolverModule,
281
- +normalizationInfo?: ResolverNormalizationInfo,
278
+ readonly kind: 'RelayResolver',
279
+ readonly alias?: ?string,
280
+ readonly name: string,
281
+ readonly args?: ?ReadonlyArray<ReaderArgument>,
282
+ readonly fragment?: ?ReaderFragmentSpread,
283
+ readonly path: string,
284
+ readonly resolverModule: ResolverModule,
285
+ readonly normalizationInfo?: ResolverNormalizationInfo,
282
286
  };
283
287
 
284
288
  export type ReaderRelayLiveResolver = {
285
- +kind: 'RelayLiveResolver',
286
- +alias?: ?string,
287
- +name: string,
288
- +args?: ?$ReadOnlyArray<ReaderArgument>,
289
- +fragment?: ?ReaderFragmentSpread,
290
- +path: string,
291
- +resolverModule: ResolverModule,
292
- +normalizationInfo?: ResolverNormalizationInfo,
289
+ readonly kind: 'RelayLiveResolver',
290
+ readonly alias?: ?string,
291
+ readonly name: string,
292
+ readonly args?: ?ReadonlyArray<ReaderArgument>,
293
+ readonly fragment?: ?ReaderFragmentSpread,
294
+ readonly path: string,
295
+ readonly resolverModule: ResolverModule,
296
+ readonly normalizationInfo?: ResolverNormalizationInfo,
293
297
  };
294
298
 
295
299
  export type ReaderClientEdgeToClientObject = {
296
- +kind: 'ClientEdgeToClientObject',
297
- +concreteType: string | null,
298
- +modelResolvers: {
300
+ readonly kind: 'ClientEdgeToClientObject',
301
+ readonly concreteType: string | null,
302
+ readonly modelResolvers: {
299
303
  [string]: ReaderRelayResolver | ReaderRelayLiveResolver,
300
304
  } | null,
301
- +linkedField: ReaderLinkedField,
302
- +backingField:
305
+ readonly serverObjectOperations?: {[string]: ConcreteRequest} | null,
306
+ readonly linkedField: ReaderLinkedField,
307
+ readonly backingField:
303
308
  | ReaderRelayResolver
304
309
  | ReaderRelayLiveResolver
305
310
  | ReaderClientExtension,
306
311
  };
307
312
 
308
313
  export type ReaderClientEdgeToServerObject = {
309
- +kind: 'ClientEdgeToServerObject',
310
- +linkedField: ReaderLinkedField,
311
- +operation: ConcreteRequest,
312
- +backingField:
314
+ readonly kind: 'ClientEdgeToServerObject',
315
+ readonly linkedField: ReaderLinkedField,
316
+ readonly operation: ConcreteRequest,
317
+ readonly backingField:
313
318
  | ReaderRelayResolver
314
319
  | ReaderRelayLiveResolver
315
320
  | ReaderClientExtension,
@@ -337,8 +342,8 @@ export type ReaderSelection =
337
342
  | ReaderRelayResolver;
338
343
 
339
344
  export type ReaderVariableArgument = {
340
- +kind: 'Variable',
341
- +name: string,
342
- +type?: ?string,
343
- +variableName: string,
345
+ readonly kind: 'Variable',
346
+ readonly name: string,
347
+ readonly type?: ?string,
348
+ readonly variableName: string,
344
349
  };
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import {NormalizationOperation, NormalizationSplitOperation} from './NormalizationNode';
9
+ import {ReaderFragment, ReaderInlineDataFragment} from './ReaderNode';
10
+ import { OperationType } from './RelayRuntimeTypes';
11
+
12
+ /**
13
+ * Represents a common GraphQL request that can be executed, an `operation`
14
+ * containing information to normalize the results, and a `fragment` derived
15
+ * from that operation to read the response data (masking data from child
16
+ * fragments).
17
+ */
18
+ export interface ConcreteRequest {
19
+ readonly kind: 'Request';
20
+ readonly fragment: ReaderFragment;
21
+ readonly operation: NormalizationOperation;
22
+ readonly params: RequestParameters;
23
+ }
24
+
25
+ /**
26
+ * Represents the minimal information necessary to identify and execute
27
+ * a particular GraphQL request.
28
+ */
29
+ // Note: the phantom type parameter here helps ensures that the
30
+ // $Parameters.js value matches the type param provided to preloadQuery.
31
+ export interface PreloadableConcreteRequest<_TQuery extends OperationType> {
32
+ readonly kind: 'PreloadableConcreteRequest';
33
+ readonly params: RequestParameters;
34
+ }
35
+
36
+ export interface ConcreteUpdatableQuery {
37
+ readonly kind: 'UpdatableQuery';
38
+ readonly fragment: ReaderFragment;
39
+ }
40
+
41
+ /**
42
+ * Contains the parameters required for executing a GraphQL request.
43
+ * The operation can either be provided as a persisted `id` or `text`. If given
44
+ * in `text` format, a `cacheID` as a hash of the text should be set to be used
45
+ * for local caching.
46
+ */
47
+ export type RequestParameters =
48
+ | {
49
+ readonly id: string;
50
+ readonly text: null;
51
+ // common fields
52
+ readonly name: string;
53
+ readonly operationKind: 'mutation' | 'query' | 'subscription';
54
+ readonly providedVariables?: ProvidedVariablesType;
55
+ readonly metadata: { [key: string]: unknown };
56
+ }
57
+ | {
58
+ readonly cacheID: string;
59
+ readonly id: null;
60
+ readonly text: string | null;
61
+ // common fields
62
+ readonly name: string;
63
+ readonly operationKind: 'mutation' | 'query' | 'subscription';
64
+ readonly providedVariables?: ProvidedVariablesType;
65
+ readonly metadata: { [key: string]: unknown };
66
+ };
67
+
68
+ export type GeneratedNode =
69
+ | ConcreteRequest
70
+ | ReaderFragment
71
+ | ReaderInlineDataFragment
72
+ | NormalizationSplitOperation
73
+ | ConcreteUpdatableQuery;
74
+
75
+ export const RelayConcreteNode: {
76
+ ACTOR_CHANGE: 'ActorChange';
77
+ CONDITION: 'Condition';
78
+ CLIENT_COMPONENT: 'ClientComponent';
79
+ CLIENT_EDGE_TO_SERVER_OBJECT: 'ClientEdgeToServerObject';
80
+ CLIENT_EDGE_TO_CLIENT_OBJECT: 'ClientEdgeToClientObject';
81
+ CLIENT_EXTENSION: 'ClientExtension';
82
+ DEFER: 'Defer';
83
+ CONNECTION: 'Connection';
84
+ FLIGHT_FIELD: 'FlightField';
85
+ FRAGMENT: 'Fragment';
86
+ FRAGMENT_SPREAD: 'FragmentSpread';
87
+ INLINE_DATA_FRAGMENT_SPREAD: 'InlineDataFragmentSpread';
88
+ INLINE_DATA_FRAGMENT: 'InlineDataFragment';
89
+ INLINE_FRAGMENT: 'InlineFragment';
90
+ LINKED_FIELD: 'LinkedField';
91
+ LINKED_HANDLE: 'LinkedHandle';
92
+ LITERAL: 'Literal';
93
+ LIST_VALUE: 'ListValue';
94
+ LOCAL_ARGUMENT: 'LocalArgument';
95
+ MODULE_IMPORT: 'ModuleImport';
96
+ ALIASED_FRAGMENT_SPREAD: 'AliasedFragmentSpread';
97
+ ALIASED_INLINE_FRAGMENT_SPREAD: 'AliasedInlineFragmentSpread';
98
+ RELAY_RESOLVER: 'RelayResolver';
99
+ RELAY_LIVE_RESOLVER: 'RelayLiveResolver';
100
+ REQUIRED_FIELD: 'RequiredField';
101
+ OBJECT_VALUE: 'ObjectValue';
102
+ OPERATION: 'Operation';
103
+ REQUEST: 'Request';
104
+ ROOT_ARGUMENT: 'RootArgument';
105
+ SCALAR_FIELD: 'ScalarField';
106
+ SCALAR_HANDLE: 'ScalarHandle';
107
+ SPLIT_OPERATION: 'SplitOperation';
108
+ STREAM: 'Stream';
109
+ TYPE_DISCRIMINATOR: 'TypeDiscriminator';
110
+ UPDATABLE_QUERY: 'UpdatableQuery';
111
+ VARIABLE: 'Variable';
112
+ };
113
+
114
+ export interface ProvidedVariablesType {
115
+ readonly [key: string]: { get(): unknown };
116
+ }
117
+
118
+ export interface ProvidedVariableType {
119
+ get(): unknown;
120
+ }
@@ -24,24 +24,24 @@ import type {ReaderFragment, ReaderInlineDataFragment} from './ReaderNode';
24
24
  * fragments).
25
25
  */
26
26
  export type ConcreteRequest = {
27
- +kind: 'Request',
28
- +fragment: ReaderFragment,
29
- +operation: NormalizationOperation,
30
- +params: RequestParameters,
27
+ readonly kind: 'Request',
28
+ readonly fragment: ReaderFragment,
29
+ readonly operation: NormalizationOperation,
30
+ readonly params: RequestParameters,
31
31
  };
32
32
 
33
33
  export type ConcreteUpdatableQuery = {
34
- +kind: 'UpdatableQuery',
35
- +fragment: ReaderFragment,
34
+ readonly kind: 'UpdatableQuery',
35
+ readonly fragment: ReaderFragment,
36
36
  };
37
37
 
38
38
  export type NormalizationRootNode =
39
39
  | ConcreteRequest
40
40
  | NormalizationSplitOperation;
41
41
 
42
- export type ProvidedVariableType = {get(): mixed};
42
+ export type ProvidedVariableType = {get(): unknown};
43
43
 
44
- export type ProvidedVariablesType = {+[key: string]: {get(): mixed}};
44
+ export type ProvidedVariablesType = {readonly [key: string]: {get(): unknown}};
45
45
 
46
46
  /**
47
47
  * Contains the parameters required for executing a GraphQL request.
@@ -51,41 +51,41 @@ export type ProvidedVariablesType = {+[key: string]: {get(): mixed}};
51
51
  */
52
52
  export type RequestParameters =
53
53
  | {
54
- +id: string,
55
- +text: string | null,
54
+ readonly id: string,
55
+ readonly text: string | null,
56
56
  // common fields
57
- +name: string,
58
- +operationKind: 'mutation' | 'query' | 'subscription',
59
- +providedVariables?: ProvidedVariablesType,
60
- +metadata: {[key: string]: mixed, ...},
57
+ readonly name: string,
58
+ readonly operationKind: 'mutation' | 'query' | 'subscription',
59
+ readonly providedVariables?: ProvidedVariablesType,
60
+ readonly metadata: {[key: string]: unknown, ...},
61
61
  }
62
62
  | {
63
- +cacheID: string,
64
- +id: null,
65
- +text: string | null,
63
+ readonly cacheID: string,
64
+ readonly id: null,
65
+ readonly text: string | null,
66
66
  // common fields
67
- +name: string,
68
- +operationKind: 'mutation' | 'query' | 'subscription',
69
- +providedVariables?: ProvidedVariablesType,
70
- +metadata: {[key: string]: mixed, ...},
67
+ readonly name: string,
68
+ readonly operationKind: 'mutation' | 'query' | 'subscription',
69
+ readonly providedVariables?: ProvidedVariablesType,
70
+ readonly metadata: {[key: string]: unknown, ...},
71
71
  };
72
72
 
73
73
  export type ClientRequestParameters = {
74
- +cacheID: string,
75
- +id: null,
76
- +text: null,
74
+ readonly cacheID: string,
75
+ readonly id: null,
76
+ readonly text: null,
77
77
  // common fields
78
- +name: string,
79
- +operationKind: 'query' | 'mutation',
80
- +providedVariables?: ProvidedVariablesType,
81
- +metadata: {[key: string]: mixed, ...},
78
+ readonly name: string,
79
+ readonly operationKind: 'query' | 'mutation',
80
+ readonly providedVariables?: ProvidedVariablesType,
81
+ readonly metadata: {[key: string]: unknown, ...},
82
82
  };
83
83
 
84
84
  export type ClientRequest = {
85
- +kind: 'Request',
86
- +fragment: ReaderFragment,
87
- +operation: NormalizationOperation,
88
- +params: ClientRequestParameters,
85
+ readonly kind: 'Request',
86
+ readonly fragment: ReaderFragment,
87
+ readonly operation: NormalizationOperation,
88
+ readonly params: ClientRequestParameters,
89
89
  };
90
90
 
91
91
  export type GeneratedNode =