@formatjs/intl-displaynames
Version:
Polyfill for: https://tc39.es/proposal-intl-displaynames
28 lines (27 loc) • 1.35 kB
TypeScript
import { DisplayNamesData, DisplayNamesLocaleData } from '@formatjs/ecma402-abstract';
export interface DisplayNamesOptions {
localeMatcher?: 'lookup' | 'best fit';
style?: 'narrow' | 'short' | 'long';
type: 'language' | 'region' | 'script' | 'currency' | 'calendar' | 'dateTimeField';
fallback?: 'code' | 'none';
languageDisplay?: 'dialect' | 'standard';
}
export interface DisplayNamesResolvedOptions {
locale: string;
style: NonNullable<DisplayNamesOptions['style']>;
type: NonNullable<DisplayNamesOptions['type']>;
fallback: NonNullable<DisplayNamesOptions['fallback']>;
languageDisplay: NonNullable<DisplayNamesOptions['languageDisplay']>;
}
export declare class DisplayNames {
constructor(locales: string | string[] | undefined, options: DisplayNamesOptions);
static supportedLocalesOf(locales?: string | string[], options?: Pick<DisplayNamesOptions, 'localeMatcher'>): string[];
static __addLocaleData(...data: DisplayNamesLocaleData[]): void;
of(code: string | number | Record<string, unknown>): string | undefined;
resolvedOptions(): DisplayNamesResolvedOptions;
static localeData: Record<string, DisplayNamesData | undefined>;
private static availableLocales;
private static __defaultLocale;
private static getDefaultLocale;
static readonly polyfilled = true;
}