index.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. function futureSeconds(text) {
  7. return text.replace(/sekuntia?/, 'sekunnin');
  8. }
  9. function futureMinutes(text) {
  10. return text.replace(/minuuttia?/, 'minuutin');
  11. }
  12. function futureHours(text) {
  13. return text.replace(/tuntia?/, 'tunnin');
  14. }
  15. function futureDays(text) {
  16. return text.replace(/päivää?/, 'päivän');
  17. }
  18. function futureWeeks(text) {
  19. return text.replace(/(viikko|viikkoa)/, 'viikon');
  20. }
  21. function futureMonths(text) {
  22. return text.replace(/(kuukausi|kuukautta)/, 'kuukauden');
  23. }
  24. function futureYears(text) {
  25. return text.replace(/(vuosi|vuotta)/, 'vuoden');
  26. }
  27. var formatDistanceLocale = {
  28. lessThanXSeconds: {
  29. one: 'alle sekunti',
  30. other: 'alle {{count}} sekuntia',
  31. futureTense: futureSeconds
  32. },
  33. xSeconds: {
  34. one: 'sekunti',
  35. other: '{{count}} sekuntia',
  36. futureTense: futureSeconds
  37. },
  38. halfAMinute: {
  39. one: 'puoli minuuttia',
  40. other: 'puoli minuuttia',
  41. futureTense: function futureTense(_text) {
  42. return 'puolen minuutin';
  43. }
  44. },
  45. lessThanXMinutes: {
  46. one: 'alle minuutti',
  47. other: 'alle {{count}} minuuttia',
  48. futureTense: futureMinutes
  49. },
  50. xMinutes: {
  51. one: 'minuutti',
  52. other: '{{count}} minuuttia',
  53. futureTense: futureMinutes
  54. },
  55. aboutXHours: {
  56. one: 'noin tunti',
  57. other: 'noin {{count}} tuntia',
  58. futureTense: futureHours
  59. },
  60. xHours: {
  61. one: 'tunti',
  62. other: '{{count}} tuntia',
  63. futureTense: futureHours
  64. },
  65. xDays: {
  66. one: 'päivä',
  67. other: '{{count}} päivää',
  68. futureTense: futureDays
  69. },
  70. aboutXWeeks: {
  71. one: 'noin viikko',
  72. other: 'noin {{count}} viikkoa',
  73. futureTense: futureWeeks
  74. },
  75. xWeeks: {
  76. one: 'viikko',
  77. other: '{{count}} viikkoa',
  78. futureTense: futureWeeks
  79. },
  80. aboutXMonths: {
  81. one: 'noin kuukausi',
  82. other: 'noin {{count}} kuukautta',
  83. futureTense: futureMonths
  84. },
  85. xMonths: {
  86. one: 'kuukausi',
  87. other: '{{count}} kuukautta',
  88. futureTense: futureMonths
  89. },
  90. aboutXYears: {
  91. one: 'noin vuosi',
  92. other: 'noin {{count}} vuotta',
  93. futureTense: futureYears
  94. },
  95. xYears: {
  96. one: 'vuosi',
  97. other: '{{count}} vuotta',
  98. futureTense: futureYears
  99. },
  100. overXYears: {
  101. one: 'yli vuosi',
  102. other: 'yli {{count}} vuotta',
  103. futureTense: futureYears
  104. },
  105. almostXYears: {
  106. one: 'lähes vuosi',
  107. other: 'lähes {{count}} vuotta',
  108. futureTense: futureYears
  109. }
  110. };
  111. var formatDistance = function formatDistance(token, count, options) {
  112. var tokenValue = formatDistanceLocale[token];
  113. var result = count === 1 ? tokenValue.one : tokenValue.other.replace('{{count}}', String(count));
  114. if (options !== null && options !== void 0 && options.addSuffix) {
  115. if (options.comparison && options.comparison > 0) {
  116. return tokenValue.futureTense(result) + ' kuluttua';
  117. } else {
  118. return result + ' sitten';
  119. }
  120. }
  121. return result;
  122. };
  123. var _default = formatDistance;
  124. exports.default = _default;
  125. module.exports = exports.default;