"use strict"
Object.defineProperty(exports, "__esModule", { value: true })
exports.chainError_ = exports.chainError = void 0
// tracing: off
const core_1 = require("./core")
const flipWith_1 = require("./flipWith")
/**
 * Creates a composite effect that represents this effect followed by another
 * one that may depend on the error produced by this one.
 *
 * @dataFirst chainError_
 */
function chainError(f, __trace) {
  return (self) => chainError_(self, f, __trace)
}
exports.chainError = chainError
/**
 * Creates a composite effect that represents this effect followed by another
 * one that may depend on the error produced by this one.
 */
function chainError_(self, f, __trace) {
  return (0, flipWith_1.flipWith_)(self, (x) => (0, core_1.chain_)(x, f, __trace))
}
exports.chainError_ = chainError_
//# sourceMappingURL=chainError.js.map
