@baseplate-dev/sync
Version:
Library for syncing Baseplate descriptions
43 lines • 1.35 kB
JavaScript
import { createTypedEventEmitter } from '@baseplate-dev/utils';
export function createEventedLogger({ noConsole = false, } = {}) {
const eventEmitter = createTypedEventEmitter();
return {
error(message) {
eventEmitter.emit('error', (() => {
if (typeof message === 'string') {
return message;
}
else if (message instanceof Error) {
return String(message);
}
else {
return typeof message;
}
})());
if (!noConsole)
console.error(message);
},
warn(message) {
eventEmitter.emit('log', message);
if (!noConsole)
console.warn(message);
},
info(message) {
eventEmitter.emit('log', message);
if (!noConsole)
console.info(message);
},
debug(message) {
eventEmitter.emit('log', message);
if (!noConsole)
console.debug(message);
},
onLog(listener) {
return eventEmitter.on('log', listener);
},
onError(listener) {
return eventEmitter.on('error', listener);
},
};
}
//# sourceMappingURL=evented-logger.js.map