UNPKG

zalgo-promise

Version:
24 lines (22 loc) 480 B
var activeCount = 0; var flushPromise; function flushActive() { if (!activeCount && flushPromise) { var promise = flushPromise; flushPromise = null; promise.resolve(); } } export function startActive() { activeCount += 1; } export function endActive() { activeCount -= 1; flushActive(); } export function awaitActive(Zalgo) { // eslint-disable-line no-undef var promise = flushPromise = flushPromise || new Zalgo(); flushActive(); return promise; }