aureooms/js-rational

View on GitHub
src/_stringify_digits.js

Summary

Maintainability
A
0 mins
Test Coverage
const _stringify_digits = ({str}) => (
    base,
    {sign, integral, transient, repetend},
) => {
    const toStr = (x) => str(x, base);

    let repr = '';

    if (sign < 0) repr += '-';

    repr += toStr(integral);

    if (transient.length > 0 || repetend.length > 0) repr += '.';
    // eslint-disable-next-line unicorn/no-array-callback-reference
    repr += transient.map(toStr).join('');

    if (repetend.length > 0) repr += '|';
    // eslint-disable-next-line unicorn/no-array-callback-reference
    repr += repetend.map(toStr).join('');

    return repr;
};

export default _stringify_digits;