UNPKG

@effect-ts/system

Version:

Effect-TS is a zero dependency set of libraries to write highly productive, purely functional TypeScript at scale.

57 lines (43 loc) 1.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.filterOrDie = filterOrDie; exports.filterOrDieMessage = filterOrDieMessage; exports.filterOrDieMessage_ = filterOrDieMessage_; exports.filterOrDie_ = filterOrDie_; exports.filterOrElse = filterOrElse; exports.filterOrElse_ = filterOrElse_; exports.filterOrFail = filterOrFail; exports.filterOrFail_ = filterOrFail_; var _index = /*#__PURE__*/require("../Cause/index.js"); var _index2 = /*#__PURE__*/require("../Function/index.js"); var _core = /*#__PURE__*/require("./core.js"); var _die = /*#__PURE__*/require("./die.js"); var _fail = /*#__PURE__*/require("./fail.js"); // ets_tracing: off function filterOrDie(p, dieWith, __trace) { return fa => filterOrDie_(fa, p, dieWith, __trace); } function filterOrDie_(fa, p, dieWith, __trace) { return filterOrElse_(fa, p, x => (0, _die.die)(dieWith(x)), __trace); } function filterOrFail(p, failWith, __trace) { return fa => filterOrFail_(fa, p, failWith, __trace); } function filterOrFail_(fa, p, failWith, __trace) { return filterOrElse_(fa, p, x => (0, _fail.fail)(failWith(x)), __trace); } function filterOrElse(p, or, __trace) { return fa => filterOrElse_(fa, p, or, __trace); } function filterOrElse_(fa, p, or, __trace) { return (0, _core.chain_)(fa, a => p(a) ? (0, _core.succeed)(a, __trace) : (0, _core.suspend)(() => or(a), __trace)); } function filterOrDieMessage(p, message, __trace) { return fa => filterOrDieMessage_(fa, p, message, __trace); } function filterOrDieMessage_(fa, p, message, __trace) { return filterOrDie_(fa, p, a => new _index.RuntimeError(message(a)), __trace); } //# sourceMappingURL=filterOr.js.map