@@ -23,6 +23,7 @@ import {
23
23
FieldNode ,
24
24
FragmentDefinitionNode ,
25
25
ValueNode ,
26
+ ConstValueNode ,
26
27
ScalarTypeExtensionNode ,
27
28
UnionTypeExtensionNode ,
28
29
EnumTypeExtensionNode ,
@@ -316,6 +317,7 @@ export class GraphQLScalarType {
316
317
serialize : GraphQLScalarSerializer < unknown > ;
317
318
parseValue : GraphQLScalarValueParser < unknown > ;
318
319
parseLiteral : GraphQLScalarLiteralParser < unknown > ;
320
+ valueToLiteral : Maybe < GraphQLScalarValueToLiteral > ;
319
321
extensions : Maybe < Readonly < GraphQLScalarTypeExtensions > > ;
320
322
astNode : Maybe < ScalarTypeDefinitionNode > ;
321
323
extensionASTNodes : ReadonlyArray < ScalarTypeExtensionNode > ;
@@ -327,6 +329,7 @@ export class GraphQLScalarType {
327
329
serialize : GraphQLScalarSerializer < unknown > ;
328
330
parseValue : GraphQLScalarValueParser < unknown > ;
329
331
parseLiteral : GraphQLScalarLiteralParser < unknown > ;
332
+ valueToLiteral : Maybe < GraphQLScalarValueToLiteral > ;
330
333
extensions : Maybe < Readonly < GraphQLScalarTypeExtensions > > ;
331
334
extensionASTNodes : ReadonlyArray < ScalarTypeExtensionNode > ;
332
335
} ;
@@ -347,6 +350,10 @@ export type GraphQLScalarLiteralParser<TInternal> = (
347
350
variables : Maybe < ObjMap < unknown > > ,
348
351
) => Maybe < TInternal > ;
349
352
353
+ export type GraphQLScalarValueToLiteral = (
354
+ inputValue : unknown ,
355
+ ) => Maybe < ConstValueNode > ;
356
+
350
357
export interface GraphQLScalarTypeConfig < TInternal , TExternal > {
351
358
name : string ;
352
359
description ?: Maybe < string > ;
@@ -357,6 +364,8 @@ export interface GraphQLScalarTypeConfig<TInternal, TExternal> {
357
364
parseValue ?: GraphQLScalarValueParser < TInternal > ;
358
365
// Parses an externally provided literal value to use as an input.
359
366
parseLiteral ?: GraphQLScalarLiteralParser < TInternal > ;
367
+ // Translates an external input value to an external literal (AST).
368
+ valueToLiteral ?: Maybe < GraphQLScalarValueToLiteral > ;
360
369
extensions ?: Maybe < Readonly < GraphQLScalarTypeExtensions > > ;
361
370
astNode ?: Maybe < ScalarTypeDefinitionNode > ;
362
371
extensionASTNodes ?: Maybe < ReadonlyArray < ScalarTypeExtensionNode > > ;
@@ -786,6 +795,7 @@ export class GraphQLEnumType {
786
795
valueNode : ValueNode ,
787
796
_variables : Maybe < ObjMap < unknown > > ,
788
797
) : Maybe < any > ;
798
+ valueToLiteral ( value : unknown ) : Maybe < ConstValueNode > ;
789
799
790
800
toConfig ( ) : GraphQLEnumTypeConfig & {
791
801
extensions : Maybe < Readonly < GraphQLEnumTypeExtensions > > ;
0 commit comments