From d3879c07b1b2140bd19433ae06855894228bd90f Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 11 Oct 2022 10:41:15 +0200 Subject: Rename flavours/glitch/util into flavours/glitch/utils --- app/javascript/flavours/glitch/util/numbers.js | 79 -------------------------- 1 file changed, 79 deletions(-) delete mode 100644 app/javascript/flavours/glitch/util/numbers.js (limited to 'app/javascript/flavours/glitch/util/numbers.js') diff --git a/app/javascript/flavours/glitch/util/numbers.js b/app/javascript/flavours/glitch/util/numbers.js deleted file mode 100644 index 6ef563ad8..000000000 --- a/app/javascript/flavours/glitch/util/numbers.js +++ /dev/null @@ -1,79 +0,0 @@ -// @ts-check - -export const DECIMAL_UNITS = Object.freeze({ - ONE: 1, - TEN: 10, - HUNDRED: Math.pow(10, 2), - THOUSAND: Math.pow(10, 3), - MILLION: Math.pow(10, 6), - BILLION: Math.pow(10, 9), - TRILLION: Math.pow(10, 12), -}); - -const TEN_THOUSAND = DECIMAL_UNITS.THOUSAND * 10; -const TEN_MILLIONS = DECIMAL_UNITS.MILLION * 10; - -/** - * @typedef {[number, number, number]} ShortNumber - * Array of: shorten number, unit of shorten number and maximum fraction digits - */ - -/** - * @param {number} sourceNumber Number to convert to short number - * @returns {ShortNumber} Calculated short number - * @example - * shortNumber(5936); - * // => [5.936, 1000, 1] - */ -export function toShortNumber(sourceNumber) { - if (sourceNumber < DECIMAL_UNITS.THOUSAND) { - return [sourceNumber, DECIMAL_UNITS.ONE, 0]; - } else if (sourceNumber < DECIMAL_UNITS.MILLION) { - return [ - sourceNumber / DECIMAL_UNITS.THOUSAND, - DECIMAL_UNITS.THOUSAND, - sourceNumber < TEN_THOUSAND ? 1 : 0, - ]; - } else if (sourceNumber < DECIMAL_UNITS.BILLION) { - return [ - sourceNumber / DECIMAL_UNITS.MILLION, - DECIMAL_UNITS.MILLION, - sourceNumber < TEN_MILLIONS ? 1 : 0, - ]; - } else if (sourceNumber < DECIMAL_UNITS.TRILLION) { - return [ - sourceNumber / DECIMAL_UNITS.BILLION, - DECIMAL_UNITS.BILLION, - 0, - ]; - } - - return [sourceNumber, DECIMAL_UNITS.ONE, 0]; -} - -/** - * @param {number} sourceNumber Original number that is shortened - * @param {number} division The scale in which short number is displayed - * @returns {number} Number that can be used for plurals when short form used - * @example - * pluralReady(1793, DECIMAL_UNITS.THOUSAND) - * // => 1790 - */ -export function pluralReady(sourceNumber, division) { - // eslint-disable-next-line eqeqeq - if (division == null || division < DECIMAL_UNITS.HUNDRED) { - return sourceNumber; - } - - let closestScale = division / DECIMAL_UNITS.TEN; - - return Math.trunc(sourceNumber / closestScale) * closestScale; -} - -/** - * @param {number} num - * @returns {number} - */ -export function roundTo10(num) { - return Math.round(num * 0.1) / 0.1; -} -- cgit