@technobuddha/library
Version: 
A large library of useful functions
21 lines • 1.95 kB
JavaScript
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