芝麻web文件管理V1.00
编辑当前文件:/home/freeclou/app.optimyar.com/backend/node_modules/react-intl/src/formatters/number.ts
import {IntlConfig, Formatters, IntlFormatters} from '../types' import {getNamedFormat, filterProps} from '../utils' import {UnifiedNumberFormatOptions} from '@formatjs/intl-unified-numberformat' import {ReactIntlError, ReactIntlErrorCode} from '../error' const NUMBER_FORMAT_OPTIONS: Array
= [ 'localeMatcher', 'style', 'currency', 'currencyDisplay', 'unit', 'unitDisplay', 'useGrouping', 'minimumIntegerDigits', 'minimumFractionDigits', 'maximumFractionDigits', 'minimumSignificantDigits', 'maximumSignificantDigits', // Unified NumberFormat (Stage 3 as of 10/22/19) 'compactDisplay', 'currencyDisplay', 'currencySign', 'notation', 'signDisplay', 'unit', 'unitDisplay', ] export function getFormatter( { locale, formats, onError, }: Pick
, getNumberFormat: Formatters['getNumberFormat'], options: Parameters
[1] = {} ): Intl.NumberFormat { const {format} = options const defaults = ((format && getNamedFormat(formats!, 'number', format, onError)) || {}) as UnifiedNumberFormatOptions const filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults) return getNumberFormat(locale, filteredOptions) } export function formatNumber( config: Pick
, getNumberFormat: Formatters['getNumberFormat'], value: Parameters
[0], options: Parameters
[1] = {} ): string { try { return getFormatter(config, getNumberFormat, options).format(value) } catch (e) { config.onError( new ReactIntlError( ReactIntlErrorCode.FORMAT_ERROR, 'Error formatting number.', e ) ) } return String(value) } export function formatNumberToParts( config: Pick
, getNumberFormat: Formatters['getNumberFormat'], value: Parameters
[0], options: Parameters
[1] = {} ): Intl.NumberFormatPart[] { try { return getFormatter(config, getNumberFormat, options).formatToParts(value) } catch (e) { config.onError( new ReactIntlError( ReactIntlErrorCode.FORMAT_ERROR, 'Error formatting number.', e ) ) } return [] }