dotansimha/graphql-code-generator-community

Flutter json_serializable use `JsonValue` as the json key of Enum

whlsxl opened this issue · 0 comments

Which packages are impacted by your issue?

@graphql-codegen/flutter-freezed

Describe the bug

The current version of json_serializable uses JsonValue as the Enum json serialize key.

Your Example Website or App

https://stackblitz.com/edit/github-mc3hpg?file=app_models.dart

Steps to Reproduce the Bug or Issue

Schema.graphql

enum BookCategory {
  BusinessCareer
  Family
}

Generate

enum BookCategory {
  @JsonKey(name: 'BusinessCareer')
  businessCareer,
  @JsonKey(name: 'Family')
  family,
}

freezed generate


const _$BookCategoryEnumMap = {
  BookCategory.businessCareer: 'businessCareer',
  BookCategory.family: 'family',
}

freezed use $enumDecode(_$BookCategoryEnumMap, e); to trans from json.

got error

Invalid argument(s): `BusinessCareer` is not one of the supported values: businessCareer, family,

Expected behavior

enum BookCategory {
  @JsonValue('BusinessCareer')
  businessCareer,
  @JsonValue('Family')
  family,
}

Screenshots or Videos

No response

Platform

    "@graphql-codegen/cli": "5.0.2",
    "@graphql-codegen/flutter-freezed": "^4.0.0",
    "@graphql-codegen/introspection": "4.0.3",
    "@graphql-codegen/typescript": "4.0.6",
    "@graphql-codegen/typescript-resolvers": "4.0.6",

Codegen Config File

No response

Additional context

No response