Skip to content

Commit d5a659f

Browse files
committed
Fix bug where specifying a parameter type in the API definition caused an error when the parameter was undefined, indirectly making it required
1 parent d9cea9e commit d5a659f

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

packages/core/src/lib/utils/normalizedStringValue.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { isUndefined } from 'lodash';
12
import { UserError } from './errors';
23

34
export const canBeNormalized = (type: string) => {
@@ -7,10 +8,14 @@ export const canBeNormalized = (type: string) => {
78
};
89

910
export const normalizeStringValue = (
10-
value: string,
11+
value: string | undefined,
1112
dataName: string,
1213
dataType: string
1314
) => {
15+
if (isUndefined(value)) {
16+
return undefined;
17+
}
18+
1419
switch (dataType.toLowerCase()) {
1520
case 'number': {
1621
if (value === '') {

packages/core/test/utils/normalizedStringValue.spec.ts

+4
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,19 @@ it.each([
2222
['number', '1234', 1234],
2323
['number', '-1234', -1234],
2424
['number', '0', 0],
25+
['number', undefined, undefined],
2526
['boolean', '', true],
2627
['boolean', '1', true],
2728
['boolean', 'true', true],
2829
['boolean', '0', false],
2930
['boolean', 'false', false],
31+
['boolean', undefined, undefined],
3032
['date', '2022-08-23 14:44:23', new Date('2022-08-23 14:44:23')],
33+
['date', undefined, undefined],
3134
['string', '1234', '1234'],
3235
['string', 'true', 'true'],
3336
['string', '', ''],
37+
['string', undefined, undefined],
3438
])(
3539
`Normalizer should return correct value with type %s and value %p`,
3640
(type, value, expectedValue) => {

0 commit comments

Comments
 (0)