bit-bin
Version:
<a href="https://opensource.org/licenses/Apache-2.0"><img alt="apache" src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"></a> <a href="https://github.com/teambit/bit/blob/master/CONTRIBUTING.md"><img alt="prs" src="https://img.shields.io/b
71 lines (52 loc) • 1.33 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
function _defineProperty2() {
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
_defineProperty2 = function () {
return data;
};
return data;
}
function _events() {
const data = require("events");
_events = function () {
return data;
};
return data;
}
// we use this and not EventEmitter directly in order to be able
// to provide tab completions for intellisense(-like) IDEs
class Logger {
constructor() {
(0, _defineProperty2().default)(this, "eventEmitter", new (_events().EventEmitter)());
}
info(...messages) {
this.eventEmitter.emit('info', messages);
}
warn(...messages) {
this.eventEmitter.emit('warn', messages);
}
error(...messages) {
this.eventEmitter.emit('error', messages);
}
debug(...messages) {
this.eventEmitter.emit('debug', messages);
}
onInfo(cb) {
this.eventEmitter.on('info', cb);
}
onWarn(cb) {
this.eventEmitter.on('warn', cb);
}
onError(cb) {
this.eventEmitter.on('error', cb);
}
onDebug(cb) {
this.eventEmitter.on('debug', cb);
}
}
exports.default = Logger;