@epicallan/money-ts
Version:
TypeScript library for type-safe and lossless encoding and manipulation of world currencies and precious metals
26 lines • 994 B
JavaScript
;
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