diff --git a/types/relay-runtime/index.d.ts b/types/relay-runtime/index.d.ts index 612db6b47d..037dc8f3bc 100644 --- a/types/relay-runtime/index.d.ts +++ b/types/relay-runtime/index.d.ts @@ -192,6 +192,17 @@ export { RelayFeatureFlags } from './lib/util/RelayFeatureFlags'; export { default as deepFreeze } from './lib/util/deepFreeze'; export { default as isPromise } from './lib/util/isPromise'; +import * as fetchQueryInternal from './lib/query/fetchQueryInternal'; + +interface Internal { + fetchQuery: typeof fetchQueryInternal.fetchQuery; + fetchQueryDeduped: typeof fetchQueryInternal.fetchQueryDeduped; + getPromiseForActiveRequest: typeof fetchQueryInternal.getPromiseForActiveRequest; + getObservableForActiveRequest: typeof fetchQueryInternal.getObservableForActiveRequest; +} + +export const __internal: Internal; + /** * relay-compiler-language-typescript support for fragment references */ diff --git a/types/relay-runtime/lib/query/fetchQueryInternal.d.ts b/types/relay-runtime/lib/query/fetchQueryInternal.d.ts new file mode 100644 index 0000000000..46688cea19 --- /dev/null +++ b/types/relay-runtime/lib/query/fetchQueryInternal.d.ts @@ -0,0 +1,25 @@ +import { CacheConfig } from '../util/RelayRuntimeTypes'; +import { Environment, OperationDescriptor, RequestDescriptor } from '../store/RelayStoreTypes'; +import { GraphQLResponse } from '../network/RelayNetworkTypes'; +import { RelayObservable as Observable } from '../network/RelayObservable'; + +export function fetchQuery( + environment: Environment, + operation: OperationDescriptor, + options?: { + networkCacheConfig?: CacheConfig; + }, +): Observable; + +export function fetchQueryDeduped( + environment: Environment, + request: RequestDescriptor, + fetchFn: () => Observable, +): Observable; + +export function getPromiseForActiveRequest(environment: Environment, request: RequestDescriptor): Promise | null; + +export function getObservableForActiveRequest( + environment: Environment, + request: RequestDescriptor, +): Observable | null; diff --git a/types/relay-runtime/relay-runtime-tests.tsx b/types/relay-runtime/relay-runtime-tests.tsx index 432c5f33b7..12a86c319c 100644 --- a/types/relay-runtime/relay-runtime-tests.tsx +++ b/types/relay-runtime/relay-runtime-tests.tsx @@ -14,6 +14,7 @@ import { commitLocalUpdate, ReaderFragment, isPromise, + __internal, } from 'relay-runtime'; const source = new RecordSource();