index.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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/isSameUTCWeek/index.js"));
  8. var adjectivesLastWeek = {
  9. masculine: 'ostatni',
  10. feminine: 'ostatnia'
  11. };
  12. var adjectivesThisWeek = {
  13. masculine: 'ten',
  14. feminine: 'ta'
  15. };
  16. var adjectivesNextWeek = {
  17. masculine: 'następny',
  18. feminine: 'następna'
  19. };
  20. var dayGrammaticalGender = {
  21. 0: 'feminine',
  22. 1: 'masculine',
  23. 2: 'masculine',
  24. 3: 'feminine',
  25. 4: 'masculine',
  26. 5: 'masculine',
  27. 6: 'feminine'
  28. };
  29. function dayAndTimeWithAdjective(token, date, baseDate, options) {
  30. var adjectives;
  31. if ((0, _index.default)(date, baseDate, options)) {
  32. adjectives = adjectivesThisWeek;
  33. } else if (token === 'lastWeek') {
  34. adjectives = adjectivesLastWeek;
  35. } else if (token === 'nextWeek') {
  36. adjectives = adjectivesNextWeek;
  37. } else {
  38. throw new Error("Cannot determine adjectives for token ".concat(token));
  39. }
  40. var day = date.getUTCDay();
  41. var grammaticalGender = dayGrammaticalGender[day];
  42. var adjective = adjectives[grammaticalGender];
  43. return "'".concat(adjective, "' eeee 'o' p");
  44. }
  45. var formatRelativeLocale = {
  46. lastWeek: dayAndTimeWithAdjective,
  47. yesterday: "'wczoraj o' p",
  48. today: "'dzisiaj o' p",
  49. tomorrow: "'jutro o' p",
  50. nextWeek: dayAndTimeWithAdjective,
  51. other: 'P'
  52. };
  53. var formatRelative = function formatRelative(token, date, baseDate, options) {
  54. var format = formatRelativeLocale[token];
  55. if (typeof format === 'function') {
  56. return format(token, date, baseDate, options);
  57. }
  58. return format;
  59. };
  60. var _default = formatRelative;
  61. exports.default = _default;
  62. module.exports = exports.default;