Получить имена всех цветов, поддерживаемых Chalk, в TypeScript - PullRequest
0 голосов
/ 31 октября 2019

Я использую пакет Chalk NPM в TypeScript. Если я динамически устанавливаю цвет для Chalk, я получаю ошибку TS. Я мог бы использовать утверждение типа, например chalk[color] as Chalk, но я бы предпочел использовать предикат типа, если это возможно, что потребовало бы от меня доступа к списку поддерживаемых цветов.

Итак, есть ли способполучить доступ к списку поддерживаемых цветов в Chalk или иным способом решения этой проблемы, не используя утверждения типа и, возможно, не используя предикаты типа?

Может потребоваться параметр strict в compilerOptions в tsconfig.jsonчтобы включить, чтобы появилась ошибка.

Код ниже, а ошибка в комментариях:

import chalk from 'chalk';

function getColor(): string {
  return 'blue';
}

const color = getColor();

/**
 * Element implicitly has an 'any' type because expression of type 'string'
 * can't be used to index type 'Chalk & { supportsColor: ColorSupport; }'.
 *
 * No index signature with a parameter of type 'string' was found on type 'Chalk
 * & { supportsColor: ColorSupport; }'.ts(7053)
 */
console.log(chalk[color]('test'));
...