UNPKG

@taiga-ui/cdk

Version:

Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance

11 lines 1.96 kB
/** * Calculates sum of any number of passed arguments with proper floating point precision */ export function tuiSum(...args) { const decimal = args.map((double) => (double.toString().split('.')[1] ?? '').length); const maxDecimal = Math.max(0, ...decimal); const precision = 10 ** maxDecimal; const sumInt = args.reduce((acc, n) => acc + Math.round(n * precision), 0); return sumInt / precision; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3V0aWxzL21hdGgvc3VtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FBQyxHQUFHLElBQWM7SUFDcEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUM7SUFDM0MsTUFBTSxTQUFTLEdBQUcsRUFBRSxJQUFJLFVBQVUsQ0FBQztJQUNuQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRTNFLE9BQU8sTUFBTSxHQUFHLFNBQVMsQ0FBQztBQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDYWxjdWxhdGVzIHN1bSBvZiBhbnkgbnVtYmVyIG9mIHBhc3NlZCBhcmd1bWVudHMgd2l0aCBwcm9wZXIgZmxvYXRpbmcgcG9pbnQgcHJlY2lzaW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlTdW0oLi4uYXJnczogbnVtYmVyW10pOiBudW1iZXIge1xuICAgIGNvbnN0IGRlY2ltYWwgPSBhcmdzLm1hcCgoZG91YmxlKSA9PiAoZG91YmxlLnRvU3RyaW5nKCkuc3BsaXQoJy4nKVsxXSA/PyAnJykubGVuZ3RoKTtcbiAgICBjb25zdCBtYXhEZWNpbWFsID0gTWF0aC5tYXgoMCwgLi4uZGVjaW1hbCk7XG4gICAgY29uc3QgcHJlY2lzaW9uID0gMTAgKiogbWF4RGVjaW1hbDtcbiAgICBjb25zdCBzdW1JbnQgPSBhcmdzLnJlZHVjZSgoYWNjLCBuKSA9PiBhY2MgKyBNYXRoLnJvdW5kKG4gKiBwcmVjaXNpb24pLCAwKTtcblxuICAgIHJldHVybiBzdW1JbnQgLyBwcmVjaXNpb247XG59XG4iXX0=