export const resolveAfter = function (timesUntilResolve) { let counter = null; let currentValue = 0; if (typeof timesUntilResolve !== 'number' || timesUntilResolve <= 0) { throw new Error('Resolve after requires a positive integer'); } const promise = new Promise((resolvePromise) => { counter = () => { if (++currentValue === timesUntilResolve) { resolvePromise(); } }; }); return { counter, promise }; };