"use strict"
Object.defineProperty(exports, "__esModule", { value: true })
exports.orElseFail_ = exports.orElseFail = void 0
const fail_1 = require("./fail")
const orElse_1 = require("./orElse")
/**
 * Executes this effect and returns its value, if it succeeds, but
 * otherwise fails with the specified error.
 *
 * @dataFirst orElseFail_
 */
function orElseFail(e, __trace) {
  return (self) => orElseFail_(self, e, __trace)
}
exports.orElseFail = orElseFail
/**
 * Executes this effect and returns its value, if it succeeds, but
 * otherwise fails with the specified error.
 */
function orElseFail_(self, e, __trace) {
  return (0, orElse_1.orElse_)(self, () => (0, fail_1.fail)(e), __trace)
}
exports.orElseFail_ = orElseFail_
//# sourceMappingURL=orElseFail.js.map
