Skip to content

Commit 1b284e9

Browse files
committed
chore: add boolean parsing edge cases
1 parent 94b7863 commit 1b284e9

File tree

3 files changed

+26
-1
lines changed

3 files changed

+26
-1
lines changed

src/common/config/argsParserOptions.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ export const OPTIONS = {
1818
"connectionString",
1919
"httpHost",
2020
"httpPort",
21+
"allowRequestOverrides",
2122
"idleTimeoutMs",
2223
"logPath",
2324
"notificationTimeoutMs",

src/common/config/configUtils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ export function parseBoolean(val: unknown): unknown {
123123
if (typeof val === "number") {
124124
return val !== 0;
125125
}
126-
return false;
126+
return !!val;
127127
}
128128

129129
/** Allow overriding only to the allowed value */

tests/unit/common/config.test.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -452,6 +452,30 @@ describe("config", () => {
452452
cli: ["--version"],
453453
expected: { version: true },
454454
},
455+
{
456+
cli: ["--allowRequestOverrides", "false"],
457+
expected: { allowRequestOverrides: false },
458+
},
459+
{
460+
cli: ["--allowRequestOverrides", "0"],
461+
expected: { allowRequestOverrides: false },
462+
},
463+
{
464+
cli: ["--allowRequestOverrides", "1"],
465+
expected: { allowRequestOverrides: true },
466+
},
467+
{
468+
cli: ["--allowRequestOverrides", "true"],
469+
expected: { allowRequestOverrides: true },
470+
},
471+
{
472+
cli: ["--allowRequestOverrides", "yes"],
473+
expected: { allowRequestOverrides: true },
474+
},
475+
{
476+
cli: ["--allowRequestOverrides", ""],
477+
expected: { allowRequestOverrides: false },
478+
},
455479
] as { cli: string[]; expected: Partial<UserConfig> }[];
456480

457481
for (const { cli, expected } of testCases) {

0 commit comments

Comments
 (0)