У меня есть функция, которая принимает ключи типа в качестве аргумента args
, чтобы иметь возможность уменьшить их
Могу ли я как-нибудь избавиться от этого args
аргумента. Вот мой код:
const queryString = encodeQueryString(argv, [
"input",
"output",
"library",
"headless",
]);
type Argv = {
headless: boolean | undefined;
input: string | undefined;
output: string | undefined;
library: boolean | undefined;
};
export function encodeQueryString(argv: Argv, args: (keyof Argv)[]) {
return args.reduce((qs, arg) => {
if (typeof argv[arg] === "undefined") {
return qs;
}
if (!qs) {
return `?${arg}=${argv[arg]}`;
}
return `${qs}&${arg}=${argv[arg]}`;
}, "");
}