index.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = void 0;
  7. var _index = _interopRequireDefault(require("../../../_lib/buildLocalizeFn/index.js"));
  8. var eraValues = {
  9. narrow: ['да н.э.', 'н.э.'],
  10. abbreviated: ['да н. э.', 'н. э.'],
  11. wide: ['да нашай эры', 'нашай эры']
  12. };
  13. var quarterValues = {
  14. narrow: ['1', '2', '3', '4'],
  15. abbreviated: ['1-ы кв.', '2-і кв.', '3-і кв.', '4-ы кв.'],
  16. wide: ['1-ы квартал', '2-і квартал', '3-і квартал', '4-ы квартал']
  17. };
  18. var monthValues = {
  19. narrow: ['С', 'Л', 'С', 'К', 'Т', 'Ч', 'Л', 'Ж', 'В', 'К', 'Л', 'С'],
  20. abbreviated: ['студз.', 'лют.', 'сак.', 'крас.', 'трав.', 'чэрв.', 'ліп.', 'жн.', 'вер.', 'кастр.', 'ліст.', 'сьнеж.'],
  21. wide: ['студзень', 'люты', 'сакавік', 'красавік', 'травень', 'чэрвень', 'ліпень', 'жнівень', 'верасень', 'кастрычнік', 'лістапад', 'сьнежань']
  22. };
  23. var formattingMonthValues = {
  24. narrow: ['С', 'Л', 'С', 'К', 'Т', 'Ч', 'Л', 'Ж', 'В', 'К', 'Л', 'С'],
  25. abbreviated: ['студз.', 'лют.', 'сак.', 'крас.', 'трав.', 'чэрв.', 'ліп.', 'жн.', 'вер.', 'кастр.', 'ліст.', 'сьнеж.'],
  26. wide: ['студзеня', 'лютага', 'сакавіка', 'красавіка', 'траўня', 'чэрвеня', 'ліпеня', 'жніўня', 'верасня', 'кастрычніка', 'лістапада', 'сьнежня']
  27. };
  28. var dayValues = {
  29. narrow: ['Н', 'П', 'А', 'С', 'Ч', 'П', 'С'],
  30. short: ['нд', 'пн', 'аў', 'ср', 'чц', 'пт', 'сб'],
  31. abbreviated: ['нядз', 'пан', 'аўт', 'сер', 'чаць', 'пят', 'суб'],
  32. wide: ['нядзеля', 'панядзелак', 'аўторак', 'серада', 'чацьвер', 'пятніца', 'субота']
  33. };
  34. var dayPeriodValues = {
  35. narrow: {
  36. am: 'ДП',
  37. pm: 'ПП',
  38. midnight: 'поўн.',
  39. noon: 'поўд.',
  40. morning: 'ран.',
  41. afternoon: 'дзень',
  42. evening: 'веч.',
  43. night: 'ноч'
  44. },
  45. abbreviated: {
  46. am: 'ДП',
  47. pm: 'ПП',
  48. midnight: 'поўн.',
  49. noon: 'поўд.',
  50. morning: 'ран.',
  51. afternoon: 'дзень',
  52. evening: 'веч.',
  53. night: 'ноч'
  54. },
  55. wide: {
  56. am: 'ДП',
  57. pm: 'ПП',
  58. midnight: 'поўнач',
  59. noon: 'поўдзень',
  60. morning: 'раніца',
  61. afternoon: 'дзень',
  62. evening: 'вечар',
  63. night: 'ноч'
  64. }
  65. };
  66. var formattingDayPeriodValues = {
  67. narrow: {
  68. am: 'ДП',
  69. pm: 'ПП',
  70. midnight: 'поўн.',
  71. noon: 'поўд.',
  72. morning: 'ран.',
  73. afternoon: 'дня',
  74. evening: 'веч.',
  75. night: 'ночы'
  76. },
  77. abbreviated: {
  78. am: 'ДП',
  79. pm: 'ПП',
  80. midnight: 'поўн.',
  81. noon: 'поўд.',
  82. morning: 'ран.',
  83. afternoon: 'дня',
  84. evening: 'веч.',
  85. night: 'ночы'
  86. },
  87. wide: {
  88. am: 'ДП',
  89. pm: 'ПП',
  90. midnight: 'поўнач',
  91. noon: 'поўдзень',
  92. morning: 'раніцы',
  93. afternoon: 'дня',
  94. evening: 'вечара',
  95. night: 'ночы'
  96. }
  97. };
  98. var ordinalNumber = function ordinalNumber(dirtyNumber, options) {
  99. var unit = String(options === null || options === void 0 ? void 0 : options.unit);
  100. var number = Number(dirtyNumber);
  101. var suffix;
  102. /** Though it's an incorrect ordinal form of a date we use it here for consistency with other similar locales (ru, uk)
  103. * For date-month combinations should be used `d` formatter.
  104. * Correct: `d MMMM` (4 верасня)
  105. * Incorrect: `do MMMM` (4-га верасня)
  106. *
  107. * But following the consistency leads to mistakes for literal uses of `do` formatter (ordinal day of month).
  108. * So for phrase "5th day of month" (`do дзень месяца`)
  109. * library will produce: `5-га дзень месяца`
  110. * but correct spelling should be: `5-ы дзень месяца`
  111. *
  112. * So I guess there should be a stand-alone and a formatting version of "day of month" formatters
  113. */
  114. if (unit === 'date') {
  115. suffix = '-га';
  116. } else if (unit === 'hour' || unit === 'minute' || unit === 'second') {
  117. suffix = '-я';
  118. } else {
  119. suffix = (number % 10 === 2 || number % 10 === 3) && number % 100 !== 12 && number % 100 !== 13 ? '-і' : '-ы';
  120. }
  121. return number + suffix;
  122. };
  123. var localize = {
  124. ordinalNumber: ordinalNumber,
  125. era: (0, _index.default)({
  126. values: eraValues,
  127. defaultWidth: 'wide'
  128. }),
  129. quarter: (0, _index.default)({
  130. values: quarterValues,
  131. defaultWidth: 'wide',
  132. argumentCallback: function argumentCallback(quarter) {
  133. return quarter - 1;
  134. }
  135. }),
  136. month: (0, _index.default)({
  137. values: monthValues,
  138. defaultWidth: 'wide',
  139. formattingValues: formattingMonthValues,
  140. defaultFormattingWidth: 'wide'
  141. }),
  142. day: (0, _index.default)({
  143. values: dayValues,
  144. defaultWidth: 'wide'
  145. }),
  146. dayPeriod: (0, _index.default)({
  147. values: dayPeriodValues,
  148. defaultWidth: 'any',
  149. formattingValues: formattingDayPeriodValues,
  150. defaultFormattingWidth: 'wide'
  151. })
  152. };
  153. var _default = localize;
  154. exports.default = _default;
  155. module.exports = exports.default;