numbro.d.ts 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. // Definitions by: Dan Poggi <https://github.com/dpoggi>
  2. interface NumbroStatic {
  3. (value?: any): Numbro;
  4. version: string;
  5. isNumbro(value: any): value is Numbro;
  6. setCulture(newCultureCode: string, fallbackCultureCode?: string): void;
  7. culture(): string;
  8. culture(cultureCode: string): void;
  9. culture(cultureCode: string, newCulture: NumbroCulture): NumbroStatic;
  10. cultureData(cultureCode?: string): NumbroCulture;
  11. 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. setLanguage(newCultureCode: string, fallbackCultureCode?: string): void;
  19. language(): string;
  20. language(cultureCode: string): void;
  21. language(cultureCode: string, newCulture: NumbroCulture): NumbroStatic;
  22. languageData(cultureCode?: string): NumbroCulture;
  23. languages(): Array<NumbroCulture>;
  24. zeroFormat(newFormat: string): void;
  25. defaultFormat(newFormat: string): void;
  26. defaultCurrencyFormat(newFormat: string): void;
  27. validate(value: string, cultureCode?: string): boolean;
  28. 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. loadLanguagesInNode(): void;
  34. }
  35. export interface Numbro {
  36. clone(): Numbro;
  37. format(formatString?: string, roundingFunction?: RoundingFunction): string;
  38. formatCurrency(formatString?: string, roundingFunction?: RoundingFunction): string;
  39. unformat(formattedNumber: string): number;
  40. binaryByteUnits(): string;
  41. byteUnits(): string;
  42. decimalByteUnits(): string;
  43. value(): number;
  44. valueOf(): number;
  45. set(value: number): this;
  46. add(value: number): this;
  47. subtract(value: number): this;
  48. multiply(value: number): this;
  49. divide(value: number): this;
  50. difference(value: number): number;
  51. }
  52. export interface NumbroCulture {
  53. langLocaleCode: string;
  54. cultureCode: string;
  55. delimiters: {
  56. thousands: string;
  57. decimal: string;
  58. };
  59. abbreviations: {
  60. thousand: string;
  61. million: string;
  62. billion: string;
  63. trillion: string;
  64. };
  65. ordinal(num: number): string;
  66. currency: {
  67. symbol: string;
  68. position: string;
  69. };
  70. defaults: {
  71. currencyFormat: string;
  72. };
  73. formats: {
  74. fourDigits: string;
  75. fullWithTwoDecimals: string;
  76. fullWithTwoDecimalsNoCurrency: string;
  77. fullWithNoDecimals: string;
  78. };
  79. }
  80. export interface RoundingFunction {
  81. (x: number): number;
  82. }
  83. declare const numbro: NumbroStatic;
  84. export default numbro;