dotansimha/graphql-code-generator

Interfaces forcing c# 8.0, is this intended?

Open

#5,600 创建于 2021年2月24日

在 GitHub 查看
 (1 评论) (1 反应) (0 负责人)TypeScript (10,341 star) (1,295 fork)batch import
help wantedkind/enhancementplugins

描述

Describe the bug When we have an interface in the graphl schema the generated c# interface properties will have a public prefix making them a c# 8.0 feature.

Schema

interface Product {
  articles: [Article!]!
}

C#

public interface Product {
      [JsonProperty("articles")]
      public List<Article> articles { get; set; }
}

I guess the publicpart here should probably be omitted? Or is this intended?

  1. My GraphQL schema:
# Put your schema here
  1. My GraphQL operations:
# Put your operations here
  1. My codegen.yml config file:
overwrite: true
schema: "https://somedomain/graphql"
documents: "./src/graphql/**/*.graphql"
generates:
  ./src/GraphQL/Client/GraphQLClientServices.generated.cs:
    config:
      namespaceName: SomeNameSpace
      typesafeOperation: false
    plugins:
      - c-sharp
      - c-sharp-operations

Expected behavior I expect the output to not include the public part.

Environment:

  • OS: Windows / Git Bash
"@graphql-codegen/c-sharp-operations": "^1.18.0",
"@graphql-codegen/cli": "^1.20.1",
"@graphql-codegen/typescript": "^1.20.2",
"@graphql-codegen/typescript-graphql-request": "^3.0.2",
"@graphql-codegen/typescript-operations": "^1.17.14",
  • NodeJS: v14.15.1

贡献者指南