graphene icon indicating copy to clipboard operation
graphene copied to clipboard

Subclass built-in scalars without creating new GraphQL type

Open RJPercival opened this issue 1 month ago • 0 comments

Is your feature request related to a problem? Please describe. I'd like to be able to customise serialization logic for some scalars, e.g. a NormalizedDecimal that inherits from Decimal but calls .normalize() on the value during serialization. Unfortunately, this results in the GraphQL schema containing a new NormalizedDecimal scalar that clients don't know how to deserialize.

Describe the solution you'd like I'd like the type to still be that of the superclass in the schema, e.g. Decimal in the above example.

Describe alternatives you've considered I've tried overriding Scalar.get_type() to return the type of the superclass, but then the subclass doesn't function as intended, e.g. the custom serialization logic doesn't get invoked. I've also tried setting Meta.name to that of the superclass, but that also results in the custom serialization logic not being invoked.

RJPercival avatar Jun 05 '24 13:06 RJPercival