lbry-desktop/ui/util/intlNumberFormat.js
2022-05-06 11:24:26 -04:00

15 lines
495 B
JavaScript

// @flow
const formatterCache = {};
// Creating multiple Intl.NumberFormat instances can
// be expensive, that's why we perform a very simple
// cache.
// See https://github.com/formatjs/formatjs/issues/27#issuecomment-61148808
export function getFormatter(language?: string, options: any) {
const key = `${language || ''}:${JSON.stringify(options || {})}`;
if (!formatterCache[key]) {
formatterCache[key] = new Intl.NumberFormat(language, options);
}
return formatterCache[key];
}