timepiece/node_modules/date-fns/locale/bg/_lib/formatRelative.mjs

96 lines
1.9 KiB
JavaScript

import { isSameWeek } from "../../../isSameWeek.mjs";
import { toDate } from "../../../toDate.mjs";
// Adapted from the `ru` translation
const weekdays = [
"неделя",
"понеделник",
"вторник",
"сряда",
"четвъртък",
"петък",
"събота",
];
function lastWeek(day) {
const weekday = weekdays[day];
switch (day) {
case 0:
case 3:
case 6:
return "'миналата " + weekday + " в' p";
case 1:
case 2:
case 4:
case 5:
return "'миналия " + weekday + " в' p";
}
}
function thisWeek(day) {
const weekday = weekdays[day];
if (day === 2 /* Tue */) {
return "'във " + weekday + " в' p";
} else {
return "'в " + weekday + " в' p";
}
}
function nextWeek(day) {
const weekday = weekdays[day];
switch (day) {
case 0:
case 3:
case 6:
return "'следващата " + weekday + " в' p";
case 1:
case 2:
case 4:
case 5:
return "'следващия " + weekday + " в' p";
}
}
const lastWeekFormatToken = (dirtyDate, baseDate, options) => {
const date = toDate(dirtyDate);
const day = date.getDay();
if (isSameWeek(date, baseDate, options)) {
return thisWeek(day);
} else {
return lastWeek(day);
}
};
const nextWeekFormatToken = (dirtyDate, baseDate, options) => {
const date = toDate(dirtyDate);
const day = date.getDay();
if (isSameWeek(date, baseDate, options)) {
return thisWeek(day);
} else {
return nextWeek(day);
}
};
const formatRelativeLocale = {
lastWeek: lastWeekFormatToken,
yesterday: "'вчера в' p",
today: "'днес в' p",
tomorrow: "'утре в' p",
nextWeek: nextWeekFormatToken,
other: "P",
};
export const formatRelative = (token, date, baseDate, options) => {
const format = formatRelativeLocale[token];
if (typeof format === "function") {
return format(date, baseDate, options);
}
return format;
};