Skip to content

Commit ff30025

Browse files
committed
feat(): added enum case mapper
1 parent 565bc9e commit ff30025

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

packages/graphql/lib/schema-builder/factories/enum-definition.factory.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1+
import { upperCase } from 'lodash';
12
import { Injectable } from '@nestjs/common';
23
import { GraphQLEnumType } from 'graphql';
34
import { EnumMetadata } from '../metadata';
45

6+
export const mapToUppercase = (value: string): string =>
7+
upperCase(value).replace(' ', '_');
8+
59
export interface EnumDefinition {
610
enumRef: object;
711
type: GraphQLEnumType;
@@ -19,7 +23,13 @@ export class EnumDefinitionFactory {
1923
description: metadata.description,
2024
values: Object.keys(enumValues).reduce((prevValue, key) => {
2125
const valueMap = metadata.valuesMap[key];
22-
prevValue[key] = {
26+
27+
let graphqlKey = key;
28+
if (metadata.mapToUppercase) {
29+
graphqlKey = mapToUppercase(key);
30+
}
31+
32+
prevValue[graphqlKey] = {
2333
value: enumValues[key],
2434
description: valueMap?.description,
2535
deprecationReason: valueMap?.deprecationReason,

0 commit comments

Comments
 (0)