Link Search Menu Expand Document

number-skeleton package

Tools for working with ICU NumberFormat skeletons and patterns.


import {
 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, including features provided by the Unified API Proposal.


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.


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.


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