From 38acabfa6089ab8ac469c12b5f55022fb96935e5 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 23 Aug 2021 16:46:06 -0300 Subject: added web vendors --- .../src/locale/ru/_lib/formatRelative/index.js | 88 ++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 date-fns/src/locale/ru/_lib/formatRelative/index.js (limited to 'date-fns/src/locale/ru/_lib/formatRelative/index.js') diff --git a/date-fns/src/locale/ru/_lib/formatRelative/index.js b/date-fns/src/locale/ru/_lib/formatRelative/index.js new file mode 100644 index 0000000..ad4dbcf --- /dev/null +++ b/date-fns/src/locale/ru/_lib/formatRelative/index.js @@ -0,0 +1,88 @@ +import isSameUTCWeek from '../../../../_lib/isSameUTCWeek/index' + +var accusativeWeekdays = [ + 'воскресенье', + 'понедельник', + 'вторник', + 'среду', + 'четверг', + 'пятницу', + 'субботу' +] + +function lastWeek(day) { + var weekday = accusativeWeekdays[day] + + switch (day) { + case 0: + return "'в прошлое " + weekday + " в' p" + case 1: + case 2: + case 4: + return "'в прошлый " + weekday + " в' p" + case 3: + case 5: + case 6: + return "'в прошлую " + weekday + " в' p" + } +} + +function thisWeek(day) { + var weekday = accusativeWeekdays[day] + + if (day === 2 /* Tue */) { + return "'во " + weekday + " в' p" + } else { + return "'в " + weekday + " в' p" + } +} + +function nextWeek(day) { + var weekday = accusativeWeekdays[day] + + switch (day) { + case 0: + return "'в следующее " + weekday + " в' p" + case 1: + case 2: + case 4: + return "'в следующий " + weekday + " в' p" + case 3: + case 5: + case 6: + return "'в следующую " + weekday + " в' p" + } +} + +var formatRelativeLocale = { + lastWeek: function(date, baseDate, options) { + var day = date.getUTCDay() + if (isSameUTCWeek(date, baseDate, options)) { + return thisWeek(day) + } else { + return lastWeek(day) + } + }, + yesterday: "'вчера в' p", + today: "'сегодня в' p", + tomorrow: "'завтра в' p", + nextWeek: function(date, baseDate, options) { + var day = date.getUTCDay() + if (isSameUTCWeek(date, baseDate, options)) { + return thisWeek(day) + } else { + return nextWeek(day) + } + }, + other: 'P' +} + +export default function formatRelative(token, date, baseDate, options) { + var format = formatRelativeLocale[token] + + if (typeof format === 'function') { + return format(date, baseDate, options) + } + + return format +} -- cgit v1.2.3