"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.bimap = exports.bimap_ = void 0;
const map_1 = require("./map");
const mapError_1 = require("./mapError");
/**
 * Returns a stream whose failure and success channels have been mapped by
 * the specified pair of functions, `f` and `g`.
 */
function bimap_(self, f, g) {
    return (0, map_1.map_)((0, mapError_1.mapError_)(self, f), g);
}
exports.bimap_ = bimap_;
/**
 * Returns a stream whose failure and success channels have been mapped by
 * the specified pair of functions, `f` and `g`.
 */
function bimap(f, g) {
    return (self) => bimap_(self, f, g);
}
exports.bimap = bimap;
//# sourceMappingURL=bimap.js.map