UNPKG

@beenotung/tslib

Version:
45 lines 1.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Either = exports.left = exports.right = void 0; function right(r) { const res = { isLeft: false, isRight: true, getLeft: () => { throw new TypeError('get left on right Either'); }, getRight: () => r, mmap: (fl, fr) => right(fr(r)), mapLeft: (f) => res, mapRight: (f) => right(f(r)), bindLeft: (f) => res, bindRight: (f) => f(r), }; return res; } exports.right = right; function left(l) { const res = { isLeft: true, isRight: false, getLeft: () => l, getRight: () => { throw new TypeError('get right on left Either'); }, mmap: (fl, fr) => left(fl(l)), mapLeft: (f) => left(f(l)), mapRight: (f) => res, bindLeft: (f) => f(l), bindRight: (f) => res, }; return res; } exports.left = left; var Either; (function (Either) { function get(either) { return either.isLeft ? either.getLeft() : either.getRight(); } Either.get = get; })(Either = exports.Either || (exports.Either = {})); //# sourceMappingURL=either.js.map