980596d53c73865f94bd431fc38cd7b388f6366902472933834b53b682a524a16dea44341d07fd9a8cbf10e80b427150c1da37931e8cdafccba6131f92eb11 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. // Definitions by: Dan Poggi <https://github.com/dpoggi>
  2. declare function numbro(value?: any): numbro.Numbro;
  3. declare namespace numbro {
  4. export const version: string;
  5. export function isNumbro(value: any): value is Numbro;
  6. export function setCulture(newCultureCode: string, fallbackCultureCode ?: string): void;
  7. export function culture(): string;
  8. export function culture(cultureCode: string): void;
  9. export function culture(cultureCode: string, newCulture: NumbroCulture): typeof numbro;
  10. export function cultureData(cultureCode ?: string): NumbroCulture;
  11. export function cultures(): Array<NumbroCulture>;
  12. /**
  13. * Language functions
  14. *
  15. * @deprecated Since version 1.6.0. Will be removed in version 2.0. Use the
  16. * culture versions instead.
  17. */
  18. export function setLanguage(newCultureCode: string, fallbackCultureCode ?: string): void;
  19. export function language(): string;
  20. export function language(cultureCode: string): void;
  21. export function language(cultureCode: string, newCulture: NumbroCulture): typeof numbro;
  22. export function languageData(cultureCode ?: string): NumbroCulture;
  23. export function languages(): Array<NumbroCulture>;
  24. export function zeroFormat(newFormat: string): void;
  25. export function defaultFormat(newFormat: string): void;
  26. export function defaultCurrencyFormat(newFormat: string): void;
  27. export function validate(value: string, cultureCode ?: string): boolean;
  28. export function loadCulturesInNode(): void;
  29. /**
  30. * @deprecated Since version 1.6.0. Will be removed in version 2.0. Use the
  31. * culture version instead.
  32. */
  33. export function loadLanguagesInNode(): void;
  34. interface Numbro {
  35. clone(): Numbro;
  36. format(formatString?: string, roundingFunction?: RoundingFunction): string;
  37. formatCurrency(formatString?: string, roundingFunction?: RoundingFunction): string;
  38. unformat(formattedNumber: string): number;
  39. binaryByteUnits(): string;
  40. byteUnits(): string;
  41. decimalByteUnits(): string;
  42. value(): number;
  43. valueOf(): number;
  44. set(value: number): this;
  45. add(value: number): this;
  46. subtract(value: number): this;
  47. multiply(value: number): this;
  48. divide(value: number): this;
  49. difference(value: number): number;
  50. }
  51. export interface NumbroCulture {
  52. langLocaleCode: string;
  53. cultureCode: string;
  54. delimiters: {
  55. thousands: string;
  56. decimal: string;
  57. };
  58. abbreviations: {
  59. thousand: string;
  60. million: string;
  61. billion: string;
  62. trillion: string;
  63. };
  64. ordinal(num: number): string;
  65. currency: {
  66. symbol: string;
  67. position: string;
  68. };
  69. defaults: {
  70. currencyFormat: string;
  71. };
  72. formats: {
  73. fourDigits: string;
  74. fullWithTwoDecimals: string;
  75. fullWithTwoDecimalsNoCurrency: string;
  76. fullWithNoDecimals: string;
  77. };
  78. }
  79. export interface RoundingFunction {
  80. (x: number): number;
  81. }
  82. }
  83. export = numbro;