mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-08-16 23:10:29 +00:00
[relay-runtime] Correct typing for default missing field handlers (#40361)
* Correct typing for default missing field handlers * default export
This commit is contained in:
Vendored
+3
-3
@@ -170,9 +170,9 @@ export { readInlineData } from './lib/store/readInlineData';
|
||||
|
||||
// Extensions
|
||||
export { RelayDefaultHandlerProvider as DefaultHandlerProvider } from './lib/handlers/RelayDefaultHandlerProvider';
|
||||
export {
|
||||
missingViewerFieldHandler as DefaultMissingFieldHandlers,
|
||||
} from './lib/handlers/RelayDefaultMissingFieldHandlers';
|
||||
|
||||
import DefaultMissingFieldHandlers from './lib/handlers/RelayDefaultMissingFieldHandlers';
|
||||
export { DefaultMissingFieldHandlers };
|
||||
import * as ConnectionHandler from './lib/handlers/connection/RelayConnectionHandler';
|
||||
export { ConnectionHandler };
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { MissingFieldHandler } from '../store/RelayStoreTypes';
|
||||
|
||||
export const missingViewerFieldHandler: MissingFieldHandler;
|
||||
declare const DefaultMissingFieldHandlers: MissingFieldHandler[];
|
||||
export default DefaultMissingFieldHandlers;
|
||||
|
||||
@@ -1,16 +1,19 @@
|
||||
import {
|
||||
ConcreteRequest,
|
||||
ConnectionHandler,
|
||||
DefaultMissingFieldHandlers,
|
||||
Environment,
|
||||
Network,
|
||||
RecordSource,
|
||||
Store,
|
||||
ConnectionHandler,
|
||||
commitLocalUpdate,
|
||||
QueryResponseCache,
|
||||
ROOT_ID,
|
||||
ROOT_TYPE,
|
||||
RecordProxy,
|
||||
RecordSource,
|
||||
RecordSourceSelectorProxy,
|
||||
RelayNetworkLoggerTransaction,
|
||||
Store,
|
||||
commitLocalUpdate,
|
||||
createRelayNetworkLogger,
|
||||
RecordSourceSelectorProxy, RecordProxy,
|
||||
} from 'relay-runtime';
|
||||
|
||||
const source = new RecordSource();
|
||||
@@ -48,6 +51,36 @@ const environment = new Environment({
|
||||
handlerProvider, // Can omit.
|
||||
network,
|
||||
store,
|
||||
missingFieldHandlers: [
|
||||
...DefaultMissingFieldHandlers,
|
||||
// Example from https://relay.dev/docs/en/experimental/a-guided-tour-of-relay
|
||||
{
|
||||
handle(field, record, argValues) {
|
||||
if (
|
||||
record != null &&
|
||||
record.__typename === ROOT_TYPE &&
|
||||
field.name === 'user' &&
|
||||
argValues.hasOwnProperty('id')
|
||||
) {
|
||||
// If field is user(id: $id), look up the record by the value of $id
|
||||
return argValues.id;
|
||||
}
|
||||
if (
|
||||
record != null &&
|
||||
record.__typename === ROOT_TYPE &&
|
||||
field.name === 'story' &&
|
||||
argValues.hasOwnProperty('story_id')
|
||||
) {
|
||||
// If field is story(story_id: $story_id), look up the record by the
|
||||
// value of $story_id.
|
||||
return argValues.story_id;
|
||||
}
|
||||
|
||||
return null;
|
||||
},
|
||||
kind: 'linked',
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
// ~~~~~~~~~~~~~~~~~~~~~
|
||||
@@ -83,8 +116,8 @@ interface MessageEdge {
|
||||
interface SendConversationMessageMutationResponse {
|
||||
readonly sendConversationMessage: {
|
||||
readonly messageEdge: MessageEdge & {
|
||||
error: string
|
||||
}
|
||||
error: string;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user