UNPKG

@melonproject/token-math

Version:

A small helper library to do precision safe calculations

20 lines (19 loc) 905 B
"use strict"; 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;