Skip to content
This repository was archived by the owner on Sep 27, 2023. It is now read-only.

Commit b487962

Browse files
committed
feat: implement $data
1 parent 41f46dc commit b487962

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/TypeScriptGenerator.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,9 @@ function createVisitor(options: TypeGeneratorOptions): IRVisitor.NodeVisitor {
451451
refTypeFragmentRefProperty
452452
]);
453453

454+
const dataTypeName = getDataTypeName(node.name);
455+
const dataType = ts.createTypeReferenceNode(node.name, undefined);
456+
454457
const unmasked = node.metadata != null && node.metadata.mask === false;
455458
const baseType = selectionsToAST(
456459
selections,
@@ -468,6 +471,7 @@ function createVisitor(options: TypeGeneratorOptions): IRVisitor.NodeVisitor {
468471
...getFragmentRefsTypeImport(state),
469472
...getEnumDefinitions(state),
470473
exportType(node.name, type),
474+
exportType(dataTypeName, dataType),
471475
exportType(
472476
refTypeName,
473477
isPluralFragment
@@ -930,6 +934,10 @@ function getRefTypeName(name: string): string {
930934
return `${name}$key`;
931935
}
932936

937+
function getDataTypeName(name: string): string {
938+
return `${name}$data`;
939+
}
940+
933941
// Should match FLOW_TRANSFORMS array
934942
// https://github.com/facebook/relay/blob/v6.0.0/packages/relay-compiler/language/javascript/RelayFlowGenerator.js#L621-L627
935943
export const transforms: TypeGenerator["transforms"] = [

0 commit comments

Comments
 (0)