UNPKG

@jspm/generator

Version:

Package Import Map Generation Tool

44 lines (42 loc) 1.36 kB
export function createLogger() { var _globalThis_process_env, _globalThis_process; let resolveQueue; let queuePromise = new Promise((resolve)=>resolveQueue = resolve); let queue = []; const logStream = async function*() { while(true){ while(queue.length)yield queue.shift(); await queuePromise; } }; function log(type, message) { if (queue.length) { queue.push({ type, message }); } else { queue = [ { type, message } ]; const _resolveQueue = resolveQueue; queuePromise = new Promise((resolve)=>resolveQueue = resolve); _resolveQueue(); } } if ((_globalThis_process = globalThis.process) === null || _globalThis_process === void 0 ? void 0 : (_globalThis_process_env = _globalThis_process.env) === null || _globalThis_process_env === void 0 ? void 0 : _globalThis_process_env.JSPM_GENERATOR_LOG) { (async ()=>{ for await (const { type, message } of logStream()){ console.log(`\x1b[1m${type}:\x1b[0m ${message}`); } })(); } return { log, logStream }; } //# sourceMappingURL=log.js.map