diff --git a/packages/relay-experimental/EntryPointTypes.flow.js b/packages/relay-experimental/EntryPointTypes.flow.js index 8a3eebb6c3d5b..6707bdef0f027 100644 --- a/packages/relay-experimental/EntryPointTypes.flow.js +++ b/packages/relay-experimental/EntryPointTypes.flow.js @@ -23,8 +23,11 @@ import type { Observable, OperationType, RequestParameters, + VariablesOf as _VariablesOf, } from 'relay-runtime'; +export type VariablesOf = _VariablesOf; + export type PreloadFetchPolicy = | 'store-or-network' | 'store-and-network' diff --git a/packages/relay-experimental/fetchQuery.js b/packages/relay-experimental/fetchQuery.js index 96b360cbf636b..a660e222aae59 100644 --- a/packages/relay-experimental/fetchQuery.js +++ b/packages/relay-experimental/fetchQuery.js @@ -29,6 +29,7 @@ import type { IEnvironment, OperationDescriptor, OperationType, + VariablesOf, } from 'relay-runtime'; /** @@ -111,7 +112,7 @@ import type { function fetchQuery( environment: IEnvironment, query: GraphQLTaggedNode, - variables: $ElementType, + variables: VariablesOf, options?: $ReadOnly<{| fetchPolicy?: FetchQueryFetchPolicy, networkCacheConfig?: CacheConfig, diff --git a/packages/relay-experimental/preloadQuery_DEPRECATED.js b/packages/relay-experimental/preloadQuery_DEPRECATED.js index 592fbac5ebe3f..12cacab5bc876 100644 --- a/packages/relay-experimental/preloadQuery_DEPRECATED.js +++ b/packages/relay-experimental/preloadQuery_DEPRECATED.js @@ -31,6 +31,7 @@ import type { PreloadFetchPolicy, PreloadOptions, PreloadQueryStatus, + VariablesOf, } from './EntryPointTypes.flow'; import type { ConcreteRequest, @@ -76,7 +77,7 @@ type PendingQueryEntry = function preloadQuery( environment: IEnvironment, preloadableRequest: GraphQLTaggedNode | PreloadableConcreteRequest, - variables: $ElementType, + variables: VariablesOf, options?: ?PreloadOptions, environmentProviderOptions?: ?TEnvironmentProviderOptions, ): PreloadedQueryInner_DEPRECATED { @@ -126,7 +127,7 @@ function preloadQueryDeduped( environment: Environment, pendingQueries: Map, preloadableRequest: GraphQLTaggedNode | PreloadableConcreteRequest, - variables: $ElementType, + variables: VariablesOf, options: ?PreloadOptions, ): PendingQueryEntry { let params; diff --git a/packages/relay-experimental/useLazyLoadQuery.js b/packages/relay-experimental/useLazyLoadQuery.js index f5e9bea8d763b..6b429fe6a99fb 100644 --- a/packages/relay-experimental/useLazyLoadQuery.js +++ b/packages/relay-experimental/useLazyLoadQuery.js @@ -24,11 +24,12 @@ import type { GraphQLTaggedNode, OperationType, RenderPolicy, + VariablesOf, } from 'relay-runtime'; function useLazyLoadQuery( gqlQuery: GraphQLTaggedNode, - variables: $ElementType, + variables: VariablesOf, options?: {| fetchKey?: string | number, fetchPolicy?: FetchPolicy, diff --git a/packages/relay-experimental/useLoadMoreFunction.js b/packages/relay-experimental/useLoadMoreFunction.js index b53121e98b542..4558af9a122b9 100644 --- a/packages/relay-experimental/useLoadMoreFunction.js +++ b/packages/relay-experimental/useLoadMoreFunction.js @@ -41,6 +41,7 @@ import type { OperationType, ReaderFragment, ReaderPaginationMetadata, + VariablesOf, } from 'relay-runtime'; export type Direction = 'forward' | 'backward'; @@ -49,7 +50,7 @@ export type LoadMoreFn = ( count: number, options?: {| onComplete?: (Error | null) => void, - UNSTABLE_extraVariables?: $Shape<$ElementType>, + UNSTABLE_extraVariables?: $Shape>, |}, ) => Disposable; diff --git a/packages/relay-experimental/useRefetchableFragmentNode.js b/packages/relay-experimental/useRefetchableFragmentNode.js index be28d26a7f63e..d51502f077b02 100644 --- a/packages/relay-experimental/useRefetchableFragmentNode.js +++ b/packages/relay-experimental/useRefetchableFragmentNode.js @@ -51,6 +51,7 @@ import type { ReaderFragment, RenderPolicy, Variables, + VariablesOf, } from 'relay-runtime'; export type RefetchFn< @@ -103,13 +104,13 @@ type RefetchFnBase = ( ) => Disposable; type RefetchFnExact = RefetchFnBase< - $ElementType, + VariablesOf, TOptions, >; type RefetchFnInexact< TQuery: OperationType, TOptions = Options, -> = RefetchFnBase<$Shape<$ElementType>, TOptions>; +> = RefetchFnBase<$Shape>, TOptions>; type Action = | {| diff --git a/packages/relay-runtime/index.js b/packages/relay-runtime/index.js index 9ecc61731b275..894209057e5be 100644 --- a/packages/relay-runtime/index.js +++ b/packages/relay-runtime/index.js @@ -189,6 +189,7 @@ export type { OperationType, RenderPolicy, Variables, + VariablesOf, } from './util/RelayRuntimeTypes'; export type {Local3DPayload} from './util/createPayloadFor3DField'; diff --git a/packages/relay-runtime/util/RelayRuntimeTypes.js b/packages/relay-runtime/util/RelayRuntimeTypes.js index f5708c35b4382..3497a7049ec17 100644 --- a/packages/relay-runtime/util/RelayRuntimeTypes.js +++ b/packages/relay-runtime/util/RelayRuntimeTypes.js @@ -38,6 +38,8 @@ export type OperationType = {| +rawResponse?: {...}, |}; +export type VariablesOf = $ElementType; + /** * Settings for how a query response may be cached. *