import {expectType} from 'tsd-check'; import chalk, {Level, Chalk, ColorSupport} from '.'; // - Helpers - type colorReturn = Chalk & {supportsColor: ColorSupport}; // - Level - expectType(Level.None); expectType(Level.Basic); expectType(Level.Ansi256); expectType(Level.TrueColor); // - supportsColor - expectType(chalk.supportsColor.hasBasic); expectType(chalk.supportsColor.has256); expectType(chalk.supportsColor.has16m); // - Chalk - // -- Constructor -- expectType(chalk.constructor()); expectType(chalk.constructor()); expectType(new chalk.constructor({level: 1})); // -- Properties -- expectType(chalk.enabled); expectType(chalk.level); // -- Template literal -- expectType(chalk``); const name = 'John'; expectType(chalk`Hello {bold.red ${name}}`); // -- Color methods -- expectType(chalk.hex('#DEADED')); expectType(chalk.keyword('orange')); expectType(chalk.rgb(0, 0, 0)); expectType(chalk.hsl(0, 0, 0)); expectType(chalk.hsv(0, 0, 0)); expectType(chalk.hwb(0, 0, 0)); expectType(chalk.bgHex('#DEADED')); expectType(chalk.bgKeyword('orange')); expectType(chalk.bgRgb(0, 0, 0)); expectType(chalk.bgHsl(0, 0, 0)); expectType(chalk.bgHsv(0, 0, 0)); expectType(chalk.bgHwb(0, 0, 0)); // -- Modifiers -- expectType(chalk.reset('foo')); expectType(chalk.bold('foo')); expectType(chalk.dim('foo')); expectType(chalk.italic('foo')); expectType(chalk.underline('foo')); expectType(chalk.inverse('foo')); expectType(chalk.hidden('foo')); expectType(chalk.strikethrough('foo')); expectType(chalk.visible('foo')); expectType(chalk.reset`foo`); expectType(chalk.bold`foo`); expectType(chalk.dim`foo`); expectType(chalk.italic`foo`); expectType(chalk.underline`foo`); expectType(chalk.inverse`foo`); expectType(chalk.hidden`foo`); expectType(chalk.strikethrough`foo`); expectType(chalk.visible`foo`); // -- Colors -- expectType(chalk.black('foo')); expectType(chalk.red('foo')); expectType(chalk.green('foo')); expectType(chalk.yellow('foo')); expectType(chalk.blue('foo')); expectType(chalk.magenta('foo')); expectType(chalk.cyan('foo')); expectType(chalk.white('foo')); expectType(chalk.gray('foo')); expectType(chalk.grey('foo')); expectType(chalk.blackBright('foo')); expectType(chalk.redBright('foo')); expectType(chalk.greenBright('foo')); expectType(chalk.yellowBright('foo')); expectType(chalk.blueBright('foo')); expectType(chalk.magentaBright('foo')); expectType(chalk.cyanBright('foo')); expectType(chalk.whiteBright('foo')); expectType(chalk.bgBlack('foo')); expectType(chalk.bgRed('foo')); expectType(chalk.bgGreen('foo')); expectType(chalk.bgYellow('foo')); expectType(chalk.bgBlue('foo')); expectType(chalk.bgMagenta('foo')); expectType(chalk.bgCyan('foo')); expectType(chalk.bgWhite('foo')); expectType(chalk.bgBlackBright('foo')); expectType(chalk.bgRedBright('foo')); expectType(chalk.bgGreenBright('foo')); expectType(chalk.bgYellowBright('foo')); expectType(chalk.bgBlueBright('foo')); expectType(chalk.bgMagentaBright('foo')); expectType(chalk.bgCyanBright('foo')); expectType(chalk.bgWhiteBright('foo')); expectType(chalk.black`foo`); expectType(chalk.red`foo`); expectType(chalk.green`foo`); expectType(chalk.yellow`foo`); expectType(chalk.blue`foo`); expectType(chalk.magenta`foo`); expectType(chalk.cyan`foo`); expectType(chalk.white`foo`); expectType(chalk.gray`foo`); expectType(chalk.grey`foo`); expectType(chalk.blackBright`foo`); expectType(chalk.redBright`foo`); expectType(chalk.greenBright`foo`); expectType(chalk.yellowBright`foo`); expectType(chalk.blueBright`foo`); expectType(chalk.magentaBright`foo`); expectType(chalk.cyanBright`foo`); expectType(chalk.whiteBright`foo`); expectType(chalk.bgBlack`foo`); expectType(chalk.bgRed`foo`); expectType(chalk.bgGreen`foo`); expectType(chalk.bgYellow`foo`); expectType(chalk.bgBlue`foo`); expectType(chalk.bgMagenta`foo`); expectType(chalk.bgCyan`foo`); expectType(chalk.bgWhite`foo`); expectType(chalk.bgBlackBright`foo`); expectType(chalk.bgRedBright`foo`); expectType(chalk.bgGreenBright`foo`); expectType(chalk.bgYellowBright`foo`); expectType(chalk.bgBlueBright`foo`); expectType(chalk.bgMagentaBright`foo`); expectType(chalk.bgCyanBright`foo`); expectType(chalk.bgWhiteBright`foo`); // -- Complex -- expectType(chalk.red.bgGreen.underline('foo')); expectType(chalk.underline.red.bgGreen('foo'));