index.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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("../../../../toDate/index.js"));
  8. var _index2 = _interopRequireDefault(require("../../../../_lib/isSameUTCWeek/index.js"));
  9. // Adapted from the `ru` translation
  10. var weekdays = ['неделя', 'понеделник', 'вторник', 'сряда', 'четвъртък', 'петък', 'събота'];
  11. function lastWeek(day) {
  12. var weekday = weekdays[day];
  13. switch (day) {
  14. case 0:
  15. case 3:
  16. case 6:
  17. return "'миналата " + weekday + " в' p";
  18. case 1:
  19. case 2:
  20. case 4:
  21. case 5:
  22. return "'миналия " + weekday + " в' p";
  23. }
  24. }
  25. function thisWeek(day) {
  26. var weekday = weekdays[day];
  27. if (day === 2 /* Tue */) {
  28. return "'във " + weekday + " в' p";
  29. } else {
  30. return "'в " + weekday + " в' p";
  31. }
  32. }
  33. function nextWeek(day) {
  34. var weekday = weekdays[day];
  35. switch (day) {
  36. case 0:
  37. case 3:
  38. case 6:
  39. return "'следващата " + weekday + " в' p";
  40. case 1:
  41. case 2:
  42. case 4:
  43. case 5:
  44. return "'следващия " + weekday + " в' p";
  45. }
  46. }
  47. var lastWeekFormatToken = function lastWeekFormatToken(dirtyDate, baseDate, options) {
  48. var date = (0, _index.default)(dirtyDate);
  49. var day = date.getUTCDay();
  50. if ((0, _index2.default)(date, baseDate, options)) {
  51. return thisWeek(day);
  52. } else {
  53. return lastWeek(day);
  54. }
  55. };
  56. var nextWeekFormatToken = function nextWeekFormatToken(dirtyDate, baseDate, options) {
  57. var date = (0, _index.default)(dirtyDate);
  58. var day = date.getUTCDay();
  59. if ((0, _index2.default)(date, baseDate, options)) {
  60. return thisWeek(day);
  61. } else {
  62. return nextWeek(day);
  63. }
  64. };
  65. var formatRelativeLocale = {
  66. lastWeek: lastWeekFormatToken,
  67. yesterday: "'вчера в' p",
  68. today: "'днес в' p",
  69. tomorrow: "'утре в' p",
  70. nextWeek: nextWeekFormatToken,
  71. other: 'P'
  72. };
  73. var formatRelative = function formatRelative(token, date, baseDate, options) {
  74. var format = formatRelativeLocale[token];
  75. if (typeof format === 'function') {
  76. return format(date, baseDate, options);
  77. }
  78. return format;
  79. };
  80. var _default = formatRelative;
  81. exports.default = _default;
  82. module.exports = exports.default;