@@ -1563,7 +1563,7 @@ export class GraphQLEnumType /* <T> */ implements GraphQLSchemaElement {
1563
1563
1564
1564
private _values :
1565
1565
| ReadonlyArray < GraphQLEnumValue /* <T> */ >
1566
- | ( ( ) => GraphQLEnumValueConfigMap ) ;
1566
+ | ( ( ) => ReadonlyArray < GraphQLEnumValue > ) /* <T> */ ;
1567
1567
1568
1568
private _valueLookup : ReadonlyMap < any /* T */ , GraphQLEnumValue > | null ;
1569
1569
private _nameLookup : ObjMap < GraphQLEnumValue > | null ;
@@ -1576,13 +1576,7 @@ export class GraphQLEnumType /* <T> */ implements GraphQLSchemaElement {
1576
1576
this . astNode = config . astNode ;
1577
1577
this . extensionASTNodes = config . extensionASTNodes ?? [ ] ;
1578
1578
1579
- this . _values =
1580
- typeof config . values === 'function'
1581
- ? config . values
1582
- : Object . entries ( config . values ) . map (
1583
- ( [ valueName , valueConfig ] ) =>
1584
- new GraphQLEnumValue ( this , valueName , valueConfig ) ,
1585
- ) ;
1579
+ this . _values = defineEnumValues . bind ( undefined , this , config . values ) ;
1586
1580
this . _valueLookup = null ;
1587
1581
this . _nameLookup = null ;
1588
1582
}
@@ -1593,10 +1587,7 @@ export class GraphQLEnumType /* <T> */ implements GraphQLSchemaElement {
1593
1587
1594
1588
getValues ( ) : ReadonlyArray < GraphQLEnumValue /* <T> */ > {
1595
1589
if ( typeof this . _values === 'function' ) {
1596
- this . _values = Object . entries ( this . _values ( ) ) . map (
1597
- ( [ valueName , valueConfig ] ) =>
1598
- new GraphQLEnumValue ( this , valueName , valueConfig ) ,
1599
- ) ;
1590
+ this . _values = this . _values ( ) ;
1600
1591
}
1601
1592
return this . _values ;
1602
1593
}
@@ -1722,6 +1713,18 @@ export class GraphQLEnumType /* <T> */ implements GraphQLSchemaElement {
1722
1713
}
1723
1714
}
1724
1715
1716
+ function defineEnumValues (
1717
+ parentEnum : GraphQLEnumType ,
1718
+ values : ThunkObjMap < GraphQLEnumValueConfig /* <T> */ > ,
1719
+ ) : ReadonlyArray < GraphQLEnumValue > {
1720
+ const valueMap = resolveObjMapThunk ( values ) ;
1721
+
1722
+ return Object . entries ( valueMap ) . map (
1723
+ ( [ valueName , valueConfig ] ) =>
1724
+ new GraphQLEnumValue ( parentEnum , valueName , valueConfig ) ,
1725
+ ) ;
1726
+ }
1727
+
1725
1728
function didYouMeanEnumValue (
1726
1729
enumType : GraphQLEnumType ,
1727
1730
unknownValueStr : string ,
0 commit comments