Coder Social home page Coder Social logo

Comments (4)

fforres avatar fforres commented on July 20, 2024 1

Happy to work on the PR for this, though it might take me a bit 🙏

from graphql-code-generator-community.

fforres avatar fforres commented on July 20, 2024

Will keep the WIP here -> https://github.com/dotansimha/graphql-code-generator-community/compare/main...fforres:graphql-code-generator-community:fforres/use_background_query?expand=1

from graphql-code-generator-community.

saihaj avatar saihaj commented on July 20, 2024

great let me know once you are ready for review @fforres assigned you this issue. Thank you

from graphql-code-generator-community.

nirus avatar nirus commented on July 20, 2024

@fforres

Will keep the WIP here -> https://github.com/dotansimha/graphql-code-generator-community/compare/main...fforres:graphql-code-generator-community:fforres/use_background_query?expand=1

I corrected your generator code and it works.

      // BackgroundQuery Hook
      const backgroundOperationName: string =
        this.convertName(nodeName, {
          suffix: pascalCase('BackgroundQuery'),
          useTypesPrefix: false,
        }) + this.config.hooksSuffix;

      hookFns.push(
        `export function use${backgroundOperationName}(baseOptions?: ${this.getApolloReactHooksIdentifier()}.BackgroundQueryHookOptions<${operationResultType}, ${operationVariablesTypes}>) {
             const options = {...defaultOptions, ...baseOptions}
             return ${this.getApolloReactHooksIdentifier()}.useBackgroundQuery<${operationResultType}, ${operationVariablesTypes}>(${this.getDocumentNodeVariable(
          node,
          documentVariableName,
        )}, options);
           }`,
      );
      hookResults.push(
        `export type ${backgroundOperationName}HookResult = ReturnType<typeof use${backgroundOperationName}>;`,
      );

      // ReadQuery Hook
      const readOperationName: string =
        this.convertName(nodeName, {
          suffix: pascalCase('ReadQuery'),
          useTypesPrefix: false,
        }) + this.config.hooksSuffix;

      hookFns.push(
        `export function use${readOperationName}(backgroundQueryRef: ${this.getApolloReactHooksIdentifier()}.QueryReference<${operationResultType}>) {
          return ${this.getApolloReactHooksIdentifier()}.useReadQuery<${operationResultType}>(backgroundQueryRef);
        }`,
      );

      hookResults.push(
        `export type ${readOperationName}HookResult = ReturnType<typeof use${readOperationName}>;`,
      );

from graphql-code-generator-community.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.