forked from orbit-oss/chalk
Change the TypeScript Level type to be a union instead of enum
Fixes #373 Fixes #382
This commit is contained in:
parent
7f21f209da
commit
f0f4638a92
4 changed files with 23 additions and 54 deletions
47
index.d.ts
vendored
47
index.d.ts
vendored
|
|
@ -1,25 +1,3 @@
|
|||
declare const enum LevelEnum {
|
||||
/**
|
||||
All colors disabled.
|
||||
*/
|
||||
None = 0,
|
||||
|
||||
/**
|
||||
Basic 16 colors support.
|
||||
*/
|
||||
Basic = 1,
|
||||
|
||||
/**
|
||||
ANSI 256 colors support.
|
||||
*/
|
||||
Ansi256 = 2,
|
||||
|
||||
/**
|
||||
Truecolor 16 million colors support.
|
||||
*/
|
||||
TrueColor = 3
|
||||
}
|
||||
|
||||
/**
|
||||
Basic foreground colors.
|
||||
|
||||
|
|
@ -89,12 +67,26 @@ declare type Modifiers =
|
|||
| 'visible';
|
||||
|
||||
declare namespace chalk {
|
||||
type Level = LevelEnum;
|
||||
/**
|
||||
Levels:
|
||||
- `0` - All colors disabled.
|
||||
- `1` - Basic 16 colors support.
|
||||
- `2` - ANSI 256 colors support.
|
||||
- `3` - Truecolor 16 million colors support.
|
||||
*/
|
||||
type Level = 0 | 1 | 2 | 3;
|
||||
|
||||
interface Options {
|
||||
/**
|
||||
Specify the color support for Chalk.
|
||||
|
||||
By default, color support is automatically detected based on the environment.
|
||||
|
||||
Levels:
|
||||
- `0` - All colors disabled.
|
||||
- `1` - Basic 16 colors support.
|
||||
- `2` - ANSI 256 colors support.
|
||||
- `3` - Truecolor 16 million colors support.
|
||||
*/
|
||||
level?: Level;
|
||||
}
|
||||
|
|
@ -161,7 +153,14 @@ declare namespace chalk {
|
|||
|
||||
/**
|
||||
The color support for Chalk.
|
||||
|
||||
By default, color support is automatically detected based on the environment.
|
||||
|
||||
Levels:
|
||||
- `0` - All colors disabled.
|
||||
- `1` - Basic 16 colors support.
|
||||
- `2` - ANSI 256 colors support.
|
||||
- `3` - Truecolor 16 million colors support.
|
||||
*/
|
||||
level: Level;
|
||||
|
||||
|
|
@ -400,7 +399,7 @@ This simply means that `chalk.red.yellow.green` is equivalent to `chalk.green`.
|
|||
*/
|
||||
declare const chalk: chalk.Chalk & chalk.ChalkFunction & {
|
||||
supportsColor: chalk.ColorSupport | false;
|
||||
Level: typeof LevelEnum;
|
||||
Level: chalk.Level;
|
||||
Color: Color;
|
||||
ForegroundColor: ForegroundColor;
|
||||
BackgroundColor: BackgroundColor;
|
||||
|
|
|
|||
|
|
@ -4,12 +4,6 @@ import chalk = require('.');
|
|||
// - Helpers -
|
||||
type colorReturn = chalk.Chalk & {supportsColor?: never};
|
||||
|
||||
// - Level -
|
||||
expectType<number>(chalk.Level.None);
|
||||
expectType<number>(chalk.Level.Basic);
|
||||
expectType<number>(chalk.Level.Ansi256);
|
||||
expectType<number>(chalk.Level.TrueColor);
|
||||
|
||||
// - supportsColor -
|
||||
expectType<chalk.ColorSupport | false>(chalk.supportsColor);
|
||||
expectType<boolean>((chalk.supportsColor as chalk.ColorSupport).hasBasic);
|
||||
|
|
|
|||
|
|
@ -218,16 +218,4 @@ chalk.supportsColor = stdoutColor;
|
|||
chalk.stderr = Chalk({level: stderrColor ? stderrColor.level : 0}); // eslint-disable-line new-cap
|
||||
chalk.stderr.supportsColor = stderrColor;
|
||||
|
||||
// For TypeScript
|
||||
chalk.Level = {
|
||||
None: 0,
|
||||
Basic: 1,
|
||||
Ansi256: 2,
|
||||
TrueColor: 3,
|
||||
0: 'None',
|
||||
1: 'Basic',
|
||||
2: 'Ansi256',
|
||||
3: 'TrueColor'
|
||||
};
|
||||
|
||||
module.exports = chalk;
|
||||
|
|
|
|||
|
|
@ -43,15 +43,3 @@ test('disable colors if they are not supported', async t => {
|
|||
const {stdout} = await execa.node(path.join(__dirname, '_fixture'));
|
||||
t.is(stdout, 'testout testerr');
|
||||
});
|
||||
|
||||
test('chalk.Level enum object', t => {
|
||||
const {Level} = chalk;
|
||||
t.is(Level.None, 0);
|
||||
t.is(Level.Basic, 1);
|
||||
t.is(Level.Ansi256, 2);
|
||||
t.is(Level.TrueColor, 3);
|
||||
t.is(Level[Level.None], 'None');
|
||||
t.is(Level[Level.Basic], 'Basic');
|
||||
t.is(Level[Level.Ansi256], 'Ansi256');
|
||||
t.is(Level[Level.TrueColor], 'TrueColor');
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue