The Coercion functions for Scalars are currently named:
serialize: this is result or output coercion
parseValue: this is runtime object input coercion
parseLiteral: this is Ast literal input coercion
(See #1817): serializeAsLiteral this takes an input value and converts it to an Ast literal
I don't think the current names align very well with the spec: the spec talks about "Result Coercion" and "Input Coercion". Also parseValue doesn't parse anything, but convert a runtime input value to an internal value.
In my mental model parseValue and parseLiteral produce a internalInputValue and serializeAsLiteral converts the internalInputValue to a literal.
First rough idea (I am sure we can do better, just to start the discussion)
coerceOutput or coerceResult (the spec talks about result coercion, but output would mirror input)
coerceInputValue
coerceInputLiteral
coerceInternalValueAsLiteral
In GraphQL Java we are also thinking about renaming (and adding a 4th one) and it would be great to have a discussion about a more clear naming.
The Coercion functions for Scalars are currently named:
I don't think the current names align very well with the spec: the spec talks about "Result Coercion" and "Input Coercion". Also
parseValue
doesn't parse anything, but convert a runtime input value to an internal value.In my mental model
parseValue
andparseLiteral
produce ainternalInputValue
andserializeAsLiteral
converts theinternalInputValue
to aliteral
.First rough idea (I am sure we can do better, just to start the discussion)
coerceOutput
orcoerceResult
(the spec talks about result coercion, but output would mirror input)coerceInputValue
coerceInputLiteral
coerceInternalValueAsLiteral
In GraphQL Java we are also thinking about renaming (and adding a 4th one) and it would be great to have a discussion about a more clear naming.