@typed/effects
Version:
Generator-powered Effect management
16 lines • 606 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.Failure = exports.Fail = void 0;
const env_1 = require("@typed/env");
const maybe_1 = require("@typed/maybe");
exports.Fail = (error) => env_1.Resume.of(Failure.of(error));
class Failure {
constructor(error, value) {
this.error = error;
this.value = value;
this.unpack = (left, right) => maybe_1.unpack(right, () => left(this.error), this.value);
}
}
exports.Failure = Failure;
Failure.of = (error, value = maybe_1.Nothing) => new Failure(error, value);
//# sourceMappingURL=Failure.js.map
;