@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
JavaScript
;
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