ng-units
Version:
Angular component library for units of measurement.
26 lines • 3.1 kB
JavaScript
export const QuantityFormatters = {
'default': function (value) {
const abs = Math.abs(value);
let text;
if (abs && (abs >= 1e5 || abs <= 1e-2)) {
text = removeZeroDigits(value.toExponential(3));
}
else {
if (abs > 1) {
text = value.toFixed(2);
}
else {
text = value.toPrecision(3);
}
text = Number(text).toString();
}
return text;
},
'currency': function (value) {
return value.toFixed(2);
}
};
function removeZeroDigits(text) {
return text.replace(/\.?0+e/, 'e');
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXVuaXRzL3NyYy9saWIvZm9ybWF0dGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBMEM7SUFDckUsU0FBUyxFQUFFLFVBQVUsS0FBYTtRQUM5QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksSUFBWSxDQUFDO1FBQ2pCLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUU7WUFDcEMsSUFBSSxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuRDthQUNJO1lBQ0QsSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFO2dCQUNULElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzNCO2lCQUNJO2dCQUNELElBQUksR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQy9CO1lBQ0QsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNsQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxVQUFVLEVBQUUsVUFBVSxLQUFhO1FBQy9CLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QixDQUFDO0NBQ0osQ0FBQztBQUVGLFNBQVMsZ0JBQWdCLENBQUMsSUFBWTtJQUNsQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZXhwb3J0IHR5cGUgUXVhbnRpdHlGb3JtYXR0ZXIgPSAodmFsdWU6IG51bWJlcikgPT4gc3RyaW5nO1xyXG5cclxuZXhwb3J0IGNvbnN0IFF1YW50aXR5Rm9ybWF0dGVyczogeyBbbmFtZTogc3RyaW5nXTogUXVhbnRpdHlGb3JtYXR0ZXIgfSA9IHtcclxuICAgICdkZWZhdWx0JzogZnVuY3Rpb24gKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGFicyA9IE1hdGguYWJzKHZhbHVlKTtcclxuICAgICAgICBsZXQgdGV4dDogc3RyaW5nO1xyXG4gICAgICAgIGlmIChhYnMgJiYgKGFicyA+PSAxZTUgfHwgYWJzIDw9IDFlLTIpKSB7XHJcbiAgICAgICAgICAgIHRleHQgPSByZW1vdmVaZXJvRGlnaXRzKHZhbHVlLnRvRXhwb25lbnRpYWwoMykpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGFicyA+IDEpIHtcclxuICAgICAgICAgICAgICAgIHRleHQgPSB2YWx1ZS50b0ZpeGVkKDIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGV4dCA9IHZhbHVlLnRvUHJlY2lzaW9uKDMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRleHQgPSBOdW1iZXIodGV4dCkudG9TdHJpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRleHQ7XHJcbiAgICB9LFxyXG4gICAgJ2N1cnJlbmN5JzogZnVuY3Rpb24gKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS50b0ZpeGVkKDIpO1xyXG4gICAgfVxyXG59O1xyXG5cclxuZnVuY3Rpb24gcmVtb3ZlWmVyb0RpZ2l0cyh0ZXh0OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0ZXh0LnJlcGxhY2UoL1xcLj8wK2UvLCAnZScpO1xyXG59XHJcbiJdfQ==