Skip to content

Commit

Permalink
rename FragmentReference to FragmentType
Browse files Browse the repository at this point in the history
Reviewed By: alunyov

Differential Revision: D31446669

fbshipit-source-id: 4fc3243d9bac16417b972f248a47fe0110e229fa
  • Loading branch information
kassens authored and facebook-github-bot committed Oct 19, 2021
1 parent 75a86b0 commit 4556f53
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 36 deletions.
14 changes: 7 additions & 7 deletions packages/react-relay/ReactRelayTypes.js
Expand Up @@ -14,7 +14,7 @@

import type {
Disposable,
FragmentReference,
FragmentType,
GraphQLTaggedNode,
IEnvironment,
Observer,
Expand Down Expand Up @@ -107,12 +107,12 @@ export type $RelayProps<Props, RelayPropT = RelayProp> = $ObjMap<
$Diff<Props, { relay: RelayPropT | void, ... }>,
& (<T: { +$refType: empty, ... }>( T) => T)
& (<T: { +$refType: empty, ... }>(?T) => ?T)
& (<TRef: FragmentReference, T: { +$refType: TRef, ... }>( T ) => $FragmentRef<T> )
& (<TRef: FragmentReference, T: { +$refType: TRef, ... }>(? T ) => ? $FragmentRef<T> )
& (<TRef: FragmentReference, T: { +$refType: TRef, ... }>( $ReadOnlyArray< T>) => $ReadOnlyArray< $FragmentRef<T>>)
& (<TRef: FragmentReference, T: { +$refType: TRef, ... }>(?$ReadOnlyArray< T>) => ?$ReadOnlyArray< $FragmentRef<T>>)
& (<TRef: FragmentReference, T: { +$refType: TRef, ... }>( $ReadOnlyArray<?T>) => $ReadOnlyArray<?$FragmentRef<T>>)
& (<TRef: FragmentReference, T: { +$refType: TRef, ... }>(?$ReadOnlyArray<?T>) => ?$ReadOnlyArray<?$FragmentRef<T>>)
& (<TFragmentType: FragmentType, T: { +$refType: TFragmentType, ... }>( T ) => $FragmentRef<T> )
& (<TFragmentType: FragmentType, T: { +$refType: TFragmentType, ... }>(? T ) => ? $FragmentRef<T> )
& (<TFragmentType: FragmentType, T: { +$refType: TFragmentType, ... }>( $ReadOnlyArray< T>) => $ReadOnlyArray< $FragmentRef<T>>)
& (<TFragmentType: FragmentType, T: { +$refType: TFragmentType, ... }>(?$ReadOnlyArray< T>) => ?$ReadOnlyArray< $FragmentRef<T>>)
& (<TFragmentType: FragmentType, T: { +$refType: TFragmentType, ... }>( $ReadOnlyArray<?T>) => $ReadOnlyArray<?$FragmentRef<T>>)
& (<TFragmentType: FragmentType, T: { +$refType: TFragmentType, ... }>(?$ReadOnlyArray<?T>) => ?$ReadOnlyArray<?$FragmentRef<T>>)
& (<T>(T) => T),
>;

Expand Down
4 changes: 3 additions & 1 deletion packages/relay-runtime/index.js
Expand Up @@ -118,7 +118,9 @@ export type {RecordState} from './store/RelayRecordState';
export type {
ExecuteMutationConfig,
FragmentMap,
FragmentReference,
// DEPRECATED: use FragmentType instead of FragmentReference
FragmentType as FragmentReference,
FragmentType,
FragmentSpecResolver,
HandleFieldPayload,
IEnvironment,
Expand Down
2 changes: 1 addition & 1 deletion packages/relay-runtime/store/RelayStoreTypes.js
Expand Up @@ -50,7 +50,7 @@ import type {InvalidationState} from './RelayModernStore';
import type RelayOperationTracker from './RelayOperationTracker';
import type {RecordState} from './RelayRecordState';

export opaque type FragmentReference = empty;
export opaque type FragmentType = empty;
export type OperationTracker = RelayOperationTracker;

export type MutationParameters = {|
Expand Down
35 changes: 13 additions & 22 deletions packages/relay-runtime/store/ResolverFragments.js
Expand Up @@ -13,10 +13,7 @@
'use strict';

import type {GraphQLTaggedNode} from '../query/GraphQLTag';
import type {
FragmentReference,
SingularReaderSelector,
} from './RelayStoreTypes';
import type {FragmentType, SingularReaderSelector} from './RelayStoreTypes';

const {getFragment} = require('../query/GraphQLTag');
const {getSelector} = require('./RelayModernSelector');
Expand All @@ -27,10 +24,7 @@ const invariant = require('invariant');
// about what resolver is being executed, which is supplied by putting the
// info on this stack before we call the resolver function.
type ResolverContext = {|
getDataForResolverFragment: (
SingularReaderSelector,
FragmentReference,
) => mixed,
getDataForResolverFragment: (SingularReaderSelector, FragmentType) => mixed,
|};
const contextStack: Array<ResolverContext> = [];

Expand All @@ -53,17 +47,17 @@ function withResolverContext<T>(context: ResolverContext, cb: () => T): T {
// - array of nullable if the privoided ref type is an array of nullable refs

declare function readFragment<
TKey: {+$data?: mixed, +$fragmentRefs: FragmentReference, ...},
TKey: {+$data?: mixed, +$fragmentRefs: FragmentType, ...},
>(
fragmentInput: GraphQLTaggedNode,
fragmentRef: TKey,
fragmentKey: TKey,
): $Call<<TFragmentData>({+$data?: TFragmentData, ...}) => TFragmentData, TKey>;

declare function readFragment<
TKey: ?{+$data?: mixed, +$fragmentRefs: FragmentReference, ...},
TKey: ?{+$data?: mixed, +$fragmentRefs: FragmentType, ...},
>(
fragmentInput: GraphQLTaggedNode,
fragmentRef: TKey,
fragmentKey: TKey,
): $Call<
<TFragmentData>(?{+$data?: TFragmentData, ...}) => ?TFragmentData,
TKey,
Expand All @@ -72,12 +66,12 @@ declare function readFragment<
declare function readFragment<
TKey: $ReadOnlyArray<{
+$data?: mixed,
+$fragmentRefs: FragmentReference,
+$fragmentRefs: FragmentType,
...
}>,
>(
fragmentInput: GraphQLTaggedNode,
fragmentRef: TKey,
fragmentKey: TKey,
): $Call<
<TFragmentData>(
$ReadOnlyArray<{+$data?: TFragmentData, ...}>,
Expand All @@ -88,31 +82,28 @@ declare function readFragment<
declare function readFragment<
TKey: ?$ReadOnlyArray<{
+$data?: mixed,
+$fragmentRefs: FragmentReference,
+$fragmentRefs: FragmentType,
...
}>,
>(
fragmentInput: GraphQLTaggedNode,
fragmentRef: TKey,
fragmentKey: TKey,
): $Call<
<TFragmentData>(
?$ReadOnlyArray<{+$data?: TFragmentData, ...}>,
) => ?TFragmentData,
TKey,
>;

function readFragment(
fragmentInput: GraphQLTaggedNode,
fragmentRef: FragmentReference,
): mixed {
function readFragment(fragmentInput, fragmentKey): mixed {
if (!contextStack.length) {
throw new Error(
'readFragment should be called only from within a Relay Resolver function.',
);
}
const context = contextStack[contextStack.length - 1];
const fragmentNode = getFragment(fragmentInput);
const fragmentSelector = getSelector(fragmentNode, fragmentRef);
const fragmentSelector = getSelector(fragmentNode, fragmentKey);
invariant(
fragmentSelector != null,
`Expected a selector for the fragment of the resolver ${fragmentNode.name}, but got null.`,
Expand All @@ -121,7 +112,7 @@ function readFragment(
fragmentSelector.kind === 'SingularReaderSelector',
`Expected a singular reader selector for the fragment of the resolver ${fragmentNode.name}, but it was plural.`,
);
return context.getDataForResolverFragment(fragmentSelector, fragmentRef);
return context.getDataForResolverFragment(fragmentSelector, fragmentKey);
}

module.exports = {readFragment, withResolverContext};
10 changes: 5 additions & 5 deletions packages/relay-runtime/store/readInlineData.js
Expand Up @@ -13,7 +13,7 @@
'use strict';

import type {GraphQLTaggedNode} from '../query/GraphQLTag';
import type {FragmentReference} from './RelayStoreTypes';
import type {FragmentType} from './RelayStoreTypes';

const {getInlineDataFragment} = require('../query/GraphQLTag');
const {FRAGMENTS_KEY} = require('./RelayStoreUtils');
Expand All @@ -24,23 +24,23 @@ const invariant = require('invariant');
*/

declare function readInlineData<
TRef: FragmentReference,
TFragmentType: FragmentType,
TData,
TKey: {
+$data?: TData,
+$fragmentRefs: TRef,
+$fragmentRefs: TFragmentType,
...
},
>(
fragment: GraphQLTaggedNode,
fragmentRef: TKey,
): TData;
declare function readInlineData<
TRef: FragmentReference,
TFragmentType: FragmentType,
TData,
TKey: ?{
+$data?: TData,
+$fragmentRefs: TRef,
+$fragmentRefs: TFragmentType,
...
},
>(
Expand Down

0 comments on commit 4556f53

Please sign in to comment.