@melonproject/token-math
Version:
A small helper library to do precision safe calculations
20 lines (19 loc) • 905 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const getGreatestCommonDivisor_1 = __importDefault(require("../bigInteger/getGreatestCommonDivisor"));
const divide_1 = __importDefault(require("../bigInteger/divide"));
const createQuantity_1 = __importDefault(require("../quantity/createQuantity"));
/**
* Cancels down the quantities if possible.
*/
const cancelDown = (price) => {
const gcd = getGreatestCommonDivisor_1.default(price.base.quantity, price.quote.quantity);
return {
base: createQuantity_1.default(price.base.token, divide_1.default(price.base.quantity, gcd)),
quote: createQuantity_1.default(price.quote.token, divide_1.default(price.quote.quantity, gcd))
};
};
exports.default = cancelDown;