Skip to content

Commit 0860340

Browse files
alanpoulainanymaniax
andauthoredSep 11, 2023
fix: filter null from enum values (#928)
Co-authored-by: Victor <victor@emaniax.io>
1 parent 663cafa commit 0860340

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed
 

‎packages/core/src/getters/scalar.ts

+7-6
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export const getScalar = ({
2020
context: ContextSpecs;
2121
}): ScalarValue => {
2222
const nullable = item.nullable ? ' | null' : '';
23+
const enumItems = item.enum?.filter((enumItem) => enumItem !== null);
2324

2425
if (!item.type && item.items) {
2526
item.type = 'array';
@@ -34,8 +35,8 @@ export const getScalar = ({
3435
: 'number';
3536
let isEnum = false;
3637

37-
if (item.enum) {
38-
value = item.enum.map((enumItem: string) => `${enumItem}`).join(' | ');
38+
if (enumItems) {
39+
value = enumItems.map((enumItem: string) => `${enumItem}`).join(' | ');
3940
isEnum = true;
4041
}
4142

@@ -77,8 +78,8 @@ export const getScalar = ({
7778
let value = 'string';
7879
let isEnum = false;
7980

80-
if (item.enum) {
81-
value = `'${item.enum
81+
if (enumItems) {
82+
value = `'${enumItems
8283
.map((enumItem: string) =>
8384
isString(enumItem) ? escape(enumItem) : `${enumItem}`,
8485
)
@@ -122,8 +123,8 @@ export const getScalar = ({
122123

123124
case 'object':
124125
default: {
125-
if (item.enum) {
126-
const value = `'${item.enum
126+
if (enumItems) {
127+
const value = `'${enumItems
127128
.map((enumItem: string) =>
128129
isString(enumItem) ? escape(enumItem) : `${enumItem}`,
129130
)

‎tests/specifications/null-type.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@ components:
5555
- type: 'string'
5656
- type: 'null'
5757
NullEnum:
58+
nullable: true
5859
enum:
60+
- foo
5961
- null
6062
BlankEnum:
6163
enum:

1 commit comments

Comments
 (1)

vercel[bot] commented on Sep 11, 2023

@vercel[bot]
Please sign in to comment.