UNPKG

pragmatic-fp-ts

Version:

Opinionated functional programming library with easy use in mind

26 lines (25 loc) 668 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.tryCatch = void 0; function tryCatch(tryer, catcher, value) { if (arguments.length === 1) { return function (c, v) { return arguments.length === 1 ? tryCatch(tryer, c) : tryCatch(tryer, c, v); }; } else if (arguments.length === 2) { return (v) => tryCatch(tryer, catcher, v); } try { return tryer(value); } catch (err) { if (!catcher) { throw new Error("No catcher fn defined"); } else { return catcher(err, value); } } } exports.tryCatch = tryCatch;