Уменьшить лишние свойства в виде? - PullRequest
0 голосов
/ 28 мая 2020

У меня есть функция, которая принимает ключи типа в качестве аргумента 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]}`;
  }, "");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...