use options hash as argument to constructor

This commit is contained in:
David Keijser 2015-01-29 10:53:47 +01:00
parent eedf19d4ca
commit cc4e4c429f
2 changed files with 6 additions and 4 deletions

View file

@ -6,10 +6,12 @@ var hasAnsi = require('has-ansi');
var supportsColor = require('supports-color');
var defineProps = Object.defineProperties;
function Chalk(enabled) {
function Chalk(options) {
// detect mode if not set manually
if (enabled === undefined) {
this.enabled = this.supportsColor;
if (!options || options.enabled === undefined) {
this.enabled = supportsColor;
} else {
this.enabled = options.enabled;
}
}

View file

@ -70,7 +70,7 @@ describe('chalk.enabled', function () {
describe('chalk.constructor', function () {
it('should create a isolated context where colors can be disabled', function () {
var ctx = new chalk.constructor(false);
var ctx = new chalk.constructor({enabled: false});
assert.equal(ctx.red('foo'), 'foo');
assert.equal(chalk.red('foo'), '\u001b[31mfoo\u001b[39m');
});