index.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. var _index = _interopRequireDefault(require("../../../_lib/buildLocalizeFn/index.js"));
  7. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  8. var eraValues = {
  9. narrow: ['B', 'A'],
  10. abbreviated: ['BC', 'AD'],
  11. wide: ['Before Christ', 'Anno Domini']
  12. };
  13. var quarterValues = {
  14. narrow: ['1', '2', '3', '4'],
  15. abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],
  16. wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'] // Note: in English, the names of days of the week and months are capitalized.
  17. // If you are making a new locale based on this one, check if the same is true for the language you're working on.
  18. // Generally, formatted dates should look like they are in the middle of a sentence,
  19. // e.g. in Spanish language the weekdays and months should be in the lowercase.
  20. };
  21. var monthValues = {
  22. narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],
  23. abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
  24. wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
  25. };
  26. var dayValues = {
  27. narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
  28. short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
  29. abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
  30. wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']
  31. };
  32. var dayPeriodValues = {
  33. narrow: {
  34. am: 'a',
  35. pm: 'p',
  36. midnight: 'mi',
  37. noon: 'n',
  38. morning: 'morning',
  39. afternoon: 'afternoon',
  40. evening: 'evening',
  41. night: 'night'
  42. },
  43. abbreviated: {
  44. am: 'AM',
  45. pm: 'PM',
  46. midnight: 'midnight',
  47. noon: 'noon',
  48. morning: 'morning',
  49. afternoon: 'afternoon',
  50. evening: 'evening',
  51. night: 'night'
  52. },
  53. wide: {
  54. am: 'a.m.',
  55. pm: 'p.m.',
  56. midnight: 'midnight',
  57. noon: 'noon',
  58. morning: 'morning',
  59. afternoon: 'afternoon',
  60. evening: 'evening',
  61. night: 'night'
  62. }
  63. };
  64. var formattingDayPeriodValues = {
  65. narrow: {
  66. am: 'a',
  67. pm: 'p',
  68. midnight: 'mi',
  69. noon: 'n',
  70. morning: 'in the morning',
  71. afternoon: 'in the afternoon',
  72. evening: 'in the evening',
  73. night: 'at night'
  74. },
  75. abbreviated: {
  76. am: 'AM',
  77. pm: 'PM',
  78. midnight: 'midnight',
  79. noon: 'noon',
  80. morning: 'in the morning',
  81. afternoon: 'in the afternoon',
  82. evening: 'in the evening',
  83. night: 'at night'
  84. },
  85. wide: {
  86. am: 'a.m.',
  87. pm: 'p.m.',
  88. midnight: 'midnight',
  89. noon: 'noon',
  90. morning: 'in the morning',
  91. afternoon: 'in the afternoon',
  92. evening: 'in the evening',
  93. night: 'at night'
  94. }
  95. };
  96. function ordinalNumber(dirtyNumber, _dirtyOptions) {
  97. var number = Number(dirtyNumber); // If ordinal numbers depend on context, for example,
  98. // if they are different for different grammatical genders,
  99. // use `options.unit`:
  100. //
  101. // var options = dirtyOptions || {}
  102. // var unit = String(options.unit)
  103. //
  104. // where `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',
  105. // 'day', 'hour', 'minute', 'second'
  106. var rem100 = number % 100;
  107. if (rem100 > 20 || rem100 < 10) {
  108. switch (rem100 % 10) {
  109. case 1:
  110. return number + 'st';
  111. case 2:
  112. return number + 'nd';
  113. case 3:
  114. return number + 'rd';
  115. }
  116. }
  117. return number + 'th';
  118. }
  119. var localize = {
  120. ordinalNumber: ordinalNumber,
  121. era: (0, _index.default)({
  122. values: eraValues,
  123. defaultWidth: 'wide'
  124. }),
  125. quarter: (0, _index.default)({
  126. values: quarterValues,
  127. defaultWidth: 'wide',
  128. argumentCallback: function (quarter) {
  129. return Number(quarter) - 1;
  130. }
  131. }),
  132. month: (0, _index.default)({
  133. values: monthValues,
  134. defaultWidth: 'wide'
  135. }),
  136. day: (0, _index.default)({
  137. values: dayValues,
  138. defaultWidth: 'wide'
  139. }),
  140. dayPeriod: (0, _index.default)({
  141. values: dayPeriodValues,
  142. defaultWidth: 'wide',
  143. formattingValues: formattingDayPeriodValues,
  144. defaultFormattingWidth: 'wide'
  145. })
  146. };
  147. var _default = localize;
  148. exports.default = _default;
  149. module.exports = exports.default;