Skip to content

Commit 38f1c96

Browse files
gkzfacebook-github-bot
authored andcommitted
Codemod $ElementType/$PropertyType to Indexed Access Types
Reviewed By: yungsters Differential Revision: D32339302 fbshipit-source-id: 3728a75d41c15403512b4fac2d2025445feaf5a6
1 parent e0026a7 commit 38f1c96

26 files changed

+83
-110
lines changed

packages/react-relay/ReactRelayTestMocker.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ let nextId = 0;
6565

6666
class ReactRelayTestMocker {
6767
_environment: IEnvironment;
68-
_defaults: {[string]: $PropertyType<NetworkWriteConfig, 'payload'>, ...} = {};
68+
_defaults: {[string]: NetworkWriteConfig['payload'], ...} = {};
6969
_pendingFetches: Array<PendingFetch> = [];
7070

7171
constructor(env: IEnvironment) {

packages/react-relay/ReactRelayTypes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ export type RefetchOptions = {|
9494
*
9595
*/
9696
export type $FragmentRef<T> = {
97-
+$fragmentRefs: $PropertyType<T, '$refType'>,
97+
+$fragmentRefs: T['$refType'],
9898
...
9999
};
100100

packages/react-relay/relay-hooks/EntryPointTypes.flow.js

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ export type PreloadedQueryInner_DEPRECATED<
7575
+id: ?string,
7676
+name: string,
7777
+source: ?Observable<GraphQLResponse>,
78-
+variables: $ElementType<TQuery, 'variables'>,
78+
+variables: TQuery['variables'],
7979
+status: PreloadQueryStatus,
8080
|};
8181

@@ -100,7 +100,7 @@ export type PreloadedQueryInner<
100100
+networkCacheConfig: ?CacheConfig,
101101
+source: ?Observable<GraphQLResponse>,
102102
+kind: 'PreloadedQuery',
103-
+variables: $ElementType<TQuery, 'variables'>,
103+
+variables: TQuery['variables'],
104104
|};
105105

106106
export type PreloadQueryStatus = {|
@@ -203,14 +203,11 @@ export type PreloadProps<
203203
// Return type of `loadEntryPoint(...)`
204204
export type PreloadedEntryPoint<TEntryPointComponent> = $ReadOnly<{|
205205
dispose: () => void,
206-
entryPoints: $PropertyType<
207-
ElementConfig<TEntryPointComponent>,
208-
'entryPoints',
209-
>,
210-
extraProps: $PropertyType<ElementConfig<TEntryPointComponent>, 'extraProps'>,
206+
entryPoints: ElementConfig<TEntryPointComponent>['entryPoints'],
207+
extraProps: ElementConfig<TEntryPointComponent>['extraProps'],
211208
getComponent: () => TEntryPointComponent,
212209
isDisposed: boolean,
213-
queries: $PropertyType<ElementConfig<TEntryPointComponent>, 'queries'>,
210+
queries: ElementConfig<TEntryPointComponent>['queries'],
214211
rootModuleID: string,
215212
|}>;
216213

@@ -227,10 +224,9 @@ type ComponentFromEntryPoint<+TEntryPoint> = $Call<
227224
TEntryPoint,
228225
>;
229226

230-
export type EntryPointElementConfig<+TEntryPoint> = $PropertyType<
231-
ElementConfig<ComponentFromEntryPoint<TEntryPoint>>,
232-
'props',
233-
>;
227+
export type EntryPointElementConfig<+TEntryPoint> = ElementConfig<
228+
ComponentFromEntryPoint<TEntryPoint>,
229+
>['props'];
234230

235231
export type ThinQueryParams<
236232
TQuery: OperationType,
@@ -239,7 +235,7 @@ export type ThinQueryParams<
239235
environmentProviderOptions?: ?TEnvironmentProviderOptions,
240236
options?: ?PreloadOptions,
241237
parameters: PreloadableConcreteRequest<TQuery>,
242-
variables: $ElementType<TQuery, 'variables'>,
238+
variables: TQuery['variables'],
243239
|}>;
244240

245241
type ThinNestedEntryPointParams<TEntryPointParams, TEntryPoint> = $ReadOnly<{|
@@ -264,14 +260,14 @@ export type ExtractEntryPointTypeHelper = <
264260
export type EntryPoint<TEntryPointParams, +TEntryPointComponent> =
265261
InternalEntryPointRepresentation<
266262
TEntryPointParams,
267-
$PropertyType<ElementConfig<TEntryPointComponent>, 'queries'>,
268-
$PropertyType<ElementConfig<TEntryPointComponent>, 'entryPoints'>,
269-
$PropertyType<ElementConfig<TEntryPointComponent>, 'props'>,
270-
$PropertyType<ElementConfig<TEntryPointComponent>, 'extraProps'>,
263+
ElementConfig<TEntryPointComponent>['queries'],
264+
ElementConfig<TEntryPointComponent>['entryPoints'],
265+
ElementConfig<TEntryPointComponent>['props'],
266+
ElementConfig<TEntryPointComponent>['extraProps'],
271267
>;
272268

273269
type ExtractFirstParam = <P, R>((P) => R) => P;
274-
type GetPreloadPropsType<T> = $ElementType<T, 'getPreloadProps'>;
270+
type GetPreloadPropsType<T> = T['getPreloadProps'];
275271
export type PreloadParamsOf<T> = $Call<
276272
ExtractFirstParam,
277273
GetPreloadPropsType<T>,

packages/react-relay/relay-hooks/LazyLoadEntryPointContainer_DEPRECATED.react.js

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,10 @@ const {useContext, useEffect, useMemo} = require('react');
2828
const {stableCopy} = require('relay-runtime');
2929

3030
type PreloadedEntryPoint<TEntryPointComponent> = $ReadOnly<{|
31-
entryPoints: $PropertyType<
32-
React.ElementConfig<TEntryPointComponent>,
33-
'entryPoints',
34-
>,
35-
extraProps: $PropertyType<
36-
React.ElementConfig<TEntryPointComponent>,
37-
'extraProps',
38-
>,
31+
entryPoints: React.ElementConfig<TEntryPointComponent>['entryPoints'],
32+
extraProps: React.ElementConfig<TEntryPointComponent>['extraProps'],
3933
getComponent: () => TEntryPointComponent,
40-
queries: $PropertyType<React.ElementConfig<TEntryPointComponent>, 'queries'>,
34+
queries: React.ElementConfig<TEntryPointComponent>['queries'],
4135
rootModuleID: string,
4236
|}>;
4337

packages/react-relay/relay-hooks/__flowtests__/EntryPointTypes/EntryPointElementConfig-flowtest.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ type MyComponentEntryPointProps =
3434
EntryPointElementConfig<MyComponentEntryPointType>;
3535

3636
// This gets the "other props" directly from the component's prop typings
37-
type OtherProps = $PropertyType<MyComponentProps, 'props'>;
37+
type OtherProps = MyComponentProps['props'];
3838

3939
// We want to make sure that `OtherProps` and `MyComponentEntryPointProps` are exactly the same.
4040
opaque type __SUBTYPE_CHECK_1__: OtherProps = MyComponentEntryPointProps;

packages/react-relay/relay-hooks/loadQuery.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ function useTrackLoadQueryInRender() {
5757
function loadQuery<TQuery: OperationType, TEnvironmentProviderOptions>(
5858
environment: IEnvironment,
5959
preloadableRequest: GraphQLTaggedNode | PreloadableConcreteRequest<TQuery>,
60-
variables: $ElementType<TQuery, 'variables'>,
60+
variables: TQuery['variables'],
6161
options?: ?LoadQueryOptions,
6262
environmentProviderOptions?: ?TEnvironmentProviderOptions,
6363
): PreloadedQueryInner<TQuery, TEnvironmentProviderOptions> {

packages/react-relay/relay-hooks/useLazyLoadQuery.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ function useLazyLoadQuery<TQuery: OperationType>(
3939
networkCacheConfig?: CacheConfig,
4040
UNSTABLE_renderPolicy?: RenderPolicy,
4141
|},
42-
): $ElementType<TQuery, 'response'> {
42+
): TQuery['response'] {
4343
// We need to use this hook in order to be able to track if
4444
// loadQuery was called during render
4545
useTrackLoadQueryInRender();

packages/react-relay/relay-hooks/useLazyLoadQueryNode.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ function useLazyLoadQueryNode<TQuery: OperationType>({
4848
fetchPolicy?: ?FetchPolicy,
4949
fetchKey?: ?string | ?number,
5050
renderPolicy?: ?RenderPolicy,
51-
|}): $ElementType<TQuery, 'response'> {
51+
|}): TQuery['response'] {
5252
const environment = useRelayEnvironment();
5353
const profilerContext = useContext(ProfilerContext);
5454
const QueryResource = getQueryResourceForEnvironment(environment);

packages/react-relay/relay-hooks/useMutation.js

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -36,25 +36,20 @@ export type UseMutationConfig<TMutation: MutationParameters> = {|
3636
configs?: Array<DeclarativeMutationConfig>,
3737
onError?: ?(error: Error) => void,
3838
onCompleted?: ?(
39-
response: $ElementType<TMutation, 'response'>,
39+
response: TMutation['response'],
4040
errors: ?Array<PayloadError>,
4141
) => void,
4242
onNext?: ?() => void,
4343
onUnsubscribe?: ?() => void,
44-
optimisticResponse?: $ElementType<
45-
{
46-
+rawResponse?: {...},
47-
...TMutation,
48-
...
49-
},
50-
'rawResponse',
51-
>,
52-
optimisticUpdater?: ?SelectorStoreUpdater<
53-
$ElementType<TMutation, 'response'>,
54-
>,
55-
updater?: ?SelectorStoreUpdater<$ElementType<TMutation, 'response'>>,
44+
optimisticResponse?: {
45+
+rawResponse?: {...},
46+
...TMutation,
47+
...
48+
}['rawResponse'],
49+
optimisticUpdater?: ?SelectorStoreUpdater<TMutation['response']>,
50+
updater?: ?SelectorStoreUpdater<TMutation['response']>,
5651
uploadables?: UploadableMap,
57-
variables: $ElementType<TMutation, 'variables'>,
52+
variables: TMutation['variables'],
5853
|};
5954

6055
function useMutation<TMutation: MutationParameters>(

packages/react-relay/relay-hooks/usePreloadedQuery.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ function usePreloadedQuery<TQuery: OperationType>(
3737
options?: {|
3838
UNSTABLE_renderPolicy?: RenderPolicy,
3939
|},
40-
): $ElementType<TQuery, 'response'> {
40+
): TQuery['response'] {
4141
// We need to use this hook in order to be able to track if
4242
// loadQuery was called during render
4343
useTrackLoadQueryInRender();

0 commit comments

Comments
 (0)