UNPKG

@epicallan/money-ts

Version:

TypeScript library for type-safe and lossless encoding and manipulation of world currencies and precious metals

26 lines 994 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.unsafePositiveRational = void 0; var O = require("fp-ts/Option"); var PR = require("../PositiveRational"); var BI = require("../BigInteger"); var N = require("../Natural"); var function_1 = require("fp-ts/function"); var Apply_1 = require("fp-ts/Apply"); var fromSome = function (fa) { return function_1.pipe(fa, O.getOrElse(function () { throw new Error('fromSome called with None'); })); }; var sequenceTO = Apply_1.sequenceT(O.Applicative); function unsafePositiveRational(_a) { var x = _a[0], y = _a[1]; var on = function_1.pipe(BI.wrap(x), O.chain(N.wrap)); var od = function_1.pipe(BI.wrap(y), O.chain(N.wrap)); return function_1.pipe(sequenceTO(on, od), O.map(function (_a) { var n = _a[0], d = _a[1]; return PR.reduce(n, d); }), fromSome); } exports.unsafePositiveRational = unsafePositiveRational; //# sourceMappingURL=unsafePositiveRational.js.map