UNPKG

@jspm/generator

Version:

Package Import Map Generation Tool

36 lines (34 loc) 857 B
export function createLogger() { 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(); } } return { log, logStream }; } //# sourceMappingURL=log.js.map