UNPKG

@epicallan/money-ts

Version:

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

43 lines 1.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.show = exports.Ord = exports.Eq = exports.abs = exports.isPositive = exports.lcm = exports.gcd = exports.sign = exports.div = exports.sub = exports.negate = exports.one = exports.mul = exports.add = exports.fromInteger = exports.unwrap = exports.wrap = void 0; var Option_1 = require("fp-ts/Option"); var I = require("./Integer"); var BI = require("./BigInteger"); var function_1 = require("fp-ts/function"); function wrap(x) { return fromInteger(I.wrap(x)); } exports.wrap = wrap; exports.unwrap = function_1.unsafeCoerce; function fromInteger(i) { return I.isZero(i) ? Option_1.none : Option_1.some(function_1.unsafeCoerce(i)); } exports.fromInteger = fromInteger; exports.add = function_1.unsafeCoerce(I.add); exports.mul = function_1.unsafeCoerce(I.mul); exports.one = function_1.unsafeCoerce(I.one); exports.negate = function_1.unsafeCoerce(I.negate); function sub(x, y) { return fromInteger(I.sub(x, y)); } exports.sub = sub; exports.div = function_1.unsafeCoerce(I.div); exports.sign = function_1.unsafeCoerce(I.sign); function gcd(x, y) { return function_1.unsafeCoerce(BI.gcd(I.unwrap(x), exports.unwrap(y))); } exports.gcd = gcd; function lcm(x, y) { return function_1.unsafeCoerce(BI.lcm(exports.unwrap(x), exports.unwrap(y))); } exports.lcm = lcm; exports.isPositive = I.isPositive; function abs(x) { return function_1.unsafeCoerce(!exports.isPositive(x) ? exports.negate(x) : x); } exports.abs = abs; exports.Eq = I.Eq; exports.Ord = I.Ord; exports.show = I.show; //# sourceMappingURL=NonZeroInteger.js.map