igniteui-angular-charts
Version:
Ignite UI Angular charting components for building rich data visualizations for modern web apps.
43 lines (42 loc) • 1.85 kB
JavaScript
/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE: you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import { Base, markType } from "igniteui-angular-core";
import { INumberAbbreviator_$type } from "./INumberAbbreviator";
import { MathUtil } from "igniteui-angular-core";
import { round10N } from "igniteui-angular-core";
/**
* @hidden
*/
export let NumberAbbreviator = /*@__PURE__*/ (() => {
class NumberAbbreviator extends Base {
abbreviate(a, b) {
let c = Math.abs(a);
let d = ['Q', 'T', 'B', 'M', 'K'];
let e = [1E+15, 1000000000000, 1000000000, 1000000, 1000];
for (let f = 0; f < d.length; f++) {
if (c >= e[f]) {
if (b != null) {
let g = b(round10N(a / e[f], 1), true);
if (g != null) {
return g.toString() + d[f];
}
}
return round10N(a / e[f], 1).toString() + d[f];
}
}
if (b != null) {
let h = b(a, false);
if (h != null) {
return h.toString();
}
}
return MathUtil.s(a);
}
}
NumberAbbreviator.$t = markType(NumberAbbreviator, 'NumberAbbreviator', Base.$, [INumberAbbreviator_$type]);
return NumberAbbreviator;
})();