@parischap/pretty-print
Version:
A functional library to pretty-print and treeify objects
23 lines (21 loc) • 1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.toSyntheticByPasser = void 0;
var _effectLib = /*#__PURE__*/require("@parischap/effect-lib");
var _effect = /*#__PURE__*/require("effect");
/** This module implements a Type that represents an array of ByPasser's (see ByPasser.ts) */
/**
* Returns a ByPasser that is equivalent to `self`. The returned ByPasser executes successively each
* ByPasser of `self` until it meets one that returns a `some`. If such a ByPasser exists, the
* corresponding `some` is returned. Otherwise, it returns a `none`.
*
* @category Destructors
*/
const toSyntheticByPasser = self => function (constructors) {
const initializedByPassers = _effect.Array.map(self, byPasser => byPasser.call(this, constructors));
return value => (0, _effect.pipe)(initializedByPassers, _effectLib.MArray.firstSomeResult(_effect.Function.apply(value)));
};
exports.toSyntheticByPasser = toSyntheticByPasser;
//# sourceMappingURL=ByPassers.js.map