UNPKG

@epicallan/money-ts

Version:

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

66 lines 2.3 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getOrd = exports.getEq = exports.getZero = exports.getOne = exports.Discrete = void 0; var integer = require("./Integer"); var Discrete = /** @class */ (function () { function Discrete(format, value) { this.format = format; this.value = value; } Discrete.prototype.add = function (y) { return new Discrete(this.format, integer.add(this.value, y.value)); }; Discrete.prototype.mul = function (y) { return new Discrete(this.format, integer.mul(this.value, y)); }; Discrete.prototype.negate = function () { return new Discrete(this.format, integer.negate(this.value)); }; Discrete.prototype.sub = function (y) { return new Discrete(this.format, integer.sub(this.value, y.value)); }; Discrete.prototype.div = function (y) { return new Discrete(this.format, integer.div(this.value, y)); }; Discrete.prototype.isZero = function () { return integer.isZero(this.value); }; Discrete.prototype.inspect = function () { return this.toString(); }; Discrete.prototype.toString = function () { return this.format.dimension + " " + this.format.unit + " " + integer.show(this.value); }; return Discrete; }()); exports.Discrete = Discrete; function getOne(format) { return new Discrete(format, integer.one); } exports.getOne = getOne; function getZero(format) { return new Discrete(format, integer.zero); } exports.getZero = getZero; function getEq() { return { equals: function (x, y) { return integer.Eq.equals(x.value, y.value); } }; } exports.getEq = getEq; function getOrd() { return __assign(__assign({}, getEq()), { compare: function (x, y) { return integer.Ord.compare(x.value, y.value); } }); } exports.getOrd = getOrd; //# sourceMappingURL=Discrete.js.map