plurals.d.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. import * as Plurals from 'make-plural/plurals';
  2. /**
  3. * Function used to define the pluralisation for a locale
  4. *
  5. * @public
  6. * @remarks
  7. * `(value: number | string, ord?: boolean) => PluralCateogry`
  8. *
  9. * May be used as a {@link MessageFormat} constructor `locale` argument.
  10. */
  11. export interface PluralFunction {
  12. /** Foo bar */
  13. (value: number | string, ord?: boolean): Plurals.PluralCategory;
  14. /** Which plurals may be returned if `ord` is falsy */
  15. cardinals?: Plurals.PluralCategory[];
  16. /** Which plurals may be returned if `ord` is true */
  17. ordinals?: Plurals.PluralCategory[];
  18. /** The name of the module from which this function may be imported */
  19. module?: string;
  20. }
  21. export interface PluralObject {
  22. isDefault: boolean;
  23. id: string;
  24. lc: string;
  25. locale: string;
  26. getCardinal?: (value: string | number) => Plurals.PluralCategory;
  27. getPlural: PluralFunction;
  28. cardinals: Plurals.PluralCategory[];
  29. ordinals: Plurals.PluralCategory[];
  30. }
  31. export declare function getPlural(locale: string | PluralFunction): PluralObject | null;
  32. export declare function getAllPlurals(firstLocale: string): PluralObject[];
  33. export declare function hasPlural(locale: string): boolean;