"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.eventually = void 0;
// ets_tracing: off
const core_1 = require("./core");
const orElse_1 = require("./orElse");
const zips_1 = require("./zips");
/**
 * Returns an effect that ignores errors and runs repeatedly until it eventually succeeds.
 */
function eventually(fa, __trace) {
    return (0, orElse_1.orElse_)(fa, () => (0, zips_1.zipRight_)(core_1.yieldNow, eventually(fa)), __trace);
}
exports.eventually = eventually;
//# sourceMappingURL=eventually.js.map