Allow multiple arguments in base chalk object (fixes #187)
This commit is contained in:
parent
0827d3b632
commit
f0c0178d12
2 changed files with 8 additions and 3 deletions
7
index.js
7
index.js
|
|
@ -197,12 +197,13 @@ function applyStyle() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function chalkTag(chalk, strings) {
|
function chalkTag(chalk, strings) {
|
||||||
const args = [].slice.call(arguments, 2);
|
|
||||||
|
|
||||||
if (!Array.isArray(strings)) {
|
if (!Array.isArray(strings)) {
|
||||||
return strings.toString();
|
// If chalk() was called by itself or with a string,
|
||||||
|
// return the string itself as a string.
|
||||||
|
return [].slice.call(arguments, 1).join(' ');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const args = [].slice.call(arguments, 2);
|
||||||
const parts = [strings.raw[0]];
|
const parts = [strings.raw[0]];
|
||||||
|
|
||||||
for (let i = 1; i < strings.length; i++) {
|
for (let i = 1; i < strings.length; i++) {
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,10 @@ test('don\'t add any styling when called as the base function', t => {
|
||||||
t.is(m('foo'), 'foo');
|
t.is(m('foo'), 'foo');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('support multiple arguments in base function', t => {
|
||||||
|
t.is(m('hello', 'there'), 'hello there');
|
||||||
|
});
|
||||||
|
|
||||||
test('style string', t => {
|
test('style string', t => {
|
||||||
t.is(m.underline('foo'), '\u001B[4mfoo\u001B[24m');
|
t.is(m.underline('foo'), '\u001B[4mfoo\u001B[24m');
|
||||||
t.is(m.red('foo'), '\u001B[31mfoo\u001B[39m');
|
t.is(m.red('foo'), '\u001B[31mfoo\u001B[39m');
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue