index.js 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. var formatDistanceLocale = {
  7. lessThanXSeconds: {
  8. regular: {
  9. one: '1 секундтан аз',
  10. singularNominative: '{{count}} секундтан аз',
  11. singularGenitive: '{{count}} секундтан аз',
  12. pluralGenitive: '{{count}} секундтан аз'
  13. },
  14. future: {
  15. one: 'бір секундтан кейін',
  16. singularNominative: '{{count}} секундтан кейін',
  17. singularGenitive: '{{count}} секундтан кейін',
  18. pluralGenitive: '{{count}} секундтан кейін'
  19. }
  20. },
  21. xSeconds: {
  22. regular: {
  23. singularNominative: '{{count}} секунд',
  24. singularGenitive: '{{count}} секунд',
  25. pluralGenitive: '{{count}} секунд'
  26. },
  27. past: {
  28. singularNominative: '{{count}} секунд бұрын',
  29. singularGenitive: '{{count}} секунд бұрын',
  30. pluralGenitive: '{{count}} секунд бұрын'
  31. },
  32. future: {
  33. singularNominative: '{{count}} секундтан кейін',
  34. singularGenitive: '{{count}} секундтан кейін',
  35. pluralGenitive: '{{count}} секундтан кейін'
  36. }
  37. },
  38. halfAMinute: function halfAMinute(options) {
  39. if (options !== null && options !== void 0 && options.addSuffix) {
  40. if (options.comparison && options.comparison > 0) {
  41. return 'жарты минут ішінде';
  42. } else {
  43. return 'жарты минут бұрын';
  44. }
  45. }
  46. return 'жарты минут';
  47. },
  48. lessThanXMinutes: {
  49. regular: {
  50. one: '1 минуттан аз',
  51. singularNominative: '{{count}} минуттан аз',
  52. singularGenitive: '{{count}} минуттан аз',
  53. pluralGenitive: '{{count}} минуттан аз'
  54. },
  55. future: {
  56. one: 'минуттан кем ',
  57. singularNominative: '{{count}} минуттан кем',
  58. singularGenitive: '{{count}} минуттан кем',
  59. pluralGenitive: '{{count}} минуттан кем'
  60. }
  61. },
  62. xMinutes: {
  63. regular: {
  64. singularNominative: '{{count}} минут',
  65. singularGenitive: '{{count}} минут',
  66. pluralGenitive: '{{count}} минут'
  67. },
  68. past: {
  69. singularNominative: '{{count}} минут бұрын',
  70. singularGenitive: '{{count}} минут бұрын',
  71. pluralGenitive: '{{count}} минут бұрын'
  72. },
  73. future: {
  74. singularNominative: '{{count}} минуттан кейін',
  75. singularGenitive: '{{count}} минуттан кейін',
  76. pluralGenitive: '{{count}} минуттан кейін'
  77. }
  78. },
  79. aboutXHours: {
  80. regular: {
  81. singularNominative: 'шамамен {{count}} сағат',
  82. singularGenitive: 'шамамен {{count}} сағат',
  83. pluralGenitive: 'шамамен {{count}} сағат'
  84. },
  85. future: {
  86. singularNominative: 'шамамен {{count}} сағаттан кейін',
  87. singularGenitive: 'шамамен {{count}} сағаттан кейін',
  88. pluralGenitive: 'шамамен {{count}} сағаттан кейін'
  89. }
  90. },
  91. xHours: {
  92. regular: {
  93. singularNominative: '{{count}} сағат',
  94. singularGenitive: '{{count}} сағат',
  95. pluralGenitive: '{{count}} сағат'
  96. }
  97. },
  98. xDays: {
  99. regular: {
  100. singularNominative: '{{count}} күн',
  101. singularGenitive: '{{count}} күн',
  102. pluralGenitive: '{{count}} күн'
  103. },
  104. future: {
  105. singularNominative: '{{count}} күннен кейін',
  106. singularGenitive: '{{count}} күннен кейін',
  107. pluralGenitive: '{{count}} күннен кейін'
  108. }
  109. },
  110. aboutXWeeks: {
  111. type: 'weeks',
  112. one: 'шамамен 1 апта',
  113. other: 'шамамен {{count}} апта'
  114. },
  115. xWeeks: {
  116. type: 'weeks',
  117. one: '1 апта',
  118. other: '{{count}} апта'
  119. },
  120. aboutXMonths: {
  121. regular: {
  122. singularNominative: 'шамамен {{count}} ай',
  123. singularGenitive: 'шамамен {{count}} ай',
  124. pluralGenitive: 'шамамен {{count}} ай'
  125. },
  126. future: {
  127. singularNominative: 'шамамен {{count}} айдан кейін',
  128. singularGenitive: 'шамамен {{count}} айдан кейін',
  129. pluralGenitive: 'шамамен {{count}} айдан кейін'
  130. }
  131. },
  132. xMonths: {
  133. regular: {
  134. singularNominative: '{{count}} ай',
  135. singularGenitive: '{{count}} ай',
  136. pluralGenitive: '{{count}} ай'
  137. }
  138. },
  139. aboutXYears: {
  140. regular: {
  141. singularNominative: 'шамамен {{count}} жыл',
  142. singularGenitive: 'шамамен {{count}} жыл',
  143. pluralGenitive: 'шамамен {{count}} жыл'
  144. },
  145. future: {
  146. singularNominative: 'шамамен {{count}} жылдан кейін',
  147. singularGenitive: 'шамамен {{count}} жылдан кейін',
  148. pluralGenitive: 'шамамен {{count}} жылдан кейін'
  149. }
  150. },
  151. xYears: {
  152. regular: {
  153. singularNominative: '{{count}} жыл',
  154. singularGenitive: '{{count}} жыл',
  155. pluralGenitive: '{{count}} жыл'
  156. },
  157. future: {
  158. singularNominative: '{{count}} жылдан кейін',
  159. singularGenitive: '{{count}} жылдан кейін',
  160. pluralGenitive: '{{count}} жылдан кейін'
  161. }
  162. },
  163. overXYears: {
  164. regular: {
  165. singularNominative: '{{count}} жылдан астам',
  166. singularGenitive: '{{count}} жылдан астам',
  167. pluralGenitive: '{{count}} жылдан астам'
  168. },
  169. future: {
  170. singularNominative: '{{count}} жылдан астам',
  171. singularGenitive: '{{count}} жылдан астам',
  172. pluralGenitive: '{{count}} жылдан астам'
  173. }
  174. },
  175. almostXYears: {
  176. regular: {
  177. singularNominative: '{{count}} жылға жақын',
  178. singularGenitive: '{{count}} жылға жақын',
  179. pluralGenitive: '{{count}} жылға жақын'
  180. },
  181. future: {
  182. singularNominative: '{{count}} жылдан кейін',
  183. singularGenitive: '{{count}} жылдан кейін',
  184. pluralGenitive: '{{count}} жылдан кейін'
  185. }
  186. }
  187. };
  188. function declension(scheme, count) {
  189. // scheme for count=1 exists
  190. if (scheme.one && count === 1) return scheme.one;
  191. var rem10 = count % 10;
  192. var rem100 = count % 100;
  193. // 1, 21, 31, ...
  194. if (rem10 === 1 && rem100 !== 11) {
  195. return scheme.singularNominative.replace('{{count}}', String(count));
  196. // 2, 3, 4, 22, 23, 24, 32 ...
  197. } else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) {
  198. return scheme.singularGenitive.replace('{{count}}', String(count));
  199. // 5, 6, 7, 8, 9, 10, 11, ...
  200. } else {
  201. return scheme.pluralGenitive.replace('{{count}}', String(count));
  202. }
  203. }
  204. var formatDistance = function formatDistance(token, count, options) {
  205. var tokenValue = formatDistanceLocale[token];
  206. if (typeof tokenValue === 'function') return tokenValue(options);
  207. if (tokenValue.type === 'weeks') {
  208. return count === 1 ? tokenValue.one : tokenValue.other.replace('{{count}}', String(count));
  209. }
  210. if (options !== null && options !== void 0 && options.addSuffix) {
  211. if (options.comparison && options.comparison > 0) {
  212. if (tokenValue.future) {
  213. return declension(tokenValue.future, count);
  214. } else {
  215. return declension(tokenValue.regular, count) + ' кейін';
  216. }
  217. } else {
  218. if (tokenValue.past) {
  219. return declension(tokenValue.past, count);
  220. } else {
  221. return declension(tokenValue.regular, count) + ' бұрын';
  222. }
  223. }
  224. } else {
  225. return declension(tokenValue.regular, count);
  226. }
  227. };
  228. var _default = formatDistance;
  229. exports.default = _default;
  230. module.exports = exports.default;