colorprint
Version:
Print ansi-colored message to stdout/stderr.
28 lines (23 loc) • 2.46 kB
JavaScript
/**
* Define a logger.
* @memberof module:colorprint/lib
* @function define
* @param {object} properties - Logger prototype properties.
* @returns {function} - A logger constructor.
*/
;
var create = require('./create');
/** @lends define */
function define(properties) {
function Logger() {
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var s = this;
Object.assign(s, config);
s.PREFIX = config.prefix || s.PREFIX;
s.SUFFIX = config.suffix || s.SUFFIX;
}
Logger.prototype = create(properties);
return Logger;
}
module.exports = define;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRlZmluZS5qcyJdLCJuYW1lcyI6WyJjcmVhdGUiLCJyZXF1aXJlIiwiZGVmaW5lIiwicHJvcGVydGllcyIsIkxvZ2dlciIsImNvbmZpZyIsInMiLCJPYmplY3QiLCJhc3NpZ24iLCJQUkVGSVgiLCJwcmVmaXgiLCJTVUZGSVgiLCJzdWZmaXgiLCJwcm90b3R5cGUiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztBQVFBOztBQUVBLElBQU1BLE1BQU0sR0FBR0MsT0FBTyxDQUFDLFVBQUQsQ0FBdEI7QUFFQTs7O0FBQ0EsU0FBU0MsTUFBVCxDQUFpQkMsVUFBakIsRUFBNkI7QUFDM0IsV0FBU0MsTUFBVCxHQUE4QjtBQUFBLFFBQWJDLE1BQWEsdUVBQUosRUFBSTtBQUM1QixRQUFNQyxDQUFDLEdBQUcsSUFBVjtBQUNBQyxJQUFBQSxNQUFNLENBQUNDLE1BQVAsQ0FBY0YsQ0FBZCxFQUFpQkQsTUFBakI7QUFDQUMsSUFBQUEsQ0FBQyxDQUFDRyxNQUFGLEdBQVdKLE1BQU0sQ0FBQ0ssTUFBUCxJQUFpQkosQ0FBQyxDQUFDRyxNQUE5QjtBQUNBSCxJQUFBQSxDQUFDLENBQUNLLE1BQUYsR0FBV04sTUFBTSxDQUFDTyxNQUFQLElBQWlCTixDQUFDLENBQUNLLE1BQTlCO0FBQ0Q7O0FBRURQLEVBQUFBLE1BQU0sQ0FBQ1MsU0FBUCxHQUFtQmIsTUFBTSxDQUFDRyxVQUFELENBQXpCO0FBQ0EsU0FBT0MsTUFBUDtBQUNEOztBQUVEVSxNQUFNLENBQUNDLE9BQVAsR0FBaUJiLE1BQWpCIiwic291cmNlUm9vdCI6Ii4uLy4uL2xpYiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGVmaW5lIGEgbG9nZ2VyLlxuICogQG1lbWJlcm9mIG1vZHVsZTpjb2xvcnByaW50L2xpYlxuICogQGZ1bmN0aW9uIGRlZmluZVxuICogQHBhcmFtIHtvYmplY3R9IHByb3BlcnRpZXMgLSBMb2dnZXIgcHJvdG90eXBlIHByb3BlcnRpZXMuXG4gKiBAcmV0dXJucyB7ZnVuY3Rpb259IC0gQSBsb2dnZXIgY29uc3RydWN0b3IuXG4gKi9cblxuJ3VzZSBzdHJpY3QnXG5cbmNvbnN0IGNyZWF0ZSA9IHJlcXVpcmUoJy4vY3JlYXRlJylcblxuLyoqIEBsZW5kcyBkZWZpbmUgKi9cbmZ1bmN0aW9uIGRlZmluZSAocHJvcGVydGllcykge1xuICBmdW5jdGlvbiBMb2dnZXIgKGNvbmZpZyA9IHt9KSB7XG4gICAgY29uc3QgcyA9IHRoaXNcbiAgICBPYmplY3QuYXNzaWduKHMsIGNvbmZpZylcbiAgICBzLlBSRUZJWCA9IGNvbmZpZy5wcmVmaXggfHwgcy5QUkVGSVhcbiAgICBzLlNVRkZJWCA9IGNvbmZpZy5zdWZmaXggfHwgcy5TVUZGSVhcbiAgfVxuXG4gIExvZ2dlci5wcm90b3R5cGUgPSBjcmVhdGUocHJvcGVydGllcylcbiAgcmV0dXJuIExvZ2dlclxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGRlZmluZVxuIl19