import { AsyncErrorCallback, SimpleFunction } from "../interfaces"; import { once } from "../common"; /** * This method executes a loop body until an error occured. */ export function forever( loopBody: SimpleFunction, final?: AsyncErrorCallback ): void { let loop = function(): void { loopBody(once(function(err?: E): void { if (err !== null && err !== undefined) { final && final(err); } else { loop(); } })); }; loop(); }