diff --git a/packages/babel-plugin-relay/compileGraphQLTag.js b/packages/babel-plugin-relay/compileGraphQLTag.js index bfccd614c8d18..75a3ac5858fab 100644 --- a/packages/babel-plugin-relay/compileGraphQLTag.js +++ b/packages/babel-plugin-relay/compileGraphQLTag.js @@ -86,7 +86,7 @@ function createNode( state: BabelState, path: $FlowFixMe, graphqlDefinition: OperationDefinitionNode | FragmentDefinitionNode, - options: {| + options: { // If an output directory is specified when running relay-compiler this should point to that directory artifactDirectory: ?string, // Generate eager es modules instead of lazy require @@ -99,7 +99,7 @@ function createNode( isDevVariable: ?string, // Use haste style global requires, defaults to false. isHasteMode: boolean, - |}, + }, ): Object { const definitionName = graphqlDefinition.name && graphqlDefinition.name.value; if (!definitionName) { diff --git a/packages/react-relay/ReactRelayContainerUtils.js b/packages/react-relay/ReactRelayContainerUtils.js index 35aec99469477..22f2e0d13d025 100644 --- a/packages/react-relay/ReactRelayContainerUtils.js +++ b/packages/react-relay/ReactRelayContainerUtils.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; function getComponentName(component: React$ComponentType): string { diff --git a/packages/react-relay/ReactRelayContext.js b/packages/react-relay/ReactRelayContext.js index e461569adbddd..c6bd3a5d5f5ce 100644 --- a/packages/react-relay/ReactRelayContext.js +++ b/packages/react-relay/ReactRelayContext.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RelayContext} from 'relay-runtime/store/RelayStoreTypes'; diff --git a/packages/react-relay/ReactRelayFragmentContainer.js b/packages/react-relay/ReactRelayFragmentContainer.js index b25647c0e1d6b..60a16d52c5b84 100644 --- a/packages/react-relay/ReactRelayFragmentContainer.js +++ b/packages/react-relay/ReactRelayFragmentContainer.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {GeneratedNodeMap, RelayProp, $RelayProps} from './ReactRelayTypes'; import type { diff --git a/packages/react-relay/ReactRelayFragmentMockRenderer.js b/packages/react-relay/ReactRelayFragmentMockRenderer.js index bfd057e9935ac..b2ce9d8aae23e 100644 --- a/packages/react-relay/ReactRelayFragmentMockRenderer.js +++ b/packages/react-relay/ReactRelayFragmentMockRenderer.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const ReactRelayContext = require('./ReactRelayContext'); diff --git a/packages/react-relay/ReactRelayLocalQueryRenderer.js b/packages/react-relay/ReactRelayLocalQueryRenderer.js index eb35479dba892..ec5094662df9f 100644 --- a/packages/react-relay/ReactRelayLocalQueryRenderer.js +++ b/packages/react-relay/ReactRelayLocalQueryRenderer.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ReactRelayQueryRendererContext as ReactRelayQueryRendererContextType} from './ReactRelayQueryRendererContext'; diff --git a/packages/react-relay/ReactRelayPaginationContainer.js b/packages/react-relay/ReactRelayPaginationContainer.js index 22290f468ef53..2fe3be00b7bc9 100644 --- a/packages/react-relay/ReactRelayPaginationContainer.js +++ b/packages/react-relay/ReactRelayPaginationContainer.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/react-relay/ReactRelayQueryFetcher.js b/packages/react-relay/ReactRelayQueryFetcher.js index fe20ed8612944..59ee11ad0a98e 100644 --- a/packages/react-relay/ReactRelayQueryFetcher.js +++ b/packages/react-relay/ReactRelayQueryFetcher.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { @@ -35,26 +33,26 @@ type OnDataChange = ({ }) => void; /** The external API of 'fetch' **/ -export type FetchOptions = {| +export type FetchOptions = { environment: IEnvironment, onDataChange?: null | OnDataChange, operation: OperationDescriptor, -|}; +}; // Internally we keep an array of onDataChange callbacks, to support reusing // the queryRenderer for multiple components. -type FetchOptionsInternal = {| +type FetchOptionsInternal = { environment: IEnvironment, onDataChangeCallbacks: Array, operation: OperationDescriptor, -|}; +}; -export type ExecuteConfig = {| +export type ExecuteConfig = { environment: IEnvironment, operation: OperationDescriptor, // Allows pagination container to retain results from previous queries preservePreviousReferences?: boolean, -|}; +}; class ReactRelayQueryFetcher { _fetchOptions: ?FetchOptionsInternal; @@ -77,10 +75,10 @@ class ReactRelayQueryFetcher { } } - getSelectionReferences(): {| + getSelectionReferences(): { cacheSelectionReference: ?Disposable, selectionReferences: Array, - |} { + } { return { cacheSelectionReference: this._cacheSelectionReference, selectionReferences: this._selectionReferences, diff --git a/packages/react-relay/ReactRelayQueryRenderer.js b/packages/react-relay/ReactRelayQueryRenderer.js index c48b745788af2..281d584c42fca 100644 --- a/packages/react-relay/ReactRelayQueryRenderer.js +++ b/packages/react-relay/ReactRelayQueryRenderer.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ReactRelayQueryRendererContext as ReactRelayQueryRendererContextType} from './ReactRelayQueryRendererContext'; @@ -34,7 +32,7 @@ const { getRequest, } = require('relay-runtime'); -type RetryCallbacks = {| +type RetryCallbacks = { handleDataChange: | null | (({ @@ -43,39 +41,39 @@ type RetryCallbacks = {| ... }) => void), handleRetryAfterError: null | ((error: Error) => void), -|}; +}; -export type RenderProps = {| +export type RenderProps = { error: ?Error, props: ?T, retry: ?(cacheConfigOverride?: CacheConfig) => void, -|}; +}; /** * React may double-fire the constructor, and we call 'fetch' in the * constructor. If a request is already in flight from a previous call to the * constructor, just reuse the query fetcher and wait for the response. */ const requestCache: { - [string]: void | {| + [string]: void | { queryFetcher: ReactRelayQueryFetcher, snapshot: ?Snapshot, - |}, + }, } = {}; const queryRendererContext: ReactRelayQueryRendererContextType = { rootIsQueryRenderer: true, }; -export type Props = {| +export type Props = { cacheConfig?: ?CacheConfig, fetchPolicy?: 'store-and-network' | 'network-only', environment: IEnvironment, query: ?GraphQLTaggedNode, render: (renderProps: RenderProps) => React.Node, variables: Variables, -|}; +}; -type State = {| +type State = { error: Error | null, prevPropsEnvironment: IEnvironment, prevPropsVariables: Variables, @@ -86,7 +84,7 @@ type State = {| retryCallbacks: RetryCallbacks, requestCacheKey: ?string, snapshot: Snapshot | null, -|}; +}; /** * @public diff --git a/packages/react-relay/ReactRelayQueryRendererContext.js b/packages/react-relay/ReactRelayQueryRendererContext.js index 164e95834faaa..f9cc6468019af 100644 --- a/packages/react-relay/ReactRelayQueryRendererContext.js +++ b/packages/react-relay/ReactRelayQueryRendererContext.js @@ -8,12 +8,10 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const React = require('react'); -export type ReactRelayQueryRendererContext = {|rootIsQueryRenderer: boolean|}; +export type ReactRelayQueryRendererContext = {rootIsQueryRenderer: boolean}; module.exports = (React.createContext({ rootIsQueryRenderer: false, diff --git a/packages/react-relay/ReactRelayRefetchContainer.js b/packages/react-relay/ReactRelayRefetchContainer.js index 38aa3716ca4ab..1757d4bac033e 100644 --- a/packages/react-relay/ReactRelayRefetchContainer.js +++ b/packages/react-relay/ReactRelayRefetchContainer.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/react-relay/ReactRelayTestMocker.js b/packages/react-relay/ReactRelayTestMocker.js index 62fe5f8560f69..c5ce2ca3e983e 100644 --- a/packages/react-relay/ReactRelayTestMocker.js +++ b/packages/react-relay/ReactRelayTestMocker.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/react-relay/ReactRelayTypes.js b/packages/react-relay/ReactRelayTypes.js index f244908dffcd1..265beabec74d6 100644 --- a/packages/react-relay/ReactRelayTypes.js +++ b/packages/react-relay/ReactRelayTypes.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { @@ -29,7 +27,7 @@ export type ObserverOrCallback = Observer | ((error: ?Error) => mixed); // RelayRefetchProp to flow into a RelayProp. export type RelayProp = {+environment: IEnvironment, ...}; -export type RelayPaginationProp = {| +export type RelayPaginationProp = { +environment: IEnvironment, +hasMore: () => boolean, +isLoading: () => boolean, @@ -43,9 +41,9 @@ export type RelayPaginationProp = {| observerOrCallback: ?ObserverOrCallback, refetchVariables: ?Variables, ) => ?Disposable, -|}; +}; -export type RelayRefetchProp = {| +export type RelayRefetchProp = { +environment: IEnvironment, +refetch: ( refetchVariables: Variables | ((fragmentVariables: Variables) => Variables), @@ -53,13 +51,13 @@ export type RelayRefetchProp = {| observerOrCallback: ?ObserverOrCallback, options?: RefetchOptions, ) => Disposable, -|}; +}; -export type RefetchOptions = {| +export type RefetchOptions = { +force?: boolean, +fetchPolicy?: 'store-or-network' | 'network-only', +metadata?: {[key: string]: mixed, ...}, -|}; +}; /** * A utility type which takes the type of a fragment's data (typically found in diff --git a/packages/react-relay/RelayContext.js b/packages/react-relay/RelayContext.js index ba99ceaa02a8e..2caa1e986f4de 100644 --- a/packages/react-relay/RelayContext.js +++ b/packages/react-relay/RelayContext.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RelayContext} from 'relay-runtime'; diff --git a/packages/react-relay/__flowtests__/ReactRelayFragmentContainer-flowtest.js b/packages/react-relay/__flowtests__/ReactRelayFragmentContainer-flowtest.js index 0c6ea4ab5e410..5773fa8a6274d 100644 --- a/packages/react-relay/__flowtests__/ReactRelayFragmentContainer-flowtest.js +++ b/packages/react-relay/__flowtests__/ReactRelayFragmentContainer-flowtest.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const { @@ -127,7 +125,7 @@ module.exports = { return ; }, checkStaticsAndMethodsProxying(): React.Node { - class ProxyChecker extends React.PureComponent<{||}> { + class ProxyChecker extends React.PureComponent<{}> { _barRef: ?BarComponent; getString(): string { const ok = this._barRef ? this._barRef.getNum() : 'default'; // legit diff --git a/packages/react-relay/__flowtests__/ReactRelayPaginationContainer-flowtest.js b/packages/react-relay/__flowtests__/ReactRelayPaginationContainer-flowtest.js index 7b7af9051f784..efcf65fed447d 100644 --- a/packages/react-relay/__flowtests__/ReactRelayPaginationContainer-flowtest.js +++ b/packages/react-relay/__flowtests__/ReactRelayPaginationContainer-flowtest.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const { diff --git a/packages/react-relay/__flowtests__/ReactRelayRefetchContainer-flowtest.js b/packages/react-relay/__flowtests__/ReactRelayRefetchContainer-flowtest.js index 94f339716ae28..6ce089340bb1b 100644 --- a/packages/react-relay/__flowtests__/ReactRelayRefetchContainer-flowtest.js +++ b/packages/react-relay/__flowtests__/ReactRelayRefetchContainer-flowtest.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const { diff --git a/packages/react-relay/__flowtests__/RelayModern-flowtest.js b/packages/react-relay/__flowtests__/RelayModern-flowtest.js index aa2dab300d90d..a9e1c861d4620 100644 --- a/packages/react-relay/__flowtests__/RelayModern-flowtest.js +++ b/packages/react-relay/__flowtests__/RelayModern-flowtest.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {$FragmentRef} from '../ReactRelayTypes'; @@ -252,9 +250,9 @@ declare var aComplexUserRef: { optionalUsers={null} />; -class AnyTest extends React.Component<{| +class AnyTest extends React.Component<{ anything: any, -|}> {} +}> {} const AnyTestContainer = createFragmentContainer(AnyTest, {}); ; diff --git a/packages/react-relay/__flowtests__/RelayModernFlowtest_badref.graphql.js b/packages/react-relay/__flowtests__/RelayModernFlowtest_badref.graphql.js index d659198aa2616..e363651900941 100644 --- a/packages/react-relay/__flowtests__/RelayModernFlowtest_badref.graphql.js +++ b/packages/react-relay/__flowtests__/RelayModernFlowtest_badref.graphql.js @@ -8,16 +8,14 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RelayModernFlowtest_user$ref} from './RelayModernFlowtest_user.graphql'; import type {FragmentType} from 'relay-runtime'; declare export opaque type RelayModernFlowtest_badref$ref: FragmentType; -export type RelayModernFlowtest_badref = {| +export type RelayModernFlowtest_badref = { +id: string, +$fragmentSpreads: RelayModernFlowtest_user$ref, +$fragmentType: RelayModernFlowtest_badref$ref, -|}; +}; diff --git a/packages/react-relay/__flowtests__/RelayModernFlowtest_notref.graphql.js b/packages/react-relay/__flowtests__/RelayModernFlowtest_notref.graphql.js index 1323126b76189..bbc3cedd964a8 100644 --- a/packages/react-relay/__flowtests__/RelayModernFlowtest_notref.graphql.js +++ b/packages/react-relay/__flowtests__/RelayModernFlowtest_notref.graphql.js @@ -8,16 +8,14 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RelayModernFlowtest_user$ref} from './RelayModernFlowtest_user.graphql'; import type {FragmentType} from 'relay-runtime'; declare export opaque type RelayModernFlowtest_notref$ref: FragmentType; -export type RelayModernFlowtest_notref = {| +export type RelayModernFlowtest_notref = { +id: string, +$fragmentSpreads: RelayModernFlowtest_user$ref, +$fragmentType: RelayModernFlowtest_notref$ref, -|}; +}; diff --git a/packages/react-relay/__flowtests__/RelayModernFlowtest_user.graphql.js b/packages/react-relay/__flowtests__/RelayModernFlowtest_user.graphql.js index 6791cdaf1e524..1ac354cfa8fc0 100644 --- a/packages/react-relay/__flowtests__/RelayModernFlowtest_user.graphql.js +++ b/packages/react-relay/__flowtests__/RelayModernFlowtest_user.graphql.js @@ -8,14 +8,12 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {FragmentType} from 'relay-runtime'; declare export opaque type RelayModernFlowtest_user$ref: FragmentType; -export type RelayModernFlowtest_user = {| +export type RelayModernFlowtest_user = { +name: ?string, +$fragmentType: RelayModernFlowtest_user$ref, -|}; +}; diff --git a/packages/react-relay/__flowtests__/RelayModernFlowtest_users.graphql.js b/packages/react-relay/__flowtests__/RelayModernFlowtest_users.graphql.js index 365b1fa29aac9..18683903e97de 100644 --- a/packages/react-relay/__flowtests__/RelayModernFlowtest_users.graphql.js +++ b/packages/react-relay/__flowtests__/RelayModernFlowtest_users.graphql.js @@ -8,14 +8,12 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {FragmentType} from 'relay-runtime'; declare export opaque type RelayModernFlowtest_users$ref: FragmentType; -export type RelayModernFlowtest_users = $ReadOnlyArray<{| +export type RelayModernFlowtest_users = $ReadOnlyArray<{ +name: ?string, +$fragmentType: RelayModernFlowtest_users$ref, -|}>; +}>; diff --git a/packages/react-relay/__mocks__/RelayTestRenderer.js b/packages/react-relay/__mocks__/RelayTestRenderer.js index 381e3c706302d..8a071a7944687 100644 --- a/packages/react-relay/__mocks__/RelayTestRenderer.js +++ b/packages/react-relay/__mocks__/RelayTestRenderer.js @@ -8,8 +8,6 @@ * @flow strict-local */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {Snapshot, Variables} from 'relay-runtime'; diff --git a/packages/react-relay/__tests__/ClientOnlyQueries-test.js b/packages/react-relay/__tests__/ClientOnlyQueries-test.js index 6d93c11abeec6..5bfad0e4fd7ec 100644 --- a/packages/react-relay/__tests__/ClientOnlyQueries-test.js +++ b/packages/react-relay/__tests__/ClientOnlyQueries-test.js @@ -81,10 +81,10 @@ describe('Client-only queries', () => { function TestComponent({ environment: relayEnvironment, ...rest - }: {| + }: { environment: IEnvironment, fetchPolicy?: FetchPolicy, - |}) { + }) { return ( @@ -232,10 +232,10 @@ test('hello-world query', () => { function TestComponent({ environment: relayEnvironment, ...rest - }: {| + }: { environment: IEnvironment, fetchPolicy?: FetchPolicy, - |}) { + }) { return ( @@ -294,10 +294,10 @@ test('hello user query with client-edge query', () => { function TestComponent({ environment: relayEnvironment, ...rest - }: {| + }: { environment: IEnvironment, fetchPolicy?: FetchPolicy, - |}) { + }) { return ( diff --git a/packages/react-relay/__tests__/LiveResolvers-test.js b/packages/react-relay/__tests__/LiveResolvers-test.js index 2594628fa4447..99b4900580187 100644 --- a/packages/react-relay/__tests__/LiveResolvers-test.js +++ b/packages/react-relay/__tests__/LiveResolvers-test.js @@ -297,7 +297,7 @@ test("Resolvers without fragments aren't reevaluated when their parent record up store, }); - function Environment({children}: {|children: React.Node|}) { + function Environment({children}: {children: React.Node}) { return ( {children} @@ -365,7 +365,7 @@ test('Can suspend', () => { }, ); - function Environment({children}: {|children: React.Node|}) { + function Environment({children}: {children: React.Node}) { return ( {children} @@ -427,7 +427,7 @@ test('Can suspend with resolver that uses live resolver', () => { store, }); - function Environment({children}: {|children: React.Node|}) { + function Environment({children}: {children: React.Node}) { return ( {children} @@ -479,7 +479,7 @@ test('Can suspend with resolver that uses live resolver', () => { describe('Live Resolver with Suspense and Missing Data', () => { let renderer; - function InnerTestComponent({scale}: {|scale: number|}) { + function InnerTestComponent({scale}: {scale: number}) { const data = useLazyLoadQuery( graphql` query LiveResolversTest7Query($id: ID!, $scale: Float!) { @@ -504,10 +504,10 @@ describe('Live Resolver with Suspense and Missing Data', () => { function TestComponent({ environment, ...rest - }: {| + }: { environment: RelayModernEnvironment, scale: number, - |}) { + }) { return ( @@ -703,7 +703,7 @@ describe('Live Resolver with Suspense and Missing Data', () => { }); test('Live Resolver with Missing Data and @required', () => { - function InnerTestComponent({id}: {|id: string|}) { + function InnerTestComponent({id}: {id: string}) { const data = useLazyLoadQuery( graphql` query LiveResolversTest8Query($id: ID!) { @@ -726,10 +726,10 @@ test('Live Resolver with Missing Data and @required', () => { function TestComponent({ environment, ...rest - }: {| + }: { environment: RelayModernEnvironment, id: string, - |}) { + }) { return ( @@ -798,7 +798,7 @@ test('Live Resolver with Missing Data and @required', () => { test('apply optimistic updates to live resolver field', () => { let renderer; - function InnerTestComponent({scale}: {|scale: number|}) { + function InnerTestComponent({scale}: {scale: number}) { const data = useLazyLoadQuery( graphql` query LiveResolversTest9Query($id: ID!, $scale: Float!) { @@ -820,10 +820,10 @@ test('apply optimistic updates to live resolver field', () => { function TestComponent({ environment, ...rest - }: {| + }: { environment: RelayModernEnvironment, scale: number, - |}) { + }) { return ( @@ -967,7 +967,7 @@ test('with client-only field', () => { return data.counter_no_fragment; } - function TestComponent({environment}: {|environment: IEnvironment|}) { + function TestComponent({environment}: {environment: IEnvironment}) { return ( @@ -1014,7 +1014,7 @@ test('with client-only field', () => { test('with client-only field and args', () => { let renderer; - function InnerTestComponent({prefix}: {|prefix: string|}) { + function InnerTestComponent({prefix}: {prefix: string}) { const data = useClientQuery( graphql` query LiveResolversTest12Query($prefix: String!) { @@ -1029,10 +1029,10 @@ test('with client-only field and args', () => { function TestComponent({ environment, ...rest - }: {| + }: { environment: IEnvironment, prefix: string, - |}) { + }) { return ( diff --git a/packages/react-relay/__tests__/ReactRelayQueryRenderer-react-double-effects-test.js b/packages/react-relay/__tests__/ReactRelayQueryRenderer-react-double-effects-test.js index 51b328cbb885e..4248fb126086f 100644 --- a/packages/react-relay/__tests__/ReactRelayQueryRenderer-react-double-effects-test.js +++ b/packages/react-relay/__tests__/ReactRelayQueryRenderer-react-double-effects-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RelayMockEnvironment} from '../../relay-test-utils/RelayModernMockEnvironment'; import type {OperationDescriptor} from 'relay-runtime/store/RelayStoreTypes'; @@ -29,7 +27,7 @@ const {createMockEnvironment} = require('relay-test-utils'); function expectToHaveFetched( environment: RelayMockEnvironment, query: OperationDescriptor, - {count}: {|count: number|}, + {count}: {count: number}, ) { // $FlowFixMe[method-unbinding] added when improving typing for this parameters expect(environment.execute).toBeCalledTimes(count); @@ -112,7 +110,7 @@ describe.skip('ReactRelayQueryRenderer-react-double-effects', () => { it('forces a re-render and refetches query when effects are double invoked', () => { let renderLogs = []; - const QueryComponent = function ({node}: {|node: any|}) { + const QueryComponent = function ({node}: {node: any}) { const name = node?.name ?? 'Empty'; useEffect(() => { renderLogs.push(`commit: ${name}`); @@ -125,7 +123,7 @@ describe.skip('ReactRelayQueryRenderer-react-double-effects', () => { return name; }; - const QueryContainer = function (props: {|variables: {|id: string|}|}) { + const QueryContainer = function (props: {variables: {id: string}}) { return ( { writer.setDefault(nestedQueryDefault); // simple component - const NestedComponent = ({viewer}: {|viewer: $FlowFixMe|}) => ( + const NestedComponent = ({viewer}: {viewer: $FlowFixMe}) => (
{'Birth month is ' + viewer.actor.birthdate.month}
); // component containing a query renderer - const Component = ({me}: {|me: $FlowFixMe|}) => ( + const Component = ({me}: {me: $FlowFixMe}) => (
{'My name is ' + me.name} { }); it('updates the store properly via network', () => { - const Component = ({me}: {|me: $FlowFixMe|}) => ( + const Component = ({me}: {me: $FlowFixMe}) => (
{'My name is ' + me.name}
); diff --git a/packages/react-relay/__tests__/isRelayEnvironment-test.js b/packages/react-relay/__tests__/isRelayEnvironment-test.js index 10c0c2b009262..ad49d56daaae9 100644 --- a/packages/react-relay/__tests__/isRelayEnvironment-test.js +++ b/packages/react-relay/__tests__/isRelayEnvironment-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const isRelayEnvironment = require('../isRelayEnvironment'); diff --git a/packages/react-relay/assertFragmentMap.js b/packages/react-relay/assertFragmentMap.js index 45a2aaff51674..8e681582b0b01 100644 --- a/packages/react-relay/assertFragmentMap.js +++ b/packages/react-relay/assertFragmentMap.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {GeneratedNodeMap} from './ReactRelayTypes'; diff --git a/packages/react-relay/buildReactRelayContainer.js b/packages/react-relay/buildReactRelayContainer.js index d2025591cde84..b56d8f5730fe9 100644 --- a/packages/react-relay/buildReactRelayContainer.js +++ b/packages/react-relay/buildReactRelayContainer.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ReaderFragment} from '../relay-runtime/util/ReaderNode'; import type {GeneratedNodeMap} from './ReactRelayTypes'; diff --git a/packages/react-relay/getRootVariablesForFragments.js b/packages/react-relay/getRootVariablesForFragments.js index cf2844cbef990..9cfe58acd5ce9 100644 --- a/packages/react-relay/getRootVariablesForFragments.js +++ b/packages/react-relay/getRootVariablesForFragments.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {FragmentMap, Variables} from 'relay-runtime'; diff --git a/packages/react-relay/hooks.js b/packages/react-relay/hooks.js index 2c32c76a3e320..30be5c8f3d566 100644 --- a/packages/react-relay/hooks.js +++ b/packages/react-relay/hooks.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const EntryPointContainer = require('./relay-hooks/EntryPointContainer.react'); diff --git a/packages/react-relay/index.js b/packages/react-relay/index.js index 4a98195df2703..8b4ec57a9e220 100644 --- a/packages/react-relay/index.js +++ b/packages/react-relay/index.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const ReactRelayContext = require('./ReactRelayContext'); diff --git a/packages/react-relay/isRelayEnvironment.js b/packages/react-relay/isRelayEnvironment.js index 590a6c46f46f4..767d05da0c101 100644 --- a/packages/react-relay/isRelayEnvironment.js +++ b/packages/react-relay/isRelayEnvironment.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; /** diff --git a/packages/react-relay/legacy.js b/packages/react-relay/legacy.js index e5d5427a27de2..6c8ae0181f5e7 100644 --- a/packages/react-relay/legacy.js +++ b/packages/react-relay/legacy.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const ReactRelayContext = require('./ReactRelayContext'); diff --git a/packages/react-relay/multi-actor/useRelayActorEnvironment.js b/packages/react-relay/multi-actor/useRelayActorEnvironment.js index b3c42661fc6cf..47d8ed298ea79 100644 --- a/packages/react-relay/multi-actor/useRelayActorEnvironment.js +++ b/packages/react-relay/multi-actor/useRelayActorEnvironment.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/react-relay/readContext.js b/packages/react-relay/readContext.js index ef910856a1311..aa476fbae5f96 100644 --- a/packages/react-relay/readContext.js +++ b/packages/react-relay/readContext.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const React = require('react'); diff --git a/packages/react-relay/relay-hooks/EntryPointContainer.react.js b/packages/react-relay/relay-hooks/EntryPointContainer.react.js index a0134e801a582..7a65f11c033b6 100644 --- a/packages/react-relay/relay-hooks/EntryPointContainer.react.js +++ b/packages/react-relay/relay-hooks/EntryPointContainer.react.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { @@ -38,10 +36,10 @@ function EntryPointContainer< >({ entryPointReference, props, -}: $ReadOnly<{| +}: $ReadOnly<{ entryPointReference: PreloadedEntryPoint, props: TRuntimeProps, -|}>): React.MixedElement { +}>): React.MixedElement { warning( entryPointReference.isDisposed === false, ': Expected entryPointReference to not be disposed ' + diff --git a/packages/react-relay/relay-hooks/EntryPointTypes.flow.js b/packages/react-relay/relay-hooks/EntryPointTypes.flow.js index fbe9a3b0d96fd..4dd71b4d972f9 100644 --- a/packages/react-relay/relay-hooks/EntryPointTypes.flow.js +++ b/packages/react-relay/relay-hooks/EntryPointTypes.flow.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {JSResourceReference} from 'JSResourceReference'; @@ -33,25 +31,25 @@ export type PreloadFetchPolicy = | 'store-and-network' | 'network-only'; -export type PreloadOptions = {| +export type PreloadOptions = { +fetchKey?: string | number, +fetchPolicy?: ?PreloadFetchPolicy, +networkCacheConfig?: ?CacheConfig, -|}; +}; -export type LoadQueryOptions = {| +export type LoadQueryOptions = { +fetchPolicy?: ?FetchPolicy, +networkCacheConfig?: ?CacheConfig, +__nameForWarning?: ?string, -|}; +}; // Note: the phantom type parameter here helps ensures that the // $Parameters.js value matches the type param provided to preloadQuery. // eslint-disable-next-line no-unused-vars -export type PreloadableConcreteRequest = {| +export type PreloadableConcreteRequest = { kind: 'PreloadableConcreteRequest', params: RequestParameters, -|}; +}; export type EnvironmentProviderOptions = {[string]: mixed, ...}; @@ -65,7 +63,7 @@ export type PreloadedQuery< export type PreloadedQueryInner_DEPRECATED< TQuery: OperationType, TEnvironmentProviderOptions = EnvironmentProviderOptions, -> = {| +> = { +kind: 'PreloadedQuery_DEPRECATED', +environment: IEnvironment, +environmentProviderOptions: ?TEnvironmentProviderOptions, @@ -77,12 +75,12 @@ export type PreloadedQueryInner_DEPRECATED< +source: ?Observable, +variables: TQuery['variables'], +status: PreloadQueryStatus, -|}; +}; export type PreloadedQueryInner< TQuery: OperationType, TEnvironmentProviderOptions = EnvironmentProviderOptions, -> = {| +> = { // Releases query data and cancels network request if still in flight +dispose: () => void, // Releases query data @@ -101,13 +99,13 @@ export type PreloadedQueryInner< +source: ?Observable, +kind: 'PreloadedQuery', +variables: TQuery['variables'], -|}; +}; -export type PreloadQueryStatus = {| +export type PreloadQueryStatus = { +cacheConfig: ?CacheConfig, +source: 'cache' | 'network', +fetchTime: ?number, -|}; +}; /** The Interface of the EntryPoints .entrypoint files @@ -137,7 +135,7 @@ type InternalEntryPointRepresentation< TPreloadedEntryPoints, TRuntimeProps, TExtraProps, -> = $ReadOnly<{| +> = $ReadOnly<{ getPreloadProps: ( entryPointParams: TEntryPointParams, ) => PreloadProps< @@ -154,26 +152,26 @@ type InternalEntryPointRepresentation< TExtraProps, >, >, -|}>; +}>; // The shape of the props of the entry point `root` component export type EntryPointProps< TPreloadedQueries, - TPreloadedEntryPoints = {||}, - TRuntimeProps = {||}, + TPreloadedEntryPoints = {}, + TRuntimeProps = {}, TExtraProps = null, -> = $ReadOnly<{| +> = $ReadOnly<{ entryPoints: TPreloadedEntryPoints, extraProps: TExtraProps | null, props: TRuntimeProps, queries: TPreloadedQueries, -|}>; +}>; // Type of the entry point `root` component export type EntryPointComponent< TPreloadedQueries, - TPreloadedEntryPoints = {||}, - TRuntimeProps = {||}, + TPreloadedEntryPoints = {}, + TRuntimeProps = {}, TExtraProps = null, > = AbstractComponent< EntryPointProps< @@ -191,17 +189,17 @@ export type PreloadProps< TPreloadedEntryPoints: {...}, TExtraProps = null, TEnvironmentProviderOptions = EnvironmentProviderOptions, -> = $ReadOnly<{| +> = $ReadOnly<{ entryPoints?: $ObjMap, extraProps?: TExtraProps, queries?: $ObjMap< TPreloadedQueries, ExtractQueryTypeHelper, >, -|}>; +}>; // Return type of `loadEntryPoint(...)` -export type PreloadedEntryPoint = $ReadOnly<{| +export type PreloadedEntryPoint = $ReadOnly<{ dispose: () => void, entryPoints: ElementConfig['entryPoints'], extraProps: ElementConfig['extraProps'], @@ -209,7 +207,7 @@ export type PreloadedEntryPoint = $ReadOnly<{| isDisposed: boolean, queries: ElementConfig['queries'], rootModuleID: string, -|}>; +}>; type _ComponentFromEntryPoint = < +TPreloadParams, @@ -231,17 +229,17 @@ export type EntryPointElementConfig<+TEntryPoint> = ElementConfig< export type ThinQueryParams< TQuery: OperationType, TEnvironmentProviderOptions, -> = $ReadOnly<{| +> = $ReadOnly<{ environmentProviderOptions?: ?TEnvironmentProviderOptions, options?: ?PreloadOptions, parameters: PreloadableConcreteRequest, variables: TQuery['variables'], -|}>; +}>; -type ThinNestedEntryPointParams = $ReadOnly<{| +type ThinNestedEntryPointParams = $ReadOnly<{ entryPoint: TEntryPoint, entryPointParams: TEntryPointParams, -|}>; +}>; export type ExtractQueryTypeHelper = ( PreloadedQuery, @@ -273,6 +271,6 @@ export type PreloadParamsOf = $Call< GetPreloadPropsType, >; -export type IEnvironmentProvider = {| +export type IEnvironmentProvider = { getEnvironment: (options: ?TOptions) => IEnvironment, -|}; +}; diff --git a/packages/react-relay/relay-hooks/FragmentResource.js b/packages/react-relay/relay-hooks/FragmentResource.js index 5cf583cd6949d..10a746d527892 100644 --- a/packages/react-relay/relay-hooks/FragmentResource.js +++ b/packages/react-relay/relay-hooks/FragmentResource.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {Cache} from './LRUCache'; @@ -46,13 +44,13 @@ const { export type FragmentResource = FragmentResourceImpl; type FragmentResourceCache = Cache< - | {| + | { kind: 'pending', pendingOperations: $ReadOnlyArray, promise: Promise, result: FragmentResult, - |} - | {|kind: 'done', result: FragmentResult|}, + } + | {kind: 'done', result: FragmentResult}, >; const WEAKMAP_SUPPORTED = typeof WeakMap === 'function'; @@ -63,13 +61,13 @@ interface IMap { type SingularOrPluralSnapshot = Snapshot | $ReadOnlyArray; -opaque type FragmentResult: {data: mixed, ...} = {| +opaque type FragmentResult: {data: mixed, ...} = { cacheKey: string, data: mixed, isMissingData: boolean, snapshot: SingularOrPluralSnapshot | null, storeEpoch: number, -|}; +}; // TODO: Fix to not rely on LRU. If the number of active fragments exceeds this // capacity, readSpec() will fail to find cached entries and break object @@ -716,10 +714,10 @@ class FragmentResourceImpl { fragmentNode: ReaderFragment, fragmentOwner: RequestDescriptor, fragmentResult: FragmentResult, - ): {| + ): { promise: Promise, pendingOperations: $ReadOnlyArray, - |} | null { + } | null { const pendingOperationsResult = getPendingOperationsForFragment( this._environment, fragmentNode, diff --git a/packages/react-relay/relay-hooks/HooksImplementation.js b/packages/react-relay/relay-hooks/HooksImplementation.js index 8e083f77cc61f..0f371986c9cec 100644 --- a/packages/react-relay/relay-hooks/HooksImplementation.js +++ b/packages/react-relay/relay-hooks/HooksImplementation.js @@ -11,8 +11,6 @@ 'use strict'; -// flowlint ambiguous-object-type:error - import typeof useFragment from './useFragment'; import type {UsePaginationFragmentType} from './usePaginationFragment'; import type {UsePreloadedQueryHookType} from './usePreloadedQuery'; @@ -20,12 +18,12 @@ import type {UseRefetchableFragmentType} from './useRefetchableFragment'; const warning = require('warning'); -type HooksImplementation = {| +type HooksImplementation = { useFragment: useFragment, usePreloadedQuery: UsePreloadedQueryHookType, usePaginationFragment: UsePaginationFragmentType, useRefetchableFragment: UseRefetchableFragmentType, -|}; +}; let implementation: HooksImplementation | null = null; diff --git a/packages/react-relay/relay-hooks/InternalLogger.js b/packages/react-relay/relay-hooks/InternalLogger.js index 1b05c287e20dc..dac906a0c2d76 100644 --- a/packages/react-relay/relay-hooks/InternalLogger.js +++ b/packages/react-relay/relay-hooks/InternalLogger.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; type LogEvent = (eventData: string) => void; diff --git a/packages/react-relay/relay-hooks/LRUCache.js b/packages/react-relay/relay-hooks/LRUCache.js index 147da64dc5d5c..7664e0776a866 100644 --- a/packages/react-relay/relay-hooks/LRUCache.js +++ b/packages/react-relay/relay-hooks/LRUCache.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const invariant = require('invariant'); diff --git a/packages/react-relay/relay-hooks/LazyLoadEntryPointContainer_DEPRECATED.react.js b/packages/react-relay/relay-hooks/LazyLoadEntryPointContainer_DEPRECATED.react.js index 06553101fc8b1..e4d772d09ab53 100644 --- a/packages/react-relay/relay-hooks/LazyLoadEntryPointContainer_DEPRECATED.react.js +++ b/packages/react-relay/relay-hooks/LazyLoadEntryPointContainer_DEPRECATED.react.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { @@ -27,13 +25,13 @@ const React = require('react'); const {useContext, useEffect, useMemo} = require('react'); const {stableCopy} = require('relay-runtime'); -type PreloadedEntryPoint = $ReadOnly<{| +type PreloadedEntryPoint = $ReadOnly<{ entryPoints: React.ElementConfig['entryPoints'], extraProps: React.ElementConfig['extraProps'], getComponent: () => TEntryPointComponent, queries: React.ElementConfig['queries'], rootModuleID: string, -|}>; +}>; type EntryPointContainerProps< TEntryPointParams, @@ -42,7 +40,7 @@ type EntryPointContainerProps< TRuntimeProps, TExtraProps, > = $ReadOnly< - $ReadOnly<{| + $ReadOnly<{ entryPoint: EntryPoint< TEntryPointParams, EntryPointComponent< @@ -55,7 +53,7 @@ type EntryPointContainerProps< entryPointParams: TEntryPointParams, environmentProvider?: IEnvironmentProvider, props: TRuntimeProps, - |}>, + }>, >; function stableStringify(value: mixed): string { diff --git a/packages/react-relay/relay-hooks/MatchContainer.js b/packages/react-relay/relay-hooks/MatchContainer.js index 47fe1cbe8225e..5a866fe625f00 100644 --- a/packages/react-relay/relay-hooks/MatchContainer.js +++ b/packages/react-relay/relay-hooks/MatchContainer.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const React = require('react'); @@ -87,7 +85,7 @@ const {useMemo} = React; // Note: this type is intentionally non-exact, it is expected that the // object may contain sibling fields. -type TypenameOnlyPointer = {|+__typename: string|}; +type TypenameOnlyPointer = {+__typename: string}; export type MatchPointer = { +__fragmentPropName?: ?string, +__module_component?: mixed, @@ -95,12 +93,12 @@ export type MatchPointer = { ... }; -export type MatchContainerProps = {| +export type MatchContainerProps = { +fallback?: ?TFallback, +loader: (module: mixed) => React.AbstractComponent, +match: ?MatchPointer | ?TypenameOnlyPointer, +props?: TProps, -|}; +}; function MatchContainer({ fallback, @@ -150,11 +148,11 @@ function MatchContainer({ // output of subscriptions already has a stable identity. if (__fragmentPropName != null && __id != null && __fragments != null) { const fragProps: { - [string]: {| + [string]: { __fragmentOwner: $FlowFixMe, __fragments: $FlowFixMe, __id: string, - |}, + }, } = {}; fragProps[__fragmentPropName] = {__id, __fragments, __fragmentOwner}; return fragProps; diff --git a/packages/react-relay/relay-hooks/ProfilerContext.js b/packages/react-relay/relay-hooks/ProfilerContext.js index a52b8bc7d24b2..db6b54e91b2fa 100644 --- a/packages/react-relay/relay-hooks/ProfilerContext.js +++ b/packages/react-relay/relay-hooks/ProfilerContext.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - // This contextual profiler can be used to wrap a react sub-tree. It will bind // the RelayProfiler during the render phase of these components. Allows // collecting metrics for a specific part of your application. diff --git a/packages/react-relay/relay-hooks/QueryResource.js b/packages/react-relay/relay-hooks/QueryResource.js index e8dd78e1fa166..8f07208d15380 100644 --- a/packages/react-relay/relay-hooks/QueryResource.js +++ b/packages/react-relay/relay-hooks/QueryResource.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {Cache} from './LRUCache'; @@ -41,7 +39,7 @@ const DEFAULT_FETCH_POLICY = 'store-or-network'; export type QueryResource = QueryResourceImpl; type QueryResourceCache = Cache; -type QueryResourceCacheEntry = {| +type QueryResourceCacheEntry = { +id: number, +cacheIdentifier: string, +operationAvailability: ?OperationAvailability, @@ -56,17 +54,17 @@ type QueryResourceCacheEntry = {| temporaryRetain(environment: IEnvironment): Disposable, permanentRetain(environment: IEnvironment): Disposable, releaseTemporaryRetain(): void, -|}; +}; export opaque type QueryResult: { fragmentNode: ReaderFragment, fragmentRef: mixed, ... -} = {| +} = { cacheIdentifier: string, fragmentNode: ReaderFragment, fragmentRef: mixed, operation: OperationDescriptor, -|}; +}; const WEAKMAP_SUPPORTED = typeof WeakMap === 'function'; interface IMap { diff --git a/packages/react-relay/relay-hooks/RelayEnvironmentProvider.js b/packages/react-relay/relay-hooks/RelayEnvironmentProvider.js index 019483d4ab048..4322eb56f1af8 100644 --- a/packages/react-relay/relay-hooks/RelayEnvironmentProvider.js +++ b/packages/react-relay/relay-hooks/RelayEnvironmentProvider.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {IEnvironment} from 'relay-runtime'; @@ -24,13 +22,13 @@ const ReactRelayContext = require('react-relay/ReactRelayContext'); const {useMemo} = React; -type Props = $ReadOnly<{| +type Props = $ReadOnly<{ children: React.Node, environment: IEnvironment, getEnvironmentForActor?: ?( actorIdentifier: ActorIdentifier, ) => IActorEnvironment, -|}>; +}>; function RelayEnvironmentProvider(props: Props): React.Node { const {children, environment, getEnvironmentForActor} = props; diff --git a/packages/react-relay/relay-hooks/SuspenseResource.js b/packages/react-relay/relay-hooks/SuspenseResource.js index 8c79398182d6f..375d4b61340e3 100644 --- a/packages/react-relay/relay-hooks/SuspenseResource.js +++ b/packages/react-relay/relay-hooks/SuspenseResource.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {Disposable, IEnvironment} from 'relay-runtime'; diff --git a/packages/react-relay/relay-hooks/__flowtests__/EntryPointTypes/EntryPointElementConfig-flowtest.js b/packages/react-relay/relay-hooks/__flowtests__/EntryPointTypes/EntryPointElementConfig-flowtest.js index 40a326b7c83ec..f1233ab92b701 100644 --- a/packages/react-relay/relay-hooks/__flowtests__/EntryPointTypes/EntryPointElementConfig-flowtest.js +++ b/packages/react-relay/relay-hooks/__flowtests__/EntryPointTypes/EntryPointElementConfig-flowtest.js @@ -17,15 +17,15 @@ import type { EntryPointProps, } from '../../EntryPointTypes.flow'; -type MyComponentOtherProps = $ReadOnly<{| +type MyComponentOtherProps = $ReadOnly<{ foo: string, -|}>; +}>; type MyComponentProps = EntryPointProps<{}, {}, MyComponentOtherProps, {}>; const MyComponent = (_props: MyComponentProps) => null; -type PreloadParams = $ReadOnly<{||}>; +type PreloadParams = $ReadOnly<{}>; type MyComponentEntryPointType = EntryPoint; diff --git a/packages/react-relay/relay-hooks/__flowtests__/EntryPointTypes/NestedEntrypoints-flowtest.js b/packages/react-relay/relay-hooks/__flowtests__/EntryPointTypes/NestedEntrypoints-flowtest.js index b2ec2f2dee873..332c9174d9530 100644 --- a/packages/react-relay/relay-hooks/__flowtests__/EntryPointTypes/NestedEntrypoints-flowtest.js +++ b/packages/react-relay/relay-hooks/__flowtests__/EntryPointTypes/NestedEntrypoints-flowtest.js @@ -27,9 +27,9 @@ type NestedEntrypointComponentProps = EntryPointProps<{}>; const NestedEntrypointComponent = (_props: NestedEntrypointComponentProps) => null; -type NestedEntrypointPreloadParams = $ReadOnly<{| +type NestedEntrypointPreloadParams = $ReadOnly<{ subEntrypointPreloadParam: string, -|}>; +}>; type NestedEntryPointType = EntryPoint< NestedEntrypointPreloadParams, diff --git a/packages/react-relay/relay-hooks/__flowtests__/useBlockingPaginationFragment-flowtest.js b/packages/react-relay/relay-hooks/__flowtests__/useBlockingPaginationFragment-flowtest.js index 5499d5608a3ac..7bdd4479a2dcb 100644 --- a/packages/react-relay/relay-hooks/__flowtests__/useBlockingPaginationFragment-flowtest.js +++ b/packages/react-relay/relay-hooks/__flowtests__/useBlockingPaginationFragment-flowtest.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - import type {LoadMoreFn} from '../useLoadMoreFunction'; import type { FetchFn, @@ -36,14 +34,14 @@ type ExpectedReturnType< TQuery: OperationType, TQueryVariables, TFragmentData, -> = {| +> = { data: TFragmentData, loadNext: LoadMoreFn, loadPrevious: LoadMoreFn, hasNext: boolean, hasPrevious: boolean, refetch: FetchFn, -|}; +}; /* eslint-disable react-hooks/rules-of-hooks */ @@ -103,8 +101,8 @@ refetch(variables, { }); // LoadMore options -declare var extraVariables: {|nickname: string|}; -declare var invalidVariables: {|foo: string|}; +declare var extraVariables: {nickname: string}; +declare var invalidVariables: {foo: string}; const {loadNext} = useBlockingPaginationFragment( fragmentInput, diff --git a/packages/react-relay/relay-hooks/__flowtests__/useFragment-flowtest.js b/packages/react-relay/relay-hooks/__flowtests__/useFragment-flowtest.js index bc56180e901d6..e206d0b858b00 100644 --- a/packages/react-relay/relay-hooks/__flowtests__/useFragment-flowtest.js +++ b/packages/react-relay/relay-hooks/__flowtests__/useFragment-flowtest.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - import type { useFragmentFlowtest_user$data, useFragmentFlowtest_user$key, diff --git a/packages/react-relay/relay-hooks/__flowtests__/usePaginationFragment-flowtest.js b/packages/react-relay/relay-hooks/__flowtests__/usePaginationFragment-flowtest.js index 3dbcfca1f4f38..04d3acce14058 100644 --- a/packages/react-relay/relay-hooks/__flowtests__/usePaginationFragment-flowtest.js +++ b/packages/react-relay/relay-hooks/__flowtests__/usePaginationFragment-flowtest.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - import type {LoadMoreFn} from '../useLoadMoreFunction'; import type { FetchFn, @@ -36,7 +34,7 @@ type ExpectedReturnType< TQuery: OperationType, TQueryVariables, TFragmentData, -> = {| +> = { data: TFragmentData, loadNext: LoadMoreFn, loadPrevious: LoadMoreFn, @@ -45,7 +43,7 @@ type ExpectedReturnType< isLoadingNext: boolean, isLoadingPrevious: boolean, refetch: FetchFn, -|}; +}; /* eslint-disable react-hooks/rules-of-hooks */ @@ -105,8 +103,8 @@ refetch(variables, { }); // LoadMore options -declare var extraVariables: {|nickname: string|}; -declare var invalidVariables: {|foo: string|}; +declare var extraVariables: {nickname: string}; +declare var invalidVariables: {foo: string}; const {loadNext} = usePaginationFragment( fragmentInput, diff --git a/packages/react-relay/relay-hooks/__flowtests__/useRefetchableFragment-flowtest.js b/packages/react-relay/relay-hooks/__flowtests__/useRefetchableFragment-flowtest.js index 95e9063e1aac4..e92e3696a404e 100644 --- a/packages/react-relay/relay-hooks/__flowtests__/useRefetchableFragment-flowtest.js +++ b/packages/react-relay/relay-hooks/__flowtests__/useRefetchableFragment-flowtest.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - import type { FetchFn, NonNullableData, diff --git a/packages/react-relay/relay-hooks/__flowtests__/utils.js b/packages/react-relay/relay-hooks/__flowtests__/utils.js index 967cb078ad24f..6ac6a3e45d28a 100644 --- a/packages/react-relay/relay-hooks/__flowtests__/utils.js +++ b/packages/react-relay/relay-hooks/__flowtests__/utils.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {Disposable, Fragment, FragmentType} from 'relay-runtime'; @@ -28,18 +26,18 @@ export type Example_user$key = { ... }; -export type NonNullableData = {| +export type NonNullableData = { +id: string, +count: number, -|}; +}; export type NullableData = ?NonNullableData; export type NonNullablePluralData = $ReadOnlyArray; export type NullablePluralData = ?$ReadOnlyArray; -export type AnotherNonNullableData = {| +export type AnotherNonNullableData = { +name: ?string, +friends: ?number, -|}; +}; declare export var keyNonNullable: Example_user$key; @@ -66,16 +64,16 @@ declare export var fragmentData: { ... }; -export type QueryOperation = {| +export type QueryOperation = { +variables: QueryVariables, +response: {...}, -|}; +}; -export type QueryVariables = {| +export type QueryVariables = { id: string, nickname: ?string, name: string, -|}; +}; export type QueryVariablesSubset = { id: string, diff --git a/packages/react-relay/relay-hooks/__tests__/EntryPointContainer-test.js b/packages/react-relay/relay-hooks/__tests__/EntryPointContainer-test.js index da73229424009..33af9016bbe3f 100644 --- a/packages/react-relay/relay-hooks/__tests__/EntryPointContainer-test.js +++ b/packages/react-relay/relay-hooks/__tests__/EntryPointContainer-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const EntryPointContainer = require('../EntryPointContainer.react'); diff --git a/packages/react-relay/relay-hooks/__tests__/FragmentResource-WithOperationTracker-test.js b/packages/react-relay/relay-hooks/__tests__/FragmentResource-WithOperationTracker-test.js index 7579bc80660cc..2dc95cb4ecbe2 100644 --- a/packages/react-relay/relay-hooks/__tests__/FragmentResource-WithOperationTracker-test.js +++ b/packages/react-relay/relay-hooks/__tests__/FragmentResource-WithOperationTracker-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const {createFragmentResource} = require('../FragmentResource'); diff --git a/packages/react-relay/relay-hooks/__tests__/FragmentResource-test.js b/packages/react-relay/relay-hooks/__tests__/FragmentResource-test.js index 6c2f1a4a77ebc..3f7ffb6fe6a48 100644 --- a/packages/react-relay/relay-hooks/__tests__/FragmentResource-test.js +++ b/packages/react-relay/relay-hooks/__tests__/FragmentResource-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/react-relay/relay-hooks/__tests__/LRUCache-test.js b/packages/react-relay/relay-hooks/__tests__/LRUCache-test.js index 13c6fbd8838e1..853c93d8414ce 100644 --- a/packages/react-relay/relay-hooks/__tests__/LRUCache-test.js +++ b/packages/react-relay/relay-hooks/__tests__/LRUCache-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const LRUCache = require('../LRUCache'); diff --git a/packages/react-relay/relay-hooks/__tests__/LazyLoadEntryPointContainer_DEEPRECATED-test.js b/packages/react-relay/relay-hooks/__tests__/LazyLoadEntryPointContainer_DEEPRECATED-test.js index 9b66dbcbeb8a7..9f52019889bba 100644 --- a/packages/react-relay/relay-hooks/__tests__/LazyLoadEntryPointContainer_DEEPRECATED-test.js +++ b/packages/react-relay/relay-hooks/__tests__/LazyLoadEntryPointContainer_DEEPRECATED-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const LazyLoadEntryPointContainer_DEPRECATED = require('../LazyLoadEntryPointContainer_DEPRECATED.react'); diff --git a/packages/react-relay/relay-hooks/__tests__/MatchContainer-test.js b/packages/react-relay/relay-hooks/__tests__/MatchContainer-test.js index b566c905064d8..680148a9fbc0d 100644 --- a/packages/react-relay/relay-hooks/__tests__/MatchContainer-test.js +++ b/packages/react-relay/relay-hooks/__tests__/MatchContainer-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {MatchPointer} from '../MatchContainer'; @@ -26,13 +24,13 @@ function createMatchPointer({ variables, propName, module, -}: {| - fragment: {|name: string|}, +}: { + fragment: {name: string}, id: string, module: string, propName: string, variables: any, -|}): MatchPointer { +}): MatchPointer { const pointer = { $fragmentSpreads: {}, [ID_KEY]: id, diff --git a/packages/react-relay/relay-hooks/__tests__/QueryResource-test.js b/packages/react-relay/relay-hooks/__tests__/QueryResource-test.js index d8d90186f0f9a..e125c3bcc5204 100644 --- a/packages/react-relay/relay-hooks/__tests__/QueryResource-test.js +++ b/packages/react-relay/relay-hooks/__tests__/QueryResource-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {FetchPolicy, Subscription} from 'relay-runtime'; diff --git a/packages/react-relay/relay-hooks/__tests__/loadEntryPoint-test.js b/packages/react-relay/relay-hooks/__tests__/loadEntryPoint-test.js index 3d394385b17d0..ab5ab08b7e2dd 100644 --- a/packages/react-relay/relay-hooks/__tests__/loadEntryPoint-test.js +++ b/packages/react-relay/relay-hooks/__tests__/loadEntryPoint-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const loadEntryPoint = require('../loadEntryPoint'); @@ -57,7 +55,7 @@ test('it should preload entry point with queries', () => { const env = createMockEnvironment(); const networkSpy = jest.spyOn(env.getNetwork(), 'execute'); const entryPoint = { - getPreloadProps(params: {|id: string|}) { + getPreloadProps(params: {id: string}) { return { queries: { myTestQuery: { @@ -105,7 +103,7 @@ test('it should unwrap an entry point wrapping a module with default exports', ( foo: 'bar', }; const entryPoint = { - getPreloadProps(params: {|id: string|}) { + getPreloadProps(params: {id: string}) { return { queries: { myTestQuery: { @@ -146,7 +144,7 @@ test('it should return the module from an entry point that just returns the modu foo: 'bar', }; const entryPoint = { - getPreloadProps(params: {|id: string|}) { + getPreloadProps(params: {id: string}) { return { queries: { myTestQuery: { @@ -320,7 +318,7 @@ test('it should preload entry point with nested entry points', () => { root: (new FakeJSResource(null): $FlowFixMe), }; const entryPoint = { - getPreloadProps(params: {|id: string|}) { + getPreloadProps(params: {id: string}) { return { entryPoints: { myNestedEntryPoint: { @@ -389,7 +387,7 @@ test('it should preload entry point with both queries and nested entry points', root: (new FakeJSResource(null): $FlowFixMe), }; const entryPoint = { - getPreloadProps(params: {|id: string|}) { + getPreloadProps(params: {id: string}) { return { queries: { myTestQuery: { @@ -477,7 +475,7 @@ test('it should dispose nested entry points', () => { root: (new FakeJSResource(null): $FlowFixMe), }; const entryPoint = { - getPreloadProps(params: {|id: string|}) { + getPreloadProps(params: {id: string}) { return { queries: { myTestQuery: { @@ -532,7 +530,7 @@ test('with `getEnvironment` function', () => { const env = createMockEnvironment(); const networkSpy = jest.spyOn(env.getNetwork(), 'execute'); const entryPoint = { - getPreloadProps(params: {|id: string|}) { + getPreloadProps(params: {id: string}) { return { queries: { myTestQuery: { diff --git a/packages/react-relay/relay-hooks/__tests__/loadQuery-source-behavior-test.js b/packages/react-relay/relay-hooks/__tests__/loadQuery-source-behavior-test.js index 64ade7e15c7e5..44240e3091269 100644 --- a/packages/react-relay/relay-hooks/__tests__/loadQuery-source-behavior-test.js +++ b/packages/react-relay/relay-hooks/__tests__/loadQuery-source-behavior-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/react-relay/relay-hooks/__tests__/loadQuery-store-behavior-test.js b/packages/react-relay/relay-hooks/__tests__/loadQuery-store-behavior-test.js index e81345e0bd49c..bf5e47174157b 100644 --- a/packages/react-relay/relay-hooks/__tests__/loadQuery-store-behavior-test.js +++ b/packages/react-relay/relay-hooks/__tests__/loadQuery-store-behavior-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/react-relay/relay-hooks/__tests__/loadQuery-test.js b/packages/react-relay/relay-hooks/__tests__/loadQuery-test.js index fedf863470074..de1175d8a3d8a 100644 --- a/packages/react-relay/relay-hooks/__tests__/loadQuery-test.js +++ b/packages/react-relay/relay-hooks/__tests__/loadQuery-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { @@ -88,7 +86,7 @@ describe('loadQuery', () => { loadQueryTestQuery$variables, loadQueryTestQuery$data, >; - let mockAvailability: {|fetchTime?: number, status: string|}; + let mockAvailability: {fetchTime?: number, status: string}; let disposeOnloadCallback; let executeOnloadCallback; @@ -880,11 +878,11 @@ describe('loadQuery', () => { let LoadDuringRender; beforeEach(() => { - Container = (props: {|children: React.Node|}) => { + Container = (props: {children: React.Node}) => { useTrackLoadQueryInRender(); return props.children; }; - LoadDuringRender = (props: {|name?: ?string|}) => { + LoadDuringRender = (props: {name?: ?string}) => { loadQuery(environment, preloadableConcreteRequest, variables, { fetchPolicy: 'store-or-network', __nameForWarning: props.name, diff --git a/packages/react-relay/relay-hooks/__tests__/preloadQuery_DEPRECATED-test.js b/packages/react-relay/relay-hooks/__tests__/preloadQuery_DEPRECATED-test.js index 10f5a0467443f..90c30991db9de 100644 --- a/packages/react-relay/relay-hooks/__tests__/preloadQuery_DEPRECATED-test.js +++ b/packages/react-relay/relay-hooks/__tests__/preloadQuery_DEPRECATED-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {GraphQLResponse} from 'relay-runtime/network/RelayNetworkTypes'; diff --git a/packages/react-relay/relay-hooks/__tests__/prepareEntryPoint_DEPRECATED-test.js b/packages/react-relay/relay-hooks/__tests__/prepareEntryPoint_DEPRECATED-test.js index 2351725dfc7fc..be80fb4277b8f 100644 --- a/packages/react-relay/relay-hooks/__tests__/prepareEntryPoint_DEPRECATED-test.js +++ b/packages/react-relay/relay-hooks/__tests__/prepareEntryPoint_DEPRECATED-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const prepareEntryPoint_DEPRECATED = require('../prepareEntryPoint_DEPRECATED'); @@ -55,7 +53,7 @@ test('it should preload entry point with queries', () => { const env = createMockEnvironment(); const networkSpy = jest.spyOn(env.getNetwork(), 'execute'); const entryPoint = { - getPreloadProps(params: {|id: string|}) { + getPreloadProps(params: {id: string}) { return { queries: { myTestQuery: { @@ -120,7 +118,7 @@ test('it should preload entry point with nested entry points', () => { root: (new FakeJSResource(null): $FlowFixMe), }; const entryPoint = { - getPreloadProps(params: {|id: string|}) { + getPreloadProps(params: {id: string}) { return { entryPoints: { myNestedEntryPoint: { @@ -178,7 +176,7 @@ test('it should preload entry point with both queries and nested entry points', root: (new FakeJSResource(null): $FlowFixMe), }; const entryPoint = { - getPreloadProps(params: {|id: string|}) { + getPreloadProps(params: {id: string}) { return { queries: { myTestQuery: { @@ -229,7 +227,7 @@ test('with `getEnvironment` function', () => { const env = createMockEnvironment(); const networkSpy = jest.spyOn(env.getNetwork(), 'execute'); const entryPoint = { - getPreloadProps(params: {|id: string|}) { + getPreloadProps(params: {id: string}) { return { queries: { myTestQuery: { diff --git a/packages/react-relay/relay-hooks/__tests__/useBlockingPaginationFragment-test.js b/packages/react-relay/relay-hooks/__tests__/useBlockingPaginationFragment-test.js index fe729f8719b0f..c2a02e70fcc1a 100644 --- a/packages/react-relay/relay-hooks/__tests__/useBlockingPaginationFragment-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useBlockingPaginationFragment-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {Direction, OperationDescriptor, Variables} from 'relay-runtime'; @@ -100,7 +98,7 @@ describe('useBlockingPaginationFragment', () => { } function assertCall( - expected: {|data: any, hasNext: boolean, hasPrevious: boolean|}, + expected: {data: any, hasNext: boolean, hasPrevious: boolean}, idx: number, ) { const actualData = renderSpy.mock.calls[idx][0]; @@ -114,11 +112,11 @@ describe('useBlockingPaginationFragment', () => { } function expectFragmentResults( - expectedCalls: $ReadOnlyArray<{| + expectedCalls: $ReadOnlyArray<{ data: $FlowFixMe, hasNext: boolean, hasPrevious: boolean, - |}>, + }>, ) { // This ensures that useEffect runs TestRenderer.act(() => jest.runAllImmediates()); @@ -387,7 +385,7 @@ describe('useBlockingPaginationFragment', () => { }); // Set up renderers - Renderer = (props: {|user: any|}) => null; + Renderer = (props: {user: any}) => null; const Container = (props: { userRef?: {...}, @@ -414,7 +412,7 @@ describe('useBlockingPaginationFragment', () => { return ; }; - const ContextProvider = ({children}: {|children: React.Node|}) => { + const ContextProvider = ({children}: {children: React.Node}) => { const [env, _setEnv] = useState(environment); const relayContext = useMemo(() => ({environment: env}), [env]); @@ -743,13 +741,13 @@ describe('useBlockingPaginationFragment', () => { function expectFragmentIsLoadingMore( renderer: any, direction: Direction, - expected: {| + expected: { data: mixed, hasNext: boolean, hasPrevious: boolean, paginationVariables: Variables, gqlPaginationQuery?: $FlowFixMe, - |}, + }, ) { expect(renderSpy).toBeCalledTimes(0); renderSpy.mockClear(); @@ -3747,14 +3745,14 @@ describe('useBlockingPaginationFragment', () => { function expectFragmentIsRefetching( renderer: any, - expected: {| + expected: { data: mixed, hasNext: boolean, hasPrevious: boolean, refetchVariables: Variables, refetchQuery?: OperationDescriptor, gqlRefetchQuery?: $FlowFixMe, - |}, + }, ) { expect(renderSpy).toBeCalledTimes(0); renderSpy.mockClear(); diff --git a/packages/react-relay/relay-hooks/__tests__/useBlockingPaginationFragment-with-suspense-transition-test.js b/packages/react-relay/relay-hooks/__tests__/useBlockingPaginationFragment-with-suspense-transition-test.js index f2b9ef2f69c19..4baf8ef99ee99 100644 --- a/packages/react-relay/relay-hooks/__tests__/useBlockingPaginationFragment-with-suspense-transition-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useBlockingPaginationFragment-with-suspense-transition-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {Direction, OperationDescriptor, Variables} from 'relay-runtime'; import type {Disposable} from 'relay-runtime/util/RelayRuntimeTypes'; @@ -87,7 +85,7 @@ describe('useBlockingPaginationFragment with useTransition', () => { fragmentRef, ); loadNext = (...args: Array) => { - let disposable: Disposable | {|dispose: () => void|} = { + let disposable: Disposable | {dispose: () => void} = { dispose: () => {}, }; startTransition(() => { @@ -117,12 +115,12 @@ describe('useBlockingPaginationFragment with useTransition', () => { } function assertYield( - expected: {| + expected: { data: any, hasNext: boolean, hasPrevious: boolean, isPendingNext: boolean, - |}, + }, actual: any, ) { expect(actual.data).toEqual(expected.data); @@ -132,12 +130,12 @@ describe('useBlockingPaginationFragment with useTransition', () => { } function expectFragmentResults( - expectedYields: $ReadOnlyArray<{| + expectedYields: $ReadOnlyArray<{ data: $FlowFixMe, isPendingNext: boolean, hasNext: boolean, hasPrevious: boolean, - |}>, + }>, ) { assertYieldsWereCleared(); Scheduler.unstable_flushNumberOfYields(expectedYields.length); @@ -163,12 +161,12 @@ describe('useBlockingPaginationFragment with useTransition', () => { function expectFragmentIsPendingOnPagination( renderer: any, direction: Direction, - expected: {| + expected: { data: mixed, hasNext: boolean, hasPrevious: boolean, paginationVariables: Variables, - |}, + }, ) { // Assert fragment sets isPending to true expectFragmentResults([ @@ -389,7 +387,7 @@ describe('useBlockingPaginationFragment with useTransition', () => { }); // Set up renderers - Renderer = (props: {|user: any|}) => null; + Renderer = (props: {user: any}) => null; const Container = (props: { userRef?: {...}, @@ -420,7 +418,7 @@ describe('useBlockingPaginationFragment with useTransition', () => { return ; }; - const ContextProvider = ({children}: {|children: React.Node|}) => { + const ContextProvider = ({children}: {children: React.Node}) => { // TODO(T39494051) - We set empty variables in relay context to make // Flow happy, but useBlockingPaginationFragment does not use them, instead it uses // the variables from the fragment owner. @@ -1040,14 +1038,14 @@ describe('useBlockingPaginationFragment with useTransition', () => { function expectFragmentSuspendedOnRefetch( renderer: any, - expected: {| + expected: { data: mixed, hasNext: boolean, hasPrevious: boolean, refetchVariables: Variables, refetchQuery?: OperationDescriptor, gqlRefetchQuery?: $FlowFixMe, - |}, + }, flushFallback: boolean = true, ) { assertYieldsWereCleared(); diff --git a/packages/react-relay/relay-hooks/__tests__/useEntryPointLoader-react-double-effects-test.js b/packages/react-relay/relay-hooks/__tests__/useEntryPointLoader-react-double-effects-test.js index 5657688d5a36e..ed2c9f5da1de8 100644 --- a/packages/react-relay/relay-hooks/__tests__/useEntryPointLoader-react-double-effects-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useEntryPointLoader-react-double-effects-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {OperationDescriptor} from '../../../relay-runtime/store/RelayStoreTypes'; @@ -34,14 +32,14 @@ const {createMockEnvironment} = require('relay-test-utils'); function expectToHaveFetched( environment: RelayMockEnvironment, query: OperationDescriptor, - cacheConfig: {| + cacheConfig: { force?: ?boolean, liveConfigId?: ?string, metadata?: {[key: string]: mixed}, onSubscribe?: () => void, poll?: ?number, transactionId?: ?string, - |}, + }, ) { // $FlowFixMe[method-unbinding] added when improving typing for this parameters expect(environment.executeWithSource).toBeCalledTimes(1); @@ -249,9 +247,9 @@ describe.skip('useEntryPointLoader-react-double-effects', () => { render = function ( entryPoint: any, initialEntryPointRef: any, - {suspendWholeTree}: {|suspendWholeTree?: boolean|} = ({ + {suspendWholeTree}: {suspendWholeTree?: boolean} = ({ ...null, - }: {|suspendWholeTree?: boolean|}), + }: {suspendWholeTree?: boolean}), ): $FlowFixMe { let instance; ReactTestRenderer.act(() => { diff --git a/packages/react-relay/relay-hooks/__tests__/useEntryPointLoader-test.js b/packages/react-relay/relay-hooks/__tests__/useEntryPointLoader-test.js index 6e1b0ae61197d..991cc9a68b5b7 100644 --- a/packages/react-relay/relay-hooks/__tests__/useEntryPointLoader-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useEntryPointLoader-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {EnvironmentProviderOptions} from '../EntryPointTypes.flow'; import type {IEnvironment} from 'relay-runtime/store/RelayStoreTypes'; @@ -67,12 +65,12 @@ beforeEach(() => { Container = function ({ entryPoint, environmentProvider, - }: {| + }: { entryPoint: any, - environmentProvider: {| + environmentProvider: { getEnvironment: (options: ?EnvironmentProviderOptions) => IEnvironment, - |}, - |}) { + }, + }) { renderCount = (renderCount || 0) + 1; [loadedEntryPoint, entryPointLoaderCallback, disposeEntryPoint] = useEntryPointLoader(environmentProvider, entryPoint); @@ -205,7 +203,7 @@ it('does not dispose the entry point before the new component tree unsuspends in ); } - function Router({route}: {|route: 'FIRST' | 'SECOND'|}) { + function Router({route}: {route: 'FIRST' | 'SECOND'}) { if (route === 'FIRST') { return ; } else { @@ -277,7 +275,7 @@ it('disposes entry point references associated with previous suspensions when mu ); } - function Inner({promise}: {|promise: ?Promise|}) { + function Inner({promise}: {promise: ?Promise}) { [, entryPointLoaderCallback] = useEntryPointLoader( defaultEnvironmentProvider, defaultEntryPoint, @@ -376,7 +374,7 @@ it('disposes entry point references associated with subsequent suspensions when } let innerUnsuspendedCorrectly = false; - function Inner({promise}: {|promise: ?Promise|}) { + function Inner({promise}: {promise: ?Promise}) { [, entryPointLoaderCallback] = useEntryPointLoader( defaultEnvironmentProvider, defaultEntryPoint, diff --git a/packages/react-relay/relay-hooks/__tests__/useFragment-test.js b/packages/react-relay/relay-hooks/__tests__/useFragment-test.js index d7ac7ea0b178f..52d10a77fb20c 100644 --- a/packages/react-relay/relay-hooks/__tests__/useFragment-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useFragment-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { useFragmentTestUserFragment$data, @@ -186,18 +184,18 @@ describe.each([ }); // Set up renderers - SingularRenderer = (props: {| + SingularRenderer = (props: { user: ?( | useFragmentTestUserFragment$data | useFragmentTestUsersFragment$data ), - |}) => null; - PluralRenderer = (props: {| + }) => null; + PluralRenderer = (props: { users: ?( | useFragmentTestUserFragment$data | useFragmentTestUsersFragment$data ), - |}) => null; + }) => null; const SingularContainer = (props: { userRef?: {$data?: {...}, ...}, owner: $FlowFixMe, @@ -240,7 +238,7 @@ describe.each([ }; const relayContext = {environment}; - ContextProvider = ({children}: {|children: React.Node|}) => { + ContextProvider = ({children}: {children: React.Node}) => { return ( {children} diff --git a/packages/react-relay/relay-hooks/__tests__/useFragmentNode-test.js b/packages/react-relay/relay-hooks/__tests__/useFragmentNode-test.js index 7a507a8ee2a80..c9a7a22797e9d 100644 --- a/packages/react-relay/relay-hooks/__tests__/useFragmentNode-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useFragmentNode-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RecordSourceProxy} from '../../../relay-runtime/store/RelayStoreTypes'; @@ -90,11 +88,11 @@ function expectSchedulerToFlushAndYieldThrough(expectedYields: any) { // The current tests are against useFragmentNode which as a different Flow signature // than the external API useFragment. I want to keep the more accurate types // for useFragmentInternal_REACT_CACHE, though, so this wrapper adapts it. -type ReturnType = {| +type ReturnType = { data: TFragmentData, disableStoreUpdates: () => void, enableStoreUpdates: () => void, -|}; +}; function useFragmentNode_REACT_CACHE( fragment: | Fragment< @@ -187,7 +185,7 @@ describe.each([ } function assertFragmentResults( - expectedCalls: $ReadOnlyArray<{|data: $FlowFixMe|}>, + expectedCalls: $ReadOnlyArray<{data: $FlowFixMe}>, ) { // the issue is that the initial miss-updates-on-subscribe thing is // only on the second runAllImmediates here. @@ -206,7 +204,7 @@ describe.each([ /// * items 0..length-1 (for length > 1) are calls expected to be rendered, but not committed /// * item length-1 is expected to be rendered and committed function assertRenderBatch( - expectedCalls: $ReadOnlyArray<{|data: $FlowFixMe|}>, + expectedCalls: $ReadOnlyArray<{data: $FlowFixMe}>, ) { expect(expectedCalls.length >= 1).toBeTruthy(); // must expect at least one value @@ -340,8 +338,8 @@ describe.each([ }); // Set up renderers - SingularRenderer = (props: {|user: any|}) => null; - PluralRenderer = (props: {|users: any|}) => null; + SingularRenderer = (props: {user: any}) => null; + PluralRenderer = (props: {users: any}) => null; const SingularContainer = (props: { userRef?: {...}, @@ -391,7 +389,7 @@ describe.each([ return ; }; - const ContextProvider = ({children}: {|children: React.Node|}) => { + const ContextProvider = ({children}: {children: React.Node}) => { const [env, _setEnv] = useState(environment); const relayContext = useMemo(() => ({environment: env}), [env]); diff --git a/packages/react-relay/relay-hooks/__tests__/useIsParentQueryActive-test.js b/packages/react-relay/relay-hooks/__tests__/useIsParentQueryActive-test.js index 453b9db5fa8a3..c88b87bb157c9 100644 --- a/packages/react-relay/relay-hooks/__tests__/useIsParentQueryActive-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useIsParentQueryActive-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const RelayEnvironmentProvider = require('../RelayEnvironmentProvider'); @@ -387,7 +385,7 @@ it('should only update if the latest owner completes the query', () => { expect(fetch).toBeCalledTimes(1); let setRef = (ref: $FlowFixMe) => {}; const mockFn = jest.fn(() => {}); - const Renderer = (props: {|pending: boolean|}) => { + const Renderer = (props: {pending: boolean}) => { mockFn(props.pending); return props.pending; }; diff --git a/packages/react-relay/relay-hooks/__tests__/useLazyLoadQueryNode-fast-refresh-test.js b/packages/react-relay/relay-hooks/__tests__/useLazyLoadQueryNode-fast-refresh-test.js index d95765203ac6e..a05f79d3f7f89 100644 --- a/packages/react-relay/relay-hooks/__tests__/useLazyLoadQueryNode-fast-refresh-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useLazyLoadQueryNode-fast-refresh-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RelayMockEnvironment} from '../../../relay-test-utils/RelayModernMockEnvironment'; import type { @@ -45,14 +43,14 @@ function expectToBeRendered( function expectToHaveFetched( environment: RelayMockEnvironment, query: OperationDescriptor, - cacheConfig: {| + cacheConfig: { force?: ?boolean, liveConfigId?: ?string, metadata?: {[key: string]: mixed}, onSubscribe?: () => void, poll?: ?number, transactionId?: ?string, - |}, + }, ) { // $FlowFixMe[method-unbinding] added when improving typing for this parameters expect(environment.execute).toBeCalledTimes(1); @@ -116,7 +114,7 @@ describe('useLazyLoadQueryNode-fast-refresh', () => { // $FlowFixMe[cannot-resolve-module] This module is not available on www. const ReactRefreshRuntime = require('react-refresh/runtime'); ReactRefreshRuntime.injectIntoGlobalHook(global); - const V1 = function (props: {|variables: {|id: string|}|}) { + const V1 = function (props: {variables: {id: string}}) { const _query = createOperationDescriptor(gqlQuery, props.variables); const result = useLazyLoadQueryNode<_>({ query: _query, diff --git a/packages/react-relay/relay-hooks/__tests__/useLazyLoadQueryNode-react-double-effects-test.js b/packages/react-relay/relay-hooks/__tests__/useLazyLoadQueryNode-react-double-effects-test.js index 05f8b3c4ace99..d8c98ce240579 100644 --- a/packages/react-relay/relay-hooks/__tests__/useLazyLoadQueryNode-react-double-effects-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useLazyLoadQueryNode-react-double-effects-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RelayMockEnvironment} from '../../../relay-test-utils/RelayModernMockEnvironment'; import type {useLazyLoadQueryNodeReactDoubleEffectsTestUserFragment$key} from './__generated__/useLazyLoadQueryNodeReactDoubleEffectsTestUserFragment.graphql'; @@ -386,9 +384,9 @@ describe.skip('useLazyLoadQueryNode-react-double-effects', () => { let renderLogs = []; const FragmentComponent = function ({ user, - }: {| + }: { user: ?useLazyLoadQueryNodeReactDoubleEffectsTestUserFragment$key, - |}) { + }) { const data = useFragment(gqlFragment, user); return data?.firstName === undefined ? 'Missing fragment data' : null; }; @@ -570,9 +568,9 @@ describe.skip('useLazyLoadQueryNode-react-double-effects', () => { it('with incremental delivery, forces a re-render when effects are double invoked and refetches when policy is store-or-network', () => { let renderLogs = []; - const FragmentComponent = function (props: {| + const FragmentComponent = function (props: { user: ?useLazyLoadQueryNodeReactDoubleEffectsTestUserFragment$key, - |}) { + }) { const data = useFragment(gqlFragment, props.user); return data?.firstName === undefined ? 'Missing fragment data' : null; }; diff --git a/packages/react-relay/relay-hooks/__tests__/useLazyLoadQueryNode-test.js b/packages/react-relay/relay-hooks/__tests__/useLazyLoadQueryNode-test.js index 36efd9088aa48..247f493202bf6 100644 --- a/packages/react-relay/relay-hooks/__tests__/useLazyLoadQueryNode-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useLazyLoadQueryNode-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {LogEvent} from '../../../relay-runtime/store/RelayStoreTypes'; import type {RelayMockEnvironment} from '../../../relay-test-utils/RelayModernMockEnvironment'; @@ -88,12 +86,12 @@ function expectToHaveFetched( ).toEqual(true); } -type Props = {| +type Props = { variables: {...}, fetchPolicy?: FetchPolicy, key?: number, extraData?: number, -|}; +}; describe('useLazyLoadQueryNode', () => { let environment; @@ -832,7 +830,7 @@ describe('useLazyLoadQueryNode', () => { variables, ); - function FragmentComponent(props: {|query: mixed|}) { + function FragmentComponent(props: {query: mixed}) { const fragment = getFragment(gqlFragment); const result: $FlowFixMe = useFragmentNode( fragment, @@ -843,7 +841,7 @@ describe('useLazyLoadQueryNode', () => { return null; } - const Renderer = (props: {|variables: {|id: string|}|}) => { + const Renderer = (props: {variables: {id: string}}) => { const _query = createOperationDescriptor( gqlOnlyFragmentsQuery, props.variables, diff --git a/packages/react-relay/relay-hooks/__tests__/useMutation-fast-refresh-test.js b/packages/react-relay/relay-hooks/__tests__/useMutation-fast-refresh-test.js index a657bae96707d..d9f9b361a0db8 100644 --- a/packages/react-relay/relay-hooks/__tests__/useMutation-fast-refresh-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useMutation-fast-refresh-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const RelayEnvironmentProvider = require('../RelayEnvironmentProvider'); @@ -83,7 +81,7 @@ describe('useLazyLoadQueryNode', () => { const ReactRefreshRuntime = require('react-refresh/runtime'); ReactRefreshRuntime.injectIntoGlobalHook(global); let commit; - const V1 = function (props: {||}) { + const V1 = function (props: {}) { const [commitFn, isMutationInFlight] = useMutation(CommentCreateMutation); commit = commitFn; return isInFlightFn(isMutationInFlight); diff --git a/packages/react-relay/relay-hooks/__tests__/useMutation-test.js b/packages/react-relay/relay-hooks/__tests__/useMutation-test.js index 4ac33c626f041..3b0d38f5f5b3e 100644 --- a/packages/react-relay/relay-hooks/__tests__/useMutation-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useMutation-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RelayMockEnvironment} from '../../../relay-test-utils/RelayModernMockEnvironment'; import type { @@ -87,13 +85,13 @@ beforeEach(() => { function Renderer({ initialMutation, commitInRender, - }: {| + }: { commitInRender: boolean, initialMutation: Mutation< useMutationTest1Mutation$variables, useMutationTest1Mutation$data, >, - |}) { + }) { const [mutation, setMutationFn] = useState(initialMutation); setMutation = setMutationFn; const [commitFn, isMutationInFlight] = useMutation(mutation); @@ -112,14 +110,14 @@ beforeEach(() => { return null; } - function Container(props: {| + function Container(props: { commitInRender: boolean, environment: RelayMockEnvironment, mutation: Mutation< useMutationTest1Mutation$variables, useMutationTest1Mutation$data, >, - |}) { + }) { const [env, setEnv] = useState(props.environment); setEnvironment = setEnv; return ( diff --git a/packages/react-relay/relay-hooks/__tests__/usePaginationFragment-test.js b/packages/react-relay/relay-hooks/__tests__/usePaginationFragment-test.js index 820c6fb27b7e6..4d3ce4d1054dc 100644 --- a/packages/react-relay/relay-hooks/__tests__/usePaginationFragment-test.js +++ b/packages/react-relay/relay-hooks/__tests__/usePaginationFragment-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { usePaginationFragmentTestStoryFragmentRefetchQuery$data, @@ -146,13 +144,13 @@ describe.each([ } function assertCall( - expected: {| + expected: { data: any, hasNext: boolean, hasPrevious: boolean, isLoadingNext: boolean, isLoadingPrevious: boolean, - |}, + }, idx: number, ) { const actualData = renderSpy.mock.calls[idx][0]; @@ -170,13 +168,13 @@ describe.each([ } function expectFragmentResults( - expectedCalls: $ReadOnlyArray<{| + expectedCalls: $ReadOnlyArray<{ data: $FlowFixMe, isLoadingNext: boolean, isLoadingPrevious: boolean, hasNext: boolean, hasPrevious: boolean, - |}>, + }>, ) { // This ensures that useEffect runs TestRenderer.act(() => jest.runAllImmediates()); @@ -533,7 +531,7 @@ describe.each([ }); // Set up renderers - Renderer = (props: {|user: any|}) => null; + Renderer = (props: {user: any}) => null; const Container = (props: { userRef?: {...}, @@ -573,7 +571,7 @@ describe.each([ return ; }; - const ContextProvider = ({children}: {|children: React.Node|}) => { + const ContextProvider = ({children}: {children: React.Node}) => { const [env, _setEnv] = useState(environment); const relayContext = useMemo(() => ({environment: env}), [env]); @@ -870,13 +868,13 @@ describe.each([ function expectFragmentIsLoadingMore( renderer: any, direction: Direction, - expected: {| + expected: { data: mixed, hasNext: boolean, hasPrevious: boolean, paginationVariables: Variables, gqlPaginationQuery?: $FlowFixMe, - |}, + }, ) { // Assert fragment sets isLoading to true expect(renderSpy).toBeCalledTimes(1); @@ -3323,7 +3321,7 @@ describe.each([ describe('refetch', () => { // The bulk of refetch behavior is covered in useRefetchableFragmentNode-test, // so this suite covers the pagination-related test cases. - function expectRefetchRequestIsInFlight(expected: {| + function expectRefetchRequestIsInFlight(expected: { data: mixed, gqlRefetchQuery?: any, hasNext: boolean, @@ -3332,7 +3330,7 @@ describe.each([ refetchQuery?: OperationDescriptor, refetchVariables: Variables, requestCount: number, - |}) { + }) { // $FlowFixMe[method-unbinding] added when improving typing for this parameters expect(fetch).toBeCalledTimes(expected.requestCount); const fetchCall = fetch.mock.calls.find(call => { @@ -3349,14 +3347,14 @@ describe.each([ function expectFragmentIsRefetching( renderer: any, - expected: {| + expected: { data: mixed, hasNext: boolean, hasPrevious: boolean, refetchVariables: Variables, refetchQuery?: OperationDescriptor, gqlRefetchQuery?: $FlowFixMe, - |}, + }, ) { expect(renderSpy).toBeCalledTimes(0); renderSpy.mockClear(); diff --git a/packages/react-relay/relay-hooks/__tests__/usePreloadedQuery-provided-variables-test.js b/packages/react-relay/relay-hooks/__tests__/usePreloadedQuery-provided-variables-test.js index 962727447181e..76ba22d9579df 100644 --- a/packages/react-relay/relay-hooks/__tests__/usePreloadedQuery-provided-variables-test.js +++ b/packages/react-relay/relay-hooks/__tests__/usePreloadedQuery-provided-variables-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {Sink} from '../../../relay-runtime/network/RelayObservable'; diff --git a/packages/react-relay/relay-hooks/__tests__/usePreloadedQuery-react-double-effects-test.js b/packages/react-relay/relay-hooks/__tests__/usePreloadedQuery-react-double-effects-test.js index 418c644047726..b75a073d8bbfe 100644 --- a/packages/react-relay/relay-hooks/__tests__/usePreloadedQuery-react-double-effects-test.js +++ b/packages/react-relay/relay-hooks/__tests__/usePreloadedQuery-react-double-effects-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RelayMockEnvironment} from '../../../relay-test-utils/RelayModernMockEnvironment'; import type { @@ -44,9 +42,9 @@ const {createMockEnvironment} = require('relay-test-utils'); function expectToHaveFetched( environment: RelayMockEnvironment, query: OperationDescriptor, - {count}: {|count?: number|} = ({...null}: {| + {count}: {count?: number} = ({...null}: { count?: number, - |}), + }), ) { // $FlowFixMe[method-unbinding] added when improving typing for this parameters expect(environment.executeWithSource).toBeCalledTimes(count ?? 1); @@ -151,9 +149,9 @@ describe.skip('usePreloadedQuery-react-double-effects', () => { force: true, }); - FragmentComponent = function (props: {| + FragmentComponent = function (props: { user: usePreloadedQueryReactDoubleEffectsTestFragment$key, - |}) { + }) { const data = useFragment(gqlFragment, props.user); return data?.firstName === undefined ? 'Missing fragment data' : null; }; diff --git a/packages/react-relay/relay-hooks/__tests__/usePreloadedQuery-test.js b/packages/react-relay/relay-hooks/__tests__/usePreloadedQuery-test.js index 5e1c88e5e972b..a743cfe9d09b2 100644 --- a/packages/react-relay/relay-hooks/__tests__/usePreloadedQuery-test.js +++ b/packages/react-relay/relay-hooks/__tests__/usePreloadedQuery-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {Sink} from '../../../relay-runtime/network/RelayObservable'; import type {GraphQLResponse} from 'relay-runtime/network/RelayNetworkTypes'; @@ -88,7 +86,7 @@ let environment; let fetch; class ErrorBoundary extends React.Component<$FlowFixMe, $FlowFixMe> { - state: {|error: mixed|} = {error: null}; + state: {error: mixed} = {error: null}; componentDidCatch(error: Error) { this.setState({error}); diff --git a/packages/react-relay/relay-hooks/__tests__/useQueryLoader-live-query-test.js b/packages/react-relay/relay-hooks/__tests__/useQueryLoader-live-query-test.js index b8e94aa948f2b..fa871d86923ef 100644 --- a/packages/react-relay/relay-hooks/__tests__/useQueryLoader-live-query-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useQueryLoader-live-query-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const RelayEnvironmentProvider = require('../RelayEnvironmentProvider'); @@ -60,9 +58,9 @@ beforeEach(() => { dispose = undefined; environment = createMockEnvironment(); render = function ( - initialPreloadedQuery: ?{| + initialPreloadedQuery: ?{ dispose: JestMockFn<$ReadOnlyArray, mixed>, - |}, + }, ) { renderCount = 0; ReactTestRenderer.act(() => { @@ -73,9 +71,9 @@ beforeEach(() => { }; update = function ( - initialPreloadedQuery: ?{| + initialPreloadedQuery: ?{ dispose: JestMockFn<$ReadOnlyArray, mixed>, - |}, + }, ) { ReactTestRenderer.act(() => { instance.update( @@ -86,11 +84,11 @@ beforeEach(() => { const Inner = function ({ initialPreloadedQuery, - }: {| - initialPreloadedQuery: ?{| + }: { + initialPreloadedQuery: ?{ dispose: JestMockFn<$ReadOnlyArray, mixed>, - |}, - |}) { + }, + }) { renderCount = (renderCount || 0) + 1; [loadedQuery, queryLoaderCallback, disposeQuery] = useQueryLoader( generatedQuery, @@ -102,11 +100,11 @@ beforeEach(() => { Container = function ({ initialPreloadedQuery, - }: {| - initialPreloadedQuery?: ?{| + }: { + initialPreloadedQuery?: ?{ dispose: JestMockFn<$ReadOnlyArray, mixed>, - |}, - |}) { + }, + }) { return ( @@ -355,7 +353,7 @@ it('does not release or cancel the query before the new component tree unsuspend ); } - function Router({route}: {|route: 'FIRST' | 'SECOND'|}) { + function Router({route}: {route: 'FIRST' | 'SECOND'}) { if (route === 'FIRST') { return ; } else { @@ -429,7 +427,7 @@ it('releases and cancels query references associated with previous suspensions w ); } - function InnerConcurrent({promise}: {|promise: ?Promise|}) { + function InnerConcurrent({promise}: {promise: ?Promise}) { [, queryLoaderCallback] = useQueryLoader(generatedQuery); if ( promise == null || @@ -527,7 +525,7 @@ it('releases and cancels query references associated with subsequent suspensions } let innerUnsuspendedCorrectly = false; - function InnerConcurrent({promise}: {|promise: ?Promise|}) { + function InnerConcurrent({promise}: {promise: ?Promise}) { [, queryLoaderCallback] = useQueryLoader(generatedQuery); if ( promise == null || diff --git a/packages/react-relay/relay-hooks/__tests__/useQueryLoader-multiple-calls-test.js b/packages/react-relay/relay-hooks/__tests__/useQueryLoader-multiple-calls-test.js index d262e6c661a0a..6351e1f24a681 100644 --- a/packages/react-relay/relay-hooks/__tests__/useQueryLoader-multiple-calls-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useQueryLoader-multiple-calls-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const loadQueryModule = require('../loadQuery'); @@ -123,9 +121,9 @@ describe('when loading and disposing same query multiple times', () => { }; const Inner = function ({ initialPreloadedQuery, - }: {| + }: { initialPreloadedQuery: $FlowFixMe, - |}) { + }) { [loadedQuery, queryLoaderCallback] = useQueryLoader( preloadableConcreteRequest, initialPreloadedQuery, @@ -138,7 +136,7 @@ describe('when loading and disposing same query multiple times', () => { ); }; - const Container = function ({initialPreloadedQuery = undefined}: {||}) { + const Container = function ({initialPreloadedQuery = undefined}: {}) { return ( diff --git a/packages/react-relay/relay-hooks/__tests__/useQueryLoader-react-double-effects-test.js b/packages/react-relay/relay-hooks/__tests__/useQueryLoader-react-double-effects-test.js index 4c97ed0f916b3..5b2e8a72af43f 100644 --- a/packages/react-relay/relay-hooks/__tests__/useQueryLoader-react-double-effects-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useQueryLoader-react-double-effects-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RelayMockEnvironment} from '../../../relay-test-utils/RelayModernMockEnvironment'; import type {OperationDescriptor} from 'relay-runtime/store/RelayStoreTypes'; @@ -32,14 +30,14 @@ const {createMockEnvironment} = require('relay-test-utils'); function expectToHaveFetched( environment: RelayMockEnvironment, query: OperationDescriptor, - cacheConfig: {| + cacheConfig: { force?: ?boolean, liveConfigId?: ?string, metadata?: {[key: string]: mixed}, onSubscribe?: () => void, poll?: ?number, transactionId?: ?string, - |}, + }, ) { // $FlowFixMe[method-unbinding] added when improving typing for this parameters expect(environment.executeWithSource).toBeCalledTimes(1); @@ -174,9 +172,9 @@ describe.skip('useQueryLoader-react-double-effects', () => { render = function ( initialQueryRef: any, - {suspendWholeTree}: {|suspendWholeTree?: boolean|} = ({ + {suspendWholeTree}: {suspendWholeTree?: boolean} = ({ ...null, - }: {|suspendWholeTree?: boolean|}), + }: {suspendWholeTree?: boolean}), ): $FlowFixMe { let instance; ReactTestRenderer.act(() => { diff --git a/packages/react-relay/relay-hooks/__tests__/useQueryLoader-test.js b/packages/react-relay/relay-hooks/__tests__/useQueryLoader-test.js index fe8d46be52294..e5c0e54ae69ec 100644 --- a/packages/react-relay/relay-hooks/__tests__/useQueryLoader-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useQueryLoader-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const RelayEnvironmentProvider = require('../RelayEnvironmentProvider'); @@ -61,9 +59,9 @@ describe('useQueryLoader', () => { releaseQuery = undefined; environment = createMockEnvironment(); render = function ( - initialPreloadedQuery: void | {| + initialPreloadedQuery: void | { releaseQuery: JestMockFn<$ReadOnlyArray, mixed>, - |}, + }, ) { renderCount = 0; ReactTestRenderer.act(() => { @@ -74,9 +72,9 @@ describe('useQueryLoader', () => { }; update = function ( - initialPreloadedQuery: void | {| + initialPreloadedQuery: void | { releaseQuery: JestMockFn<$ReadOnlyArray, mixed>, - |}, + }, ) { ReactTestRenderer.act(() => { instance.update( @@ -87,11 +85,11 @@ describe('useQueryLoader', () => { const Inner = function ({ initialPreloadedQuery, - }: {| - initialPreloadedQuery: void | {| + }: { + initialPreloadedQuery: void | { releaseQuery: JestMockFn<$ReadOnlyArray, mixed>, - |}, - |}) { + }, + }) { renderCount = (renderCount || 0) + 1; [loadedQuery, queryLoaderCallback, disposeQuery] = useQueryLoader( generatedQuery, @@ -103,11 +101,11 @@ describe('useQueryLoader', () => { Container = function ({ initialPreloadedQuery, - }: {| - initialPreloadedQuery?: void | {| + }: { + initialPreloadedQuery?: void | { releaseQuery: JestMockFn<$ReadOnlyArray, mixed>, - |}, - |}) { + }, + }) { return ( @@ -404,7 +402,7 @@ describe('useQueryLoader', () => { ); } - function Router({route}: {|route: 'FIRST' | 'SECOND'|}) { + function Router({route}: {route: 'FIRST' | 'SECOND'}) { if (route === 'FIRST') { return ; } else { @@ -478,7 +476,7 @@ describe('useQueryLoader', () => { ); } - function InnerConcurrent({promise}: {|promise: ?Promise|}) { + function InnerConcurrent({promise}: {promise: ?Promise}) { [, queryLoaderCallback] = useQueryLoader(generatedQuery); if ( promise == null || @@ -576,7 +574,7 @@ describe('useQueryLoader', () => { } let innerUnsuspendedCorrectly = false; - function InnerConcurrent({promise}: {|promise: ?Promise|}) { + function InnerConcurrent({promise}: {promise: ?Promise}) { [, queryLoaderCallback] = useQueryLoader(generatedQuery); if ( promise == null || diff --git a/packages/react-relay/relay-hooks/__tests__/useRefetchableFragment-test.js b/packages/react-relay/relay-hooks/__tests__/useRefetchableFragment-test.js index 1f11314085c6e..2f0e64cd93c91 100644 --- a/packages/react-relay/relay-hooks/__tests__/useRefetchableFragment-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useRefetchableFragment-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {OperationDescriptor} from '../../../relay-runtime/store/RelayStoreTypes'; @@ -51,14 +49,14 @@ describe('useRefetchableFragment', () => { return [data, refetch]; } - function assertCall(expected: {|data: any|}, idx: number) { + function assertCall(expected: {data: any}, idx: number) { const actualData = renderSpy.mock.calls[idx][0]; expect(actualData).toEqual(expected.data); } function assertFragmentResults( - expectedCalls: $ReadOnlyArray<{|data: $FlowFixMe|}>, + expectedCalls: $ReadOnlyArray<{data: $FlowFixMe}>, ) { // This ensures that useEffect runs TestRenderer.act(() => jest.runAllImmediates()); @@ -67,7 +65,7 @@ describe('useRefetchableFragment', () => { renderSpy.mockClear(); } - function expectFragmentResults(expectedCalls: Array<{|data: any|}>) { + function expectFragmentResults(expectedCalls: Array<{data: any}>) { assertFragmentResults(expectedCalls); } @@ -131,7 +129,7 @@ describe('useRefetchableFragment', () => { }); // Set up renderers - Renderer = (props: {|user: mixed|}) => null; + Renderer = (props: {user: mixed}) => null; const Container = (props: { userRef?: {...}, @@ -156,7 +154,7 @@ describe('useRefetchableFragment', () => { return ; }; - const ContextProvider = ({children}: {|children: React.Node|}) => { + const ContextProvider = ({children}: {children: React.Node}) => { const relayContext = useMemo(() => ({environment}), []); return ( diff --git a/packages/react-relay/relay-hooks/__tests__/useRefetchableFragmentNode-test.js b/packages/react-relay/relay-hooks/__tests__/useRefetchableFragmentNode-test.js index 26caabd020547..7f267c723ad74 100644 --- a/packages/react-relay/relay-hooks/__tests__/useRefetchableFragmentNode-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useRefetchableFragmentNode-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RelayMockEnvironment} from '../../../relay-test-utils/RelayModernMockEnvironment'; import type { @@ -124,9 +122,9 @@ describe.each([ let queryWithLiteralArgs; let refetchQueryWithArgs; let variables: - | {|id: string, scale: number|} - | {|id: string|} - | {|nodeID: string, scale: number|}; + | {id: string, scale: number} + | {id: string} + | {nodeID: string, scale: number}; let variablesNestedFragment; let forceUpdate; let setEnvironment; @@ -167,14 +165,14 @@ describe.each([ return result; } - function assertCall(expected: {|data: any|}, idx: number) { + function assertCall(expected: {data: any}, idx: number) { const actualData = commitSpy.mock.calls[idx][0]; expect(actualData).toEqual(expected.data); } function expectFragmentResults( - expectedCalls: $ReadOnlyArray<{|data: $FlowFixMe|}>, + expectedCalls: $ReadOnlyArray<{data: $FlowFixMe}>, ) { // This ensures that useEffect runs TestRenderer.act(() => jest.runAllImmediates()); @@ -335,7 +333,7 @@ describe.each([ }); // Set up renderers - Renderer = (props: {|user: mixed|}) => null; + Renderer = (props: {user: mixed}) => null; const Container = (props: { userRef?: {...}, @@ -380,7 +378,7 @@ describe.each([ return ; }; - const ContextProvider = ({children}: {|children: React.Node|}) => { + const ContextProvider = ({children}: {children: React.Node}) => { useTrackLoadQueryInRender(); const [env, _setEnv] = useState(environment); const relayContext = useMemo(() => ({environment: env}), [env]); @@ -587,11 +585,11 @@ describe.each([ function expectFragmentIsRefetching( renderer: any, - expected: {| + expected: { refetchVariables: Variables, refetchQuery?: OperationDescriptor, gqlRefetchQuery?: $FlowFixMe, - |}, + }, env: RelayMockEnvironment = environment, ) { expect(commitSpy).toBeCalledTimes(0); @@ -1681,9 +1679,7 @@ describe.each([ ...createFragmentRef('1', refetchQuery), }; - const doAndAssertRefetch = ( - fragmentResults: Array<{|data: any|}>, - ) => { + const doAndAssertRefetch = (fragmentResults: Array<{data: any}>) => { commitSpy.mockClear(); // $FlowFixMe[method-unbinding] added when improving typing for this parameters environment.executeWithSource.mockClear(); diff --git a/packages/react-relay/relay-hooks/__tests__/useRefetchableFragmentNode-with-suspense-transition-test.js b/packages/react-relay/relay-hooks/__tests__/useRefetchableFragmentNode-with-suspense-transition-test.js index 3288704ff8ce1..4411a6bdc8b1f 100644 --- a/packages/react-relay/relay-hooks/__tests__/useRefetchableFragmentNode-with-suspense-transition-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useRefetchableFragmentNode-with-suspense-transition-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RelayMockEnvironment} from '../../../relay-test-utils/RelayModernMockEnvironment'; import type {OperationDescriptor, Variables} from 'relay-runtime'; @@ -64,7 +62,7 @@ describe('useRefetchableFragmentNode with useTransition', () => { 'TestComponent', ); refetch = (...args: any) => { - let disposable: Disposable | {|dispose: () => void|} = { + let disposable: Disposable | {dispose: () => void} = { dispose: () => {}, }; startTransition(() => { @@ -91,7 +89,7 @@ describe('useRefetchableFragmentNode with useTransition', () => { } function assertYield( - expected: {|data: any, isPending: boolean|}, + expected: {data: any, isPending: boolean}, actual: any, ) { expect(actual.isPending).toEqual(expected.isPending); @@ -99,10 +97,10 @@ describe('useRefetchableFragmentNode with useTransition', () => { } function expectFragmentResults( - expectedYields: $ReadOnlyArray<{| + expectedYields: $ReadOnlyArray<{ data: $FlowFixMe, isPending: boolean, - |}>, + }>, ) { assertYieldsWereCleared(); Scheduler.unstable_flushAllWithoutAsserting(); @@ -139,11 +137,11 @@ describe('useRefetchableFragmentNode with useTransition', () => { function expectFragmentIsPendingOnRefetch( renderer: any, - expected: {| + expected: { data: mixed, refetchQuery?: OperationDescriptor, refetchVariables: Variables, - |}, + }, ) { // Assert fragment sets isPending to true expectFragmentResults([ @@ -247,7 +245,7 @@ describe('useRefetchableFragmentNode with useTransition', () => { }); // Set up renderers - Renderer = (props: {|user: mixed|}) => null; + Renderer = (props: {user: mixed}) => null; const Container = (props: { userRef?: {...}, @@ -282,7 +280,7 @@ describe('useRefetchableFragmentNode with useTransition', () => { return ; }; - const ContextProvider = ({children}: {|children: React.Node|}) => { + const ContextProvider = ({children}: {children: React.Node}) => { // TODO(T39494051) - We set empty variables in relay context to make // Flow happy, but useRefetchableFragmentNode does not use them, instead it uses // the variables from the fragment owner. diff --git a/packages/react-relay/relay-hooks/__tests__/useStaticFragmentNodeWarning-test.js b/packages/react-relay/relay-hooks/__tests__/useStaticFragmentNodeWarning-test.js index a63ba238e54e9..4f97226362531 100644 --- a/packages/react-relay/relay-hooks/__tests__/useStaticFragmentNodeWarning-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useStaticFragmentNodeWarning-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const mockWarning = jest.fn(); @@ -26,7 +24,7 @@ const warningMessage = const notWarned = [true, warningMessage, 'fragment input']; const warned = [false, warningMessage, 'fragment input']; -function Example(props: {|+foo: {|+name: string|}, +bar: string|}) { +function Example(props: {+foo: {+name: string}, +bar: string}) { // $FlowFixMe[prop-missing] useStaticFragmentNodeWarning(props.foo, 'fragment input'); return null; diff --git a/packages/react-relay/relay-hooks/__tests__/useSubscribeToInvalidationState-test.js b/packages/react-relay/relay-hooks/__tests__/useSubscribeToInvalidationState-test.js index fd2a21c3d8617..a60718e456b39 100644 --- a/packages/react-relay/relay-hooks/__tests__/useSubscribeToInvalidationState-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useSubscribeToInvalidationState-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RelayMockEnvironment} from '../../../relay-test-utils/RelayModernMockEnvironment'; @@ -72,10 +70,10 @@ beforeEach(() => { function Renderer({ initialDataIDs, initialCallback, - }: {| + }: { initialCallback: JestMockFn, void>, initialDataIDs: Array, - |}) { + }) { const [dataIDs, _setDataIDs] = useState(initialDataIDs); const [cbState, _setCallback] = useState({callback: initialCallback}); const cb = cbState.callback; @@ -92,11 +90,11 @@ beforeEach(() => { return null; } - function Container(props: {| + function Container(props: { callback: JestMockFn, void>, dataIDs: Array, environment: RelayMockEnvironment, - |}) { + }) { const [env, setEnv] = useState(props.environment); setEnvironment = setEnv; return ( diff --git a/packages/react-relay/relay-hooks/__tests__/useSubscription-test.js b/packages/react-relay/relay-hooks/__tests__/useSubscription-test.js index 1fb646f6094ab..ff980e9e7e0ae 100644 --- a/packages/react-relay/relay-hooks/__tests__/useSubscription-test.js +++ b/packages/react-relay/relay-hooks/__tests__/useSubscription-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RelayMockEnvironment} from 'relay-test-utils/RelayModernMockEnvironment'; @@ -63,9 +61,9 @@ describe('useSubscription', () => { jest.resetAllMocks(); }); - type Props = {| + type Props = { env: RelayMockEnvironment, - |}; + }; function MyComponent({env}: Props) { function InnerComponent() { useSubscription(config); diff --git a/packages/react-relay/relay-hooks/preloadQuery_DEPRECATED.js b/packages/react-relay/relay-hooks/preloadQuery_DEPRECATED.js index 77e6a9836bd3c..6d73b936ea85d 100644 --- a/packages/react-relay/relay-hooks/preloadQuery_DEPRECATED.js +++ b/packages/react-relay/relay-hooks/preloadQuery_DEPRECATED.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { @@ -51,7 +49,7 @@ const pendingQueriesByEnvironment = WEAKMAP_SUPPORTED : new Map(); type PendingQueryEntry = - | $ReadOnly<{| + | $ReadOnly<{ cacheKey: string, fetchKey: ?string | ?number, fetchPolicy: PreloadFetchPolicy, @@ -61,8 +59,8 @@ type PendingQueryEntry = status: PreloadQueryStatus, subject: ReplaySubject, subscription: Subscription, - |}> - | $ReadOnly<{| + }> + | $ReadOnly<{ cacheKey: string, fetchKey: ?string | ?number, fetchPolicy: PreloadFetchPolicy, @@ -70,7 +68,7 @@ type PendingQueryEntry = id: ?string, name: string, status: PreloadQueryStatus, - |}>; + }>; function preloadQuery( environment: IEnvironment, diff --git a/packages/react-relay/relay-hooks/prepareEntryPoint_DEPRECATED.js b/packages/react-relay/relay-hooks/prepareEntryPoint_DEPRECATED.js index 27ba12499aca0..f9cca6367aee8 100644 --- a/packages/react-relay/relay-hooks/prepareEntryPoint_DEPRECATED.js +++ b/packages/react-relay/relay-hooks/prepareEntryPoint_DEPRECATED.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/react-relay/relay-hooks/react-cache/RelayReactCache.js b/packages/react-relay/relay-hooks/react-cache/RelayReactCache.js index 269f809372a50..2ec8853694eaa 100644 --- a/packages/react-relay/relay-hooks/react-cache/RelayReactCache.js +++ b/packages/react-relay/relay-hooks/react-cache/RelayReactCache.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const invariant = require('invariant'); diff --git a/packages/react-relay/relay-hooks/react-cache/__tests__/useLazyLoadQuery_REACT_CACHE-test.js b/packages/react-relay/relay-hooks/react-cache/__tests__/useLazyLoadQuery_REACT_CACHE-test.js index e8c138c638d52..a66e04b1b0000 100644 --- a/packages/react-relay/relay-hooks/react-cache/__tests__/useLazyLoadQuery_REACT_CACHE-test.js +++ b/packages/react-relay/relay-hooks/react-cache/__tests__/useLazyLoadQuery_REACT_CACHE-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {FetchPolicy, GraphQLResponse, RenderPolicy} from 'relay-runtime'; @@ -116,7 +114,7 @@ describe('useLazyLoadQuery_REACT_CACHE', () => { force: true, }); - type TestInputs = {| + type TestInputs = { fetchPolicy: FetchPolicy, renderPolicy: RenderPolicy, availability: @@ -124,12 +122,12 @@ describe('useLazyLoadQuery_REACT_CACHE', () => { | 'stale' | 'missing' | 'available-root-fragment-only', - |}; - type TestOutputs = {| + }; + type TestOutputs = { shouldAwaitFetchResult: boolean, shouldFetch: boolean, shouldBeMissingData?: boolean, - |}; + }; type Test = [TestInputs, TestOutputs]; describe.each([ @@ -195,10 +193,10 @@ describe('useLazyLoadQuery_REACT_CACHE', () => { function Wrappers({ env, children, - }: {| + }: { children: React.Node, env: Environment, - |}) { + }) { return ( { const thrownPromises = new Set(); let numberOfRendersObserved = 0; - function TestComponent({output}: {|output: boolean|}) { + function TestComponent({output}: {output: boolean}) { numberOfRendersObserved++; try { const data = useLazyLoadQuery(query, variables, { @@ -858,11 +856,11 @@ describe('useLazyLoadQuery_REACT_CACHE', () => { // Render the same component within each of the enviroments but // sharing a React Cache component: - function UsesQuery(_props: {||}) { + function UsesQuery(_props: {}) { const data = useLazyLoadQuery(query, variables); return data.node?.username ?? 'Data is missing'; } - function TestComponent(_props: {||}) { + function TestComponent(_props: {}) { return ( @@ -897,7 +895,7 @@ describe('useLazyLoadQuery_REACT_CACHE', () => { it('Honors fetchKey', () => { let setFetchKey; - function TestComponent(_props: {||}) { + function TestComponent(_props: {}) { let fetchKey; [fetchKey, setFetchKey] = useState(0); return useLazyLoadQuery(query, variables, { @@ -942,13 +940,13 @@ describe('useLazyLoadQuery_REACT_CACHE', () => { }); it('Retains the query when two components use the same query and one of them unmounts while the other is suspended', () => { - function UsesQuery(_props: {||}) { + function UsesQuery(_props: {}) { useLazyLoadQuery(query, variables); return null; } let unsuspend; let promise: void | null | Promise; - function UsesQueryButAlsoSeparatelySuspends(_props: {||}) { + function UsesQueryButAlsoSeparatelySuspends(_props: {}) { const data = useLazyLoadQuery(query, variables); if (promise === undefined) { promise = new Promise(r => { @@ -965,7 +963,7 @@ describe('useLazyLoadQuery_REACT_CACHE', () => { } let unmountChild; - function TestComponent(_props: {||}) { + function TestComponent(_props: {}) { const [hasChild, setHasChild] = useState(true); unmountChild = () => setHasChild(false); return ( @@ -1016,13 +1014,13 @@ describe('useLazyLoadQuery_REACT_CACHE', () => { it('Handles this other weird situation that it initially did not handle', () => { // This is a regression test for a situation that hit a bug initially where the retain // count was being updated on an out-of-date cache entry instead of the correct one. - function UsesQuery(_props: {||}) { + function UsesQuery(_props: {}) { useLazyLoadQuery(query, variables); return null; } let unsuspend; let promise: void | null | Promise; - function UsesQueryButAlsoSeparatelySuspends(_props: {||}) { + function UsesQueryButAlsoSeparatelySuspends(_props: {}) { const data = useLazyLoadQuery(query, variables); if (promise === undefined) { promise = new Promise(r => { @@ -1037,7 +1035,7 @@ describe('useLazyLoadQuery_REACT_CACHE', () => { } let unmountChild; - function TestComponent(_props: {||}) { + function TestComponent(_props: {}) { const [hasChild, setHasChild] = useState(true); unmountChild = () => setHasChild(false); return ( @@ -1082,14 +1080,14 @@ describe('useLazyLoadQuery_REACT_CACHE', () => { // 2 component mounts // 3 a new component accesses this entry on render // 4 before the new component (3) mounts, the earlier component (1) unmounts and removes the entry. - function Component1(_props: {||}) { + function Component1(_props: {}) { useLazyLoadQuery(query, variables); return null; } let unsuspendComponent2; let promise: void | null | Promise; - function Component2(_props: {||}) { + function Component2(_props: {}) { const data = useLazyLoadQuery(query, variables); if (promise === undefined) { promise = new Promise(r => { @@ -1113,7 +1111,7 @@ describe('useLazyLoadQuery_REACT_CACHE', () => { let hideComponent1; let showComponent2; - function TestComponent(_props: {||}) { + function TestComponent(_props: {}) { const [component1Visible, setComponent1Visible] = useState(true); const [component2Visible, setComponent2Visible] = useState(false); hideComponent1 = () => setComponent1Visible(false); diff --git a/packages/react-relay/relay-hooks/react-cache/getQueryResultOrFetchQuery_REACT_CACHE.js b/packages/react-relay/relay-hooks/react-cache/getQueryResultOrFetchQuery_REACT_CACHE.js index 6e5c2162c8b92..7e14a735edfd9 100644 --- a/packages/react-relay/relay-hooks/react-cache/getQueryResultOrFetchQuery_REACT_CACHE.js +++ b/packages/react-relay/relay-hooks/react-cache/getQueryResultOrFetchQuery_REACT_CACHE.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { @@ -34,10 +32,10 @@ const warning = require('warning'); type QueryCacheCommitable = () => () => void; -type QueryResult = {| +type QueryResult = { fragmentNode: ReaderFragment, fragmentRef: mixed, -|}; +}; // Note that the status of a cache entry will be 'resolved' when partial // rendering is allowed, even if a fetch is ongoing. The pending status @@ -49,24 +47,24 @@ type QueryResult = {| // before any components have mounted. It is unused when Legacy Timeouts // mode is off. type QueryCacheEntryStatus = - | {| + | { status: 'resolved', result: QueryResult, - |} - | {| + } + | { status: 'pending', promise: Promise, - |} - | {| + } + | { status: 'rejected', error: Error, - |}; + }; -type QueryCacheEntry = {| +type QueryCacheEntry = { ...QueryCacheEntryStatus, onCommit: QueryCacheCommitable, suspenseResource: SuspenseResource | null, -|}; +}; const DEFAULT_FETCH_POLICY = 'store-or-network'; @@ -168,12 +166,12 @@ function makeInitialCacheEntry() { function getQueryResultOrFetchQuery_REACT_CACHE( environment: IEnvironment, queryOperationDescriptor: OperationDescriptor, - options?: {| + options?: { fetchPolicy?: FetchPolicy, renderPolicy?: RenderPolicy, fetchKey?: ?string | ?number, fetchObservable?: Observable, - |}, + }, ): [QueryResult, QueryCacheCommitable] { const fetchPolicy = options?.fetchPolicy ?? DEFAULT_FETCH_POLICY; const renderPolicy = diff --git a/packages/react-relay/relay-hooks/react-cache/readFragmentInternal_REACT_CACHE.js b/packages/react-relay/relay-hooks/react-cache/readFragmentInternal_REACT_CACHE.js index 6fcaf9c540f9b..e7b52549a8dcb 100644 --- a/packages/react-relay/relay-hooks/react-cache/readFragmentInternal_REACT_CACHE.js +++ b/packages/react-relay/relay-hooks/react-cache/readFragmentInternal_REACT_CACHE.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {QueryResult} from '../QueryResource'; @@ -37,15 +35,15 @@ const { } = require('relay-runtime'); const warning = require('warning'); -type FragmentQueryOptions = {| +type FragmentQueryOptions = { fetchPolicy?: FetchPolicy, networkCacheConfig?: ?CacheConfig, -|}; +}; type FragmentState = $ReadOnly< - | {|kind: 'bailout'|} - | {|kind: 'singular', snapshot: Snapshot, epoch: number|} - | {|kind: 'plural', snapshots: $ReadOnlyArray, epoch: number|}, + | {kind: 'bailout'} + | {kind: 'singular', snapshot: Snapshot, epoch: number} + | {kind: 'plural', snapshots: $ReadOnlyArray, epoch: number}, >; function isMissingData(state: FragmentState): boolean { @@ -165,10 +163,10 @@ function readFragmentInternal_REACT_CACHE( hookDisplayName: string, queryOptions?: FragmentQueryOptions, fragmentKey?: string, -): {| +): { +data: ?SelectorData | Array, +clientEdgeQueries: ?Array, -|} { +} { const fragmentSelector = getSelector(fragmentNode, fragmentRef); const isPlural = fragmentNode?.metadata?.plural === true; diff --git a/packages/react-relay/relay-hooks/react-cache/useFragmentInternal_REACT_CACHE.js b/packages/react-relay/relay-hooks/react-cache/useFragmentInternal_REACT_CACHE.js index cd8d43a0f1a74..68f542982afb2 100644 --- a/packages/react-relay/relay-hooks/react-cache/useFragmentInternal_REACT_CACHE.js +++ b/packages/react-relay/relay-hooks/react-cache/useFragmentInternal_REACT_CACHE.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {QueryResult} from '../QueryResource'; @@ -41,15 +39,15 @@ const { } = require('relay-runtime'); const warning = require('warning'); -type FragmentQueryOptions = {| +type FragmentQueryOptions = { fetchPolicy?: FetchPolicy, networkCacheConfig?: ?CacheConfig, -|}; +}; type FragmentState = $ReadOnly< - | {|kind: 'bailout'|} - | {|kind: 'singular', snapshot: Snapshot, epoch: number|} - | {|kind: 'plural', snapshots: $ReadOnlyArray, epoch: number|}, + | {kind: 'bailout'} + | {kind: 'singular', snapshot: Snapshot, epoch: number} + | {kind: 'plural', snapshots: $ReadOnlyArray, epoch: number}, >; type StateUpdaterFunction = ((T) => T) => void; diff --git a/packages/react-relay/relay-hooks/react-cache/useFragment_REACT_CACHE.js b/packages/react-relay/relay-hooks/react-cache/useFragment_REACT_CACHE.js index 3068885a2b19d..b476192dcf0e3 100644 --- a/packages/react-relay/relay-hooks/react-cache/useFragment_REACT_CACHE.js +++ b/packages/react-relay/relay-hooks/react-cache/useFragment_REACT_CACHE.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {Fragment, FragmentType, GraphQLTaggedNode} from 'relay-runtime'; diff --git a/packages/react-relay/relay-hooks/react-cache/useLazyLoadQuery_REACT_CACHE.js b/packages/react-relay/relay-hooks/react-cache/useLazyLoadQuery_REACT_CACHE.js index 7c15477fe5262..c68d1d97e81e9 100644 --- a/packages/react-relay/relay-hooks/react-cache/useLazyLoadQuery_REACT_CACHE.js +++ b/packages/react-relay/relay-hooks/react-cache/useLazyLoadQuery_REACT_CACHE.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { @@ -31,12 +29,12 @@ const {useEffect} = require('react'); function useLazyLoadQuery_REACT_CACHE( gqlQuery: Query, variables: TVariables, - options?: {| + options?: { fetchKey?: string | number, fetchPolicy?: FetchPolicy, networkCacheConfig?: CacheConfig, UNSTABLE_renderPolicy?: RenderPolicy, - |}, + }, ): TData { useTrackLoadQueryInRender(); const environment = useRelayEnvironment(); diff --git a/packages/react-relay/relay-hooks/react-cache/usePaginationFragment_REACT_CACHE.js b/packages/react-relay/relay-hooks/react-cache/usePaginationFragment_REACT_CACHE.js index 31afbf9df607e..6b0ffd314c38e 100644 --- a/packages/react-relay/relay-hooks/react-cache/usePaginationFragment_REACT_CACHE.js +++ b/packages/react-relay/relay-hooks/react-cache/usePaginationFragment_REACT_CACHE.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {LoadMoreFn, UseLoadMoreFunctionArgs} from '../useLoadMoreFunction'; @@ -33,7 +31,7 @@ const { getPaginationMetadata, } = require('relay-runtime'); -export type ReturnType = {| +export type ReturnType = { data: TFragmentData, loadNext: LoadMoreFn, loadPrevious: LoadMoreFn, @@ -42,7 +40,7 @@ export type ReturnType = {| isLoadingNext: boolean, isLoadingPrevious: boolean, refetch: RefetchFnDynamic, -|}; +}; function usePaginationFragment< TQuery: OperationType, diff --git a/packages/react-relay/relay-hooks/react-cache/usePreloadedQuery_REACT_CACHE.js b/packages/react-relay/relay-hooks/react-cache/usePreloadedQuery_REACT_CACHE.js index ac26d41b0a347..ccc76aa641d82 100644 --- a/packages/react-relay/relay-hooks/react-cache/usePreloadedQuery_REACT_CACHE.js +++ b/packages/react-relay/relay-hooks/react-cache/usePreloadedQuery_REACT_CACHE.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {PreloadedQuery} from '../EntryPointTypes.flow'; @@ -35,9 +33,9 @@ const warning = require('warning'); function usePreloadedQuery_REACT_CACHE( gqlQuery: GraphQLTaggedNode, preloadedQuery: PreloadedQuery, - options?: {| + options?: { UNSTABLE_renderPolicy?: RenderPolicy, - |}, + }, ): TQuery['response'] { const environment = useRelayEnvironment(); diff --git a/packages/react-relay/relay-hooks/react-cache/useRefetchableFragmentInternal_REACT_CACHE.js b/packages/react-relay/relay-hooks/react-cache/useRefetchableFragmentInternal_REACT_CACHE.js index 0f628c84f9b30..a27a2e5febcc2 100644 --- a/packages/react-relay/relay-hooks/react-cache/useRefetchableFragmentInternal_REACT_CACHE.js +++ b/packages/react-relay/relay-hooks/react-cache/useRefetchableFragmentInternal_REACT_CACHE.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {LoaderFn} from '../useQueryLoader'; @@ -71,22 +69,22 @@ export type ReturnType< TQuery: OperationType, TKey: ?{+$data?: mixed, ...}, TOptions = Options, -> = {| +> = { fragmentData: mixed, fragmentRef: mixed, refetch: RefetchFnDynamic, -|}; +}; -export type Options = {| +export type Options = { fetchPolicy?: FetchPolicy, onComplete?: (Error | null) => void, UNSTABLE_renderPolicy?: RenderPolicy, -|}; +}; -type InternalOptions = {| +type InternalOptions = { ...Options, __environment?: IEnvironment, -|}; +}; type RefetchFnBase = ( vars: TVars, @@ -103,21 +101,21 @@ type RefetchFnInexact< > = RefetchFnBase<$Shape>, TOptions>; type Action = - | {| + | { type: 'reset', environment: IEnvironment, fragmentIdentifier: string, - |} - | {| + } + | { type: 'refetch', refetchQuery: OperationDescriptor, fetchPolicy?: FetchPolicy, renderPolicy?: RenderPolicy, onComplete?: (Error | null) => void, refetchEnvironment: ?IEnvironment, - |}; + }; -type RefetchState = {| +type RefetchState = { fetchPolicy: FetchPolicy | void, mirroredEnvironment: IEnvironment, mirroredFragmentIdentifier: string, @@ -125,7 +123,7 @@ type RefetchState = {| refetchEnvironment?: ?IEnvironment, refetchQuery: OperationDescriptor | null, renderPolicy: RenderPolicy | void, -|}; +}; type DebugIDandTypename = { id: string, @@ -357,19 +355,19 @@ function useRefetchableFragmentNode< function useRefetchFunction( componentDisplayName: string, dispatch: ( - | {| + | { environment: IEnvironment, fragmentIdentifier: string, type: 'reset', - |} - | {| + } + | { fetchPolicy?: FetchPolicy, onComplete?: (Error | null) => void, refetchEnvironment: ?IEnvironment, refetchQuery: OperationDescriptor, renderPolicy?: RenderPolicy, type: 'refetch', - |}, + }, ) => void, disposeQuery: () => void, fragmentData: mixed, diff --git a/packages/react-relay/relay-hooks/react-cache/useRefetchableFragment_REACT_CACHE.js b/packages/react-relay/relay-hooks/react-cache/useRefetchableFragment_REACT_CACHE.js index 55bba0a7f327a..62ee8f96c6b22 100644 --- a/packages/react-relay/relay-hooks/react-cache/useRefetchableFragment_REACT_CACHE.js +++ b/packages/react-relay/relay-hooks/react-cache/useRefetchableFragment_REACT_CACHE.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RefetchFnDynamic} from './useRefetchableFragmentInternal_REACT_CACHE'; diff --git a/packages/react-relay/relay-hooks/useBlockingPaginationFragment.js b/packages/react-relay/relay-hooks/useBlockingPaginationFragment.js index 88a945aa96172..0f4d416e40453 100644 --- a/packages/react-relay/relay-hooks/useBlockingPaginationFragment.js +++ b/packages/react-relay/relay-hooks/useBlockingPaginationFragment.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {LoadMoreFn, UseLoadMoreFunctionArgs} from './useLoadMoreFunction'; @@ -34,14 +32,14 @@ const { getPaginationMetadata, } = require('relay-runtime'); -export type ReturnType = {| +export type ReturnType = { data: TFragmentData, loadNext: LoadMoreFn, loadPrevious: LoadMoreFn, hasNext: boolean, hasPrevious: boolean, refetch: RefetchFnDynamic, -|}; +}; function useBlockingPaginationFragment< TQuery: OperationType, @@ -148,7 +146,7 @@ function useBlockingPaginationFragment< }; } -function useLoadMore(args: {| +function useLoadMore(args: { disableStoreUpdates: () => void, enableStoreUpdates: () => void, ...$Exact< @@ -161,7 +159,7 @@ function useLoadMore(args: {| }, >, >, -|}): [LoadMoreFn, boolean, () => void] { +}): [LoadMoreFn, boolean, () => void] { const {disableStoreUpdates, enableStoreUpdates, ...loadMoreArgs} = args; const [requestPromise, setRequestPromise] = useState(null); const requestPromiseRef = useRef(null); diff --git a/packages/react-relay/relay-hooks/useClientQuery.js b/packages/react-relay/relay-hooks/useClientQuery.js index ba612be9caabf..29b85812dc2aa 100644 --- a/packages/react-relay/relay-hooks/useClientQuery.js +++ b/packages/react-relay/relay-hooks/useClientQuery.js @@ -23,9 +23,9 @@ const useLazyLoadQuery = require('./useLazyLoadQuery'); function useClientQuery( gqlQuery: ClientQuery, variables: TVariables, - options?: {| + options?: { UNSTABLE_renderPolicy?: RenderPolicy, - |}, + }, ): TData { // $FlowFixMe[incompatible-type] client queries can be used with useLazyLoadQuery, but only with `store-only` policy. const query: Query = gqlQuery; diff --git a/packages/react-relay/relay-hooks/useEntryPointLoader.js b/packages/react-relay/relay-hooks/useEntryPointLoader.js index 837a3fba26112..1de5a664bab40 100644 --- a/packages/react-relay/relay-hooks/useEntryPointLoader.js +++ b/packages/react-relay/relay-hooks/useEntryPointLoader.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { @@ -47,9 +45,9 @@ type UseEntryPointLoaderHookReturnType< // NullEntryPointReference needs to implement referential equality, // so that multiple NullEntryPointReferences can be in the same set // (corresponding to multiple calls to disposeEntryPoint). -type NullEntryPointReference = {| +type NullEntryPointReference = { kind: 'NullEntryPointReference', -|}; +}; const initialNullEntryPointReferenceState = {kind: 'NullEntryPointReference'}; function useLoadEntryPoint< @@ -68,14 +66,14 @@ function useLoadEntryPoint< >( environmentProvider: IEnvironmentProvider, entryPoint: TEntryPoint, - options?: ?{| + options?: ?{ // TODO(T83890478): Remove once Offscreen API lands in xplat // and we can use it in tests - TEST_ONLY__initialEntryPointData?: ?{| + TEST_ONLY__initialEntryPointData?: ?{ entryPointReference: ?PreloadedEntryPoint, entryPointParams: ?TEntryPointParams, - |}, - |}, + }, + }, ): UseEntryPointLoaderHookReturnType< TEntryPointParams, TPreloadedQueries, diff --git a/packages/react-relay/relay-hooks/useFetchTrackingRef.js b/packages/react-relay/relay-hooks/useFetchTrackingRef.js index 0316993cefaab..3e6bf7ac22013 100644 --- a/packages/react-relay/relay-hooks/useFetchTrackingRef.js +++ b/packages/react-relay/relay-hooks/useFetchTrackingRef.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {Subscription} from 'relay-runtime'; @@ -29,12 +27,12 @@ const {useCallback, useEffect, useRef} = require('react'); * The additional functions returned by this Hook can be used to mutate * the ref. */ -function useFetchTrackingRef(): {| +function useFetchTrackingRef(): { isFetchingRef: {current: ?boolean, ...}, startFetch: Subscription => void, disposeFetch: () => void, completeFetch: () => void, -|} { +} { const subscriptionRef = useRef(null); const isFetchingRef = useRef(false); diff --git a/packages/react-relay/relay-hooks/useFragment.js b/packages/react-relay/relay-hooks/useFragment.js index f03f74f8de1ca..cd5a95c5e4f1b 100644 --- a/packages/react-relay/relay-hooks/useFragment.js +++ b/packages/react-relay/relay-hooks/useFragment.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {Fragment, FragmentType, GraphQLTaggedNode} from 'relay-runtime'; diff --git a/packages/react-relay/relay-hooks/useFragmentNode.js b/packages/react-relay/relay-hooks/useFragmentNode.js index efc6d9001bfd1..7c83a6a17d909 100644 --- a/packages/react-relay/relay-hooks/useFragmentNode.js +++ b/packages/react-relay/relay-hooks/useFragmentNode.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ReaderFragment} from 'relay-runtime'; @@ -21,11 +19,11 @@ const {useEffect, useRef, useState} = require('react'); const {getFragmentIdentifier} = require('relay-runtime'); const warning = require('warning'); -type ReturnType = {| +type ReturnType = { data: TFragmentData, disableStoreUpdates: () => void, enableStoreUpdates: () => void, -|}; +}; function useFragmentNode( fragmentNode: ReaderFragment, diff --git a/packages/react-relay/relay-hooks/useIsMountedRef.js b/packages/react-relay/relay-hooks/useIsMountedRef.js index 374f0ab007ba8..d5f4bea5037cb 100644 --- a/packages/react-relay/relay-hooks/useIsMountedRef.js +++ b/packages/react-relay/relay-hooks/useIsMountedRef.js @@ -9,13 +9,11 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const {useEffect, useRef} = require('react'); -function useIsMountedRef(): {|current: boolean|} { +function useIsMountedRef(): {current: boolean} { const isMountedRef = useRef(true); useEffect(() => { diff --git a/packages/react-relay/relay-hooks/useLazyLoadQuery.js b/packages/react-relay/relay-hooks/useLazyLoadQuery.js index 12c17d86fee16..a6d1ce5220455 100644 --- a/packages/react-relay/relay-hooks/useLazyLoadQuery.js +++ b/packages/react-relay/relay-hooks/useLazyLoadQuery.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { @@ -35,23 +33,23 @@ const { export type UseLazyLoadQueryHookType = ( gqlQuery: Query, variables: TVariables, - options?: {| + options?: { fetchKey?: string | number, fetchPolicy?: FetchPolicy, networkCacheConfig?: CacheConfig, UNSTABLE_renderPolicy?: RenderPolicy, - |}, + }, ) => TData; function useLazyLoadQuery( gqlQuery: Query, variables: TVariables, - options?: {| + options?: { fetchKey?: string | number, fetchPolicy?: FetchPolicy, networkCacheConfig?: CacheConfig, UNSTABLE_renderPolicy?: RenderPolicy, - |}, + }, ): TData { // We need to use this hook in order to be able to track if // loadQuery was called during render diff --git a/packages/react-relay/relay-hooks/useLazyLoadQueryNode.js b/packages/react-relay/relay-hooks/useLazyLoadQueryNode.js index cb4d3f796c4a9..490b550072fa3 100644 --- a/packages/react-relay/relay-hooks/useLazyLoadQueryNode.js +++ b/packages/react-relay/relay-hooks/useLazyLoadQueryNode.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { @@ -41,14 +39,14 @@ function useLazyLoadQueryNode({ fetchPolicy, fetchKey, renderPolicy, -}: {| +}: { query: OperationDescriptor, componentDisplayName: string, fetchObservable: Observable, fetchPolicy?: ?FetchPolicy, fetchKey?: ?string | ?number, renderPolicy?: ?RenderPolicy, -|}): TQuery['response'] { +}): TQuery['response'] { const environment = useRelayEnvironment(); const profilerContext = useContext(ProfilerContext); const QueryResource = getQueryResourceForEnvironment(environment); diff --git a/packages/react-relay/relay-hooks/useLoadMoreFunction.js b/packages/react-relay/relay-hooks/useLoadMoreFunction.js index 509603844a113..c0b5b82f894c3 100644 --- a/packages/react-relay/relay-hooks/useLoadMoreFunction.js +++ b/packages/react-relay/relay-hooks/useLoadMoreFunction.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { @@ -43,13 +41,13 @@ const warning = require('warning'); export type LoadMoreFn = ( count: number, - options?: {| + options?: { onComplete?: (Error | null) => void, UNSTABLE_extraVariables?: $Shape>, - |}, + }, ) => Disposable; -export type UseLoadMoreFunctionArgs = {| +export type UseLoadMoreFunctionArgs = { direction: Direction, fragmentNode: ReaderFragment, fragmentRef: mixed, @@ -62,7 +60,7 @@ export type UseLoadMoreFunctionArgs = {| componentDisplayName: string, observer: Observer, onReset: () => void, -|}; +}; function useLoadMoreFunction( args: UseLoadMoreFunctionArgs, @@ -265,10 +263,10 @@ function getConnectionState( fragmentNode: ReaderFragment, fragmentData: mixed, connectionPathInFragmentData: $ReadOnlyArray, -): {| +): { cursor: ?string, hasMore: boolean, -|} { +} { const { EDGES, PAGE_INFO, diff --git a/packages/react-relay/relay-hooks/useMemoOperationDescriptor.js b/packages/react-relay/relay-hooks/useMemoOperationDescriptor.js index 31b71837e51b6..5137668357fcb 100644 --- a/packages/react-relay/relay-hooks/useMemoOperationDescriptor.js +++ b/packages/react-relay/relay-hooks/useMemoOperationDescriptor.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/react-relay/relay-hooks/useMemoVariables.js b/packages/react-relay/relay-hooks/useMemoVariables.js index 5dddbcd6a6ca1..5a87753fbf343 100644 --- a/packages/react-relay/relay-hooks/useMemoVariables.js +++ b/packages/react-relay/relay-hooks/useMemoVariables.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {Variables} from 'relay-runtime'; diff --git a/packages/react-relay/relay-hooks/useMutation.js b/packages/react-relay/relay-hooks/useMutation.js index 8712a00287c3c..6e6a21ed86db4 100644 --- a/packages/react-relay/relay-hooks/useMutation.js +++ b/packages/react-relay/relay-hooks/useMutation.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { @@ -32,7 +30,7 @@ const {commitMutation: defaultCommitMutation} = require('relay-runtime'); const {useState, useEffect, useRef, useCallback} = React; -export type UseMutationConfig = {| +export type UseMutationConfig = { configs?: Array, onError?: ?(error: Error) => void, onCompleted?: ?( @@ -50,7 +48,7 @@ export type UseMutationConfig = {| updater?: ?SelectorStoreUpdater, uploadables?: UploadableMap, variables: TMutation['variables'], -|}; +}; function useMutation( mutation: GraphQLTaggedNode, diff --git a/packages/react-relay/relay-hooks/usePaginationFragment.js b/packages/react-relay/relay-hooks/usePaginationFragment.js index f23e18c5e8eee..355797df7a7e6 100644 --- a/packages/react-relay/relay-hooks/usePaginationFragment.js +++ b/packages/react-relay/relay-hooks/usePaginationFragment.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {LoadMoreFn, UseLoadMoreFunctionArgs} from './useLoadMoreFunction'; @@ -34,7 +32,7 @@ const { getPaginationMetadata, } = require('relay-runtime'); -export type ReturnType = {| +export type ReturnType = { // NOTE: This $Call ensures that the type of the returned data is either: // - nullable if the provided ref type is nullable // - non-nullable if the provided ref type is non-nullable @@ -51,7 +49,7 @@ export type ReturnType = {| isLoadingNext: boolean, isLoadingPrevious: boolean, refetch: RefetchFnDynamic, -|}; +}; // This separate type export is only needed as long as we are injecting // a separate hooks implementation in ./HooksImplementation -- it can diff --git a/packages/react-relay/relay-hooks/usePreloadedQuery.js b/packages/react-relay/relay-hooks/usePreloadedQuery.js index 2e06dfd762001..95a7ece96a35e 100644 --- a/packages/react-relay/relay-hooks/usePreloadedQuery.js +++ b/packages/react-relay/relay-hooks/usePreloadedQuery.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {PreloadedQuery} from './EntryPointTypes.flow'; @@ -38,17 +36,17 @@ const warning = require('warning'); export type UsePreloadedQueryHookType = ( gqlQuery: GraphQLTaggedNode, preloadedQuery: PreloadedQuery, - options?: {| + options?: { UNSTABLE_renderPolicy?: RenderPolicy, - |}, + }, ) => TQuery['response']; function usePreloadedQuery_LEGACY( gqlQuery: GraphQLTaggedNode, preloadedQuery: PreloadedQuery, - options?: {| + options?: { UNSTABLE_renderPolicy?: RenderPolicy, - |}, + }, ): TQuery['response'] { // We need to use this hook in order to be able to track if // loadQuery was called during render @@ -157,9 +155,9 @@ function usePreloadedQuery_LEGACY( function usePreloadedQuery( gqlQuery: GraphQLTaggedNode, preloadedQuery: PreloadedQuery, - options?: {| + options?: { UNSTABLE_renderPolicy?: RenderPolicy, - |}, + }, ): TQuery['response'] { const impl = HooksImplementation.get(); if (impl) { diff --git a/packages/react-relay/relay-hooks/useQueryLoader.js b/packages/react-relay/relay-hooks/useQueryLoader.js index 9237304b47aac..31603219db4c4 100644 --- a/packages/react-relay/relay-hooks/useQueryLoader.js +++ b/packages/react-relay/relay-hooks/useQueryLoader.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { @@ -35,10 +33,10 @@ export type LoaderFn = ( options?: UseQueryLoaderLoadQueryOptions, ) => void; -export type UseQueryLoaderLoadQueryOptions = $ReadOnly<{| +export type UseQueryLoaderLoadQueryOptions = $ReadOnly<{ ...LoadQueryOptions, +__environment?: ?IEnvironment, -|}>; +}>; type UseQueryLoaderHookReturnType = [ ?PreloadedQuery, @@ -49,9 +47,9 @@ type UseQueryLoaderHookReturnType = [ // NullQueryReference needs to implement referential equality, // so that multiple NullQueryReferences can be in the same set // (corresponding to multiple calls to disposeQuery). -type NullQueryReference = {| +type NullQueryReference = { kind: 'NullQueryReference', -|}; +}; const initialNullQueryReferenceState = {kind: 'NullQueryReference'}; function requestIsLiveQuery( diff --git a/packages/react-relay/relay-hooks/useRefetchableFragment.js b/packages/react-relay/relay-hooks/useRefetchableFragment.js index 241287b3df47d..36d4efe9643ad 100644 --- a/packages/react-relay/relay-hooks/useRefetchableFragment.js +++ b/packages/react-relay/relay-hooks/useRefetchableFragment.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RefetchFnDynamic} from './useRefetchableFragmentNode'; diff --git a/packages/react-relay/relay-hooks/useRefetchableFragmentNode.js b/packages/react-relay/relay-hooks/useRefetchableFragmentNode.js index a3d5c66d7afd0..848b4d6df9a9d 100644 --- a/packages/react-relay/relay-hooks/useRefetchableFragmentNode.js +++ b/packages/react-relay/relay-hooks/useRefetchableFragmentNode.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {LoaderFn} from './useQueryLoader'; @@ -71,24 +69,24 @@ export type ReturnType< TQuery: OperationType, TKey: ?{+$data?: mixed, ...}, TOptions = Options, -> = {| +> = { fragmentData: mixed, fragmentRef: mixed, refetch: RefetchFnDynamic, disableStoreUpdates: () => void, enableStoreUpdates: () => void, -|}; +}; -export type Options = {| +export type Options = { fetchPolicy?: FetchPolicy, onComplete?: (Error | null) => void, UNSTABLE_renderPolicy?: RenderPolicy, -|}; +}; -type InternalOptions = {| +type InternalOptions = { ...Options, __environment?: IEnvironment, -|}; +}; type RefetchFnBase = ( vars: TVars, @@ -105,21 +103,21 @@ type RefetchFnInexact< > = RefetchFnBase<$Shape>, TOptions>; type Action = - | {| + | { type: 'reset', environment: IEnvironment, fragmentIdentifier: string, - |} - | {| + } + | { type: 'refetch', refetchQuery: OperationDescriptor, fetchPolicy?: FetchPolicy, renderPolicy?: RenderPolicy, onComplete?: (Error | null) => void, refetchEnvironment: ?IEnvironment, - |}; + }; -type RefetchState = {| +type RefetchState = { fetchPolicy: FetchPolicy | void, mirroredEnvironment: IEnvironment, mirroredFragmentIdentifier: string, @@ -127,7 +125,7 @@ type RefetchState = {| refetchEnvironment?: ?IEnvironment, refetchQuery: OperationDescriptor | null, renderPolicy: RenderPolicy | void, -|}; +}; type DebugIDandTypename = { id: string, @@ -361,19 +359,19 @@ function useRefetchableFragmentNode< function useRefetchFunction( componentDisplayName: string, dispatch: ( - | {| + | { environment: IEnvironment, fragmentIdentifier: string, type: 'reset', - |} - | {| + } + | { fetchPolicy?: FetchPolicy, onComplete?: (Error | null) => void, refetchEnvironment: ?IEnvironment, refetchQuery: OperationDescriptor, renderPolicy?: RenderPolicy, type: 'refetch', - |}, + }, ) => void, disposeQuery: () => void, fragmentData: mixed, diff --git a/packages/react-relay/relay-hooks/useRelayEnvironment.js b/packages/react-relay/relay-hooks/useRelayEnvironment.js index e90bcc76078a6..cee7f66a62d63 100644 --- a/packages/react-relay/relay-hooks/useRelayEnvironment.js +++ b/packages/react-relay/relay-hooks/useRelayEnvironment.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {IEnvironment} from 'relay-runtime'; diff --git a/packages/react-relay/relay-hooks/useStaticFragmentNodeWarning.js b/packages/react-relay/relay-hooks/useStaticFragmentNodeWarning.js index 01c9288bd681f..b8e9270e004c3 100644 --- a/packages/react-relay/relay-hooks/useStaticFragmentNodeWarning.js +++ b/packages/react-relay/relay-hooks/useStaticFragmentNodeWarning.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ReaderFragment} from 'relay-runtime'; diff --git a/packages/react-relay/relay-hooks/useSubscribeToInvalidationState.js b/packages/react-relay/relay-hooks/useSubscribeToInvalidationState.js index 8cb9f52d037df..6bf470ce90d53 100644 --- a/packages/react-relay/relay-hooks/useSubscribeToInvalidationState.js +++ b/packages/react-relay/relay-hooks/useSubscribeToInvalidationState.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {DataID, Disposable} from 'relay-runtime'; diff --git a/packages/react-relay/relay-hooks/useSubscription.js b/packages/react-relay/relay-hooks/useSubscription.js index 1f74fd858795e..0e82fea9d98f1 100644 --- a/packages/react-relay/relay-hooks/useSubscription.js +++ b/packages/react-relay/relay-hooks/useSubscription.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/relay-runtime/handlers/RelayDefaultHandlerProvider.js b/packages/relay-runtime/handlers/RelayDefaultHandlerProvider.js index c9c61318d4fab..c8af9773243b5 100644 --- a/packages/relay-runtime/handlers/RelayDefaultHandlerProvider.js +++ b/packages/relay-runtime/handlers/RelayDefaultHandlerProvider.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {Handler} from '../store/RelayStoreTypes'; diff --git a/packages/relay-runtime/handlers/connection/ConnectionHandler.js b/packages/relay-runtime/handlers/connection/ConnectionHandler.js index aa7467e8a3cc4..2c69e93681cff 100644 --- a/packages/relay-runtime/handlers/connection/ConnectionHandler.js +++ b/packages/relay-runtime/handlers/connection/ConnectionHandler.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/relay-runtime/handlers/connection/ConnectionInterface.js b/packages/relay-runtime/handlers/connection/ConnectionInterface.js index 2aaabf117676e..b9bda553e367a 100644 --- a/packages/relay-runtime/handlers/connection/ConnectionInterface.js +++ b/packages/relay-runtime/handlers/connection/ConnectionInterface.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {Record} from '../../store/RelayStoreTypes'; @@ -30,7 +28,7 @@ export type PageInfo = { ... }; -type ConnectionConfig = {| +type ConnectionConfig = { CURSOR: string, EDGES: string, END_CURSOR: string, @@ -40,7 +38,7 @@ type ConnectionConfig = {| PAGE_INFO: string, PAGE_INFO_TYPE: string, START_CURSOR: string, -|}; +}; const CONNECTION_CALLS = { after: true, diff --git a/packages/relay-runtime/handlers/connection/MutationHandlers.js b/packages/relay-runtime/handlers/connection/MutationHandlers.js index 98d760cde3b79..1ab3050826072 100644 --- a/packages/relay-runtime/handlers/connection/MutationHandlers.js +++ b/packages/relay-runtime/handlers/connection/MutationHandlers.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/relay-runtime/index.js b/packages/relay-runtime/index.js index a6981eec4a745..b6fdb263a4616 100644 --- a/packages/relay-runtime/index.js +++ b/packages/relay-runtime/index.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const ConnectionHandler = require('./handlers/connection/ConnectionHandler'); diff --git a/packages/relay-runtime/multi-actor-environment/MultiActorEnvironment.js b/packages/relay-runtime/multi-actor-environment/MultiActorEnvironment.js index be407c7842fa0..54ed65439292d 100644 --- a/packages/relay-runtime/multi-actor-environment/MultiActorEnvironment.js +++ b/packages/relay-runtime/multi-actor-environment/MultiActorEnvironment.js @@ -443,13 +443,13 @@ class MultiActorEnvironment implements IMultiActorEnvironment { operation, optimisticConfig, updater, - }: {| + }: { createSource: () => RelayObservable, isClientPayload: boolean, operation: OperationDescriptor, optimisticConfig: ?OptimisticResponseConfig, updater: ?SelectorStoreUpdater, - |}, + }, ): RelayObservable { return RelayObservable.create(sink => { const executor = OperationExecutor.execute({ diff --git a/packages/relay-runtime/multi-actor-environment/__tests__/MultiActorEnvironment-ExecuteMutation-test.js b/packages/relay-runtime/multi-actor-environment/__tests__/MultiActorEnvironment-ExecuteMutation-test.js index 4c803a6217c32..05465c853c449 100644 --- a/packages/relay-runtime/multi-actor-environment/__tests__/MultiActorEnvironment-ExecuteMutation-test.js +++ b/packages/relay-runtime/multi-actor-environment/__tests__/MultiActorEnvironment-ExecuteMutation-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const RelayNetwork = require('../../network/RelayNetwork'); diff --git a/packages/relay-runtime/mutations/RelayDeclarativeMutationConfig.js b/packages/relay-runtime/mutations/RelayDeclarativeMutationConfig.js index eb4fd69e20d4c..fd77139d45b2e 100644 --- a/packages/relay-runtime/mutations/RelayDeclarativeMutationConfig.js +++ b/packages/relay-runtime/mutations/RelayDeclarativeMutationConfig.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { MutationParameters, @@ -43,40 +41,40 @@ type RangeBehaviorsFunction = (connectionArgs: { type RangeBehaviorsObject = {[key: string]: RangeOperation, ...}; export type RangeBehaviors = RangeBehaviorsFunction | RangeBehaviorsObject; -type RangeAddConfig = {| +type RangeAddConfig = { type: 'RANGE_ADD', parentName?: string, parentID?: string, - connectionInfo?: Array<{| + connectionInfo?: Array<{ key: string, filters?: Variables, rangeBehavior: string, - |}>, + }>, connectionName?: string, edgeName: string, rangeBehaviors?: RangeBehaviors, -|}; +}; -type RangeDeleteConfig = {| +type RangeDeleteConfig = { type: 'RANGE_DELETE', parentName?: string, parentID?: string, - connectionKeys?: Array<{| + connectionKeys?: Array<{ key: string, filters?: Variables, - |}>, + }>, connectionName?: string, deletedIDFieldName: string | Array, pathToConnection: Array, -|}; +}; -type NodeDeleteConfig = {| +type NodeDeleteConfig = { type: 'NODE_DELETE', parentName?: string, parentID?: string, connectionName?: string, deletedIDFieldName: string, -|}; +}; export type DeclarativeMutationConfig = | RangeAddConfig @@ -309,10 +307,10 @@ function rangeDelete( function deleteNode( parentID: string, - connectionKeys: ?Array<{| + connectionKeys: ?Array<{ key: string, filters?: Variables, - |}>, + }>, pathToConnection: Array, store: RecordSourceSelectorProxy, deleteIDs: Array, diff --git a/packages/relay-runtime/mutations/RelayRecordProxy.js b/packages/relay-runtime/mutations/RelayRecordProxy.js index f3237817ad677..c3e01a80d94ab 100644 --- a/packages/relay-runtime/mutations/RelayRecordProxy.js +++ b/packages/relay-runtime/mutations/RelayRecordProxy.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RecordProxy} from '../store/RelayStoreTypes'; diff --git a/packages/relay-runtime/mutations/RelayRecordSourceMutator.js b/packages/relay-runtime/mutations/RelayRecordSourceMutator.js index 5314bb0683dca..ad7343367bfc9 100644 --- a/packages/relay-runtime/mutations/RelayRecordSourceMutator.js +++ b/packages/relay-runtime/mutations/RelayRecordSourceMutator.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RecordState} from '../store/RelayRecordState'; diff --git a/packages/relay-runtime/mutations/RelayRecordSourceProxy.js b/packages/relay-runtime/mutations/RelayRecordSourceProxy.js index 8e0a8f676b7ab..25f9208818960 100644 --- a/packages/relay-runtime/mutations/RelayRecordSourceProxy.js +++ b/packages/relay-runtime/mutations/RelayRecordSourceProxy.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {HandlerProvider} from '../handlers/RelayDefaultHandlerProvider'; diff --git a/packages/relay-runtime/mutations/RelayRecordSourceSelectorProxy.js b/packages/relay-runtime/mutations/RelayRecordSourceSelectorProxy.js index f955861b1f633..0ad830df33fe9 100644 --- a/packages/relay-runtime/mutations/RelayRecordSourceSelectorProxy.js +++ b/packages/relay-runtime/mutations/RelayRecordSourceSelectorProxy.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/relay-runtime/mutations/__tests__/OpaqueScalarType.js b/packages/relay-runtime/mutations/__tests__/OpaqueScalarType.js index fb982b81baad1..34d5dae92678b 100644 --- a/packages/relay-runtime/mutations/__tests__/OpaqueScalarType.js +++ b/packages/relay-runtime/mutations/__tests__/OpaqueScalarType.js @@ -12,10 +12,10 @@ 'use strict'; // This is just an example complex object, that can be stored as a custom scalar in Relay store -export opaque type OpaqueScalarType = {| +export opaque type OpaqueScalarType = { name: string, callback: () => void, -|}; +}; function createOpaqueScalarTypeValue( name: string, diff --git a/packages/relay-runtime/mutations/__tests__/commitMutation-test.js b/packages/relay-runtime/mutations/__tests__/commitMutation-test.js index 70a50719bb9be..87377b8a51cd7 100644 --- a/packages/relay-runtime/mutations/__tests__/commitMutation-test.js +++ b/packages/relay-runtime/mutations/__tests__/commitMutation-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {GraphQLResponseWithoutData} from '../../network/RelayNetworkTypes'; import type {RecordSourceSelectorProxy} from '../../store/RelayStoreTypes'; diff --git a/packages/relay-runtime/mutations/__tests__/validateMutation-test.js b/packages/relay-runtime/mutations/__tests__/validateMutation-test.js index d8cb740f28753..0c9d399024728 100644 --- a/packages/relay-runtime/mutations/__tests__/validateMutation-test.js +++ b/packages/relay-runtime/mutations/__tests__/validateMutation-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const validateMutation = require('../validateMutation'); diff --git a/packages/relay-runtime/mutations/applyOptimisticMutation.js b/packages/relay-runtime/mutations/applyOptimisticMutation.js index e6ffe34ccf85f..a7121eac2b750 100644 --- a/packages/relay-runtime/mutations/applyOptimisticMutation.js +++ b/packages/relay-runtime/mutations/applyOptimisticMutation.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {GraphQLTaggedNode} from '../query/GraphQLTag'; @@ -29,13 +27,13 @@ const { const RelayDeclarativeMutationConfig = require('./RelayDeclarativeMutationConfig'); const invariant = require('invariant'); -export type OptimisticMutationConfig = {| +export type OptimisticMutationConfig = { configs?: ?Array, mutation: GraphQLTaggedNode, variables: Variables, optimisticUpdater?: ?SelectorStoreUpdater, optimisticResponse?: Object, -|}; +}; /** * Higher-level helper function to execute a mutation against a specific diff --git a/packages/relay-runtime/mutations/commitLocalUpdate.js b/packages/relay-runtime/mutations/commitLocalUpdate.js index 554d339e88425..5b291aa9846aa 100644 --- a/packages/relay-runtime/mutations/commitLocalUpdate.js +++ b/packages/relay-runtime/mutations/commitLocalUpdate.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {IEnvironment, StoreUpdater} from '../store/RelayStoreTypes'; diff --git a/packages/relay-runtime/mutations/commitMutation.js b/packages/relay-runtime/mutations/commitMutation.js index 37811c6d37f54..92b7bef072414 100644 --- a/packages/relay-runtime/mutations/commitMutation.js +++ b/packages/relay-runtime/mutations/commitMutation.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {PayloadError, UploadableMap} from '../network/RelayNetworkTypes'; @@ -33,7 +31,7 @@ const validateMutation = require('./validateMutation'); const invariant = require('invariant'); const warning = require('warning'); -export type MutationConfig = {| +export type MutationConfig = { cacheConfig?: CacheConfig, configs?: Array, mutation: GraphQLTaggedNode, @@ -53,7 +51,7 @@ export type MutationConfig = {| updater?: ?SelectorStoreUpdater, uploadables?: UploadableMap, variables: TMutation['variables'], -|}; +}; /** * Higher-level helper function to execute a mutation against a specific diff --git a/packages/relay-runtime/mutations/createUpdatableProxy.js b/packages/relay-runtime/mutations/createUpdatableProxy.js index 4d0dba2b823d7..5f41f0a9acf78 100644 --- a/packages/relay-runtime/mutations/createUpdatableProxy.js +++ b/packages/relay-runtime/mutations/createUpdatableProxy.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RecordProxy, RecordSourceProxy} from '../store/RelayStoreTypes'; diff --git a/packages/relay-runtime/mutations/readUpdatableFragment_EXPERIMENTAL.js b/packages/relay-runtime/mutations/readUpdatableFragment_EXPERIMENTAL.js index 11d22dfbad48f..3bf654eb0389d 100644 --- a/packages/relay-runtime/mutations/readUpdatableFragment_EXPERIMENTAL.js +++ b/packages/relay-runtime/mutations/readUpdatableFragment_EXPERIMENTAL.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/relay-runtime/mutations/readUpdatableQuery_EXPERIMENTAL.js b/packages/relay-runtime/mutations/readUpdatableQuery_EXPERIMENTAL.js index 2823b8417d503..ad8966ff5b678 100644 --- a/packages/relay-runtime/mutations/readUpdatableQuery_EXPERIMENTAL.js +++ b/packages/relay-runtime/mutations/readUpdatableQuery_EXPERIMENTAL.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RecordSourceProxy, UpdatableData} from '../store/RelayStoreTypes'; diff --git a/packages/relay-runtime/mutations/validateMutation.js b/packages/relay-runtime/mutations/validateMutation.js index 1c7f7097e8fd8..c7245ec85457e 100644 --- a/packages/relay-runtime/mutations/validateMutation.js +++ b/packages/relay-runtime/mutations/validateMutation.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { @@ -38,14 +36,14 @@ const { } = require('../util/RelayConcreteNode'); const warning = require('warning'); -type ValidationContext = {| +type ValidationContext = { visitedPaths: Set, path: string, variables: Variables, missingDiff: Object, extraDiff: Object, moduleImportPaths: Set, -|}; +}; // $FlowFixMe[method-unbinding] added when improving typing for this parameters const hasOwnProperty = Object.prototype.hasOwnProperty; diff --git a/packages/relay-runtime/network/ConvertToExecuteFunction.js b/packages/relay-runtime/network/ConvertToExecuteFunction.js index bdac5c2afc86e..b312b81495405 100644 --- a/packages/relay-runtime/network/ConvertToExecuteFunction.js +++ b/packages/relay-runtime/network/ConvertToExecuteFunction.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ExecuteFunction, FetchFunction} from './RelayNetworkTypes'; diff --git a/packages/relay-runtime/network/RelayNetwork.js b/packages/relay-runtime/network/RelayNetwork.js index bf03ec2eb952f..e15be29d30aa5 100644 --- a/packages/relay-runtime/network/RelayNetwork.js +++ b/packages/relay-runtime/network/RelayNetwork.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RequestParameters} from '../util/RelayConcreteNode'; diff --git a/packages/relay-runtime/network/RelayNetworkTypes.js b/packages/relay-runtime/network/RelayNetworkTypes.js index d7253f4fd0391..fff543478ba05 100644 --- a/packages/relay-runtime/network/RelayNetworkTypes.js +++ b/packages/relay-runtime/network/RelayNetworkTypes.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RequestParameters} from '../util/RelayConcreteNode'; @@ -45,23 +43,23 @@ export type PayloadExtensions = {[key: string]: mixed, ...}; * The shape of a GraphQL response as dictated by the * [spec](https://spec.graphql.org/June2018/#sec-Response-Format). */ -export type GraphQLResponseWithData = {| +export type GraphQLResponseWithData = { +data: PayloadData, +errors?: Array, +extensions?: PayloadExtensions, +label?: string, +path?: Array, -|}; +}; -export type GraphQLResponseWithoutData = {| +export type GraphQLResponseWithoutData = { +data?: ?PayloadData, +errors: Array, +extensions?: PayloadExtensions, +label?: string, +path?: Array, -|}; +}; -export type GraphQLResponseWithExtensionsOnly = {| +export type GraphQLResponseWithExtensionsOnly = { // Per https://spec.graphql.org/June2018/#sec-Errors // > If the data entry in the response is not present, the errors entry // > in the response must not be empty. It must contain at least one error @@ -72,7 +70,7 @@ export type GraphQLResponseWithExtensionsOnly = {| // does not necessarily indicate that there was an error. +data: null, +extensions: PayloadExtensions, -|}; +}; export type GraphQLSingularResponse = | GraphQLResponseWithData @@ -126,19 +124,19 @@ export type UploadableMap = {[key: string]: Uploadable}; * React Flight tree created on the server. */ export type ReactFlightServerTree = mixed; -export type ReactFlightPayloadQuery = {| +export type ReactFlightPayloadQuery = { +id: mixed, +module: mixed, +response: GraphQLSingularResponse, +variables: Variables, -|}; -export type ReactFlightPayloadFragment = {| +}; +export type ReactFlightPayloadFragment = { +__id: string, +__typename: string, +module: mixed, +response: GraphQLSingularResponse, +variables: Variables, -|}; +}; export type ReactFlightServerError = { +message: string, +stack: string, @@ -156,10 +154,10 @@ export type ReactFlightServerError = { * Server Component. * - fragments: an array of fragments that the server preloaded for the client. */ -export type ReactFlightPayloadData = {| +export type ReactFlightPayloadData = { +status: string, +tree: ?Array, +queries: Array, +errors: Array, +fragments: Array, -|}; +}; diff --git a/packages/relay-runtime/network/RelayObservable.js b/packages/relay-runtime/network/RelayObservable.js index b6afe625718ba..f258b5bddb216 100644 --- a/packages/relay-runtime/network/RelayObservable.js +++ b/packages/relay-runtime/network/RelayObservable.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const isPromise = require('../util/isPromise'); @@ -18,10 +16,10 @@ const isPromise = require('../util/isPromise'); * A Subscription object is returned from .subscribe(), which can be * unsubscribed or checked to see if the resulting subscription has closed. */ -export type Subscription = {| +export type Subscription = { +unsubscribe: () => void, +closed: boolean, -|}; +}; type SubscriptionFn = { (): mixed, @@ -34,25 +32,25 @@ type SubscriptionFn = { * An Observer is an object of optional callback functions provided to * .subscribe(). Each callback function is invoked when that event occurs. */ -export type Observer<-T> = {| +export type Observer<-T> = { +start?: ?(Subscription) => mixed, +next?: ?(T) => mixed, +error?: ?(Error) => mixed, +complete?: ?() => mixed, +unsubscribe?: ?(Subscription) => mixed, -|}; +}; /** * A Sink is an object of methods provided by Observable during construction. * The methods are to be called to trigger each event. It also contains a closed * field to see if the resulting subscription has closed. */ -export type Sink<-T> = {| +export type Sink<-T> = { +next: T => void, +error: (Error, isUncaughtThrownError?: boolean) => void, +complete: () => void, +closed: boolean, -|}; +}; /** * A Source is the required argument when constructing a new Observable. Similar @@ -490,7 +488,7 @@ function subscribe( // Subscription objects below, however not all flow environments we expect // Relay to be used within will support property getters, and many minifier // tools still do not support ES5 syntax. Instead, we can use defineProperty. - const withClosed: (obj: O) => {|...O, +closed: boolean|} = (obj => + const withClosed: (obj: O) => {...O, +closed: boolean} = (obj => Object.defineProperty(obj, 'closed', ({get: () => closed}: any)): any); function doCleanup() { diff --git a/packages/relay-runtime/network/RelayQueryResponseCache.js b/packages/relay-runtime/network/RelayQueryResponseCache.js index ce333624a1e8b..64aed9a5796c7 100644 --- a/packages/relay-runtime/network/RelayQueryResponseCache.js +++ b/packages/relay-runtime/network/RelayQueryResponseCache.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {Variables} from '../util/RelayRuntimeTypes'; diff --git a/packages/relay-runtime/network/wrapNetworkWithLogObserver.js b/packages/relay-runtime/network/wrapNetworkWithLogObserver.js index dd996fe3b904b..0ba36d4a0b607 100644 --- a/packages/relay-runtime/network/wrapNetworkWithLogObserver.js +++ b/packages/relay-runtime/network/wrapNetworkWithLogObserver.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type ActorSpecificEnvironment from '../multi-actor-environment/ActorSpecificEnvironment'; import type RelayModernEnvironment from '../store/RelayModernEnvironment'; diff --git a/packages/relay-runtime/query/GraphQLTag.js b/packages/relay-runtime/query/GraphQLTag.js index 3d5de49cdd3ad..aee94e88a60e1 100644 --- a/packages/relay-runtime/query/GraphQLTag.js +++ b/packages/relay-runtime/query/GraphQLTag.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/relay-runtime/query/__tests__/fetchQuery-test.js b/packages/relay-runtime/query/__tests__/fetchQuery-test.js index 2381c26082818..49dbddae51777 100644 --- a/packages/relay-runtime/query/__tests__/fetchQuery-test.js +++ b/packages/relay-runtime/query/__tests__/fetchQuery-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {fetchQueryTest1Query$data} from './__generated__/fetchQueryTest1Query.graphql'; diff --git a/packages/relay-runtime/query/__tests__/fetchQueryInternal-test.js b/packages/relay-runtime/query/__tests__/fetchQueryInternal-test.js index 3811da0db7524..8665ca6fb4de0 100644 --- a/packages/relay-runtime/query/__tests__/fetchQueryInternal-test.js +++ b/packages/relay-runtime/query/__tests__/fetchQueryInternal-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {GraphQLResponse} from '../../network/RelayNetworkTypes'; import type {Observer} from '../../network/RelayObservable'; diff --git a/packages/relay-runtime/query/fetchQuery.js b/packages/relay-runtime/query/fetchQuery.js index 7729637ca9aee..652725eeb671b 100644 --- a/packages/relay-runtime/query/fetchQuery.js +++ b/packages/relay-runtime/query/fetchQuery.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { @@ -116,10 +114,10 @@ function fetchQuery( environment: IEnvironment, query: Query, variables: TVariables, - options?: $ReadOnly<{| + options?: $ReadOnly<{ fetchPolicy?: FetchQueryFetchPolicy, networkCacheConfig?: CacheConfig, - |}>, + }>, ): RelayObservable { const queryNode = getRequest(query); invariant( diff --git a/packages/relay-runtime/query/fetchQueryInternal.js b/packages/relay-runtime/query/fetchQueryInternal.js index 3c0470d016fb5..ed22413045ecb 100644 --- a/packages/relay-runtime/query/fetchQueryInternal.js +++ b/packages/relay-runtime/query/fetchQueryInternal.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {GraphQLResponse} from '../network/RelayNetworkTypes'; @@ -26,13 +24,13 @@ const RelayFeatureFlags = require('../util/RelayFeatureFlags'); const RelayReplaySubject = require('../util/RelayReplaySubject'); const invariant = require('invariant'); -type RequestCacheEntry = {| +type RequestCacheEntry = { +identifier: RequestIdentifier, +subject: RelayReplaySubject, +subjectForInFlightStatus: RelayReplaySubject, +subscription: Subscription, promise: ?Promise, -|}; +}; const WEAKMAP_SUPPORTED = typeof WeakMap === 'function'; diff --git a/packages/relay-runtime/query/fetchQuery_DEPRECATED.js b/packages/relay-runtime/query/fetchQuery_DEPRECATED.js index c8ecf3764b3dc..c2ab83c282bf1 100644 --- a/packages/relay-runtime/query/fetchQuery_DEPRECATED.js +++ b/packages/relay-runtime/query/fetchQuery_DEPRECATED.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {IEnvironment} from '../store/RelayStoreTypes'; diff --git a/packages/relay-runtime/store/ClientID.js b/packages/relay-runtime/store/ClientID.js index 5ea19e05d6939..a29f8c3fd1796 100644 --- a/packages/relay-runtime/store/ClientID.js +++ b/packages/relay-runtime/store/ClientID.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {DataID} from '../util/RelayRuntimeTypes'; diff --git a/packages/relay-runtime/store/DataChecker.js b/packages/relay-runtime/store/DataChecker.js index 13d35fad20fda..d75697c99f777 100644 --- a/packages/relay-runtime/store/DataChecker.js +++ b/packages/relay-runtime/store/DataChecker.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ActorIdentifier} from '../multi-actor-environment/ActorIdentifier'; @@ -51,10 +49,10 @@ const RelayStoreUtils = require('./RelayStoreUtils'); const {generateTypeID} = require('./TypeID'); const invariant = require('invariant'); -export type Availability = {| +export type Availability = { +status: 'available' | 'missing', +mostRecentlyInvalidatedAt: ?number, -|}; +}; const { ACTOR_CHANGE, diff --git a/packages/relay-runtime/store/OperationExecutor.js b/packages/relay-runtime/store/OperationExecutor.js index 64c85359faf97..83ad93cb5a99a 100644 --- a/packages/relay-runtime/store/OperationExecutor.js +++ b/packages/relay-runtime/store/OperationExecutor.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ActorIdentifier} from '../multi-actor-environment/ActorIdentifier'; @@ -77,7 +75,7 @@ const {ROOT_TYPE, TYPENAME_KEY, getStorageKey} = require('./RelayStoreUtils'); const invariant = require('invariant'); const warning = require('warning'); -export type ExecuteConfig = {| +export type ExecuteConfig = { +actorIdentifier: ActorIdentifier, +getDataID: GetDataID, +getPublishQueue: (actorIdentifier: ActorIdentifier) => PublishQueue, @@ -97,32 +95,32 @@ export type ExecuteConfig = {| +treatMissingFieldsAsNull: boolean, +updater?: ?SelectorStoreUpdater, +log: LogFunction, -|}; +}; export type ActiveState = 'active' | 'inactive'; -export type TaskScheduler = {| +export type TaskScheduler = { +cancel: (id: string) => void, +schedule: (fn: () => void) => string, -|}; +}; type Label = string; type PathKey = string; type IncrementalResults = - | {| + | { +kind: 'placeholder', +placeholder: IncrementalDataPlaceholder, - |} - | {| + } + | { +kind: 'response', +responses: Array, - |}; + }; -type IncrementalGraphQLResponse = {| +type IncrementalGraphQLResponse = { label: string, path: $ReadOnlyArray, response: GraphQLResponseWithData, -|}; +}; function execute( config: ExecuteConfig, @@ -159,7 +157,7 @@ class Executor { _sink: Sink; _source: Map< string, - {|+record: Record, +fieldPayloads: Array|}, + {+record: Record, +fieldPayloads: Array}, >; _state: 'started' | 'loading_incremental' | 'loading_final' | 'completed'; +_getStore: (actorIdentifier: ActorIdentifier) => Store; @@ -1411,14 +1409,14 @@ class Executor { variables: Variables, path: $ReadOnlyArray, normalizationPath: $ReadOnlyArray, - ): {| + ): { fieldPayloads: Array, itemID: DataID, itemIndex: number, prevIDs: Array, relayPayload: RelayResponsePayload, storageKey: string, - |} { + } { const {data} = response; invariant( typeof data === 'object', diff --git a/packages/relay-runtime/store/RelayConcreteVariables.js b/packages/relay-runtime/store/RelayConcreteVariables.js index 1f673c84081c8..fc0114c5a49f6 100644 --- a/packages/relay-runtime/store/RelayConcreteVariables.js +++ b/packages/relay-runtime/store/RelayConcreteVariables.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/relay-runtime/store/RelayModernEnvironment.js b/packages/relay-runtime/store/RelayModernEnvironment.js index 604851bb41e41..213d50bc03ec3 100644 --- a/packages/relay-runtime/store/RelayModernEnvironment.js +++ b/packages/relay-runtime/store/RelayModernEnvironment.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {HandlerProvider} from '../handlers/RelayDefaultHandlerProvider'; @@ -63,7 +61,7 @@ const RelayPublishQueue = require('./RelayPublishQueue'); const RelayRecordSource = require('./RelayRecordSource'); const invariant = require('invariant'); -export type EnvironmentConfig = {| +export type EnvironmentConfig = { +configName?: string, +handlerProvider?: ?HandlerProvider, +treatMissingFieldsAsNull?: boolean, @@ -82,7 +80,7 @@ export type EnvironmentConfig = {| +isServer?: boolean, +requiredFieldLogger?: ?RequiredFieldLogger, +shouldProcessClientComponents?: ?boolean, -|}; +}; class RelayModernEnvironment implements IEnvironment { __log: LogFunction; @@ -337,9 +335,9 @@ class RelayModernEnvironment implements IEnvironment { */ execute({ operation, - }: {| + }: { operation: OperationDescriptor, - |}): RelayObservable { + }): RelayObservable { return this._execute({ createSource: () => this.getNetwork().execute( @@ -366,10 +364,10 @@ class RelayModernEnvironment implements IEnvironment { executeSubscription({ operation, updater, - }: {| + }: { operation: OperationDescriptor, updater?: ?SelectorStoreUpdater, - |}): RelayObservable { + }): RelayObservable { return this._execute({ createSource: () => this.getNetwork().execute( @@ -440,10 +438,10 @@ class RelayModernEnvironment implements IEnvironment { executeWithSource({ operation, source, - }: {| + }: { operation: OperationDescriptor, source: RelayObservable, - |}): RelayObservable { + }): RelayObservable { return this._execute({ createSource: () => source, isClientPayload: false, @@ -463,13 +461,13 @@ class RelayModernEnvironment implements IEnvironment { operation, optimisticConfig, updater, - }: {| + }: { createSource: () => RelayObservable, isClientPayload: boolean, operation: OperationDescriptor, optimisticConfig: ?OptimisticResponseConfig, updater: ?SelectorStoreUpdater, - |}): RelayObservable { + }): RelayObservable { const publishQueue = this._publishQueue; const store = this._store; return RelayObservable.create(sink => { diff --git a/packages/relay-runtime/store/RelayModernFragmentSpecResolver.js b/packages/relay-runtime/store/RelayModernFragmentSpecResolver.js index e03852a72b64f..9368a125a77e1 100644 --- a/packages/relay-runtime/store/RelayModernFragmentSpecResolver.js +++ b/packages/relay-runtime/store/RelayModernFragmentSpecResolver.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ConcreteRequest} from '../util/RelayConcreteNode'; diff --git a/packages/relay-runtime/store/RelayModernOperationDescriptor.js b/packages/relay-runtime/store/RelayModernOperationDescriptor.js index a9c879bc857be..50d636c618c52 100644 --- a/packages/relay-runtime/store/RelayModernOperationDescriptor.js +++ b/packages/relay-runtime/store/RelayModernOperationDescriptor.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ConcreteRequest} from '../util/RelayConcreteNode'; diff --git a/packages/relay-runtime/store/RelayModernRecord.js b/packages/relay-runtime/store/RelayModernRecord.js index 5abe63adc1698..8ccb7bac7e038 100644 --- a/packages/relay-runtime/store/RelayModernRecord.js +++ b/packages/relay-runtime/store/RelayModernRecord.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ActorIdentifier} from '../multi-actor-environment/ActorIdentifier'; diff --git a/packages/relay-runtime/store/RelayModernSelector.js b/packages/relay-runtime/store/RelayModernSelector.js index 35377564de381..52d6a1458d130 100644 --- a/packages/relay-runtime/store/RelayModernSelector.js +++ b/packages/relay-runtime/store/RelayModernSelector.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {NormalizationSelectableNode} from '../util/NormalizationNode'; diff --git a/packages/relay-runtime/store/RelayModernStore.js b/packages/relay-runtime/store/RelayModernStore.js index c516149399c8e..ad8d81520e8c4 100644 --- a/packages/relay-runtime/store/RelayModernStore.js +++ b/packages/relay-runtime/store/RelayModernStore.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {DataID, Disposable} from '../util/RelayRuntimeTypes'; @@ -53,15 +51,15 @@ const {ROOT_ID, ROOT_TYPE} = require('./RelayStoreUtils'); const {RecordResolverCache} = require('./ResolverCache'); const invariant = require('invariant'); -export opaque type InvalidationState = {| +export opaque type InvalidationState = { dataIDs: $ReadOnlyArray, invalidations: Map, -|}; +}; -type InvalidationSubscription = {| +type InvalidationSubscription = { callback: () => void, invalidationState: InvalidationState, -|}; +}; const DEFAULT_RELEASE_BUFFER_SIZE = 10; @@ -96,12 +94,12 @@ class RelayModernStore implements Store { _releaseBuffer: Array; _roots: Map< string, - {| + { operation: OperationDescriptor, refCount: number, epoch: ?number, fetchTime: ?number, - |}, + }, >; _shouldScheduleGC: boolean; _storeSubscriptions: StoreSubscriptions; @@ -110,7 +108,7 @@ class RelayModernStore implements Store { constructor( source: MutableRecordSource, - options?: {| + options?: { gcScheduler?: ?Scheduler, log?: ?LogFunction, operationLoader?: ?OperationLoader, @@ -118,7 +116,7 @@ class RelayModernStore implements Store { gcReleaseBufferSize?: ?number, queryCacheExpirationTime?: ?number, shouldProcessClientComponents?: ?boolean, - |}, + }, ) { // Prevent mutation of a record from outside the store. if (__DEV__) { diff --git a/packages/relay-runtime/store/RelayOperationTracker.js b/packages/relay-runtime/store/RelayOperationTracker.js index 791b83e4debbd..e0439866c0fcd 100644 --- a/packages/relay-runtime/store/RelayOperationTracker.js +++ b/packages/relay-runtime/store/RelayOperationTracker.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RequestDescriptor} from './RelayStoreTypes'; @@ -21,11 +19,11 @@ class RelayOperationTracker { _pendingOperationsToOwners: Map>; _ownersToPendingPromise: Map< string, - {| + { promise: Promise, resolve: () => void, pendingOperations: $ReadOnlyArray, - |}, + }, >; constructor() { @@ -149,10 +147,10 @@ class RelayOperationTracker { this._ownersToPendingPromise.delete(ownerIdentifier); } - getPendingOperationsAffectingOwner(owner: RequestDescriptor): {| + getPendingOperationsAffectingOwner(owner: RequestDescriptor): { promise: Promise, pendingOperations: $ReadOnlyArray, - |} | null { + } | null { const ownerIdentifier = owner.identifier; const pendingOperationsForOwner = this._ownersToPendingOperations.get(ownerIdentifier); diff --git a/packages/relay-runtime/store/RelayOptimisticRecordSource.js b/packages/relay-runtime/store/RelayOptimisticRecordSource.js index a438421753092..a240bed6d9df6 100644 --- a/packages/relay-runtime/store/RelayOptimisticRecordSource.js +++ b/packages/relay-runtime/store/RelayOptimisticRecordSource.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {DataID} from '../util/RelayRuntimeTypes'; diff --git a/packages/relay-runtime/store/RelayPublishQueue.js b/packages/relay-runtime/store/RelayPublishQueue.js index 4bca017676b20..ad0a49d7cda28 100644 --- a/packages/relay-runtime/store/RelayPublishQueue.js +++ b/packages/relay-runtime/store/RelayPublishQueue.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {HandlerProvider} from '../handlers/RelayDefaultHandlerProvider'; @@ -42,20 +40,20 @@ type PendingCommit = | PendingRelayPayload | PendingRecordSource | PendingUpdater; -type PendingRelayPayload = {| +type PendingRelayPayload = { +kind: 'payload', +operation: OperationDescriptor, +payload: RelayResponsePayload, +updater: ?SelectorStoreUpdater, -|}; -type PendingRecordSource = {| +}; +type PendingRecordSource = { +kind: 'source', +source: RecordSource, -|}; -type PendingUpdater = {| +}; +type PendingUpdater = { +kind: 'updater', +updater: StoreUpdater, -|}; +}; const _global: typeof global | $FlowFixMe = typeof global !== 'undefined' diff --git a/packages/relay-runtime/store/RelayReader.js b/packages/relay-runtime/store/RelayReader.js index fccd751a5d34b..1f7e2d52badae 100644 --- a/packages/relay-runtime/store/RelayReader.js +++ b/packages/relay-runtime/store/RelayReader.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/relay-runtime/store/RelayRecordSource.js b/packages/relay-runtime/store/RelayRecordSource.js index f46c6dad64f92..5ed4aa27dcfae 100644 --- a/packages/relay-runtime/store/RelayRecordSource.js +++ b/packages/relay-runtime/store/RelayRecordSource.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {DataID} from '../util/RelayRuntimeTypes'; diff --git a/packages/relay-runtime/store/RelayRecordState.js b/packages/relay-runtime/store/RelayRecordState.js index b9bd71f5df629..7c1e98c391275 100644 --- a/packages/relay-runtime/store/RelayRecordState.js +++ b/packages/relay-runtime/store/RelayRecordState.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; export type RecordState = $Keys; diff --git a/packages/relay-runtime/store/RelayReferenceMarker.js b/packages/relay-runtime/store/RelayReferenceMarker.js index 988602df8f93f..5f33288430b3d 100644 --- a/packages/relay-runtime/store/RelayReferenceMarker.js +++ b/packages/relay-runtime/store/RelayReferenceMarker.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/relay-runtime/store/RelayResponseNormalizer.js b/packages/relay-runtime/store/RelayResponseNormalizer.js index 9e3ade0187cce..66e954cd2b1ae 100644 --- a/packages/relay-runtime/store/RelayResponseNormalizer.js +++ b/packages/relay-runtime/store/RelayResponseNormalizer.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ActorIdentifier} from '../multi-actor-environment/ActorIdentifier'; @@ -90,7 +88,7 @@ export type GetDataID = ( typeName: string, ) => mixed; -export type NormalizationOptions = {| +export type NormalizationOptions = { +getDataID: GetDataID, +treatMissingFieldsAsNull: boolean, +path?: $ReadOnlyArray, @@ -98,7 +96,7 @@ export type NormalizationOptions = {| +reactFlightServerErrorHandler?: ?ReactFlightServerErrorHandler, +shouldProcessClientComponents?: ?boolean, +actorIdentifier?: ?ActorIdentifier, -|}; +}; /** * Normalizes the results of a query and standard GraphQL response, writing the diff --git a/packages/relay-runtime/store/RelayStoreReactFlightUtils.js b/packages/relay-runtime/store/RelayStoreReactFlightUtils.js index 1dbf8a25ed855..179b945c8a92c 100644 --- a/packages/relay-runtime/store/RelayStoreReactFlightUtils.js +++ b/packages/relay-runtime/store/RelayStoreReactFlightUtils.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ReactFlightPayloadData} from '../network/RelayNetworkTypes'; diff --git a/packages/relay-runtime/store/RelayStoreSubscriptions.js b/packages/relay-runtime/store/RelayStoreSubscriptions.js index fa6cb8c5ac460..6b0450a8a28e6 100644 --- a/packages/relay-runtime/store/RelayStoreSubscriptions.js +++ b/packages/relay-runtime/store/RelayStoreSubscriptions.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {Disposable} from '../util/RelayRuntimeTypes'; @@ -30,12 +28,12 @@ const RelayFeatureFlags = require('../util/RelayFeatureFlags'); const hasOverlappingIDs = require('./hasOverlappingIDs'); const RelayReader = require('./RelayReader'); -type Subscription = {| +type Subscription = { callback: (snapshot: Snapshot) => void, snapshot: Snapshot, stale: boolean, backup: ?Snapshot, -|}; +}; class RelayStoreSubscriptions implements StoreSubscriptions { _subscriptions: Set; diff --git a/packages/relay-runtime/store/RelayStoreTypes.js b/packages/relay-runtime/store/RelayStoreTypes.js index bea7163afe51b..a5a5ea9e6df6c 100644 --- a/packages/relay-runtime/store/RelayStoreTypes.js +++ b/packages/relay-runtime/store/RelayStoreTypes.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { @@ -58,11 +56,11 @@ import type {RecordState} from './RelayRecordState'; export opaque type FragmentType = empty; export type OperationTracker = RelayOperationTracker; -export type MutationParameters = {| +export type MutationParameters = { +response: {...}, +variables: {...}, +rawResponse?: {...}, -|}; +}; /* * An individual cached graph object. @@ -81,7 +79,7 @@ export type FragmentMap = {[key: string]: ReaderFragment, ...}; */ export type SelectorData = {[key: string]: mixed, ...}; -export type SingularReaderSelector = {| +export type SingularReaderSelector = { +kind: 'SingularReaderSelector', +dataID: DataID, +isWithinUnmatchedTypeRefinement: boolean, @@ -89,71 +87,71 @@ export type SingularReaderSelector = {| +node: ReaderFragment, +owner: RequestDescriptor, +variables: Variables, -|}; +}; export type ReaderSelector = SingularReaderSelector | PluralReaderSelector; -export type PluralReaderSelector = {| +export type PluralReaderSelector = { +kind: 'PluralReaderSelector', +selectors: $ReadOnlyArray, -|}; +}; -export type RequestDescriptor = {| +export type RequestDescriptor = { +identifier: RequestIdentifier, +node: ConcreteRequest, +variables: Variables, +cacheConfig: ?CacheConfig, -|}; +}; /** * A selector defines the starting point for a traversal into the graph for the * purposes of targeting a subgraph. */ -export type NormalizationSelector = {| +export type NormalizationSelector = { +dataID: DataID, +node: NormalizationSelectableNode, +variables: Variables, -|}; +}; -type FieldLocation = {| +type FieldLocation = { path: string, owner: string, -|}; +}; export type MissingRequiredFields = $ReadOnly< - | {|action: 'THROW', field: FieldLocation|} - | {|action: 'LOG', fields: Array|}, + | {action: 'THROW', field: FieldLocation} + | {action: 'LOG', fields: Array}, >; -export type ClientEdgeTraversalInfo = {| +export type ClientEdgeTraversalInfo = { +readerClientEdge: ReaderClientEdgeToServerObject, +clientEdgeDestinationID: DataID, -|}; +}; export type ClientEdgeTraversalPath = $ReadOnlyArray; -export type MissingClientEdgeRequestInfo = {| +export type MissingClientEdgeRequestInfo = { +request: ConcreteRequest, +clientEdgeDestinationID: DataID, -|}; +}; -export type RelayResolverError = {| +export type RelayResolverError = { field: FieldLocation, error: Error, -|}; +}; export type RelayResolverErrors = Array; -export type MissingLiveResolverField = {| +export type MissingLiveResolverField = { +path: string, +liveStateID: DataID, -|}; +}; /** * A representation of a selector and its results at a particular point in time. */ -export type Snapshot = {| +export type Snapshot = { +data: ?SelectorData, +isMissingData: boolean, +missingLiveResolverFields?: $ReadOnlyArray, @@ -162,7 +160,7 @@ export type Snapshot = {| +selector: SingularReaderSelector, +missingRequiredFields: ?MissingRequiredFields, +relayResolverErrors: RelayResolverErrors, -|}; +}; /** * An operation selector describes a specific instance of a GraphQL operation @@ -173,11 +171,11 @@ export type Snapshot = {| * - `fragment`: a selector intended for use in reading or subscribing to * the results of the the operation. */ -export type OperationDescriptor = {| +export type OperationDescriptor = { +fragment: SingularReaderSelector, +request: RequestDescriptor, +root: NormalizationSelector, -|}; +}; /** * Arbitrary data e.g. received by a container as props. @@ -188,12 +186,12 @@ export type Props = {[key: string]: mixed, ...}; * The type of the `relay` property set on React context by the React/Relay * integration layer (e.g. QueryRenderer, FragmentContainer, etc). */ -export type RelayContext = {| +export type RelayContext = { environment: IEnvironment, getEnvironmentForActor?: ?( actorIdentifier: ActorIdentifier, ) => IActorEnvironment, -|}; +}; /** * The results of reading the results of a FragmentMap given some input @@ -264,17 +262,17 @@ export interface MutableRecordSource extends RecordSource { set(dataID: DataID, record: Record): void; } -export type CheckOptions = {| +export type CheckOptions = { handlers: $ReadOnlyArray, defaultActorIdentifier: ActorIdentifier, getTargetForActor: (actorIdentifier: ActorIdentifier) => MutableRecordSource, getSourceForActor: (actorIdentifier: ActorIdentifier) => RecordSource, -|}; +}; export type OperationAvailability = - | {|status: 'available', fetchTime: ?number|} - | {|status: 'stale'|} - | {|status: 'missing'|}; + | {status: 'available', fetchTime: ?number} + | {status: 'stale'} + | {status: 'missing'}; export type {InvalidationState} from './RelayModernStore'; @@ -485,9 +483,9 @@ export type HasUpdatableSpread = { * The return type of calls to readUpdatableQuery_EXPERIMENTAL and * readUpdatableFragment_EXPERIMENTAL. */ -export type UpdatableData = {| +export type UpdatableData = { +updatableData: TData, -|}; +}; /** * An interface for imperatively getting/setting properties of a `RecordSource`. This interface @@ -527,7 +525,7 @@ export interface RecordSourceSelectorProxy extends RecordSourceProxy { } export type LogEvent = - | {| + | { +name: 'suspense.fragment', +data: mixed, +fragment: ReaderFragment, @@ -535,16 +533,16 @@ export type LogEvent = +isMissingData: boolean, +isPromiseCached: boolean, +pendingOperations: $ReadOnlyArray, - |} - | {| + } + | { +name: 'suspense.query', +fetchPolicy: string, +isPromiseCached: boolean, +operation: OperationDescriptor, +queryAvailability: ?OperationAvailability, +renderPolicy: RenderPolicy, - |} - | {| + } + | { +name: 'queryresource.fetch', // ID of this query resource request and will be the same // if there is an associated queryresource.retain event. @@ -558,113 +556,113 @@ export type LogEvent = +renderPolicy: RenderPolicy, +queryAvailability: OperationAvailability, +shouldFetch: boolean, - |} - | {| + } + | { +name: 'queryresource.retain', +resourceID: number, // value from ProfilerContext +profilerContext: mixed, - |} - | {| + } + | { +name: 'network.info', +networkRequestId: number, +info: mixed, - |} - | {| + } + | { +name: 'network.start', +networkRequestId: number, +params: RequestParameters, +variables: Variables, +cacheConfig: CacheConfig, - |} - | {| + } + | { +name: 'network.next', +networkRequestId: number, +response: GraphQLResponse, - |} - | {| + } + | { +name: 'network.error', +networkRequestId: number, +error: Error, - |} - | {| + } + | { +name: 'network.complete', +networkRequestId: number, - |} - | {| + } + | { +name: 'network.unsubscribe', +networkRequestId: number, - |} - | {| + } + | { +name: 'execute.start', +executeId: number, +params: RequestParameters, +variables: Variables, +cacheConfig: CacheConfig, - |} - | {| + } + | { +name: 'execute.next', +executeId: number, +response: GraphQLResponse, +duration: number, - |} - | {| + } + | { +name: 'execute.async.module', +executeId: number, +operationName: string, +duration: number, - |} - | {| + } + | { +name: 'execute.flight.payload_deserialize', +executeId: number, +operationName: string, +duration: number, - |} - | {| + } + | { +name: 'execute.error', +executeId: number, +error: Error, - |} - | {| + } + | { +name: 'execute.complete', +executeId: number, - |} - | {| + } + | { +name: 'store.publish', +source: RecordSource, +optimistic: boolean, - |} - | {| + } + | { +name: 'store.snapshot', - |} - | {| + } + | { +name: 'store.restore', - |} - | {| + } + | { +name: 'store.gc', +references: DataIDSet, - |} - | {| + } + | { +name: 'store.notify.start', +sourceOperation: ?OperationDescriptor, - |} - | {| + } + | { +name: 'store.notify.complete', +sourceOperation: ?OperationDescriptor, +updatedRecordIDs: DataIDSet, +invalidatedRecordIDs: DataIDSet, - |} - | {| + } + | { +name: 'store.notify.subscription', +sourceOperation: ?OperationDescriptor, +snapshot: Snapshot, +nextSnapshot: Snapshot, - |} - | {| + } + | { +name: 'entrypoint.root.consume', +profilerContext: mixed, +rootModuleID: string, - |}; + }; export type LogFunction = LogEvent => void; export type LogRequestInfoFunction = mixed => void; @@ -788,9 +786,9 @@ export interface IEnvironment { * Note: Observables are lazy, so calling this method will do nothing until * the result is subscribed to: environment.execute({...}).subscribe({...}). */ - execute(config: {| + execute(config: { operation: OperationDescriptor, - |}): RelayObservable; + }): RelayObservable; /** * Send a subscription to the server with Observer semantics: one or more @@ -803,10 +801,10 @@ export interface IEnvironment { * Note: Observables are lazy, so calling this method will do nothing until * the result is subscribed to: environment.executeSubscription({...}).subscribe({...}). */ - executeSubscription(config: {| + executeSubscription(config: { operation: OperationDescriptor, updater?: ?SelectorStoreUpdater, - |}): RelayObservable; + }): RelayObservable; /** * Returns an Observable of GraphQLResponse resulting from executing the @@ -831,10 +829,10 @@ export interface IEnvironment { * the result is subscribed to: * environment.executeWithSource({...}).subscribe({...}). */ - executeWithSource({| + executeWithSource({ operation: OperationDescriptor, source: RelayObservable, - |}): RelayObservable; + }): RelayObservable; /** * Returns true if a request is currently "active", meaning it's currently @@ -889,7 +887,7 @@ export type Handler = { * A payload that is used to initialize or update a "handle" field with * information from the server. */ -export type HandleFieldPayload = {| +export type HandleFieldPayload = { // The arguments that were fetched. +args: Variables, // The __id of the record containing the source/handle field. @@ -903,7 +901,7 @@ export type HandleFieldPayload = {| +handleKey: string, // The arguments applied to the handle +handleArgs: Variables, -|}; +}; /** * A payload that represents data necessary to process the results of an object @@ -937,7 +935,7 @@ export type HandleFieldPayload = {| * because the query data isn't relative to the parent record–it's * root data. */ -export type ModuleImportPayload = {| +export type ModuleImportPayload = { +kind: 'ModuleImportPayload', +args: ?$ReadOnlyArray, +data: PayloadData, @@ -947,7 +945,7 @@ export type ModuleImportPayload = {| +typeName: string, +variables: Variables, +actorIdentifier: ?ActorIdentifier, -|}; +}; /** * A payload that represents data necessary to process the results of an object @@ -964,7 +962,7 @@ export type ModuleImportPayload = {| * which can in turn be used to normalize and publish the data. The dataID and * typeName can also be used to construct a root record for normalization. */ -export type ActorPayload = {| +export type ActorPayload = { +kind: 'ActorPayload', +data: PayloadData, +dataID: DataID, @@ -973,7 +971,7 @@ export type ActorPayload = {| +typeName: string, +variables: Variables, +actorIdentifier: ActorIdentifier, -|}; +}; /** * Union type of possible payload followups we may handle during normalization. @@ -985,7 +983,7 @@ export type FollowupPayload = ModuleImportPayload | ActorPayload; * that describes how to process the corresponding response chunk when it * arrives. */ -export type DeferPlaceholder = {| +export type DeferPlaceholder = { +kind: 'defer', +data: PayloadData, +label: string, @@ -993,8 +991,8 @@ export type DeferPlaceholder = {| +selector: NormalizationSelector, +typeName: string, +actorIdentifier: ?ActorIdentifier, -|}; -export type StreamPlaceholder = {| +}; +export type StreamPlaceholder = { +kind: 'stream', +label: string, +path: $ReadOnlyArray, @@ -1002,7 +1000,7 @@ export type StreamPlaceholder = {| +node: NormalizationSelectableNode, +variables: Variables, +actorIdentifier: ?ActorIdentifier, -|}; +}; export type IncrementalDataPlaceholder = DeferPlaceholder | StreamPlaceholder; /** @@ -1011,7 +1009,7 @@ export type IncrementalDataPlaceholder = DeferPlaceholder | StreamPlaceholder; * reference is left to the application, but it must be a plain JavaScript value * (string, number, or object/array of same). */ -export type OperationLoader = {| +export type OperationLoader = { /** * Synchronously load an operation, returning either the node or null if it * cannot be resolved synchronously. @@ -1022,7 +1020,7 @@ export type OperationLoader = {| * Asynchronously load an operation. */ load(reference: mixed): Promise, -|}; +}; /** * A function that receives a proxy over the store and may trigger side-effects @@ -1048,28 +1046,28 @@ export type OptimisticUpdate = | OptimisticUpdateFunction | OptimisticUpdateRelayPayload; -export type OptimisticUpdateFunction = {| +export type OptimisticUpdateFunction = { +storeUpdater: StoreUpdater, -|}; +}; -export type OptimisticUpdateRelayPayload = {| +export type OptimisticUpdateRelayPayload = { +operation: OperationDescriptor, +payload: RelayResponsePayload, +updater: ?SelectorStoreUpdater, -|}; +}; -export type OptimisticResponseConfig = {| +export type OptimisticResponseConfig = { +operation: OperationDescriptor, +response: ?PayloadData, +updater: ?SelectorStoreUpdater, -|}; +}; /** * A set of handlers that can be used to provide substitute data for missing * fields when reading a selector from a source. */ export type MissingFieldHandler = - | {| + | { kind: 'scalar', handle: ( field: NormalizationScalarField, @@ -1077,8 +1075,8 @@ export type MissingFieldHandler = args: Variables, store: ReadOnlyRecordSourceProxy, ) => mixed, - |} - | {| + } + | { kind: 'linked', handle: ( field: NormalizationLinkedField, @@ -1086,8 +1084,8 @@ export type MissingFieldHandler = args: Variables, store: ReadOnlyRecordSourceProxy, ) => ?DataID, - |} - | {| + } + | { kind: 'pluralLinked', handle: ( field: NormalizationLinkedField, @@ -1095,53 +1093,53 @@ export type MissingFieldHandler = args: Variables, store: ReadOnlyRecordSourceProxy, ) => ?Array, - |}; + }; /** * A handler for events related to @required fields. Currently reports missing * fields with either `action: LOG` or `action: THROW`. */ export type RequiredFieldLogger = ( - | {| + | { +kind: 'missing_field.log', +owner: string, +fieldPath: string, - |} - | {| + } + | { +kind: 'missing_field.throw', +owner: string, +fieldPath: string, - |} - | {| + } + | { +kind: 'relay_resolver.error', +owner: string, +fieldPath: string, +error: Error, - |}, + }, ) => void; /** * The results of normalizing a query. */ -export type RelayResponsePayload = {| +export type RelayResponsePayload = { +errors: ?Array, +fieldPayloads: ?Array, +incrementalPlaceholders: ?Array, +followupPayloads: ?Array, +source: MutableRecordSource, +isFinal: boolean, -|}; +}; /** * Configuration on the executeMutation(...). */ -export type ExecuteMutationConfig = {| +export type ExecuteMutationConfig = { operation: OperationDescriptor, optimisticUpdater?: ?SelectorStoreUpdater, optimisticResponse?: ?Object, updater?: ?SelectorStoreUpdater, uploadables?: ?UploadableMap, -|}; +}; /** * Public interface for Publish Queue. @@ -1202,10 +1200,10 @@ export interface PublishQueue { */ export type ReactFlightClientResponse = {readRoot: () => mixed, ...}; -export type ReactFlightReachableExecutableDefinitions = {| +export type ReactFlightReachableExecutableDefinitions = { +module: mixed, +variables: Variables, -|}; +}; /** * A user-supplied function that takes a ReactFlightServerTree diff --git a/packages/relay-runtime/store/RelayStoreUtils.js b/packages/relay-runtime/store/RelayStoreUtils.js index 5269482788ffa..7f173b556c232 100644 --- a/packages/relay-runtime/store/RelayStoreUtils.js +++ b/packages/relay-runtime/store/RelayStoreUtils.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/relay-runtime/store/ResolverCache.js b/packages/relay-runtime/store/ResolverCache.js index 0ccf0cb0b6f39..f8706eb82e094 100644 --- a/packages/relay-runtime/store/ResolverCache.js +++ b/packages/relay-runtime/store/ResolverCache.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { @@ -41,17 +39,17 @@ const warning = require('warning'); type ResolverID = string; -export type EvaluationResult = {| +export type EvaluationResult = { resolverResult: ?T, resolverID: ResolverID, snapshot: ?Snapshot, error: ?RelayResolverError, -|}; +}; -export type ResolverFragmentResult = {| +export type ResolverFragmentResult = { data: mixed, isMissingData: boolean, -|}; +}; export type GetDataForResolverFragmentFn = SingularReaderSelector => ResolverFragmentResult; diff --git a/packages/relay-runtime/store/ResolverFragments.js b/packages/relay-runtime/store/ResolverFragments.js index b7be4ead8b5f9..30f5d9bda10e2 100644 --- a/packages/relay-runtime/store/ResolverFragments.js +++ b/packages/relay-runtime/store/ResolverFragments.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {GraphQLTaggedNode} from '../query/GraphQLTag'; @@ -24,12 +22,12 @@ const invariant = require('invariant'); // `readFragment`, but that's a global function -- it needs information // about what resolver is being executed, which is supplied by putting the // info on this stack before we call the resolver function. -type ResolverContext = {| +type ResolverContext = { getDataForResolverFragment: ( SingularReaderSelector, FragmentType, ) => ResolverFragmentResult, -|}; +}; const contextStack: Array = []; function withResolverContext(context: ResolverContext, cb: () => T): T { diff --git a/packages/relay-runtime/store/StoreInspector.js b/packages/relay-runtime/store/StoreInspector.js index 488bcc477f5ae..c24f7a567d391 100644 --- a/packages/relay-runtime/store/StoreInspector.js +++ b/packages/relay-runtime/store/StoreInspector.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {IEnvironment, RecordSource} from '../store/RelayStoreTypes'; diff --git a/packages/relay-runtime/store/TypeID.js b/packages/relay-runtime/store/TypeID.js index f7e6ecefcb755..cf8f3dd8a1b73 100644 --- a/packages/relay-runtime/store/TypeID.js +++ b/packages/relay-runtime/store/TypeID.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {DataID} from '../util/RelayRuntimeTypes'; diff --git a/packages/relay-runtime/store/ViewerPattern.js b/packages/relay-runtime/store/ViewerPattern.js index 0d42a4d171742..6728ea1cf51d4 100644 --- a/packages/relay-runtime/store/ViewerPattern.js +++ b/packages/relay-runtime/store/ViewerPattern.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {DataID} from '../util/RelayRuntimeTypes'; diff --git a/packages/relay-runtime/store/__tests__/ClientID-test.js b/packages/relay-runtime/store/__tests__/ClientID-test.js index 406af8d4469c3..c19a9c3e8193d 100644 --- a/packages/relay-runtime/store/__tests__/ClientID-test.js +++ b/packages/relay-runtime/store/__tests__/ClientID-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const { diff --git a/packages/relay-runtime/store/__tests__/DataChecker-test.js b/packages/relay-runtime/store/__tests__/DataChecker-test.js index 6120488f5710e..56c8ec4c16501 100644 --- a/packages/relay-runtime/store/__tests__/DataChecker-test.js +++ b/packages/relay-runtime/store/__tests__/DataChecker-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ApplyMutation-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ApplyMutation-test.js index b4dbd08e62392..b7e68558445fc 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ApplyMutation-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ApplyMutation-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const { diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ApplyUpdate-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ApplyUpdate-test.js index 102da10ee74a2..84c42469d6962 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ApplyUpdate-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ApplyUpdate-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RecordSourceProxy} from 'relay-runtime/store/RelayStoreTypes'; diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Check-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Check-test.js index f135f8cebac91..2bc185de464e5 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Check-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Check-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const { diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-CheckWithGlobalInvalidation-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-CheckWithGlobalInvalidation-test.js index 45f83c7ae85e5..d77b50e546a2c 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-CheckWithGlobalInvalidation-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-CheckWithGlobalInvalidation-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RequestParameters} from 'relay-runtime/util/RelayConcreteNode'; import type { diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-CheckWithLocalInvalidation-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-CheckWithLocalInvalidation-test.js index 2ba977beb5f3e..2bb11aeb96f99 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-CheckWithLocalInvalidation-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-CheckWithLocalInvalidation-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RequestParameters} from 'relay-runtime/util/RelayConcreteNode'; import type { diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-CommitPayload-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-CommitPayload-test.js index 1852b7907cf54..7a3410b5c26ac 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-CommitPayload-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-CommitPayload-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const { diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-CommitUpdate-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-CommitUpdate-test.js index 749726c22b2ed..6ea4ae1549022 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-CommitUpdate-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-CommitUpdate-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const { diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ConditionalSelections-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ConditionalSelections-test.js index ed8d61bd5f8e3..81c2a3a81a0d4 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ConditionalSelections-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ConditionalSelections-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {OperationDescriptor} from 'relay-runtime/store/RelayStoreTypes'; diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Connection-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Connection-test.js index ec33ff13f4126..846722c662908 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Connection-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Connection-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const { diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ConnectionAndRequired-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ConnectionAndRequired-test.js index eaf677d33d5a4..70b1451e41dcf 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ConnectionAndRequired-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ConnectionAndRequired-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const { diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-DynamicConnectionKey-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-DynamicConnectionKey-test.js index 5d8224bcac100..e9185ddd4ed00 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-DynamicConnectionKey-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-DynamicConnectionKey-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const { diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutation-WithLocalInvalidation-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutation-WithLocalInvalidation-test.js index 81fdae009ddf7..104fed09569c3 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutation-WithLocalInvalidation-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutation-WithLocalInvalidation-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const { diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutation-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutation-test.js index 4190916818187..c7ff23d7a734a 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutation-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutation-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const { diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutationWithDeclarativeMutation-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutationWithDeclarativeMutation-test.js index 83e47b916e0d9..3fc89992dcbaa 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutationWithDeclarativeMutation-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutationWithDeclarativeMutation-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const { diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutationWithFlight-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutationWithFlight-test.js index 72d4ddaf731ed..d9f66654bfa12 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutationWithFlight-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutationWithFlight-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RequestParameters} from 'relay-runtime/util/RelayConcreteNode'; diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutationWithGlobalInvalidation-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutationWithGlobalInvalidation-test.js index 42c4e15d35abe..8a38b908280a1 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutationWithGlobalInvalidation-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutationWithGlobalInvalidation-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const RelayNetwork = require('../../network/RelayNetwork'); diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutationWithMatch-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutationWithMatch-test.js index c406b8af8a0eb..3ca2a2e1e57bd 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutationWithMatch-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutationWithMatch-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {NormalizationRootNode} from '../../util/NormalizationNode'; @@ -67,10 +65,10 @@ describe.each(['RelayModernEnvironment', 'MultiActorEnvironment'])( let commentQuery; let queryOperation; let operationCallback; - let operationLoader: {| + let operationLoader: { get: JestMockFn<$ReadOnlyArray, ?NormalizationRootNode>, load: JestMockFn<$ReadOnlyArray, Promise>, - |}; + }; let resolveFragment; let source; let store; diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteSubscription-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteSubscription-test.js index 3129e380a2159..3b7690383d1a7 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteSubscription-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteSubscription-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const RelayNetwork = require('../../network/RelayNetwork'); diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteSubscriptionWithDefer-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteSubscriptionWithDefer-test.js index f06955e986860..08fec7379be76 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteSubscriptionWithDefer-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteSubscriptionWithDefer-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { HandleFieldPayload, diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteSubscriptionWithMatch-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteSubscriptionWithMatch-test.js index 12bca25b06994..807c4e5fc9807 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteSubscriptionWithMatch-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteSubscriptionWithMatch-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {NormalizationRootNode} from '../../util/NormalizationNode'; @@ -64,13 +62,13 @@ describe.each(['RelayModernEnvironment', 'MultiActorEnvironment'])( let commentQuery; let queryOperation; let operationCallback; - let operationLoader: {| + let operationLoader: { get: JestMockFn<$ReadOnlyArray, ?NormalizationRootNode>, load: JestMockFn< $ReadOnlyArray, Promise, >, - |}; + }; let resolveFragment; let source; let store; diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteSubscriptionWithStream-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteSubscriptionWithStream-test.js index 411381bd1e783..2004dc0a6f671 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteSubscriptionWithStream-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteSubscriptionWithStream-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { HandleFieldPayload, diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithDefer-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithDefer-test.js index bc889ef11c9a8..e8a6e7e168877 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithDefer-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithDefer-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { HandleFieldPayload, diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithDeferAndModule-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithDeferAndModule-test.js index d714b136399c7..8943b4d8b6b8b 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithDeferAndModule-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithDeferAndModule-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {IActorEnvironment} from '../../multi-actor-environment/MultiActorEnvironmentTypes'; import type {NormalizationRootNode} from '../../util/NormalizationNode'; @@ -53,10 +51,10 @@ describe.each(['RelayModernEnvironment', 'MultiActorEnvironment'])( let fragment; let next; let operation; - let operationLoader: {| + let operationLoader: { get: (reference: mixed) => ?NormalizationRootNode, load: JestMockFn<$ReadOnlyArray, Promise>, - |}; + }; let operationCallback; let query; let resolveFragment; diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithDeferWithinModule-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithDeferWithinModule-test.js index 73f08507bf3ba..3c2e420bd0068 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithDeferWithinModule-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithDeferWithinModule-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { @@ -93,10 +91,10 @@ describe.each(['RelayModernEnvironment', 'MultiActorEnvironment'])( let fragment; let next; let operation; - let operationLoader: {| + let operationLoader: { get: JestMockFn<$ReadOnlyArray, ?NormalizationRootNode>, load: JestMockFn<$ReadOnlyArray, Promise>, - |}; + }; let query; let resolveFragment; let source; diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithDeferredStreamedConnection-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithDeferredStreamedConnection-test.js index a14573cda042f..79cb961e67795 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithDeferredStreamedConnection-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithDeferredStreamedConnection-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { HandleFieldPayload, diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithFlight-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithFlight-test.js index a0bfda9bc3a25..31a7011966a95 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithFlight-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithFlight-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RequestParameters} from 'relay-runtime/util/RelayConcreteNode'; import type { diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithFlightAndClientFragment-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithFlightAndClientFragment-test.js index 3942533f19a7d..cda4b0553c387 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithFlightAndClientFragment-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithFlightAndClientFragment-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RequestParameters} from 'relay-runtime/util/RelayConcreteNode'; diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithHandlerAndUpdater-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithHandlerAndUpdater-test.js index d71808b9183e4..695425643d46a 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithHandlerAndUpdater-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithHandlerAndUpdater-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { HandleFieldPayload, diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithMatch-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithMatch-test.js index f37fd36430785..1cfed25426942 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithMatch-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithMatch-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {NormalizationRootNode} from '../../util/NormalizationNode'; @@ -43,13 +41,13 @@ const { disallowWarnings(); describe('execute() a query with @match', () => { - let callbacks: {| + let callbacks: { +complete: JestMockFn<$ReadOnlyArray, mixed>, +error: JestMockFn<$ReadOnlyArray, mixed>, +next: JestMockFn<$ReadOnlyArray, mixed>, +start?: JestMockFn<$ReadOnlyArray, mixed>, +unsubscribe?: JestMockFn<$ReadOnlyArray, mixed>, - |}; + }; let complete; let dataSource; let environment; @@ -61,10 +59,10 @@ describe('execute() a query with @match', () => { let next; let operation; let operationCallback; - let operationLoader: {| + let operationLoader: { get: (reference: mixed) => ?NormalizationRootNode, load: JestMockFn<$ReadOnlyArray, Promise>, - |}; + }; let query; let resolveFragment; let source; diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithMatchAdditionalArguments-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithMatchAdditionalArguments-test.js index 879cacf2ac0d2..a7f58bd456fee 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithMatchAdditionalArguments-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithMatchAdditionalArguments-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {NormalizationRootNode} from '../../util/NormalizationNode'; @@ -43,13 +41,13 @@ const { disallowWarnings(); describe('execute() a query with @match with additional arguments', () => { - let callbacks: {| + let callbacks: { +complete: JestMockFn<$ReadOnlyArray, mixed>, +error: JestMockFn<$ReadOnlyArray, mixed>, +next: JestMockFn<$ReadOnlyArray, mixed>, +start?: JestMockFn<$ReadOnlyArray, mixed>, +unsubscribe?: JestMockFn<$ReadOnlyArray, mixed>, - |}; + }; let complete; let dataSource; let environment; @@ -61,10 +59,10 @@ describe('execute() a query with @match with additional arguments', () => { let next; let operation; let operationCallback; - let operationLoader: {| + let operationLoader: { get: (reference: mixed) => ?NormalizationRootNode, load: JestMockFn<$ReadOnlyArray, Promise>, - |}; + }; let query; let resolveFragment; let source; diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithModule-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithModule-test.js index 6d8f79fa0f35f..c569eb0c62884 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithModule-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithModule-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {NormalizationRootNode} from '../../util/NormalizationNode'; import type { @@ -42,13 +40,13 @@ const { disallowWarnings(); describe('execute() a query with @module', () => { - let callbacks: {| + let callbacks: { +complete: JestMockFn<$ReadOnlyArray, mixed>, +error: JestMockFn<$ReadOnlyArray, mixed>, +next: JestMockFn<$ReadOnlyArray, mixed>, +start?: JestMockFn<$ReadOnlyArray, mixed>, +unsubscribe?: JestMockFn<$ReadOnlyArray, mixed>, - |}; + }; let complete; let dataSource; let environment; @@ -60,10 +58,10 @@ describe('execute() a query with @module', () => { let next; let operation; let operationCallback; - let operationLoader: {| + let operationLoader: { get: (reference: mixed) => ?NormalizationRootNode, load: JestMockFn<$ReadOnlyArray, Promise>, - |}; + }; let query; let resolveFragment; let source; diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithModuleOnConcreteField-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithModuleOnConcreteField-test.js index c671d5a4aba2a..a0309af170778 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithModuleOnConcreteField-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithModuleOnConcreteField-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {NormalizationRootNode} from '../../util/NormalizationNode'; @@ -47,10 +45,10 @@ describe('execute() a query with @module on a field with a nullable concrete typ let next; let operation; let operationCallback; - let operationLoader: {| + let operationLoader: { get: (reference: mixed) => ?NormalizationRootNode, load: JestMockFn<$ReadOnlyArray, Promise>, - |}; + }; let query; let resolveFragment; let source; diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithModuleWithKey-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithModuleWithKey-test.js index 8ed10b1e64228..ed21184b38283 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithModuleWithKey-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithModuleWithKey-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {NormalizationRootNode} from '../../util/NormalizationNode'; @@ -43,13 +41,13 @@ const { disallowWarnings(); describe('execute() a query with @module', () => { - let callbacks: {| + let callbacks: { +complete: JestMockFn<$ReadOnlyArray, mixed>, +error: JestMockFn<$ReadOnlyArray, mixed>, +next: JestMockFn<$ReadOnlyArray, mixed>, +start?: JestMockFn<$ReadOnlyArray, mixed>, +unsubscribe?: JestMockFn<$ReadOnlyArray, mixed>, - |}; + }; let complete; let dataSource; let environment; @@ -60,10 +58,10 @@ describe('execute() a query with @module', () => { let next; let operation; let operationCallback; - let operationLoader: {| + let operationLoader: { get: (reference: mixed) => ?NormalizationRootNode, load: JestMockFn<$ReadOnlyArray, Promise>, - |}; + }; let query; let resolveFragment; let source; diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithNestedMatch-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithNestedMatch-test.js index d9539340e30e4..fe3c28d00ea6d 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithNestedMatch-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithNestedMatch-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {NormalizationRootNode} from '../../util/NormalizationNode'; @@ -43,13 +41,13 @@ const { disallowWarnings(); describe('execute() a query with nested @match', () => { - let callbacks: {| + let callbacks: { +complete: JestMockFn<$ReadOnlyArray, mixed>, +error: JestMockFn<$ReadOnlyArray, mixed>, +next: JestMockFn<$ReadOnlyArray, mixed>, +start?: JestMockFn<$ReadOnlyArray, mixed>, +unsubscribe?: JestMockFn<$ReadOnlyArray, mixed>, - |}; + }; let complete; let dataSource; let environment; @@ -60,10 +58,10 @@ describe('execute() a query with nested @match', () => { let next; let operation; let operationCallback; - let operationLoader: {| + let operationLoader: { get: (reference: mixed) => ?NormalizationRootNode, load: JestMockFn<$ReadOnlyArray, Promise>, - |}; + }; let plaintextRendererFragment; let plaintextRendererNormalizationFragment; let query; diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithNestedStream-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithNestedStream-test.js index d8624ab81a085..d2cd990d4475e 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithNestedStream-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithNestedStream-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { HandleFieldPayload, diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithObservableNetwork-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithObservableNetwork-test.js index 942b8e9925dd7..84b4de6038638 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithObservableNetwork-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithObservableNetwork-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const { diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithOptimisticResponse-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithOptimisticResponse-test.js index 7a9fc38f76b1b..95d14d3afcf66 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithOptimisticResponse-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithOptimisticResponse-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { RelayModernEnvironmentExecuteWithOptimisticResponseTestActor2Query$data, diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithOverlappingModule-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithOverlappingModule-test.js index 8a435ceb54a16..c05ca42ef1308 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithOverlappingModule-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithOverlappingModule-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithOverlappingStream-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithOverlappingStream-test.js index be6904f409ca9..6f098926fbe6b 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithOverlappingStream-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithOverlappingStream-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { HandleFieldPayload, diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithPluralMatch-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithPluralMatch-test.js index 4abfca1558fa5..47bdc2947ff50 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithPluralMatch-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithPluralMatch-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {NormalizationRootNode} from '../../util/NormalizationNode'; @@ -51,10 +49,10 @@ describe('execute() a query with plural @match', () => { let next; let operation; let operationCallback; - let operationLoader: {| + let operationLoader: { get: (reference: mixed) => ?NormalizationRootNode, load: JestMockFn<$ReadOnlyArray, Promise>, - |}; + }; let query; let resolveFragment; let source; diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithPromiseNetwork-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithPromiseNetwork-test.js index f157b4779f1a5..80d0592467a9e 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithPromiseNetwork-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithPromiseNetwork-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const RelayNetwork = require('../../network/RelayNetwork'); diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithProvidedVariable-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithProvidedVariable-test.js index d08e79e967186..429cf33afddff 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithProvidedVariable-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithProvidedVariable-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ReaderFragment} from '../../util/ReaderNode'; diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithRelayClientComponent-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithRelayClientComponent-test.js index 7b38d62b8bf8a..51c9cf3abf63d 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithRelayClientComponent-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithRelayClientComponent-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RequestParameters} from 'relay-runtime/util/RelayConcreteNode'; diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithSiblingAndNestedModule-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithSiblingAndNestedModule-test.js index feadfb98d13d6..7989ba780f7ba 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithSiblingAndNestedModule-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithSiblingAndNestedModule-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {NormalizationRootNode} from '../../util/NormalizationNode'; @@ -45,13 +43,13 @@ function runWithFeatureFlags(setFlags: (typeof RelayFeatureFlags) => void) { 'execute() a query with nested @match', environmentType => { describe(environmentType, () => { - let callbacks: {| + let callbacks: { +complete: JestMockFn<$ReadOnlyArray, mixed>, +error: JestMockFn<$ReadOnlyArray, mixed>, +next: JestMockFn<$ReadOnlyArray, mixed>, +start?: JestMockFn<$ReadOnlyArray, mixed>, +unsubscribe?: JestMockFn<$ReadOnlyArray, mixed>, - |}; + }; let complete; let dataSource; let environment; @@ -62,13 +60,13 @@ function runWithFeatureFlags(setFlags: (typeof RelayFeatureFlags) => void) { let next; let operation; let operationCallback; - let operationLoader: {| + let operationLoader: { get: (reference: mixed) => ?NormalizationRootNode, load: JestMockFn< $ReadOnlyArray, Promise, >, - |}; + }; let plaintextRendererFragment; let plaintextRendererNormalizationFragment; let query; diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithSource-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithSource-test.js index c5656ab53e8fe..d98b41ba15b6b 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithSource-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithSource-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const { diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithStream-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithStream-test.js index 5fe31f9b3c66f..4a618529ce9d6 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithStream-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithStream-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { HandleFieldPayload, diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithStreamAndRequired-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithStreamAndRequired-test.js index 8b961afadcf98..5e662586bf38f 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithStreamAndRequired-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithStreamAndRequired-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RequestParameters} from 'relay-runtime/util/RelayConcreteNode'; import type { diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithStreamWithHandler-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithStreamWithHandler-test.js index 43045487aa2e6..11ff0498d4950 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithStreamWithHandler-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithStreamWithHandler-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { HandleFieldPayload, diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithStreamedConnection-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithStreamedConnection-test.js index 5e3ada21e4e99..aa01ea05eadcd 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithStreamedConnection-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithStreamedConnection-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { HandleFieldPayload, @@ -53,7 +51,7 @@ describe('execute() fetches a @stream-ed @connection', () => { let selector; let source; let store; - let variables: {|after: ?string, enableStream: boolean|}; + let variables: {after: ?string, enableStream: boolean}; beforeEach(() => { query = graphql` diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithUndeclaredUnusedArgument-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithUndeclaredUnusedArgument-test.js index 007ebd57a3970..24f2fd306336f 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithUndeclaredUnusedArgument-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithUndeclaredUnusedArgument-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const RelayNetwork = require('../../network/RelayNetwork'); diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-GetStore-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-GetStore-test.js index 158b32d8a975f..21f13e665d54e 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-GetStore-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-GetStore-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const RelayNetwork = require('../../network/RelayNetwork'); diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Lookup-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Lookup-test.js index f4b257e85bb8a..1a36115a1e7b4 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Lookup-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Lookup-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const RelayNetwork = require('../../network/RelayNetwork'); diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-PartiallyNormalizedDataObservabilityWithBatchedUpdates-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-PartiallyNormalizedDataObservabilityWithBatchedUpdates-test.js index 0088a25e4bb72..8e80737bfa3df 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-PartiallyNormalizedDataObservabilityWithBatchedUpdates-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-PartiallyNormalizedDataObservabilityWithBatchedUpdates-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {NormalizationRootNode} from '../../util/NormalizationNode'; import type {RequestParameters} from 'relay-runtime/util/RelayConcreteNode'; @@ -49,10 +47,10 @@ const observationFragment = graphql` describe('execute() a query with @module if the module fragment is available synchronously', () => { let environment; let dataSource; - let operationLoader: {| + let operationLoader: { get: (reference: mixed) => ?NormalizationRootNode, load: JestMockFn<$ReadOnlyArray, Promise>, - |}; + }; let store; let source; let variables; @@ -167,10 +165,10 @@ describe('execute() a query with @module if the module fragment is available syn describe('execute() a query with @module in @defer if the deferred fragment and module fragment are available synchronously', () => { let environment; let dataSource; - let operationLoader: {| + let operationLoader: { get: (reference: mixed) => ?NormalizationRootNode, load: JestMockFn<$ReadOnlyArray, Promise>, - |}; + }; let store; let source; let variables; @@ -304,10 +302,10 @@ describe('execute() a query with @module in @defer if the deferred fragment and describe('execute() a query with nested @module fragments, where the inner @module normalization fragment is available synchronously', () => { let environment; let dataSource; - let operationLoader: {| + let operationLoader: { get: (reference: mixed) => ?NormalizationRootNode, load: JestMockFn<$ReadOnlyArray, Promise>, - |}; + }; let store; let source; let variables; diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-QueryCacheExpirationTime-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-QueryCacheExpirationTime-test.js index 791731d815435..7a21e5081624c 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-QueryCacheExpirationTime-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-QueryCacheExpirationTime-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const RelayNetwork = require('../../network/RelayNetwork'); diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Retain-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Retain-test.js index 1cb7e9482e4bf..d6b0a0898a602 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Retain-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Retain-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const RelayNetwork = require('../../network/RelayNetwork'); diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Subscribe-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Subscribe-test.js index b6ec729679285..86589c092f443 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Subscribe-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Subscribe-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const RelayNetwork = require('../../network/RelayNetwork'); diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-TypeRefinement-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-TypeRefinement-test.js index e13452ad09d3c..c5736e5667b06 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-TypeRefinement-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-TypeRefinement-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { RelayModernEnvironmentTypeRefinementTest1Query$data, diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Viewer-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Viewer-test.js index 47fd809c41802..b07040f0ce096 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Viewer-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-Viewer-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RequestParameters} from 'relay-runtime/util/RelayConcreteNode'; import type { diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-WithOperationTracker-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-WithOperationTracker-test.js index 06c0aaed66e17..0826d93b3876a 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-WithOperationTracker-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-WithOperationTracker-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {NormalizationRootNode} from '../../util/NormalizationNode'; @@ -36,10 +34,10 @@ describe('RelayModernEnvironment with RelayOperationTracker', () => { let QueryOperation1; let QueryOperation2; let MutationOperation; - let operationLoader: {| + let operationLoader: { get: (reference: mixed) => ?NormalizationRootNode, load: JestMockFn<$ReadOnlyArray, Promise>, - |}; + }; beforeEach(() => { const Query1 = graphql` diff --git a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-isServer-test.js b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-isServer-test.js index d8f2c591076b2..e46327238e241 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernEnvironment-isServer-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernEnvironment-isServer-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const { diff --git a/packages/relay-runtime/store/__tests__/RelayModernSelector-test.js b/packages/relay-runtime/store/__tests__/RelayModernSelector-test.js index 43bd83f584987..c61a2fcbaafe6 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernSelector-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernSelector-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {OperationDescriptor} from '../RelayStoreTypes'; diff --git a/packages/relay-runtime/store/__tests__/RelayModernStore-Subscriptions-test.js b/packages/relay-runtime/store/__tests__/RelayModernStore-Subscriptions-test.js index 7ae8d35cee09b..30a69377c65a2 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernStore-Subscriptions-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernStore-Subscriptions-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { RelayModernStoreSubscriptionsTest1Fragment$data, diff --git a/packages/relay-runtime/store/__tests__/RelayModernStore-test.js b/packages/relay-runtime/store/__tests__/RelayModernStore-test.js index 45e6cdbc74b22..972f86d7e8c6f 100644 --- a/packages/relay-runtime/store/__tests__/RelayModernStore-test.js +++ b/packages/relay-runtime/store/__tests__/RelayModernStore-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {Disposable} from '../../util/RelayRuntimeTypes'; import type { diff --git a/packages/relay-runtime/store/__tests__/RelayOperationTracker-test.js b/packages/relay-runtime/store/__tests__/RelayOperationTracker-test.js index 92369b012db60..1e6bbea89b25b 100644 --- a/packages/relay-runtime/store/__tests__/RelayOperationTracker-test.js +++ b/packages/relay-runtime/store/__tests__/RelayOperationTracker-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const {graphql} = require('../../query/GraphQLTag'); diff --git a/packages/relay-runtime/store/__tests__/RelayReferenceMarker-test.js b/packages/relay-runtime/store/__tests__/RelayReferenceMarker-test.js index 905290e5eeac9..0a711fe0b459e 100644 --- a/packages/relay-runtime/store/__tests__/RelayReferenceMarker-test.js +++ b/packages/relay-runtime/store/__tests__/RelayReferenceMarker-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const {graphql} = require('../../query/GraphQLTag'); diff --git a/packages/relay-runtime/store/__tests__/registerEnvironmentWithDevTools-test.js b/packages/relay-runtime/store/__tests__/registerEnvironmentWithDevTools-test.js index d268f1637ad13..ecd6a5e61d9c1 100644 --- a/packages/relay-runtime/store/__tests__/registerEnvironmentWithDevTools-test.js +++ b/packages/relay-runtime/store/__tests__/registerEnvironmentWithDevTools-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const { diff --git a/packages/relay-runtime/store/__tests__/resolvers/CounterPlusOneResolver.js b/packages/relay-runtime/store/__tests__/resolvers/CounterPlusOneResolver.js index b8b68dd7b9690..3c80f0dba3657 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/CounterPlusOneResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/CounterPlusOneResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {CounterPlusOneResolver$key} from './__generated__/CounterPlusOneResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/CounterSuspendsWhenOdd.js b/packages/relay-runtime/store/__tests__/resolvers/CounterSuspendsWhenOdd.js index 60c08a0e39233..f260500aefd7a 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/CounterSuspendsWhenOdd.js +++ b/packages/relay-runtime/store/__tests__/resolvers/CounterSuspendsWhenOdd.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {CounterSuspendsWhenOdd$key} from './__generated__/CounterSuspendsWhenOdd.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/ExampleExternalStateStore.js b/packages/relay-runtime/store/__tests__/resolvers/ExampleExternalStateStore.js index 7c16b79f57589..81d4cde65112d 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/ExampleExternalStateStore.js +++ b/packages/relay-runtime/store/__tests__/resolvers/ExampleExternalStateStore.js @@ -24,7 +24,7 @@ class Store { getState(): State { return this._state; } - dispatch(action: {|type: 'INCREMENT'|}) { + dispatch(action: {type: 'INCREMENT'}) { switch (action.type) { case 'INCREMENT': this._state = this._state + 1; diff --git a/packages/relay-runtime/store/__tests__/resolvers/LiveConstantClientEdgeResolver.js b/packages/relay-runtime/store/__tests__/resolvers/LiveConstantClientEdgeResolver.js index ea055d38eb70e..54be8363e43b3 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/LiveConstantClientEdgeResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/LiveConstantClientEdgeResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {DataID} from 'relay-runtime'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/LiveCounterNoFragment.js b/packages/relay-runtime/store/__tests__/resolvers/LiveCounterNoFragment.js index 2f7b5426b8e5f..9c6f7bb982d3c 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/LiveCounterNoFragment.js +++ b/packages/relay-runtime/store/__tests__/resolvers/LiveCounterNoFragment.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {LiveState} from 'relay-runtime/store/experimental-live-resolvers/LiveResolverStore'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/LiveCounterNoFragmentWithArg.js b/packages/relay-runtime/store/__tests__/resolvers/LiveCounterNoFragmentWithArg.js index 10fab558af908..877aa75d5fba3 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/LiveCounterNoFragmentWithArg.js +++ b/packages/relay-runtime/store/__tests__/resolvers/LiveCounterNoFragmentWithArg.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {LiveState} from 'relay-runtime/store/experimental-live-resolvers/LiveResolverStore'; @@ -26,7 +24,7 @@ const {GLOBAL_STORE, Selectors} = require('./ExampleExternalStateStore'); * A Relay Resolver that returns an object implementing the External State * Resolver interface. */ -function counter(args: {|prefix: string|}): LiveState { +function counter(args: {prefix: string}): LiveState { return { read() { return `${args.prefix} ${Selectors.getNumber(GLOBAL_STORE.getState())}`; diff --git a/packages/relay-runtime/store/__tests__/resolvers/LiveCounterResolver.js b/packages/relay-runtime/store/__tests__/resolvers/LiveCounterResolver.js index 26a711325b82b..2c4eeec256452 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/LiveCounterResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/LiveCounterResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {LiveCounterResolver$key} from './__generated__/LiveCounterResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/LivePingPongResolver.js b/packages/relay-runtime/store/__tests__/resolvers/LivePingPongResolver.js index d9c9731e8b476..8b0966b3bc63d 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/LivePingPongResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/LivePingPongResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {LivePingPongResolver$key} from './__generated__/LivePingPongResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/ResolverThatThrows.js b/packages/relay-runtime/store/__tests__/resolvers/ResolverThatThrows.js index 8055d84c964d5..a4e3f29be1c83 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/ResolverThatThrows.js +++ b/packages/relay-runtime/store/__tests__/resolvers/ResolverThatThrows.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ResolverThatThrows$key} from './__generated__/ResolverThatThrows.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/ThrowBeforeReadResolver.js b/packages/relay-runtime/store/__tests__/resolvers/ThrowBeforeReadResolver.js index 182bcd5416086..bd261794c77ee 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/ThrowBeforeReadResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/ThrowBeforeReadResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ThrowBeforeReadResolver$key} from './__generated__/ThrowBeforeReadResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/UndefinedFieldResolver.js b/packages/relay-runtime/store/__tests__/resolvers/UndefinedFieldResolver.js index b99a901a5d6eb..cbc19aa9eb90e 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UndefinedFieldResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UndefinedFieldResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UndefinedFieldResolver$key} from './__generated__/UndefinedFieldResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/UserAlwaysThrowsResolver.js b/packages/relay-runtime/store/__tests__/resolvers/UserAlwaysThrowsResolver.js index e6e80e200ac79..a6ab03bca3e8a 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UserAlwaysThrowsResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UserAlwaysThrowsResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UserAlwaysThrowsResolver$key} from './__generated__/UserAlwaysThrowsResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/UserAlwaysThrowsTransitivelyResolver.js b/packages/relay-runtime/store/__tests__/resolvers/UserAlwaysThrowsTransitivelyResolver.js index 5771a12453e93..922514bb2ae42 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UserAlwaysThrowsTransitivelyResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UserAlwaysThrowsTransitivelyResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UserAlwaysThrowsTransitivelyResolver$key} from './__generated__/UserAlwaysThrowsTransitivelyResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/UserAnotherClientEdgeResolver.js b/packages/relay-runtime/store/__tests__/resolvers/UserAnotherClientEdgeResolver.js index 0a6d2d31c2c88..3112172e019cc 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UserAnotherClientEdgeResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UserAnotherClientEdgeResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UserAnotherClientEdgeResolver$key} from './__generated__/UserAnotherClientEdgeResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/UserAstrologicalSignResolver.js b/packages/relay-runtime/store/__tests__/resolvers/UserAstrologicalSignResolver.js index f7d29f9b60079..6e5a5cfb4c3a0 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UserAstrologicalSignResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UserAstrologicalSignResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UserAstrologicalSignResolver$key} from './__generated__/UserAstrologicalSignResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/UserBestFriendGreetingResolver.js b/packages/relay-runtime/store/__tests__/resolvers/UserBestFriendGreetingResolver.js index e55fce0210622..e37c6dd4f1928 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UserBestFriendGreetingResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UserBestFriendGreetingResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UserBestFriendGreetingResolver$key} from './__generated__/UserBestFriendGreetingResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/UserBestFriendShoutedGreetingResolver.js b/packages/relay-runtime/store/__tests__/resolvers/UserBestFriendShoutedGreetingResolver.js index 5a401982a02b7..4d0038f62f7dd 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UserBestFriendShoutedGreetingResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UserBestFriendShoutedGreetingResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UserBestFriendShoutedGreetingResolver$key} from './__generated__/UserBestFriendShoutedGreetingResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/UserClientEdgeResolver.js b/packages/relay-runtime/store/__tests__/resolvers/UserClientEdgeResolver.js index a7e529bb7d7d0..1002ef199d72b 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UserClientEdgeResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UserClientEdgeResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UserClientEdgeResolver$key} from './__generated__/UserClientEdgeResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/UserConstantDependentResolver.js b/packages/relay-runtime/store/__tests__/resolvers/UserConstantDependentResolver.js index 7b25668a4d06d..403b815493e0d 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UserConstantDependentResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UserConstantDependentResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UserConstantDependentResolver$key} from './__generated__/UserConstantDependentResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/UserConstantResolver.js b/packages/relay-runtime/store/__tests__/resolvers/UserConstantResolver.js index f90f30b6a5730..c6e340234d6fe 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UserConstantResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UserConstantResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UserConstantResolver$key} from './__generated__/UserConstantResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/UserCustomGreetingResolver.js b/packages/relay-runtime/store/__tests__/resolvers/UserCustomGreetingResolver.js index 309d53688e86d..cad140de9a5f1 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UserCustomGreetingResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UserCustomGreetingResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UserCustomGreetingResolver$key} from './__generated__/UserCustomGreetingResolver.graphql'; @@ -28,7 +26,7 @@ const {readFragment} = require('relay-runtime/store/ResolverFragments'); */ function userGreeting( rootKey: UserCustomGreetingResolver$key, - args: {|salutation: string|}, + args: {salutation: string}, ): string { const user = readFragment( graphql` diff --git a/packages/relay-runtime/store/__tests__/resolvers/UserGreetingResolver.js b/packages/relay-runtime/store/__tests__/resolvers/UserGreetingResolver.js index 2af81dd466222..e9ad99dc931ac 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UserGreetingResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UserGreetingResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UserGreetingResolver$key} from './__generated__/UserGreetingResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/UserNameAndCounterSuspendsWhenOdd.js b/packages/relay-runtime/store/__tests__/resolvers/UserNameAndCounterSuspendsWhenOdd.js index aab6e0cee7b27..ccec2b5e17598 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UserNameAndCounterSuspendsWhenOdd.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UserNameAndCounterSuspendsWhenOdd.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UserNameAndCounterSuspendsWhenOdd$key} from './__generated__/UserNameAndCounterSuspendsWhenOdd.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/UserNamePassthroughResolver.js b/packages/relay-runtime/store/__tests__/resolvers/UserNamePassthroughResolver.js index 25bcb0759ff18..622a26853f3c8 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UserNamePassthroughResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UserNamePassthroughResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UserNamePassthroughResolver$key} from './__generated__/UserNamePassthroughResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/UserNullClientEdgeResolver.js b/packages/relay-runtime/store/__tests__/resolvers/UserNullClientEdgeResolver.js index cad9e07e9398f..bb9658c3c4653 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UserNullClientEdgeResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UserNullClientEdgeResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UserNullClientEdgeResolver$key} from './__generated__/UserNullClientEdgeResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/UserProfilePictureResolver.js b/packages/relay-runtime/store/__tests__/resolvers/UserProfilePictureResolver.js index f44f06600df5b..e09200b4c5525 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UserProfilePictureResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UserProfilePictureResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UserProfilePictureResolver$key} from './__generated__/UserProfilePictureResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/UserProfilePictureUriSuspendsWhenTheCounterIsOdd.js b/packages/relay-runtime/store/__tests__/resolvers/UserProfilePictureUriSuspendsWhenTheCounterIsOdd.js index 500b2193adcef..4ff8e75f543b5 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UserProfilePictureUriSuspendsWhenTheCounterIsOdd.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UserProfilePictureUriSuspendsWhenTheCounterIsOdd.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UserProfilePictureUriSuspendsWhenTheCounterIsOdd$key} from './__generated__/UserProfilePictureUriSuspendsWhenTheCounterIsOdd.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/UserProfilePictureWithDefaultValueResolver.js b/packages/relay-runtime/store/__tests__/resolvers/UserProfilePictureWithDefaultValueResolver.js index 2a1e5807f51e1..9ed611a9eb201 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UserProfilePictureWithDefaultValueResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UserProfilePictureWithDefaultValueResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UserProfilePictureWithDefaultValueResolver$key} from './__generated__/UserProfilePictureWithDefaultValueResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/UserProfilePictureWithRuntimeArgumentResolver.js b/packages/relay-runtime/store/__tests__/resolvers/UserProfilePictureWithRuntimeArgumentResolver.js index cd0da86087b35..663ce025bc82c 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UserProfilePictureWithRuntimeArgumentResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UserProfilePictureWithRuntimeArgumentResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UserProfilePictureWithRuntimeArgumentResolver$key} from './__generated__/UserProfilePictureWithRuntimeArgumentResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/UserReadsClientEdgeResolver.js b/packages/relay-runtime/store/__tests__/resolvers/UserReadsClientEdgeResolver.js index dc8abd027bd34..9c3284cfb4af9 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UserReadsClientEdgeResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UserReadsClientEdgeResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UserReadsClientEdgeResolver$key} from './__generated__/UserReadsClientEdgeResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/UserRequiredNameResolver.js b/packages/relay-runtime/store/__tests__/resolvers/UserRequiredNameResolver.js index 7927a182f079a..176e069c09125 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UserRequiredNameResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UserRequiredNameResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UserRequiredNameResolver$key} from './__generated__/UserRequiredNameResolver.graphql'; diff --git a/packages/relay-runtime/store/__tests__/resolvers/UserShoutedGreetingResolver.js b/packages/relay-runtime/store/__tests__/resolvers/UserShoutedGreetingResolver.js index 899b267ef1ac0..e4993e6df64c2 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/UserShoutedGreetingResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/UserShoutedGreetingResolver.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {UserShoutedGreetingResolver$key} from './__generated__/UserShoutedGreetingResolver.graphql'; diff --git a/packages/relay-runtime/store/cloneRelayHandleSourceField.js b/packages/relay-runtime/store/cloneRelayHandleSourceField.js index 7bd1ce9b4b036..a3d34716caa67 100644 --- a/packages/relay-runtime/store/cloneRelayHandleSourceField.js +++ b/packages/relay-runtime/store/cloneRelayHandleSourceField.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/relay-runtime/store/cloneRelayScalarHandleSourceField.js b/packages/relay-runtime/store/cloneRelayScalarHandleSourceField.js index befce7852a944..f0e9e0087daf9 100644 --- a/packages/relay-runtime/store/cloneRelayScalarHandleSourceField.js +++ b/packages/relay-runtime/store/cloneRelayScalarHandleSourceField.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/relay-runtime/store/createFragmentSpecResolver.js b/packages/relay-runtime/store/createFragmentSpecResolver.js index d2d78c1d8335d..453336a81f116 100644 --- a/packages/relay-runtime/store/createFragmentSpecResolver.js +++ b/packages/relay-runtime/store/createFragmentSpecResolver.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/relay-runtime/store/createRelayContext.js b/packages/relay-runtime/store/createRelayContext.js index 9f8617eb34e6b..9a90a7ea152b6 100644 --- a/packages/relay-runtime/store/createRelayContext.js +++ b/packages/relay-runtime/store/createRelayContext.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RelayContext} from './RelayStoreTypes.js'; diff --git a/packages/relay-runtime/store/defaultGetDataID.js b/packages/relay-runtime/store/defaultGetDataID.js index d94062152e605..79685dee7e951 100644 --- a/packages/relay-runtime/store/defaultGetDataID.js +++ b/packages/relay-runtime/store/defaultGetDataID.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const {VIEWER_ID, VIEWER_TYPE} = require('./ViewerPattern'); diff --git a/packages/relay-runtime/store/experimental-live-resolvers/LiveResolverCache.js b/packages/relay-runtime/store/experimental-live-resolvers/LiveResolverCache.js index 1b8f2dd3dd602..b0b662dbbd115 100644 --- a/packages/relay-runtime/store/experimental-live-resolvers/LiveResolverCache.js +++ b/packages/relay-runtime/store/experimental-live-resolvers/LiveResolverCache.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/relay-runtime/store/experimental-live-resolvers/LiveResolverStore.js b/packages/relay-runtime/store/experimental-live-resolvers/LiveResolverStore.js index f77c6dda5164a..84582efba39cd 100644 --- a/packages/relay-runtime/store/experimental-live-resolvers/LiveResolverStore.js +++ b/packages/relay-runtime/store/experimental-live-resolvers/LiveResolverStore.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {DataID, Disposable} from '../../util/RelayRuntimeTypes'; @@ -51,24 +49,24 @@ const {ROOT_ID, ROOT_TYPE} = require('../RelayStoreUtils'); const {LiveResolverCache} = require('./LiveResolverCache'); const invariant = require('invariant'); -export type LiveState = {| +export type LiveState = { read(): T, subscribe(cb: () => void): () => void, -|}; +}; // HACK // The type of Store is defined using an opaque type that only RelayModernStore // can create. For now, we just lie via any/FlowFixMe and pretend we really have // the opaque version, but in reality it's our local version. -opaque type InvalidationState = {| +opaque type InvalidationState = { dataIDs: $ReadOnlyArray, invalidations: Map, -|}; +}; -type InvalidationSubscription = {| +type InvalidationSubscription = { callback: () => void, invalidationState: InvalidationState, -|}; +}; const DEFAULT_RELEASE_BUFFER_SIZE = 10; @@ -96,12 +94,12 @@ class LiveResolverStore implements Store { _releaseBuffer: Array; _roots: Map< string, - {| + { operation: OperationDescriptor, refCount: number, epoch: ?number, fetchTime: ?number, - |}, + }, >; _shouldScheduleGC: boolean; _storeSubscriptions: StoreSubscriptions; @@ -110,7 +108,7 @@ class LiveResolverStore implements Store { constructor( source: MutableRecordSource, - options?: {| + options?: { gcScheduler?: ?Scheduler, log?: ?LogFunction, operationLoader?: ?OperationLoader, @@ -118,7 +116,7 @@ class LiveResolverStore implements Store { gcReleaseBufferSize?: ?number, queryCacheExpirationTime?: ?number, shouldProcessClientComponents?: ?boolean, - |}, + }, ) { // Prevent mutation of a record from outside the store. if (__DEV__) { diff --git a/packages/relay-runtime/store/hasOverlappingIDs.js b/packages/relay-runtime/store/hasOverlappingIDs.js index e534110b6e4bd..3588fc5d89181 100644 --- a/packages/relay-runtime/store/hasOverlappingIDs.js +++ b/packages/relay-runtime/store/hasOverlappingIDs.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {DataIDSet} from './RelayStoreTypes'; diff --git a/packages/relay-runtime/store/isRelayModernEnvironment.js b/packages/relay-runtime/store/isRelayModernEnvironment.js index b5c996054fd8b..120b20cca13cf 100644 --- a/packages/relay-runtime/store/isRelayModernEnvironment.js +++ b/packages/relay-runtime/store/isRelayModernEnvironment.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; /** diff --git a/packages/relay-runtime/store/normalizeRelayPayload.js b/packages/relay-runtime/store/normalizeRelayPayload.js index 3fe86da737595..1b5bf83683717 100644 --- a/packages/relay-runtime/store/normalizeRelayPayload.js +++ b/packages/relay-runtime/store/normalizeRelayPayload.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {PayloadData, PayloadError} from '../network/RelayNetworkTypes'; diff --git a/packages/relay-runtime/store/readInlineData.js b/packages/relay-runtime/store/readInlineData.js index 110c257d15ff9..d72e32820e75d 100644 --- a/packages/relay-runtime/store/readInlineData.js +++ b/packages/relay-runtime/store/readInlineData.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {GraphQLTaggedNode} from '../query/GraphQLTag'; diff --git a/packages/relay-runtime/subscription/__tests__/requestSubscription-test.js b/packages/relay-runtime/subscription/__tests__/requestSubscription-test.js index ca604e19c50f6..0d7652c959c0e 100644 --- a/packages/relay-runtime/subscription/__tests__/requestSubscription-test.js +++ b/packages/relay-runtime/subscription/__tests__/requestSubscription-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const RelayNetwork = require('../../network/RelayNetwork'); diff --git a/packages/relay-runtime/subscription/requestSubscription.js b/packages/relay-runtime/subscription/requestSubscription.js index 8a52a19dc327b..b76ed285df7a4 100644 --- a/packages/relay-runtime/subscription/requestSubscription.js +++ b/packages/relay-runtime/subscription/requestSubscription.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {DeclarativeMutationConfig} from '../mutations/RelayDeclarativeMutationConfig'; @@ -32,17 +30,17 @@ const { const {createReaderSelector} = require('../store/RelayModernSelector'); const warning = require('warning'); -export type SubscriptionParameters = {| +export type SubscriptionParameters = { +response: {...}, +variables: {...}, +rawResponse?: {...}, -|}; +}; /** * Updated Flow type that makes use of typed graphql tagged literals with * type information. */ -export type GraphQLSubscriptionConfig = {| +export type GraphQLSubscriptionConfig = { configs?: Array, cacheConfig?: CacheConfig, subscription: GraphQLSubscription, @@ -51,7 +49,7 @@ export type GraphQLSubscriptionConfig = {| onError?: ?(error: Error) => void, onNext?: ?(response: ?TData) => void, updater?: ?SelectorStoreUpdater, -|}; +}; function requestSubscription( environment: IEnvironment, diff --git a/packages/relay-runtime/util/JSResourceTypes.flow.js b/packages/relay-runtime/util/JSResourceTypes.flow.js index 2521c0cac828f..04c0c5564aee2 100644 --- a/packages/relay-runtime/util/JSResourceTypes.flow.js +++ b/packages/relay-runtime/util/JSResourceTypes.flow.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; export interface JSResourceReference<+T> { diff --git a/packages/relay-runtime/util/NormalizationNode.js b/packages/relay-runtime/util/NormalizationNode.js index b8c70d1ab434f..4872ca2423151 100644 --- a/packages/relay-runtime/util/NormalizationNode.js +++ b/packages/relay-runtime/util/NormalizationNode.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ConcreteRequest} from './RelayConcreteNode'; @@ -18,18 +16,18 @@ import type {ConcreteRequest} from './RelayConcreteNode'; * Represents a single operation used to processing and normalize runtime * request results. */ -export type NormalizationOperation = {| +export type NormalizationOperation = { +kind: 'Operation', +name: string, +argumentDefinitions: $ReadOnlyArray, +selections: $ReadOnlyArray, -|}; +}; export type NormalizationHandle = | NormalizationScalarHandle | NormalizationLinkedHandle; -export type NormalizationLinkedHandle = {| +export type NormalizationLinkedHandle = { +kind: 'LinkedHandle', +alias?: ?string, +name: string, @@ -40,9 +38,9 @@ export type NormalizationLinkedHandle = {| +dynamicKey?: ?NormalizationArgument, +filters?: ?$ReadOnlyArray, +handleArgs?: $ReadOnlyArray, -|}; +}; -export type NormalizationScalarHandle = {| +export type NormalizationScalarHandle = { +kind: 'ScalarHandle', +alias?: ?string, +name: string, @@ -53,7 +51,7 @@ export type NormalizationScalarHandle = {| +dynamicKey?: ?NormalizationArgument, +filters?: ?$ReadOnlyArray, +handleArgs?: $ReadOnlyArray, -|}; +}; export type NormalizationArgument = | NormalizationListValueArgument @@ -61,37 +59,37 @@ export type NormalizationArgument = | NormalizationObjectValueArgument | NormalizationVariableArgument; -export type NormalizationCondition = {| +export type NormalizationCondition = { +kind: 'Condition', +passingValue: boolean, +condition: string, +selections: $ReadOnlyArray, -|}; +}; -export type NormalizationClientExtension = {| +export type NormalizationClientExtension = { +kind: 'ClientExtension', +selections: $ReadOnlyArray, -|}; +}; export type NormalizationField = | NormalizationFlightField | NormalizationScalarField | NormalizationLinkedField; -export type NormalizationInlineFragment = {| +export type NormalizationInlineFragment = { +kind: 'InlineFragment', +selections: $ReadOnlyArray, +type: string, +abstractKey?: ?string, -|}; +}; -export type NormalizationFragmentSpread = {| +export type NormalizationFragmentSpread = { +kind: 'FragmentSpread', +fragment: NormalizationSplitOperation, +args?: ?$ReadOnlyArray, -|}; +}; -export type NormalizationLinkedField = {| +export type NormalizationLinkedField = { +kind: 'LinkedField', +alias?: ?string, +name: string, @@ -100,39 +98,39 @@ export type NormalizationLinkedField = {| +concreteType?: ?string, +plural: boolean, +selections: $ReadOnlyArray, -|}; +}; -export type NormalizationActorChange = {| +export type NormalizationActorChange = { +kind: 'ActorChange', +linkedField: NormalizationLinkedField, -|}; +}; -export type NormalizationModuleImport = {| +export type NormalizationModuleImport = { +args?: ?$ReadOnlyArray, +kind: 'ModuleImport', +documentName: string, +fragmentPropName: string, +fragmentName: string, -|}; +}; -export type NormalizationListValueArgument = {| +export type NormalizationListValueArgument = { +kind: 'ListValue', +name: string, +items: $ReadOnlyArray, -|}; +}; -export type NormalizationLiteralArgument = {| +export type NormalizationLiteralArgument = { +kind: 'Literal', +name: string, +type?: ?string, +value: mixed, -|}; +}; -export type NormalizationLocalArgumentDefinition = {| +export type NormalizationLocalArgumentDefinition = { +kind: 'LocalArgument', +name: string, +defaultValue: mixed, -|}; +}; export type NormalizationNode = | NormalizationClientExtension @@ -144,32 +142,32 @@ export type NormalizationNode = | NormalizationSplitOperation | NormalizationStream; -export type NormalizationScalarField = {| +export type NormalizationScalarField = { +kind: 'ScalarField', +alias?: ?string, +name: string, +args?: ?$ReadOnlyArray, +storageKey?: ?string, -|}; +}; -export type NormalizationFlightField = {| +export type NormalizationFlightField = { +kind: 'FlightField', +alias: ?string, +name: string, +args: ?$ReadOnlyArray, +storageKey: ?string, -|}; +}; -export type NormalizationClientComponent = {| +export type NormalizationClientComponent = { +args?: ?$ReadOnlyArray, +kind: 'ClientComponent', +fragment: NormalizationNode, -|}; +}; -export type NormalizationTypeDiscriminator = {| +export type NormalizationTypeDiscriminator = { +kind: 'TypeDiscriminator', +abstractKey: string, -|}; +}; export type NormalizationSelection = | NormalizationCondition @@ -186,40 +184,40 @@ export type NormalizationSelection = | NormalizationActorChange | NormalizationTypeDiscriminator; -export type NormalizationSplitOperation = {| +export type NormalizationSplitOperation = { +argumentDefinitions?: $ReadOnlyArray, +kind: 'SplitOperation', +name: string, +metadata: ?{+[key: string]: mixed, ...}, +selections: $ReadOnlyArray, -|}; +}; -export type NormalizationStream = {| +export type NormalizationStream = { +if: string | null, +kind: 'Stream', +label: string, +selections: $ReadOnlyArray, -|}; +}; -export type NormalizationDefer = {| +export type NormalizationDefer = { +if: string | null, +kind: 'Defer', +label: string, +selections: $ReadOnlyArray, -|}; +}; -export type NormalizationVariableArgument = {| +export type NormalizationVariableArgument = { +kind: 'Variable', +name: string, +type?: ?string, +variableName: string, -|}; +}; -export type NormalizationObjectValueArgument = {| +export type NormalizationObjectValueArgument = { +kind: 'ObjectValue', +name: string, +fields: $ReadOnlyArray, -|}; +}; export type NormalizationSelectableNode = | NormalizationDefer diff --git a/packages/relay-runtime/util/ReaderNode.js b/packages/relay-runtime/util/ReaderNode.js index e9f34d765e0fb..20d654012f217 100644 --- a/packages/relay-runtime/util/ReaderNode.js +++ b/packages/relay-runtime/util/ReaderNode.js @@ -8,96 +8,94 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ConnectionMetadata} from '../handlers/connection/ConnectionHandler'; import type {ConcreteRequest} from './RelayConcreteNode'; -export type ReaderFragmentSpread = {| +export type ReaderFragmentSpread = { +kind: 'FragmentSpread', +name: string, +args?: ?$ReadOnlyArray, -|}; +}; -export type ReaderAliasedFragmentSpread = {| +export type ReaderAliasedFragmentSpread = { +kind: 'AliasedFragmentSpread', +name: string, +type: string, +abstractKey?: ?string, +fragment: ReaderFragmentSpread, -|}; +}; -export type ReaderInlineDataFragmentSpread = {| +export type ReaderInlineDataFragmentSpread = { +kind: 'InlineDataFragmentSpread', +name: string, +selections: $ReadOnlyArray, -|}; +}; -export type ReaderFragment = {| +export type ReaderFragment = { +kind: 'Fragment', +name: string, +type: string, +abstractKey?: ?string, - +metadata?: ?{| + +metadata?: ?{ +connection?: $ReadOnlyArray, +hasClientEdges?: boolean, +mask?: boolean, +plural?: boolean, +refetch?: ReaderRefetchMetadata, - |}, + }, +argumentDefinitions: $ReadOnlyArray, +selections: $ReadOnlyArray, -|}; +}; // Marker type for a @refetchable fragment -export type ReaderRefetchableFragment = {| +export type ReaderRefetchableFragment = { ...ReaderFragment, - +metadata: {| + +metadata: { +connection?: [ConnectionMetadata], +hasClientEdges?: boolean, +refetch: ReaderRefetchMetadata, - |}, -|}; + }, +}; // Marker Type for a @refetchable fragment with a single use of @connection -export type ReaderPaginationFragment = {| +export type ReaderPaginationFragment = { ...ReaderFragment, - +metadata: {| + +metadata: { +connection: [ConnectionMetadata], +hasClientEdges?: boolean, - +refetch: {| + +refetch: { ...ReaderRefetchMetadata, connection: ReaderPaginationMetadata, - |}, - |}, -|}; + }, + }, +}; -export type ReaderRefetchMetadata = {| +export type ReaderRefetchMetadata = { +connection?: ?ReaderPaginationMetadata, +operation: string | ConcreteRequest, +fragmentPathInResult: Array, +identifierField?: ?string, -|}; +}; // Stricter form of ConnectionMetadata -export type ReaderPaginationMetadata = {| - +backward: {| +export type ReaderPaginationMetadata = { + +backward: { +count: string, +cursor: string, - |} | null, - +forward: {| + } | null, + +forward: { +count: string, +cursor: string, - |} | null, + } | null, +path: $ReadOnlyArray, -|}; +}; -export type ReaderInlineDataFragment = {| +export type ReaderInlineDataFragment = { +kind: 'InlineDataFragment', +name: string, -|}; +}; export type ReaderArgument = | ReaderListValueArgument @@ -107,17 +105,17 @@ export type ReaderArgument = export type ReaderArgumentDefinition = ReaderLocalArgument | ReaderRootArgument; -export type ReaderCondition = {| +export type ReaderCondition = { +kind: 'Condition', +passingValue: boolean, +condition: string, +selections: $ReadOnlyArray, -|}; +}; -export type ReaderClientExtension = {| +export type ReaderClientExtension = { +kind: 'ClientExtension', +selections: $ReadOnlyArray, -|}; +}; export type ReaderField = | ReaderScalarField @@ -125,25 +123,25 @@ export type ReaderField = | ReaderRelayResolver | ReaderRelayLiveResolver; -export type ReaderRootArgument = {| +export type ReaderRootArgument = { +kind: 'RootArgument', +name: string, -|}; +}; -export type ReaderInlineFragment = {| +export type ReaderInlineFragment = { +kind: 'InlineFragment', +selections: $ReadOnlyArray, +type: string, +abstractKey?: ?string, -|}; +}; -export type ReaderAliasedInlineFragmentSpread = {| +export type ReaderAliasedInlineFragmentSpread = { +kind: 'AliasedInlineFragmentSpread', +name: string, +fragment: ReaderInlineFragment, -|}; +}; -export type ReaderLinkedField = {| +export type ReaderLinkedField = { +kind: 'LinkedField', +alias?: ?string, +name: string, @@ -152,49 +150,49 @@ export type ReaderLinkedField = {| +concreteType?: ?string, +plural: boolean, +selections: $ReadOnlyArray, -|}; +}; -export type ReaderActorChange = {| +export type ReaderActorChange = { +kind: 'ActorChange', +alias?: ?string, +name: string, +storageKey?: ?string, +args?: ?$ReadOnlyArray, +fragmentSpread: ReaderFragmentSpread, -|}; +}; -export type ReaderModuleImport = {| +export type ReaderModuleImport = { +args?: ?$ReadOnlyArray, +kind: 'ModuleImport', +documentName: string, +fragmentPropName: string, +fragmentName: string, -|}; +}; -export type ReaderListValueArgument = {| +export type ReaderListValueArgument = { +kind: 'ListValue', +name: string, +items: $ReadOnlyArray, -|}; +}; -export type ReaderLiteralArgument = {| +export type ReaderLiteralArgument = { +kind: 'Literal', +name: string, +type?: ?string, +value: mixed, -|}; +}; -export type ReaderLocalArgument = {| +export type ReaderLocalArgument = { +kind: 'LocalArgument', +name: string, +defaultValue: mixed, -|}; +}; -export type ReaderObjectValueArgument = {| +export type ReaderObjectValueArgument = { +kind: 'ObjectValue', +name: string, +fields: $ReadOnlyArray, -|}; +}; export type ReaderNode = | ReaderCondition @@ -202,46 +200,46 @@ export type ReaderNode = | ReaderFragment | ReaderInlineFragment; -export type ReaderScalarField = {| +export type ReaderScalarField = { +kind: 'ScalarField', +alias?: ?string, +name: string, +args?: ?$ReadOnlyArray, +storageKey?: ?string, -|}; +}; -export type ReaderFlightField = {| +export type ReaderFlightField = { +kind: 'FlightField', +alias: ?string, +name: string, +args: ?$ReadOnlyArray, +storageKey: ?string, -|}; +}; -export type ReaderDefer = {| +export type ReaderDefer = { +kind: 'Defer', +selections: $ReadOnlyArray, -|}; +}; -export type ReaderStream = {| +export type ReaderStream = { +kind: 'Stream', +selections: $ReadOnlyArray, -|}; +}; export type RequiredFieldAction = 'NONE' | 'LOG' | 'THROW'; -export type ReaderRequiredField = {| +export type ReaderRequiredField = { +kind: 'RequiredField', +field: ReaderField, +action: RequiredFieldAction, +path: string, -|}; +}; type ResolverFunction = (...args: Array) => mixed; // flowlint-line unclear-type:off // With ES6 imports, a resolver function might be exported under the `default` key. -type ResolverModule = ResolverFunction | {|default: ResolverFunction|}; +type ResolverModule = ResolverFunction | {default: ResolverFunction}; -export type ReaderRelayResolver = {| +export type ReaderRelayResolver = { +kind: 'RelayResolver', +alias: ?string, +name: string, @@ -249,9 +247,9 @@ export type ReaderRelayResolver = {| +fragment: ?ReaderFragmentSpread, +path: string, +resolverModule: ResolverModule, -|}; +}; -export type ReaderRelayLiveResolver = {| +export type ReaderRelayLiveResolver = { +kind: 'RelayLiveResolver', +alias: ?string, +name: string, @@ -259,9 +257,9 @@ export type ReaderRelayLiveResolver = {| +fragment: ?ReaderFragmentSpread, +path: string, +resolverModule: ResolverModule, -|}; +}; -export type ReaderClientEdgeToClientObject = {| +export type ReaderClientEdgeToClientObject = { +kind: 'ClientEdgeToClientObject', +concreteType: string, +linkedField: ReaderLinkedField, @@ -269,9 +267,9 @@ export type ReaderClientEdgeToClientObject = {| | ReaderRelayResolver | ReaderRelayLiveResolver | ReaderClientExtension, -|}; +}; -export type ReaderClientEdgeToServerObject = {| +export type ReaderClientEdgeToServerObject = { +kind: 'ClientEdgeToServerObject', +linkedField: ReaderLinkedField, +operation: ConcreteRequest, @@ -279,7 +277,7 @@ export type ReaderClientEdgeToServerObject = {| | ReaderRelayResolver | ReaderRelayLiveResolver | ReaderClientExtension, -|}; +}; export type ReaderSelection = | ReaderCondition @@ -300,9 +298,9 @@ export type ReaderSelection = | ReaderRequiredField | ReaderRelayResolver; -export type ReaderVariableArgument = {| +export type ReaderVariableArgument = { +kind: 'Variable', +name: string, +type?: ?string, +variableName: string, -|}; +}; diff --git a/packages/relay-runtime/util/RelayConcreteNode.js b/packages/relay-runtime/util/RelayConcreteNode.js index 2cc3a118f74cc..9769d8fa36842 100644 --- a/packages/relay-runtime/util/RelayConcreteNode.js +++ b/packages/relay-runtime/util/RelayConcreteNode.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { @@ -24,23 +22,23 @@ import type {ReaderFragment, ReaderInlineDataFragment} from './ReaderNode'; * from that operation to read the response data (masking data from child * fragments). */ -export type ConcreteRequest = {| +export type ConcreteRequest = { +kind: 'Request', +fragment: ReaderFragment, +operation: NormalizationOperation, +params: RequestParameters, -|}; +}; -export type ConcreteUpdatableQuery = {| +export type ConcreteUpdatableQuery = { +kind: 'UpdatableQuery', +fragment: ReaderFragment, -|}; +}; export type NormalizationRootNode = | ConcreteRequest | NormalizationSplitOperation; -export type ProvidedVariablesType = {+[key: string]: {|get(): mixed|}}; +export type ProvidedVariablesType = {+[key: string]: {get(): mixed}}; /** * Contains the parameters required for executing a GraphQL request. @@ -49,7 +47,7 @@ export type ProvidedVariablesType = {+[key: string]: {|get(): mixed|}}; * for local caching. */ export type RequestParameters = - | {| + | { +id: string, +text: null, // common fields @@ -57,8 +55,8 @@ export type RequestParameters = +operationKind: 'mutation' | 'query' | 'subscription', +providedVariables?: ProvidedVariablesType, +metadata: {[key: string]: mixed, ...}, - |} - | {| + } + | { +cacheID: string, +id: null, +text: string | null, @@ -67,9 +65,9 @@ export type RequestParameters = +operationKind: 'mutation' | 'query' | 'subscription', +providedVariables?: ProvidedVariablesType, +metadata: {[key: string]: mixed, ...}, - |}; + }; -export type ClientRequestParameters = {| +export type ClientRequestParameters = { +cacheID: string, +id: null, +text: null, @@ -78,14 +76,14 @@ export type ClientRequestParameters = {| +operationKind: 'query', +providedVariables?: ProvidedVariablesType, +metadata: {[key: string]: mixed, ...}, -|}; +}; -export type ClientRequest = {| +export type ClientRequest = { +kind: 'Request', +fragment: ReaderFragment, +operation: NormalizationOperation, +params: ClientRequestParameters, -|}; +}; export type GeneratedNode = | ConcreteRequest diff --git a/packages/relay-runtime/util/RelayDefaultHandleKey.js b/packages/relay-runtime/util/RelayDefaultHandleKey.js index 1ef32cdadb2d8..cb2b3d88be90a 100644 --- a/packages/relay-runtime/util/RelayDefaultHandleKey.js +++ b/packages/relay-runtime/util/RelayDefaultHandleKey.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; module.exports = { diff --git a/packages/relay-runtime/util/RelayError.js b/packages/relay-runtime/util/RelayError.js index dd03696c5efbd..8a9fc2b78094c 100644 --- a/packages/relay-runtime/util/RelayError.js +++ b/packages/relay-runtime/util/RelayError.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; /** diff --git a/packages/relay-runtime/util/RelayFeatureFlags.js b/packages/relay-runtime/util/RelayFeatureFlags.js index 32813c598d37e..3590d3c135f0d 100644 --- a/packages/relay-runtime/util/RelayFeatureFlags.js +++ b/packages/relay-runtime/util/RelayFeatureFlags.js @@ -8,13 +8,11 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {Disposable} from '../util/RelayRuntimeTypes'; -export type FeatureFlags = {| +export type FeatureFlags = { ENABLE_CLIENT_EDGES: boolean, ENABLE_VARIABLE_CONNECTION_KEY: boolean, ENABLE_PARTIAL_RENDERING_DEFAULT: boolean, @@ -31,7 +29,7 @@ export type FeatureFlags = {| STRING_INTERN_LEVEL: number, USE_REACT_CACHE: boolean, USE_REACT_CACHE_LEGACY_TIMEOUTS: boolean, -|}; +}; const RelayFeatureFlags: FeatureFlags = { ENABLE_CLIENT_EDGES: false, diff --git a/packages/relay-runtime/util/RelayProfiler.js b/packages/relay-runtime/util/RelayProfiler.js index 2992688804c75..ca9824990b148 100644 --- a/packages/relay-runtime/util/RelayProfiler.js +++ b/packages/relay-runtime/util/RelayProfiler.js @@ -8,16 +8,14 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; type EventName = 'fetchRelayQuery'; type ProfileHandler = (name: EventName, state?: any) => (error?: Error) => void; -const profileHandlersByName: {| +const profileHandlersByName: { [name: EventName]: Array, -|} = {}; +} = {}; const defaultProfiler = { stop() {}, diff --git a/packages/relay-runtime/util/RelayReplaySubject.js b/packages/relay-runtime/util/RelayReplaySubject.js index d9a1b398943e2..35bd806cc5463 100644 --- a/packages/relay-runtime/util/RelayReplaySubject.js +++ b/packages/relay-runtime/util/RelayReplaySubject.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {Observer, Sink, Subscription} from '../network/RelayObservable'; diff --git a/packages/relay-runtime/util/RelayRuntimeTypes.js b/packages/relay-runtime/util/RelayRuntimeTypes.js index 335cd60b75cc1..1d9ef9fecdaf8 100644 --- a/packages/relay-runtime/util/RelayRuntimeTypes.js +++ b/packages/relay-runtime/util/RelayRuntimeTypes.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; /** @@ -38,12 +36,12 @@ export type Variables = {+[string]: $FlowFixMe}; /** * Generated operation flow types are subtypes of this. */ -export type OperationType = {| +export type OperationType = { // TODO(T33395812) Make this an open object type +variables: Variables, +response: mixed, +rawResponse?: {...}, -|}; +}; export type VariablesOf = T['variables']; @@ -61,14 +59,14 @@ export type VariablesOf = T['variables']; * - `transactionId`: a user-supplied value, intended for use as a unique id for * a given instance of executing an operation. */ -export type CacheConfig = {| +export type CacheConfig = { force?: ?boolean, poll?: ?number, liveConfigId?: ?string, onSubscribe?: () => void, metadata?: {[key: string]: mixed, ...}, transactionId?: ?string, -|}; +}; export type FetchQueryFetchPolicy = 'store-or-network' | 'network-only'; export type FetchPolicy = diff --git a/packages/relay-runtime/util/StringInterner.js b/packages/relay-runtime/util/StringInterner.js index 7fc616006ba77..0178f9490c525 100644 --- a/packages/relay-runtime/util/StringInterner.js +++ b/packages/relay-runtime/util/StringInterner.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const internTable = new Map(); diff --git a/packages/relay-runtime/util/__tests__/RelayReplaySubject-test.js b/packages/relay-runtime/util/__tests__/RelayReplaySubject-test.js index 88a84c09b8803..5a00d6e43698b 100644 --- a/packages/relay-runtime/util/__tests__/RelayReplaySubject-test.js +++ b/packages/relay-runtime/util/__tests__/RelayReplaySubject-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {Subscription} from 'relay-runtime'; @@ -23,13 +21,13 @@ beforeEach(() => { subject = new RelayReplaySubject(); }); -type Observer = {| +type Observer = { +complete: JestMockFn<$ReadOnlyArray, mixed>, +error: JestMockFn<$ReadOnlyArray, mixed>, +next: JestMockFn<$ReadOnlyArray, mixed>, +start: JestMockFn<$ReadOnlyArray, mixed>, +unsubscribe: JestMockFn<$ReadOnlyArray, mixed>, -|}; +}; function createObserver(): Observer { return { diff --git a/packages/relay-runtime/util/__tests__/getFragmentIdentifier-test.js b/packages/relay-runtime/util/__tests__/getFragmentIdentifier-test.js index ffee55bda8c2a..c1aa43fc3d418 100644 --- a/packages/relay-runtime/util/__tests__/getFragmentIdentifier-test.js +++ b/packages/relay-runtime/util/__tests__/getFragmentIdentifier-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const {graphql} = require('../../query/GraphQLTag'); const getFragmentIdentifier = require('../getFragmentIdentifier'); diff --git a/packages/relay-runtime/util/__tests__/getPaginationVariables-test.js b/packages/relay-runtime/util/__tests__/getPaginationVariables-test.js index 5befbc114743e..6fdf1f4a435bf 100644 --- a/packages/relay-runtime/util/__tests__/getPaginationVariables-test.js +++ b/packages/relay-runtime/util/__tests__/getPaginationVariables-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const getPaginationVariables = require('../getPaginationVariables'); diff --git a/packages/relay-runtime/util/__tests__/getRequestIdentifier-test.js b/packages/relay-runtime/util/__tests__/getRequestIdentifier-test.js index e9b6c6bd50620..76492507ae445 100644 --- a/packages/relay-runtime/util/__tests__/getRequestIdentifier-test.js +++ b/packages/relay-runtime/util/__tests__/getRequestIdentifier-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RequestParameters} from '../../util/RelayConcreteNode'; diff --git a/packages/relay-runtime/util/createPayloadFor3DField.js b/packages/relay-runtime/util/createPayloadFor3DField.js index c0d5a70f0c198..472b8866f436e 100644 --- a/packages/relay-runtime/util/createPayloadFor3DField.js +++ b/packages/relay-runtime/util/createPayloadFor3DField.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {JSResourceReference} from 'JSResourceReference'; diff --git a/packages/relay-runtime/util/deepFreeze.js b/packages/relay-runtime/util/deepFreeze.js index 3c8a177076a29..030ab6cc57ccb 100644 --- a/packages/relay-runtime/util/deepFreeze.js +++ b/packages/relay-runtime/util/deepFreeze.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; /** diff --git a/packages/relay-runtime/util/generateID.js b/packages/relay-runtime/util/generateID.js index 230584b984bf9..e68fb6ae793ff 100644 --- a/packages/relay-runtime/util/generateID.js +++ b/packages/relay-runtime/util/generateID.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; let id = 100000; diff --git a/packages/relay-runtime/util/getFragmentIdentifier.js b/packages/relay-runtime/util/getFragmentIdentifier.js index 861a5c8062d9d..98c2e653ca486 100644 --- a/packages/relay-runtime/util/getFragmentIdentifier.js +++ b/packages/relay-runtime/util/getFragmentIdentifier.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ReaderFragment} from './ReaderNode'; diff --git a/packages/relay-runtime/util/getOperation.js b/packages/relay-runtime/util/getOperation.js index 597bbe1a10424..6e08f3aef237e 100644 --- a/packages/relay-runtime/util/getOperation.js +++ b/packages/relay-runtime/util/getOperation.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/relay-runtime/util/getPaginationMetadata.js b/packages/relay-runtime/util/getPaginationMetadata.js index 4f712e1640643..5ac457b40d0d6 100644 --- a/packages/relay-runtime/util/getPaginationMetadata.js +++ b/packages/relay-runtime/util/getPaginationMetadata.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ReaderFragment, ReaderPaginationMetadata} from './ReaderNode'; @@ -22,13 +20,13 @@ const invariant = require('invariant'); function getPaginationMetadata( fragmentNode: ReaderFragment, componentDisplayName: string, -): {| +): { connectionPathInFragmentData: $ReadOnlyArray, identifierField: ?string, paginationRequest: ConcreteRequest, paginationMetadata: ReaderPaginationMetadata, stream: boolean, -|} { +} { const {refetchableRequest: paginationRequest, refetchMetadata} = getRefetchMetadata(fragmentNode, componentDisplayName); diff --git a/packages/relay-runtime/util/getPaginationVariables.js b/packages/relay-runtime/util/getPaginationVariables.js index 50d4853d395de..0912fe96902d3 100644 --- a/packages/relay-runtime/util/getPaginationVariables.js +++ b/packages/relay-runtime/util/getPaginationVariables.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ReaderPaginationMetadata} from './ReaderNode'; diff --git a/packages/relay-runtime/util/getPendingOperationsForFragment.js b/packages/relay-runtime/util/getPendingOperationsForFragment.js index a29eb2e5e90c9..0f7e1b144ad88 100644 --- a/packages/relay-runtime/util/getPendingOperationsForFragment.js +++ b/packages/relay-runtime/util/getPendingOperationsForFragment.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {IEnvironment, RequestDescriptor} from '../store/RelayStoreTypes'; @@ -22,10 +20,10 @@ function getPendingOperationsForFragment( environment: IEnvironment, fragmentNode: ReaderFragment, fragmentOwner: RequestDescriptor, -): {| +): { promise: Promise, pendingOperations: $ReadOnlyArray, -|} | null { +} | null { let pendingOperations: $ReadOnlyArray = []; let promise = getPromiseForActiveRequest(environment, fragmentOwner); diff --git a/packages/relay-runtime/util/getRefetchMetadata.js b/packages/relay-runtime/util/getRefetchMetadata.js index 8537e7f988da4..d3f186e886ab3 100644 --- a/packages/relay-runtime/util/getRefetchMetadata.js +++ b/packages/relay-runtime/util/getRefetchMetadata.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ReaderFragment, ReaderRefetchMetadata} from './ReaderNode'; @@ -21,12 +19,12 @@ const invariant = require('invariant'); function getRefetchMetadata( fragmentNode: ReaderFragment, componentDisplayName: string, -): {| +): { fragmentRefPathInResponse: $ReadOnlyArray, identifierField: ?string, refetchableRequest: ConcreteRequest, refetchMetadata: ReaderRefetchMetadata, -|} { +} { invariant( fragmentNode.metadata?.plural !== true, 'Relay: getRefetchMetadata(): Expected fragment `%s` not to be plural when using ' + diff --git a/packages/relay-runtime/util/getRelayHandleKey.js b/packages/relay-runtime/util/getRelayHandleKey.js index ee708ceec4eff..4adb603d97d1b 100644 --- a/packages/relay-runtime/util/getRelayHandleKey.js +++ b/packages/relay-runtime/util/getRelayHandleKey.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const {DEFAULT_HANDLE_KEY} = require('./RelayDefaultHandleKey'); diff --git a/packages/relay-runtime/util/getRequestIdentifier.js b/packages/relay-runtime/util/getRequestIdentifier.js index fca1f43b404c0..4cbb060f4430f 100644 --- a/packages/relay-runtime/util/getRequestIdentifier.js +++ b/packages/relay-runtime/util/getRequestIdentifier.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {RequestParameters} from './RelayConcreteNode'; diff --git a/packages/relay-runtime/util/getValueAtPath.js b/packages/relay-runtime/util/getValueAtPath.js index 6960909b7d46d..a9b2da8ef9129 100644 --- a/packages/relay-runtime/util/getValueAtPath.js +++ b/packages/relay-runtime/util/getValueAtPath.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const invariant = require('invariant'); diff --git a/packages/relay-runtime/util/isPromise.js b/packages/relay-runtime/util/isPromise.js index bb1becd08edb9..add2853c10174 100644 --- a/packages/relay-runtime/util/isPromise.js +++ b/packages/relay-runtime/util/isPromise.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; declare function isPromise(p: mixed): boolean %checks(p instanceof Promise); diff --git a/packages/relay-runtime/util/isScalarAndEqual.js b/packages/relay-runtime/util/isScalarAndEqual.js index ba8c2ab1252fb..3f82bbaa52851 100644 --- a/packages/relay-runtime/util/isScalarAndEqual.js +++ b/packages/relay-runtime/util/isScalarAndEqual.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; /** diff --git a/packages/relay-runtime/util/recycleNodesInto.js b/packages/relay-runtime/util/recycleNodesInto.js index 4517ed53c9e2f..c8bdc665c4495 100644 --- a/packages/relay-runtime/util/recycleNodesInto.js +++ b/packages/relay-runtime/util/recycleNodesInto.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const hasWeakSetDefined = typeof WeakSet !== 'undefined'; diff --git a/packages/relay-runtime/util/registerEnvironmentWithDevTools.js b/packages/relay-runtime/util/registerEnvironmentWithDevTools.js index dbd5fa191af71..66327b7a8d24e 100644 --- a/packages/relay-runtime/util/registerEnvironmentWithDevTools.js +++ b/packages/relay-runtime/util/registerEnvironmentWithDevTools.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {IEnvironment} from '../store/RelayStoreTypes'; diff --git a/packages/relay-runtime/util/resolveImmediate.js b/packages/relay-runtime/util/resolveImmediate.js index 69a837131796d..40f5f91e4d18f 100644 --- a/packages/relay-runtime/util/resolveImmediate.js +++ b/packages/relay-runtime/util/resolveImmediate.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; var resolvedPromise = Promise.resolve(); diff --git a/packages/relay-runtime/util/stableCopy.js b/packages/relay-runtime/util/stableCopy.js index 1080494252614..1cae92b8d602c 100644 --- a/packages/relay-runtime/util/stableCopy.js +++ b/packages/relay-runtime/util/stableCopy.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; /** diff --git a/packages/relay-runtime/util/withDuration.js b/packages/relay-runtime/util/withDuration.js index e660c336e79b5..25a878d71d0d1 100644 --- a/packages/relay-runtime/util/withDuration.js +++ b/packages/relay-runtime/util/withDuration.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const isPerformanceNowAvailable = diff --git a/packages/relay-runtime/util/withProvidedVariables.js b/packages/relay-runtime/util/withProvidedVariables.js index cdca726c96627..5440e16d140de 100644 --- a/packages/relay-runtime/util/withProvidedVariables.js +++ b/packages/relay-runtime/util/withProvidedVariables.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {ProvidedVariablesType} from './RelayConcreteNode'; diff --git a/packages/relay-test-utils-internal/__tests__/getOutputForFixture-test.js b/packages/relay-test-utils-internal/__tests__/getOutputForFixture-test.js index 9e1533db3f45f..519212757f259 100644 --- a/packages/relay-test-utils-internal/__tests__/getOutputForFixture-test.js +++ b/packages/relay-test-utils-internal/__tests__/getOutputForFixture-test.js @@ -9,8 +9,6 @@ * @emails oncall+relay */ -// flowlint ambiguous-object-type:error - 'use strict'; const getOutputForFixture = require('../getOutputForFixture'); diff --git a/packages/relay-test-utils-internal/consoleErrorsAndWarnings.js b/packages/relay-test-utils-internal/consoleErrorsAndWarnings.js index 688dd443fc6e6..b5b941393035d 100644 --- a/packages/relay-test-utils-internal/consoleErrorsAndWarnings.js +++ b/packages/relay-test-utils-internal/consoleErrorsAndWarnings.js @@ -18,12 +18,12 @@ export type WillFireOptions = { optional?: boolean, }; -type API = $ReadOnly<{| +type API = $ReadOnly<{ disallowMessages: () => void, expectMessageWillFire: (string, void | WillFireOptions) => void, expectMessage: (string, () => T) => T, expectMessageMany: (Array, () => T) => T, -|}>; +}>; const originalConsoleError = console.error; diff --git a/packages/relay-test-utils-internal/describeWithFeatureFlags.js b/packages/relay-test-utils-internal/describeWithFeatureFlags.js index 4f5f506e1fb30..0d6754e9fbce3 100644 --- a/packages/relay-test-utils-internal/describeWithFeatureFlags.js +++ b/packages/relay-test-utils-internal/describeWithFeatureFlags.js @@ -13,8 +13,6 @@ * Beware that calling jest.resetModules() within the suite may break this. */ -// flowlint ambiguous-object-type:error - 'use strict'; import type {FeatureFlags} from '../relay-runtime/util/RelayFeatureFlags'; diff --git a/packages/relay-test-utils-internal/getOutputForFixture.js b/packages/relay-test-utils-internal/getOutputForFixture.js index 68deb2165e6a3..0e406fe8d326c 100644 --- a/packages/relay-test-utils-internal/getOutputForFixture.js +++ b/packages/relay-test-utils-internal/getOutputForFixture.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; function getOutputForFixture( diff --git a/packages/relay-test-utils-internal/index.js b/packages/relay-test-utils-internal/index.js index 0f42438339f28..5f0b7bdb147ad 100644 --- a/packages/relay-test-utils-internal/index.js +++ b/packages/relay-test-utils-internal/index.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const { diff --git a/packages/relay-test-utils-internal/printAST.js b/packages/relay-test-utils-internal/printAST.js index cc186cf9e6946..3bc32cf44b357 100644 --- a/packages/relay-test-utils-internal/printAST.js +++ b/packages/relay-test-utils-internal/printAST.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; /** diff --git a/packages/relay-test-utils-internal/simpleClone.js b/packages/relay-test-utils-internal/simpleClone.js index 0becaa06a5045..6b98f846bf537 100644 --- a/packages/relay-test-utils-internal/simpleClone.js +++ b/packages/relay-test-utils-internal/simpleClone.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; /** diff --git a/packages/relay-test-utils-internal/trackRetentionForEnvironment.js b/packages/relay-test-utils-internal/trackRetentionForEnvironment.js index e02181241330b..461fa1fb4070d 100644 --- a/packages/relay-test-utils-internal/trackRetentionForEnvironment.js +++ b/packages/relay-test-utils-internal/trackRetentionForEnvironment.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; /* global jest */ @@ -23,10 +21,10 @@ import type {OperationDescriptor} from '../relay-runtime/store/RelayStoreTypes'; * `release` function for backwards-compatibility with existing tests, but you * should use `isOperationRetained` for new tests as it is much less error-prone. */ -function trackRetentionForEnvironment(environment: IEnvironment): {| +function trackRetentionForEnvironment(environment: IEnvironment): { release_DEPRECATED: JestMockFn<[mixed], void>, isOperationRetained: OperationDescriptor => boolean, -|} { +} { const retainCountsByOperation = new Map(); const release = jest.fn(id => { diff --git a/packages/relay-test-utils/RelayMockPayloadGenerator.js b/packages/relay-test-utils/RelayMockPayloadGenerator.js index b73a263538aeb..88f8d31f57b90 100644 --- a/packages/relay-test-utils/RelayMockPayloadGenerator.js +++ b/packages/relay-test-utils/RelayMockPayloadGenerator.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { @@ -59,22 +57,22 @@ type ValueResolver = ( plural: ?boolean, defaultValue?: mixed, ) => mixed; -type Traversable = {| +type Traversable = { +selections: $ReadOnlyArray, +typeName: ?string, +isAbstractType: ?boolean, +name: ?string, +alias: ?string, +args: ?{[string]: mixed, ...}, -|}; +}; type MockData = {[string]: mixed, ...}; -type MockResolverContext = {| +type MockResolverContext = { +parentType: ?string, +name: ?string, +alias: ?string, +path: ?$ReadOnlyArray, +args: ?{[string]: mixed, ...}, -|}; +}; type MockResolver = ( context: MockResolverContext, generateId: () => number, @@ -82,12 +80,12 @@ type MockResolver = ( export type MockResolvers = {[typeName: string]: MockResolver, ...}; type SelectionMetadata = { - [selectionPath: string]: {| + [selectionPath: string]: { +type: string, +plural: boolean, +nullable: boolean, +enumValues: $ReadOnlyArray | null, - |}, + }, ... }; @@ -181,11 +179,11 @@ class RelayMockPayloadGenerator { _mockResolvers: MockResolvers; _selectionMetadata: SelectionMetadata; - constructor(options: {| + constructor(options: { +variables: Variables, +mockResolvers: MockResolvers | null, +selectionMetadata: SelectionMetadata | null, - |}) { + }) { this._variables = options.variables; // $FlowFixMe[cannot-spread-inexact] // $FlowFixMe[incompatible-type] @@ -831,12 +829,12 @@ class RelayMockPayloadGenerator { field: NormalizationScalarField, typeName: ?string, selectionPath: $ReadOnlyArray, - ): {| + ): { +type: string, +plural: boolean, +enumValues: $ReadOnlyArray | null, +nullable: boolean, - |} { + } { return ( this._selectionMetadata[selectionPath.join('.')] ?? { type: field.name === 'id' ? 'ID' : 'String', diff --git a/packages/relay-test-utils/RelayModernMockEnvironment.js b/packages/relay-test-utils/RelayModernMockEnvironment.js index 86761b77e4411..61e427aa0f50e 100644 --- a/packages/relay-test-utils/RelayModernMockEnvironment.js +++ b/packages/relay-test-utils/RelayModernMockEnvironment.js @@ -8,8 +8,6 @@ * @flow strict-local */ -// flowlint ambiguous-object-type:error - 'use strict'; /* global jest */ @@ -40,12 +38,12 @@ const { getRequest, } = require('relay-runtime'); -type PendingRequest = {| +type PendingRequest = { +request: RequestParameters, +variables: Variables, +cacheConfig: CacheConfig, +sink: Sink, -|}; +}; const MAX_SIZE = 10; const MAX_TTL = 5 * 60 * 1000; // 5 min @@ -91,7 +89,7 @@ type OperationMockResolver = ( operation: OperationDescriptor, ) => ?GraphQLSingularResponse | ?Error; -type MockFunctions = {| +type MockFunctions = { +clearCache: () => void, +cachePayload: ( request: ConcreteRequest | OperationDescriptor, @@ -134,7 +132,7 @@ type MockFunctions = {| error: Error | ((operation: OperationDescriptor) => Error), ) => void, +queueOperationResolver: (resolver: OperationMockResolver) => void, -|}; +}; interface MockEnvironment { +mock: MockFunctions; diff --git a/packages/relay-test-utils/__tests__/RelayMockEnvironment-test.js b/packages/relay-test-utils/__tests__/RelayMockEnvironment-test.js index 6e15732292f2e..59133d2b2d983 100644 --- a/packages/relay-test-utils/__tests__/RelayMockEnvironment-test.js +++ b/packages/relay-test-utils/__tests__/RelayMockEnvironment-test.js @@ -9,8 +9,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const preloadQuery = require('../../react-relay/relay-hooks/preloadQuery_DEPRECATED'); diff --git a/packages/relay-test-utils/__tests__/RelayMockEnvironmentWithComponents-test.js b/packages/relay-test-utils/__tests__/RelayMockEnvironmentWithComponents-test.js index ede640d6122f9..48b071228f321 100644 --- a/packages/relay-test-utils/__tests__/RelayMockEnvironmentWithComponents-test.js +++ b/packages/relay-test-utils/__tests__/RelayMockEnvironmentWithComponents-test.js @@ -9,8 +9,6 @@ * @flow strict-local */ -// flowlint ambiguous-object-type:error - 'use strict'; import type { diff --git a/packages/relay-test-utils/index.js b/packages/relay-test-utils/index.js index e549b3b72b1eb..ed2dd187130b3 100644 --- a/packages/relay-test-utils/index.js +++ b/packages/relay-test-utils/index.js @@ -8,8 +8,6 @@ * @format */ -// flowlint ambiguous-object-type:error - 'use strict'; const RelayMockPayloadGenerator = require('./RelayMockPayloadGenerator');