UNPKG

@technobuddha/library

Version:
21 lines 1.95 kB
import { deconstructNumber } from "../deconstruct-number.js"; import { fractionSlash } from "../unicode.js"; import { deriveFraction } from "./derive-fraction.js"; /** * Converts a numeric input into a fractional string representation. * @param input - The numeric value to be converted into a fraction. * @param options - Configuration options for fraction formatting. * @returns The formatted fractional string, or `null` if the numerator is zero. * @internal */ export function fabricateNumericFraction(input, options) { const { numerator, denominator } = deriveFraction(input, options); if (numerator === 0) { return null; } const zero = '0'; const { mantissa, exponent } = deconstructNumber(denominator, Infinity); const num = `${mantissa}${zero.repeat(exponent - mantissa.length + 1)}`; return `${numerator}${fractionSlash}${num}`; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFicmljYXRlLW51bWVyaWMtZnJhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbnVtYmVyaW5nL2ZhYnJpY2F0ZS1udW1lcmljLWZyYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBWXREOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FDdEMsS0FBMEIsRUFDMUIsT0FBbUI7SUFFbkIsTUFBTSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsR0FBRyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRWxFLElBQUksU0FBUyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQztJQUNqQixNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN4RSxNQUFNLEdBQUcsR0FBRyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFeEUsT0FBTyxHQUFHLFNBQVMsR0FBRyxhQUFhLEdBQUcsR0FBRyxFQUFFLENBQUM7QUFDOUMsQ0FBQyJ9