astFromValue fails with a custom scalar serializing to an object value
- Dominant language
- TypeScript
- Stars
- 20.3k
- Forks
- 2.1k
- Avg merge
- 44m
- Merged PRs (30d)
- 6
Description
When you have a scalar with a `serialize` function that returns an object, it is not possible to convert it to AST.
So it doesn't allow you to print a schema that has an input value with an object as a default value.
Reproduction -> https://github.com/graphql/graphql-js/pull/4086
Proposed fix -> https://github.com/graphql/graphql-js/pull/4087
```ts
const JSONScalar = new GraphQLScalarType({
name: "JSON",
serialize(value) {
return value;
},
});
const schema = new GraphQLSchema({
types: [JSONScalar],
query: new GraphQLObjectType({
name: "Query",
fields: {
test: {
type: GraphQLString,
args: {
i: {
type: JSONScalar,
defaultValue: { object: true },
},
},
},
},
}),
});
```
Contributor guide
Assessment
This issue has not been assessed yet.