From: Evert Timberg Date: Sun, 21 Mar 2021 09:04:27 +0000 (-0400) Subject: Expose `formatNumber` as a helper (#8683) X-Git-Tag: v3.0.0-rc.2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=375d856a87701b978726ffb28b3b14a4c909b806;p=thirdparty%2FChart.js.git Expose `formatNumber` as a helper (#8683) --- diff --git a/src/controllers/controller.doughnut.js b/src/controllers/controller.doughnut.js index 427316c32..713b035d4 100644 --- a/src/controllers/controller.doughnut.js +++ b/src/controllers/controller.doughnut.js @@ -1,6 +1,6 @@ import DatasetController from '../core/core.datasetController'; -import {formatNumber} from '../core/core.intl'; import {isArray, toPercentage, toDimension, valueOrDefault} from '../helpers/helpers.core'; +import {formatNumber} from '../helpers/helpers.intl'; import {toRadians, PI, TAU, HALF_PI, _angleBetween} from '../helpers/helpers.math'; /** diff --git a/src/core/core.ticks.js b/src/core/core.ticks.js index 8e4086574..59ad7a835 100644 --- a/src/core/core.ticks.js +++ b/src/core/core.ticks.js @@ -1,6 +1,6 @@ import {isArray} from '../helpers/helpers.core'; +import {formatNumber} from '../helpers/helpers.intl'; import {log10} from '../helpers/helpers.math'; -import {formatNumber} from './core.intl'; /** * Namespace to hold formatters for different types of ticks diff --git a/src/core/core.intl.js b/src/helpers/helpers.intl.js similarity index 88% rename from src/core/core.intl.js rename to src/helpers/helpers.intl.js index 176e346be..83374f971 100644 --- a/src/core/core.intl.js +++ b/src/helpers/helpers.intl.js @@ -1,7 +1,7 @@ const intlCache = new Map(); -export function getNumberFormat(locale, options) { +function getNumberFormat(locale, options) { options = options || {}; const cacheKey = locale + JSON.stringify(options); let formatter = intlCache.get(cacheKey); diff --git a/src/helpers/index.js b/src/helpers/index.js index 9861601c4..ea8120ee0 100644 --- a/src/helpers/index.js +++ b/src/helpers/index.js @@ -6,6 +6,7 @@ export * from './helpers.curve'; export * from './helpers.dom'; export {default as easingEffects} from './helpers.easing'; export * from './helpers.interpolation'; +export * from './helpers.intl'; export * from './helpers.options'; export * from './helpers.math'; export * from './helpers.rtl'; diff --git a/src/scales/scale.linearbase.js b/src/scales/scale.linearbase.js index be5b0508c..e8a122199 100644 --- a/src/scales/scale.linearbase.js +++ b/src/scales/scale.linearbase.js @@ -1,7 +1,7 @@ import {isNullOrUndef} from '../helpers/helpers.core'; import {almostEquals, almostWhole, niceNum, _decimalPlaces, _setMinAndMaxByKey, sign} from '../helpers/helpers.math'; import Scale from '../core/core.scale'; -import {formatNumber} from '../core/core.intl'; +import {formatNumber} from '../helpers/helpers.intl'; import {_addGrace} from '../helpers/helpers.options'; /** diff --git a/src/scales/scale.logarithmic.js b/src/scales/scale.logarithmic.js index f88b02c2d..66751af7a 100644 --- a/src/scales/scale.logarithmic.js +++ b/src/scales/scale.logarithmic.js @@ -1,9 +1,9 @@ import {finiteOrDefault, isFinite} from '../helpers/helpers.core'; +import {formatNumber} from '../helpers/helpers.intl'; import {_setMinAndMaxByKey, log10} from '../helpers/helpers.math'; import Scale from '../core/core.scale'; import LinearScaleBase from './scale.linearbase'; import Ticks from '../core/core.ticks'; -import {formatNumber} from '../core/core.intl'; function isMajor(tickVal) { const remain = tickVal / (Math.pow(10, Math.floor(log10(tickVal)))); diff --git a/types/helpers/helpers.intl.d.ts b/types/helpers/helpers.intl.d.ts new file mode 100644 index 000000000..3a896f4ad --- /dev/null +++ b/types/helpers/helpers.intl.d.ts @@ -0,0 +1,7 @@ +/** + * Format a number using a localized number formatter. + * @param num The number to format + * @param locale The locale to pass to the Intl.NumberFormat constructor + * @param options Number format options + */ +export function formatNumber(num: number, locale: string, options: Intl.NumberFormatOptions): string; diff --git a/types/helpers/index.d.ts b/types/helpers/index.d.ts index a37e063e3..013326924 100644 --- a/types/helpers/index.d.ts +++ b/types/helpers/index.d.ts @@ -7,6 +7,7 @@ export * from './helpers.dom'; export * from './helpers.easing'; export * from './helpers.extras'; export * from './helpers.interpolation'; +export * from './helpers.intl'; export * from './helpers.math'; export * from './helpers.options'; export * from './helpers.canvas';