Skip to content

Commit 83211a1

Browse files
authored
Merge pull request #314 from Canner/fix/api-parameter-type-required-bug
Fix: Fix API Parameter Type Bug Causing Undefined Error and Unintended Required Status
2 parents d9cea9e + fd3c058 commit 83211a1

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-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/src/lib/validators/built-in-validators/dateTypeValidator.ts

+2
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ export class DateTypeValidator extends InputValidator {
3939
}
4040

4141
public validateData(value: string, args?: DateInputArgs) {
42+
if (isUndefined(value)) return;
43+
4244
let valid = dayjs(value).isValid();
4345
// if there are args passed
4446
if (!isUndefined(args)) {

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)