UNPKG

ts-cast

Version:
15 lines (14 loc) 555 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var names_1 = require("../helpers/names"); var throw_type_error_1 = require("./throw-type-error"); var either = function (caster, leftFactory, rightFactory) { return (0, names_1.withName)(function (value, context) { try { var casted = caster(value, context, throw_type_error_1.throwTypeError); return rightFactory(casted); } catch (err) { return leftFactory(err); } }, "either<*, ".concat(caster.name, ">")); }; exports.default = either;