number-skeleton package

Tools for working with ICU NumberFormat skeletons and patterns.

Remarks

import {
 getNumberFormatter,
 getNumberFormatterSource,
 NumberFormatError,
 parseNumberPattern,
 parseNumberSkeleton,
 Skeleton, // TS only
 Unit // TS only
} from '@messageformat/number-skeleton'

The package is released as an ES module only. If using from a CommonJS context, you may need to import() it, or use a module loader like esm.

Uses Intl.NumberFormat internally (ES2020).

Classes

Class Description
NumberFormatError Base class for errors. In addition to a code and a human-friendly message, may also includes the token stem as well as other fields.

Functions

Function Description
getNumberFormatter(locales, skeleton, currency, onError) Returns a number formatter function for the given locales and number skeleton
getNumberFormatterSource(locales, skeleton, currency, onError) Returns a string of JavaScript source that evaluates to a number formatter function with the same (value: number) => string signature as the function returned by getNumberFormatter().
parseNumberPattern(src, currency, onError) Parse an ICU NumberFormatter pattern string into a Skeleton structure.
parseNumberSkeleton(src, onError) Parse an ICU NumberFormatter skeleton string into a Skeleton structure.

Interfaces

Interface Description
Skeleton An object representation of a parsed string skeleton, with token values grouped by type.

Type Aliases

Type Alias Description
Unit Measurement units defined by the Unicode CLDR