How to use the relay-compiler.IRVisitor.visit function in relay-compiler

To help you get started, weโ€™ve selected a few relay-compiler examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github relay-tools / relay-compiler-language-typescript / src / TypeScriptGenerator.ts View on Github external
ts.createTypeReferenceNode(responseType.name, undefined)
          ),
          objectTypeProperty(
            "variables",
            ts.createTypeReferenceNode(inputVariablesType.name, undefined)
          )
        ];

        // Generate raw response type
        let rawResponseType;
        const { normalizationIR } = options;
        if (
          normalizationIR &&
          node.directives.some(d => d.name === DIRECTIVE_NAME)
        ) {
          rawResponseType = IRVisitor.visit(
            normalizationIR,
            createRawResponseTypeVisitor(schema, state)
          );
        }
        const refetchableFragmentName = getRefetchableQueryParentFragmentName(
          state,
          node.metadata
        );
        if (state.hasConnectionResolver) {
          state.runtimeImports.add("ConnectionReference");
        }
        if (refetchableFragmentName !== null) {
          state.runtimeImports.add("FragmentReference");
        }
        const nodes = [];
        if (state.runtimeImports.size) {
github relay-tools / relay-compiler-language-typescript / src / TypeScriptGenerator.ts View on Github external
export const generate: TypeGenerator["generate"] = (schema, node, options) => {
  const ast: ts.Statement[] = IRVisitor.visit(
    node,
    createVisitor(schema, options)
  );

  const printer = ts.createPrinter({ newLine: ts.NewLineKind.LineFeed });

  const resultFile = ts.createSourceFile(
    "grapghql-def.ts",
    "",
    ts.ScriptTarget.Latest,
    false,
    ts.ScriptKind.TS
  );

  const fullProgramAst = ts.updateSourceFileNode(resultFile, ast);