UNPKG

@baseplate-dev/sync

Version:

Library for syncing Baseplate descriptions

43 lines 1.35 kB
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