@@ -1522,7 +1522,7 @@ export class GraphQLEnumType /* <T> */ implements GraphQLSchemaElement {
1522
1522
1523
1523
private _values :
1524
1524
| ReadonlyArray < GraphQLEnumValue /* <T> */ >
1525
- | ( ( ) => GraphQLEnumValueConfigMap ) ;
1525
+ | ( ( ) => ReadonlyArray < GraphQLEnumValue > ) /* <T> */ ;
1526
1526
1527
1527
private _valueLookup : ReadonlyMap < any /* T */ , GraphQLEnumValue > | null ;
1528
1528
private _nameLookup : ObjMap < GraphQLEnumValue > | null ;
@@ -1534,13 +1534,7 @@ export class GraphQLEnumType /* <T> */ implements GraphQLSchemaElement {
1534
1534
this . astNode = config . astNode ;
1535
1535
this . extensionASTNodes = config . extensionASTNodes ?? [ ] ;
1536
1536
1537
- this . _values =
1538
- typeof config . values === 'function'
1539
- ? config . values
1540
- : Object . entries ( config . values ) . map (
1541
- ( [ valueName , valueConfig ] ) =>
1542
- new GraphQLEnumValue ( this , valueName , valueConfig ) ,
1543
- ) ;
1537
+ this . _values = defineEnumValues . bind ( undefined , this , config . values ) ;
1544
1538
this . _valueLookup = null ;
1545
1539
this . _nameLookup = null ;
1546
1540
}
@@ -1551,10 +1545,7 @@ export class GraphQLEnumType /* <T> */ implements GraphQLSchemaElement {
1551
1545
1552
1546
getValues ( ) : ReadonlyArray < GraphQLEnumValue /* <T> */ > {
1553
1547
if ( typeof this . _values === 'function' ) {
1554
- this . _values = Object . entries ( this . _values ( ) ) . map (
1555
- ( [ valueName , valueConfig ] ) =>
1556
- new GraphQLEnumValue ( this , valueName , valueConfig ) ,
1557
- ) ;
1548
+ this . _values = this . _values ( ) ;
1558
1549
}
1559
1550
return this . _values ;
1560
1551
}
@@ -1684,6 +1675,18 @@ export class GraphQLEnumType /* <T> */ implements GraphQLSchemaElement {
1684
1675
}
1685
1676
}
1686
1677
1678
+ function defineEnumValues (
1679
+ parentEnum : GraphQLEnumType ,
1680
+ values : ThunkObjMap < GraphQLEnumValueConfig /* <T> */ > ,
1681
+ ) : ReadonlyArray < GraphQLEnumValue > {
1682
+ const valueMap = resolveObjMapThunk ( values ) ;
1683
+
1684
+ return Object . entries ( valueMap ) . map (
1685
+ ( [ valueName , valueConfig ] ) =>
1686
+ new GraphQLEnumValue ( parentEnum , valueName , valueConfig ) ,
1687
+ ) ;
1688
+ }
1689
+
1687
1690
function didYouMeanEnumValue (
1688
1691
enumType : GraphQLEnumType ,
1689
1692
unknownValueStr : string ,
0 commit comments