@alicloud/console-toolkit-plugin-rollup
Version:
breezr plugin for rollup
77 lines • 2.42 kB
JavaScript
var __spreadArrays = (this && this.__spreadArrays) || function () {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.json = exports.error = exports.warning = exports.success = exports.log = void 0;
var chalk_1 = require("chalk");
var json_colorizer_1 = require("json-colorizer");
/**
* Compose multiple functions to single one
* @param fns
* @returns
*/
var compose = function () {
var fns = [];
for (var _i = 0; _i < arguments.length; _i++) {
fns[_i] = arguments[_i];
}
return fns.reduce(function (a, b) { return function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
return a(b.apply(void 0, args));
}; }, function (arg) { return arg; });
};
/**
* @param messages
*/
var joinMessages = function () {
var messages = [];
for (var _i = 0; _i < arguments.length; _i++) {
messages[_i] = arguments[_i];
}
return messages.join('');
};
/**
* Create logger function with joined messages
* @param fns
*/
var createLogger = function () {
var fns = [];
for (var _i = 0; _i < arguments.length; _i++) {
fns[_i] = arguments[_i];
}
return compose.apply(void 0, __spreadArrays(fns, [joinMessages]));
};
/**
* Print normal message to console
* @param messages
*/
exports.log = createLogger(console.log);
/**
* Print successful message with green color to console
* @param {...String} messages
*/
exports.success = createLogger(console.log, chalk_1.default.green.bold);
/**
* Print warning message with yellow color to console
* @param {...String} messages
*/
exports.warning = createLogger(console.warn, chalk_1.default.yellow.bold);
/**
* Print error message with red color to console
* @param {...String} messages
*/
exports.error = createLogger(console.error, chalk_1.default.red.bold);
/**
* Print colorized json data to console
* @param {String|Object} message
*/
exports.json = compose(console.log, json_colorizer_1.default, function (val) { return (typeof val === 'string' ? val : JSON.stringify(val)); });
//# sourceMappingURL=logger.js.map
;