@@ -23,6 +23,7 @@ import {
2323 FieldNode ,
2424 FragmentDefinitionNode ,
2525 ValueNode ,
26+ ConstValueNode ,
2627 ScalarTypeExtensionNode ,
2728 UnionTypeExtensionNode ,
2829 EnumTypeExtensionNode ,
@@ -316,6 +317,7 @@ export class GraphQLScalarType {
316317 serialize : GraphQLScalarSerializer < unknown > ;
317318 parseValue : GraphQLScalarValueParser < unknown > ;
318319 parseLiteral : GraphQLScalarLiteralParser < unknown > ;
320+ valueToLiteral : Maybe < GraphQLScalarValueToLiteral > ;
319321 extensions : Maybe < Readonly < GraphQLScalarTypeExtensions > > ;
320322 astNode : Maybe < ScalarTypeDefinitionNode > ;
321323 extensionASTNodes : ReadonlyArray < ScalarTypeExtensionNode > ;
@@ -327,6 +329,7 @@ export class GraphQLScalarType {
327329 serialize : GraphQLScalarSerializer < unknown > ;
328330 parseValue : GraphQLScalarValueParser < unknown > ;
329331 parseLiteral : GraphQLScalarLiteralParser < unknown > ;
332+ valueToLiteral : Maybe < GraphQLScalarValueToLiteral > ;
330333 extensions : Maybe < Readonly < GraphQLScalarTypeExtensions > > ;
331334 extensionASTNodes : ReadonlyArray < ScalarTypeExtensionNode > ;
332335 } ;
@@ -347,6 +350,10 @@ export type GraphQLScalarLiteralParser<TInternal> = (
347350 variables : Maybe < ObjMap < unknown > > ,
348351) => Maybe < TInternal > ;
349352
353+ export type GraphQLScalarValueToLiteral = (
354+ inputValue : unknown ,
355+ ) => Maybe < ConstValueNode > ;
356+
350357export interface GraphQLScalarTypeConfig < TInternal , TExternal > {
351358 name : string ;
352359 description ?: Maybe < string > ;
@@ -357,6 +364,8 @@ export interface GraphQLScalarTypeConfig<TInternal, TExternal> {
357364 parseValue ?: GraphQLScalarValueParser < TInternal > ;
358365 // Parses an externally provided literal value to use as an input.
359366 parseLiteral ?: GraphQLScalarLiteralParser < TInternal > ;
367+ // Translates an external input value to an external literal (AST).
368+ valueToLiteral ?: Maybe < GraphQLScalarValueToLiteral > ;
360369 extensions ?: Maybe < Readonly < GraphQLScalarTypeExtensions > > ;
361370 astNode ?: Maybe < ScalarTypeDefinitionNode > ;
362371 extensionASTNodes ?: Maybe < ReadonlyArray < ScalarTypeExtensionNode > > ;
@@ -786,6 +795,7 @@ export class GraphQLEnumType {
786795 valueNode : ValueNode ,
787796 _variables : Maybe < ObjMap < unknown > > ,
788797 ) : Maybe < any > ;
798+ valueToLiteral ( value : unknown ) : Maybe < ConstValueNode > ;
789799
790800 toConfig ( ) : GraphQLEnumTypeConfig & {
791801 extensions : Maybe < Readonly < GraphQLEnumTypeExtensions > > ;
0 commit comments