Initial commit: Crypto trader application

This commit is contained in:
2025-12-25 20:20:40 -05:00
commit 07a04c1bb8
47895 changed files with 2042266 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
import type { FormatDistanceFn } from "../../types.js";
export declare const formatDistance: FormatDistanceFn;
+2
View File
@@ -0,0 +1,2 @@
import type { FormatDistanceFn } from "../../types.js";
export declare const formatDistance: FormatDistanceFn;
+250
View File
@@ -0,0 +1,250 @@
"use strict";
exports.formatDistance = void 0;
function declension(scheme, count) {
// scheme for count=1 exists
if (scheme.one !== undefined && count === 1) {
return scheme.one;
}
const rem10 = count % 10;
const rem100 = count % 100;
// 1, 21, 31, ...
if (rem10 === 1 && rem100 !== 11) {
return scheme.singularNominative.replace("{{count}}", String(count));
// 2, 3, 4, 22, 23, 24, 32 ...
} else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) {
return scheme.singularGenitive.replace("{{count}}", String(count));
// 5, 6, 7, 8, 9, 10, 11, ...
} else {
return scheme.pluralGenitive.replace("{{count}}", String(count));
}
}
function buildLocalizeTokenFn(scheme) {
return (count, options) => {
if (options?.addSuffix) {
if (options.comparison && options.comparison > 0) {
if (scheme.future) {
return declension(scheme.future, count);
} else {
return "через " + declension(scheme.regular, count);
}
} else {
if (scheme.past) {
return declension(scheme.past, count);
} else {
return declension(scheme.regular, count) + " назад";
}
}
} else {
return declension(scheme.regular, count);
}
};
}
const formatDistanceLocale = {
lessThanXSeconds: buildLocalizeTokenFn({
regular: {
one: "меньше секунды",
singularNominative: "меньше {{count}} секунды",
singularGenitive: "меньше {{count}} секунд",
pluralGenitive: "меньше {{count}} секунд",
},
future: {
one: "меньше, чем через секунду",
singularNominative: "меньше, чем через {{count}} секунду",
singularGenitive: "меньше, чем через {{count}} секунды",
pluralGenitive: "меньше, чем через {{count}} секунд",
},
}),
xSeconds: buildLocalizeTokenFn({
regular: {
singularNominative: "{{count}} секунда",
singularGenitive: "{{count}} секунды",
pluralGenitive: "{{count}} секунд",
},
past: {
singularNominative: "{{count}} секунду назад",
singularGenitive: "{{count}} секунды назад",
pluralGenitive: "{{count}} секунд назад",
},
future: {
singularNominative: "через {{count}} секунду",
singularGenitive: "через {{count}} секунды",
pluralGenitive: "через {{count}} секунд",
},
}),
halfAMinute: (_count, options) => {
if (options?.addSuffix) {
if (options.comparison && options.comparison > 0) {
return "через полминуты";
} else {
return "полминуты назад";
}
}
return "полминуты";
},
lessThanXMinutes: buildLocalizeTokenFn({
regular: {
one: "меньше минуты",
singularNominative: "меньше {{count}} минуты",
singularGenitive: "меньше {{count}} минут",
pluralGenitive: "меньше {{count}} минут",
},
future: {
one: "меньше, чем через минуту",
singularNominative: "меньше, чем через {{count}} минуту",
singularGenitive: "меньше, чем через {{count}} минуты",
pluralGenitive: "меньше, чем через {{count}} минут",
},
}),
xMinutes: buildLocalizeTokenFn({
regular: {
singularNominative: "{{count}} минута",
singularGenitive: "{{count}} минуты",
pluralGenitive: "{{count}} минут",
},
past: {
singularNominative: "{{count}} минуту назад",
singularGenitive: "{{count}} минуты назад",
pluralGenitive: "{{count}} минут назад",
},
future: {
singularNominative: "через {{count}} минуту",
singularGenitive: "через {{count}} минуты",
pluralGenitive: "через {{count}} минут",
},
}),
aboutXHours: buildLocalizeTokenFn({
regular: {
singularNominative: "около {{count}} часа",
singularGenitive: "около {{count}} часов",
pluralGenitive: "около {{count}} часов",
},
future: {
singularNominative: "приблизительно через {{count}} час",
singularGenitive: "приблизительно через {{count}} часа",
pluralGenitive: "приблизительно через {{count}} часов",
},
}),
xHours: buildLocalizeTokenFn({
regular: {
singularNominative: "{{count}} час",
singularGenitive: "{{count}} часа",
pluralGenitive: "{{count}} часов",
},
}),
xDays: buildLocalizeTokenFn({
regular: {
singularNominative: "{{count}} день",
singularGenitive: "{{count}} дня",
pluralGenitive: "{{count}} дней",
},
}),
aboutXWeeks: buildLocalizeTokenFn({
regular: {
singularNominative: "около {{count}} недели",
singularGenitive: "около {{count}} недель",
pluralGenitive: "около {{count}} недель",
},
future: {
singularNominative: "приблизительно через {{count}} неделю",
singularGenitive: "приблизительно через {{count}} недели",
pluralGenitive: "приблизительно через {{count}} недель",
},
}),
xWeeks: buildLocalizeTokenFn({
regular: {
singularNominative: "{{count}} неделя",
singularGenitive: "{{count}} недели",
pluralGenitive: "{{count}} недель",
},
}),
aboutXMonths: buildLocalizeTokenFn({
regular: {
singularNominative: "около {{count}} месяца",
singularGenitive: "около {{count}} месяцев",
pluralGenitive: "около {{count}} месяцев",
},
future: {
singularNominative: "приблизительно через {{count}} месяц",
singularGenitive: "приблизительно через {{count}} месяца",
pluralGenitive: "приблизительно через {{count}} месяцев",
},
}),
xMonths: buildLocalizeTokenFn({
regular: {
singularNominative: "{{count}} месяц",
singularGenitive: "{{count}} месяца",
pluralGenitive: "{{count}} месяцев",
},
}),
aboutXYears: buildLocalizeTokenFn({
regular: {
singularNominative: "около {{count}} года",
singularGenitive: "около {{count}} лет",
pluralGenitive: "около {{count}} лет",
},
future: {
singularNominative: "приблизительно через {{count}} год",
singularGenitive: "приблизительно через {{count}} года",
pluralGenitive: "приблизительно через {{count}} лет",
},
}),
xYears: buildLocalizeTokenFn({
regular: {
singularNominative: "{{count}} год",
singularGenitive: "{{count}} года",
pluralGenitive: "{{count}} лет",
},
}),
overXYears: buildLocalizeTokenFn({
regular: {
singularNominative: "больше {{count}} года",
singularGenitive: "больше {{count}} лет",
pluralGenitive: "больше {{count}} лет",
},
future: {
singularNominative: "больше, чем через {{count}} год",
singularGenitive: "больше, чем через {{count}} года",
pluralGenitive: "больше, чем через {{count}} лет",
},
}),
almostXYears: buildLocalizeTokenFn({
regular: {
singularNominative: "почти {{count}} год",
singularGenitive: "почти {{count}} года",
pluralGenitive: "почти {{count}} лет",
},
future: {
singularNominative: "почти через {{count}} год",
singularGenitive: "почти через {{count}} года",
pluralGenitive: "почти через {{count}} лет",
},
}),
};
const formatDistance = (token, count, options) => {
return formatDistanceLocale[token](count, options);
};
exports.formatDistance = formatDistance;
+246
View File
@@ -0,0 +1,246 @@
function declension(scheme, count) {
// scheme for count=1 exists
if (scheme.one !== undefined && count === 1) {
return scheme.one;
}
const rem10 = count % 10;
const rem100 = count % 100;
// 1, 21, 31, ...
if (rem10 === 1 && rem100 !== 11) {
return scheme.singularNominative.replace("{{count}}", String(count));
// 2, 3, 4, 22, 23, 24, 32 ...
} else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) {
return scheme.singularGenitive.replace("{{count}}", String(count));
// 5, 6, 7, 8, 9, 10, 11, ...
} else {
return scheme.pluralGenitive.replace("{{count}}", String(count));
}
}
function buildLocalizeTokenFn(scheme) {
return (count, options) => {
if (options?.addSuffix) {
if (options.comparison && options.comparison > 0) {
if (scheme.future) {
return declension(scheme.future, count);
} else {
return "через " + declension(scheme.regular, count);
}
} else {
if (scheme.past) {
return declension(scheme.past, count);
} else {
return declension(scheme.regular, count) + " назад";
}
}
} else {
return declension(scheme.regular, count);
}
};
}
const formatDistanceLocale = {
lessThanXSeconds: buildLocalizeTokenFn({
regular: {
one: "меньше секунды",
singularNominative: "меньше {{count}} секунды",
singularGenitive: "меньше {{count}} секунд",
pluralGenitive: "меньше {{count}} секунд",
},
future: {
one: "меньше, чем через секунду",
singularNominative: "меньше, чем через {{count}} секунду",
singularGenitive: "меньше, чем через {{count}} секунды",
pluralGenitive: "меньше, чем через {{count}} секунд",
},
}),
xSeconds: buildLocalizeTokenFn({
regular: {
singularNominative: "{{count}} секунда",
singularGenitive: "{{count}} секунды",
pluralGenitive: "{{count}} секунд",
},
past: {
singularNominative: "{{count}} секунду назад",
singularGenitive: "{{count}} секунды назад",
pluralGenitive: "{{count}} секунд назад",
},
future: {
singularNominative: "через {{count}} секунду",
singularGenitive: "через {{count}} секунды",
pluralGenitive: "через {{count}} секунд",
},
}),
halfAMinute: (_count, options) => {
if (options?.addSuffix) {
if (options.comparison && options.comparison > 0) {
return "через полминуты";
} else {
return "полминуты назад";
}
}
return "полминуты";
},
lessThanXMinutes: buildLocalizeTokenFn({
regular: {
one: "меньше минуты",
singularNominative: "меньше {{count}} минуты",
singularGenitive: "меньше {{count}} минут",
pluralGenitive: "меньше {{count}} минут",
},
future: {
one: "меньше, чем через минуту",
singularNominative: "меньше, чем через {{count}} минуту",
singularGenitive: "меньше, чем через {{count}} минуты",
pluralGenitive: "меньше, чем через {{count}} минут",
},
}),
xMinutes: buildLocalizeTokenFn({
regular: {
singularNominative: "{{count}} минута",
singularGenitive: "{{count}} минуты",
pluralGenitive: "{{count}} минут",
},
past: {
singularNominative: "{{count}} минуту назад",
singularGenitive: "{{count}} минуты назад",
pluralGenitive: "{{count}} минут назад",
},
future: {
singularNominative: "через {{count}} минуту",
singularGenitive: "через {{count}} минуты",
pluralGenitive: "через {{count}} минут",
},
}),
aboutXHours: buildLocalizeTokenFn({
regular: {
singularNominative: "около {{count}} часа",
singularGenitive: "около {{count}} часов",
pluralGenitive: "около {{count}} часов",
},
future: {
singularNominative: "приблизительно через {{count}} час",
singularGenitive: "приблизительно через {{count}} часа",
pluralGenitive: "приблизительно через {{count}} часов",
},
}),
xHours: buildLocalizeTokenFn({
regular: {
singularNominative: "{{count}} час",
singularGenitive: "{{count}} часа",
pluralGenitive: "{{count}} часов",
},
}),
xDays: buildLocalizeTokenFn({
regular: {
singularNominative: "{{count}} день",
singularGenitive: "{{count}} дня",
pluralGenitive: "{{count}} дней",
},
}),
aboutXWeeks: buildLocalizeTokenFn({
regular: {
singularNominative: "около {{count}} недели",
singularGenitive: "около {{count}} недель",
pluralGenitive: "около {{count}} недель",
},
future: {
singularNominative: "приблизительно через {{count}} неделю",
singularGenitive: "приблизительно через {{count}} недели",
pluralGenitive: "приблизительно через {{count}} недель",
},
}),
xWeeks: buildLocalizeTokenFn({
regular: {
singularNominative: "{{count}} неделя",
singularGenitive: "{{count}} недели",
pluralGenitive: "{{count}} недель",
},
}),
aboutXMonths: buildLocalizeTokenFn({
regular: {
singularNominative: "около {{count}} месяца",
singularGenitive: "около {{count}} месяцев",
pluralGenitive: "около {{count}} месяцев",
},
future: {
singularNominative: "приблизительно через {{count}} месяц",
singularGenitive: "приблизительно через {{count}} месяца",
pluralGenitive: "приблизительно через {{count}} месяцев",
},
}),
xMonths: buildLocalizeTokenFn({
regular: {
singularNominative: "{{count}} месяц",
singularGenitive: "{{count}} месяца",
pluralGenitive: "{{count}} месяцев",
},
}),
aboutXYears: buildLocalizeTokenFn({
regular: {
singularNominative: "около {{count}} года",
singularGenitive: "около {{count}} лет",
pluralGenitive: "около {{count}} лет",
},
future: {
singularNominative: "приблизительно через {{count}} год",
singularGenitive: "приблизительно через {{count}} года",
pluralGenitive: "приблизительно через {{count}} лет",
},
}),
xYears: buildLocalizeTokenFn({
regular: {
singularNominative: "{{count}} год",
singularGenitive: "{{count}} года",
pluralGenitive: "{{count}} лет",
},
}),
overXYears: buildLocalizeTokenFn({
regular: {
singularNominative: "больше {{count}} года",
singularGenitive: "больше {{count}} лет",
pluralGenitive: "больше {{count}} лет",
},
future: {
singularNominative: "больше, чем через {{count}} год",
singularGenitive: "больше, чем через {{count}} года",
pluralGenitive: "больше, чем через {{count}} лет",
},
}),
almostXYears: buildLocalizeTokenFn({
regular: {
singularNominative: "почти {{count}} год",
singularGenitive: "почти {{count}} года",
pluralGenitive: "почти {{count}} лет",
},
future: {
singularNominative: "почти через {{count}} год",
singularGenitive: "почти через {{count}} года",
pluralGenitive: "почти через {{count}} лет",
},
}),
};
export const formatDistance = (token, count, options) => {
return formatDistanceLocale[token](count, options);
};
+2
View File
@@ -0,0 +1,2 @@
import type { FormatLong } from "../../types.js";
export declare const formatLong: FormatLong;
+2
View File
@@ -0,0 +1,2 @@
import type { FormatLong } from "../../types.js";
export declare const formatLong: FormatLong;
+38
View File
@@ -0,0 +1,38 @@
"use strict";
exports.formatLong = void 0;
var _index = require("../../_lib/buildFormatLongFn.js");
const dateFormats = {
full: "EEEE, d MMMM y 'г.'",
long: "d MMMM y 'г.'",
medium: "d MMM y 'г.'",
short: "dd.MM.y",
};
const timeFormats = {
full: "H:mm:ss zzzz",
long: "H:mm:ss z",
medium: "H:mm:ss",
short: "H:mm",
};
const dateTimeFormats = {
any: "{{date}}, {{time}}",
};
const formatLong = (exports.formatLong = {
date: (0, _index.buildFormatLongFn)({
formats: dateFormats,
defaultWidth: "full",
}),
time: (0, _index.buildFormatLongFn)({
formats: timeFormats,
defaultWidth: "full",
}),
dateTime: (0, _index.buildFormatLongFn)({
formats: dateTimeFormats,
defaultWidth: "any",
}),
});
+36
View File
@@ -0,0 +1,36 @@
import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.mjs";
const dateFormats = {
full: "EEEE, d MMMM y 'г.'",
long: "d MMMM y 'г.'",
medium: "d MMM y 'г.'",
short: "dd.MM.y",
};
const timeFormats = {
full: "H:mm:ss zzzz",
long: "H:mm:ss z",
medium: "H:mm:ss",
short: "H:mm",
};
const dateTimeFormats = {
any: "{{date}}, {{time}}",
};
export const formatLong = {
date: buildFormatLongFn({
formats: dateFormats,
defaultWidth: "full",
}),
time: buildFormatLongFn({
formats: timeFormats,
defaultWidth: "full",
}),
dateTime: buildFormatLongFn({
formats: dateTimeFormats,
defaultWidth: "any",
}),
};
+2
View File
@@ -0,0 +1,2 @@
import type { FormatRelativeFn } from "../../types.js";
export declare const formatRelative: FormatRelativeFn;
+2
View File
@@ -0,0 +1,2 @@
import type { FormatRelativeFn } from "../../types.js";
export declare const formatRelative: FormatRelativeFn;
+91
View File
@@ -0,0 +1,91 @@
"use strict";
exports.formatRelative = void 0;
var _index = require("../../../isSameWeek.js");
const accusativeWeekdays = [
"воскресенье",
"понедельник",
"вторник",
"среду",
"четверг",
"пятницу",
"субботу",
];
function lastWeek(day) {
const 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) {
const weekday = accusativeWeekdays[day];
if (day === 2 /* Tue */) {
return "'во " + weekday + " в' p";
} else {
return "'в " + weekday + " в' p";
}
}
function nextWeek(day) {
const 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";
}
}
const formatRelativeLocale = {
lastWeek: (date, baseDate, options) => {
const day = date.getDay();
if ((0, _index.isSameWeek)(date, baseDate, options)) {
return thisWeek(day);
} else {
return lastWeek(day);
}
},
yesterday: "'вчера в' p",
today: "'сегодня в' p",
tomorrow: "'завтра в' p",
nextWeek: (date, baseDate, options) => {
const day = date.getDay();
if ((0, _index.isSameWeek)(date, baseDate, options)) {
return thisWeek(day);
} else {
return nextWeek(day);
}
},
other: "P",
};
const formatRelative = (token, date, baseDate, options) => {
const format = formatRelativeLocale[token];
if (typeof format === "function") {
return format(date, baseDate, options);
}
return format;
};
exports.formatRelative = formatRelative;
+88
View File
@@ -0,0 +1,88 @@
import { isSameWeek } from "../../../isSameWeek.mjs";
const accusativeWeekdays = [
"воскресенье",
"понедельник",
"вторник",
"среду",
"четверг",
"пятницу",
"субботу",
];
function lastWeek(day) {
const 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) {
const weekday = accusativeWeekdays[day];
if (day === 2 /* Tue */) {
return "'во " + weekday + " в' p";
} else {
return "'в " + weekday + " в' p";
}
}
function nextWeek(day) {
const 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";
}
}
const formatRelativeLocale = {
lastWeek: (date, baseDate, options) => {
const day = date.getDay();
if (isSameWeek(date, baseDate, options)) {
return thisWeek(day);
} else {
return lastWeek(day);
}
},
yesterday: "'вчера в' p",
today: "'сегодня в' p",
tomorrow: "'завтра в' p",
nextWeek: (date, baseDate, options) => {
const day = date.getDay();
if (isSameWeek(date, baseDate, options)) {
return thisWeek(day);
} else {
return nextWeek(day);
}
},
other: "P",
};
export const formatRelative = (token, date, baseDate, options) => {
const format = formatRelativeLocale[token];
if (typeof format === "function") {
return format(date, baseDate, options);
}
return format;
};
+2
View File
@@ -0,0 +1,2 @@
import type { Localize } from "../../types.js";
export declare const localize: Localize;
+2
View File
@@ -0,0 +1,2 @@
import type { Localize } from "../../types.js";
export declare const localize: Localize;
+212
View File
@@ -0,0 +1,212 @@
"use strict";
exports.localize = void 0;
var _index = require("../../_lib/buildLocalizeFn.js");
const eraValues = {
narrow: ["до н.э.", "н.э."],
abbreviated: ["до н. э.", "н. э."],
wide: ["до нашей эры", "нашей эры"],
};
const quarterValues = {
narrow: ["1", "2", "3", "4"],
abbreviated: ["1-й кв.", "2-й кв.", "3-й кв.", "4-й кв."],
wide: ["1-й квартал", "2-й квартал", "3-й квартал", "4-й квартал"],
};
const monthValues = {
narrow: ["Я", "Ф", "М", "А", "М", "И", "И", "А", "С", "О", "Н", "Д"],
abbreviated: [
"янв.",
"фев.",
"март",
"апр.",
"май",
"июнь",
"июль",
"авг.",
"сент.",
"окт.",
"нояб.",
"дек.",
],
wide: [
"январь",
"февраль",
"март",
"апрель",
"май",
"июнь",
"июль",
"август",
"сентябрь",
"октябрь",
"ноябрь",
"декабрь",
],
};
const formattingMonthValues = {
narrow: ["Я", "Ф", "М", "А", "М", "И", "И", "А", "С", "О", "Н", "Д"],
abbreviated: [
"янв.",
"фев.",
"мар.",
"апр.",
"мая",
"июн.",
"июл.",
"авг.",
"сент.",
"окт.",
"нояб.",
"дек.",
],
wide: [
"января",
"февраля",
"марта",
"апреля",
"мая",
"июня",
"июля",
"августа",
"сентября",
"октября",
"ноября",
"декабря",
],
};
const dayValues = {
narrow: ["В", "П", "В", "С", "Ч", "П", "С"],
short: ["вс", "пн", "вт", "ср", "чт", "пт", "сб"],
abbreviated: ["вск", "пнд", "втр", "срд", "чтв", "птн", "суб"],
wide: [
"воскресенье",
"понедельник",
"вторник",
"среда",
"четверг",
"пятница",
"суббота",
],
};
const dayPeriodValues = {
narrow: {
am: "ДП",
pm: "ПП",
midnight: "полн.",
noon: "полд.",
morning: "утро",
afternoon: "день",
evening: "веч.",
night: "ночь",
},
abbreviated: {
am: "ДП",
pm: "ПП",
midnight: "полн.",
noon: "полд.",
morning: "утро",
afternoon: "день",
evening: "веч.",
night: "ночь",
},
wide: {
am: "ДП",
pm: "ПП",
midnight: "полночь",
noon: "полдень",
morning: "утро",
afternoon: "день",
evening: "вечер",
night: "ночь",
},
};
const formattingDayPeriodValues = {
narrow: {
am: "ДП",
pm: "ПП",
midnight: "полн.",
noon: "полд.",
morning: "утра",
afternoon: "дня",
evening: "веч.",
night: "ночи",
},
abbreviated: {
am: "ДП",
pm: "ПП",
midnight: "полн.",
noon: "полд.",
morning: "утра",
afternoon: "дня",
evening: "веч.",
night: "ночи",
},
wide: {
am: "ДП",
pm: "ПП",
midnight: "полночь",
noon: "полдень",
morning: "утра",
afternoon: "дня",
evening: "вечера",
night: "ночи",
},
};
const ordinalNumber = (dirtyNumber, options) => {
const number = Number(dirtyNumber);
const unit = options?.unit;
let suffix;
if (unit === "date") {
suffix = "-е";
} else if (unit === "week" || unit === "minute" || unit === "second") {
suffix = "-я";
} else {
suffix = "-й";
}
return number + suffix;
};
const localize = (exports.localize = {
ordinalNumber,
era: (0, _index.buildLocalizeFn)({
values: eraValues,
defaultWidth: "wide",
}),
quarter: (0, _index.buildLocalizeFn)({
values: quarterValues,
defaultWidth: "wide",
argumentCallback: (quarter) => quarter - 1,
}),
month: (0, _index.buildLocalizeFn)({
values: monthValues,
defaultWidth: "wide",
formattingValues: formattingMonthValues,
defaultFormattingWidth: "wide",
}),
day: (0, _index.buildLocalizeFn)({
values: dayValues,
defaultWidth: "wide",
}),
dayPeriod: (0, _index.buildLocalizeFn)({
values: dayPeriodValues,
defaultWidth: "any",
formattingValues: formattingDayPeriodValues,
defaultFormattingWidth: "wide",
}),
});
+210
View File
@@ -0,0 +1,210 @@
import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.mjs";
const eraValues = {
narrow: ["до н.э.", "н.э."],
abbreviated: ["до н. э.", "н. э."],
wide: ["до нашей эры", "нашей эры"],
};
const quarterValues = {
narrow: ["1", "2", "3", "4"],
abbreviated: ["1-й кв.", "2-й кв.", "3-й кв.", "4-й кв."],
wide: ["1-й квартал", "2-й квартал", "3-й квартал", "4-й квартал"],
};
const monthValues = {
narrow: ["Я", "Ф", "М", "А", "М", "И", "И", "А", "С", "О", "Н", "Д"],
abbreviated: [
"янв.",
"фев.",
"март",
"апр.",
"май",
"июнь",
"июль",
"авг.",
"сент.",
"окт.",
"нояб.",
"дек.",
],
wide: [
"январь",
"февраль",
"март",
"апрель",
"май",
"июнь",
"июль",
"август",
"сентябрь",
"октябрь",
"ноябрь",
"декабрь",
],
};
const formattingMonthValues = {
narrow: ["Я", "Ф", "М", "А", "М", "И", "И", "А", "С", "О", "Н", "Д"],
abbreviated: [
"янв.",
"фев.",
"мар.",
"апр.",
"мая",
"июн.",
"июл.",
"авг.",
"сент.",
"окт.",
"нояб.",
"дек.",
],
wide: [
"января",
"февраля",
"марта",
"апреля",
"мая",
"июня",
"июля",
"августа",
"сентября",
"октября",
"ноября",
"декабря",
],
};
const dayValues = {
narrow: ["В", "П", "В", "С", "Ч", "П", "С"],
short: ["вс", "пн", "вт", "ср", "чт", "пт", "сб"],
abbreviated: ["вск", "пнд", "втр", "срд", "чтв", "птн", "суб"],
wide: [
"воскресенье",
"понедельник",
"вторник",
"среда",
"четверг",
"пятница",
"суббота",
],
};
const dayPeriodValues = {
narrow: {
am: "ДП",
pm: "ПП",
midnight: "полн.",
noon: "полд.",
morning: "утро",
afternoon: "день",
evening: "веч.",
night: "ночь",
},
abbreviated: {
am: "ДП",
pm: "ПП",
midnight: "полн.",
noon: "полд.",
morning: "утро",
afternoon: "день",
evening: "веч.",
night: "ночь",
},
wide: {
am: "ДП",
pm: "ПП",
midnight: "полночь",
noon: "полдень",
morning: "утро",
afternoon: "день",
evening: "вечер",
night: "ночь",
},
};
const formattingDayPeriodValues = {
narrow: {
am: "ДП",
pm: "ПП",
midnight: "полн.",
noon: "полд.",
morning: "утра",
afternoon: "дня",
evening: "веч.",
night: "ночи",
},
abbreviated: {
am: "ДП",
pm: "ПП",
midnight: "полн.",
noon: "полд.",
morning: "утра",
afternoon: "дня",
evening: "веч.",
night: "ночи",
},
wide: {
am: "ДП",
pm: "ПП",
midnight: "полночь",
noon: "полдень",
morning: "утра",
afternoon: "дня",
evening: "вечера",
night: "ночи",
},
};
const ordinalNumber = (dirtyNumber, options) => {
const number = Number(dirtyNumber);
const unit = options?.unit;
let suffix;
if (unit === "date") {
suffix = "-е";
} else if (unit === "week" || unit === "minute" || unit === "second") {
suffix = "-я";
} else {
suffix = "-й";
}
return number + suffix;
};
export const localize = {
ordinalNumber,
era: buildLocalizeFn({
values: eraValues,
defaultWidth: "wide",
}),
quarter: buildLocalizeFn({
values: quarterValues,
defaultWidth: "wide",
argumentCallback: (quarter) => quarter - 1,
}),
month: buildLocalizeFn({
values: monthValues,
defaultWidth: "wide",
formattingValues: formattingMonthValues,
defaultFormattingWidth: "wide",
}),
day: buildLocalizeFn({
values: dayValues,
defaultWidth: "wide",
}),
dayPeriod: buildLocalizeFn({
values: dayPeriodValues,
defaultWidth: "any",
formattingValues: formattingDayPeriodValues,
defaultFormattingWidth: "wide",
}),
};
+2
View File
@@ -0,0 +1,2 @@
import type { Match } from "../../types.js";
export declare const match: Match;
+2
View File
@@ -0,0 +1,2 @@
import type { Match } from "../../types.js";
export declare const match: Match;
+141
View File
@@ -0,0 +1,141 @@
"use strict";
exports.match = void 0;
var _index = require("../../_lib/buildMatchFn.js");
var _index2 = require("../../_lib/buildMatchPatternFn.js");
const matchOrdinalNumberPattern = /^(\d+)(-?(е|я|й|ое|ье|ая|ья|ый|ой|ий|ый))?/i;
const parseOrdinalNumberPattern = /\d+/i;
const matchEraPatterns = {
narrow: /^((до )?н\.?\s?э\.?)/i,
abbreviated: /^((до )?н\.?\s?э\.?)/i,
wide: /^(до нашей эры|нашей эры|наша эра)/i,
};
const parseEraPatterns = {
any: [/^д/i, /^н/i],
};
const matchQuarterPatterns = {
narrow: /^[1234]/i,
abbreviated: /^[1234](-?[ыои]?й?)? кв.?/i,
wide: /^[1234](-?[ыои]?й?)? квартал/i,
};
const parseQuarterPatterns = {
any: [/1/i, /2/i, /3/i, /4/i],
};
const matchMonthPatterns = {
narrow: /^[яфмаисонд]/i,
abbreviated:
/^(янв|фев|март?|апр|ма[йя]|июн[ья]?|июл[ья]?|авг|сент?|окт|нояб?|дек)\.?/i,
wide: /^(январ[ья]|феврал[ья]|марта?|апрел[ья]|ма[йя]|июн[ья]|июл[ья]|августа?|сентябр[ья]|октябр[ья]|октябр[ья]|ноябр[ья]|декабр[ья])/i,
};
const parseMonthPatterns = {
narrow: [
/^я/i,
/^ф/i,
/^м/i,
/^а/i,
/^м/i,
/^и/i,
/^и/i,
/^а/i,
/^с/i,
/^о/i,
/^н/i,
/^я/i,
],
any: [
/^я/i,
/^ф/i,
/^мар/i,
/^ап/i,
/^ма[йя]/i,
/^июн/i,
/^июл/i,
/^ав/i,
/^с/i,
/^о/i,
/^н/i,
/^д/i,
],
};
const matchDayPatterns = {
narrow: /^[впсч]/i,
short: /^(вс|во|пн|по|вт|ср|чт|че|пт|пя|сб|су)\.?/i,
abbreviated: /^(вск|вос|пнд|пон|втр|вто|срд|сре|чтв|чет|птн|пят|суб).?/i,
wide: /^(воскресень[ея]|понедельника?|вторника?|сред[аы]|четверга?|пятниц[аы]|суббот[аы])/i,
};
const parseDayPatterns = {
narrow: [/^в/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i],
any: [/^в[ос]/i, /^п[он]/i, /^в/i, /^ср/i, /^ч/i, /^п[ят]/i, /^с[уб]/i],
};
const matchDayPeriodPatterns = {
narrow: /^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i,
abbreviated: /^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i,
wide: /^([дп]п|полночь|полдень|утр[оа]|день|дня|вечера?|ноч[ьи])/i,
};
const parseDayPeriodPatterns = {
any: {
am: /^дп/i,
pm: /^пп/i,
midnight: /^полн/i,
noon: /^полд/i,
morning: /^у/i,
afternoon: /^д[ен]/i,
evening: /^в/i,
night: /^н/i,
},
};
const match = (exports.match = {
ordinalNumber: (0, _index2.buildMatchPatternFn)({
matchPattern: matchOrdinalNumberPattern,
parsePattern: parseOrdinalNumberPattern,
valueCallback: (value) => parseInt(value, 10),
}),
era: (0, _index.buildMatchFn)({
matchPatterns: matchEraPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseEraPatterns,
defaultParseWidth: "any",
}),
quarter: (0, _index.buildMatchFn)({
matchPatterns: matchQuarterPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseQuarterPatterns,
defaultParseWidth: "any",
valueCallback: (index) => index + 1,
}),
month: (0, _index.buildMatchFn)({
matchPatterns: matchMonthPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseMonthPatterns,
defaultParseWidth: "any",
}),
day: (0, _index.buildMatchFn)({
matchPatterns: matchDayPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseDayPatterns,
defaultParseWidth: "any",
}),
dayPeriod: (0, _index.buildMatchFn)({
matchPatterns: matchDayPeriodPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseDayPeriodPatterns,
defaultParseWidth: "any",
}),
});
+138
View File
@@ -0,0 +1,138 @@
import { buildMatchFn } from "../../_lib/buildMatchFn.mjs";
import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.mjs";
const matchOrdinalNumberPattern = /^(\d+)(-?(е|я|й|ое|ье|ая|ья|ый|ой|ий|ый))?/i;
const parseOrdinalNumberPattern = /\d+/i;
const matchEraPatterns = {
narrow: /^((до )?н\.?\s?э\.?)/i,
abbreviated: /^((до )?н\.?\s?э\.?)/i,
wide: /^(до нашей эры|нашей эры|наша эра)/i,
};
const parseEraPatterns = {
any: [/^д/i, /^н/i],
};
const matchQuarterPatterns = {
narrow: /^[1234]/i,
abbreviated: /^[1234](-?[ыои]?й?)? кв.?/i,
wide: /^[1234](-?[ыои]?й?)? квартал/i,
};
const parseQuarterPatterns = {
any: [/1/i, /2/i, /3/i, /4/i],
};
const matchMonthPatterns = {
narrow: /^[яфмаисонд]/i,
abbreviated:
/^(янв|фев|март?|апр|ма[йя]|июн[ья]?|июл[ья]?|авг|сент?|окт|нояб?|дек)\.?/i,
wide: /^(январ[ья]|феврал[ья]|марта?|апрел[ья]|ма[йя]|июн[ья]|июл[ья]|августа?|сентябр[ья]|октябр[ья]|октябр[ья]|ноябр[ья]|декабр[ья])/i,
};
const parseMonthPatterns = {
narrow: [
/^я/i,
/^ф/i,
/^м/i,
/^а/i,
/^м/i,
/^и/i,
/^и/i,
/^а/i,
/^с/i,
/^о/i,
/^н/i,
/^я/i,
],
any: [
/^я/i,
/^ф/i,
/^мар/i,
/^ап/i,
/^ма[йя]/i,
/^июн/i,
/^июл/i,
/^ав/i,
/^с/i,
/^о/i,
/^н/i,
/^д/i,
],
};
const matchDayPatterns = {
narrow: /^[впсч]/i,
short: /^(вс|во|пн|по|вт|ср|чт|че|пт|пя|сб|су)\.?/i,
abbreviated: /^(вск|вос|пнд|пон|втр|вто|срд|сре|чтв|чет|птн|пят|суб).?/i,
wide: /^(воскресень[ея]|понедельника?|вторника?|сред[аы]|четверга?|пятниц[аы]|суббот[аы])/i,
};
const parseDayPatterns = {
narrow: [/^в/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i],
any: [/^в[ос]/i, /^п[он]/i, /^в/i, /^ср/i, /^ч/i, /^п[ят]/i, /^с[уб]/i],
};
const matchDayPeriodPatterns = {
narrow: /^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i,
abbreviated: /^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i,
wide: /^([дп]п|полночь|полдень|утр[оа]|день|дня|вечера?|ноч[ьи])/i,
};
const parseDayPeriodPatterns = {
any: {
am: /^дп/i,
pm: /^пп/i,
midnight: /^полн/i,
noon: /^полд/i,
morning: /^у/i,
afternoon: /^д[ен]/i,
evening: /^в/i,
night: /^н/i,
},
};
export const match = {
ordinalNumber: buildMatchPatternFn({
matchPattern: matchOrdinalNumberPattern,
parsePattern: parseOrdinalNumberPattern,
valueCallback: (value) => parseInt(value, 10),
}),
era: buildMatchFn({
matchPatterns: matchEraPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseEraPatterns,
defaultParseWidth: "any",
}),
quarter: buildMatchFn({
matchPatterns: matchQuarterPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseQuarterPatterns,
defaultParseWidth: "any",
valueCallback: (index) => index + 1,
}),
month: buildMatchFn({
matchPatterns: matchMonthPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseMonthPatterns,
defaultParseWidth: "any",
}),
day: buildMatchFn({
matchPatterns: matchDayPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseDayPatterns,
defaultParseWidth: "any",
}),
dayPeriod: buildMatchFn({
matchPatterns: matchDayPeriodPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseDayPeriodPatterns,
defaultParseWidth: "any",
}),
};
+802
View File
@@ -0,0 +1,802 @@
function ownKeys(e, r) {var t = Object.keys(e);if (Object.getOwnPropertySymbols) {var o = Object.getOwnPropertySymbols(e);r && (o = o.filter(function (r) {return Object.getOwnPropertyDescriptor(e, r).enumerable;})), t.push.apply(t, o);}return t;}function _objectSpread(e) {for (var r = 1; r < arguments.length; r++) {var t = null != arguments[r] ? arguments[r] : {};r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {_defineProperty(e, r, t[r]);}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));});}return e;}function _defineProperty(obj, key, value) {key = _toPropertyKey(key);if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}function _toPropertyKey(t) {var i = _toPrimitive(t, "string");return "symbol" == _typeof(i) ? i : String(i);}function _toPrimitive(t, r) {if ("object" != _typeof(t) || !t) return t;var e = t[Symbol.toPrimitive];if (void 0 !== e) {var i = e.call(t, r || "default");if ("object" != _typeof(i)) return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return ("string" === r ? String : Number)(t);}function _typeof(o) {"@babel/helpers - typeof";return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {return typeof o;} : function (o) {return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;}, _typeof(o);}(function (_window$dateFns) {var __defProp = Object.defineProperty;
var __export = function __export(target, all) {
for (var name in all)
__defProp(target, name, {
get: all[name],
enumerable: true,
configurable: true,
set: function set(newValue) {return all[name] = function () {return newValue;};}
});
};
// lib/locale/ru/_lib/formatDistance.mjs
var declension = function declension(scheme, count) {
if (scheme.one !== undefined && count === 1) {
return scheme.one;
}
var rem10 = count % 10;
var rem100 = count % 100;
if (rem10 === 1 && rem100 !== 11) {
return scheme.singularNominative.replace("{{count}}", String(count));
} else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) {
return scheme.singularGenitive.replace("{{count}}", String(count));
} else {
return scheme.pluralGenitive.replace("{{count}}", String(count));
}
};
var buildLocalizeTokenFn = function buildLocalizeTokenFn(scheme) {
return function (count, options) {
if (options !== null && options !== void 0 && options.addSuffix) {
if (options.comparison && options.comparison > 0) {
if (scheme.future) {
return declension(scheme.future, count);
} else {
return "\u0447\u0435\u0440\u0435\u0437 " + declension(scheme.regular, count);
}
} else {
if (scheme.past) {
return declension(scheme.past, count);
} else {
return declension(scheme.regular, count) + " \u043D\u0430\u0437\u0430\u0434";
}
}
} else {
return declension(scheme.regular, count);
}
};
};
var formatDistanceLocale = {
lessThanXSeconds: buildLocalizeTokenFn({
regular: {
one: "\u043C\u0435\u043D\u044C\u0448\u0435 \u0441\u0435\u043A\u0443\u043D\u0434\u044B",
singularNominative: "\u043C\u0435\u043D\u044C\u0448\u0435 {{count}} \u0441\u0435\u043A\u0443\u043D\u0434\u044B",
singularGenitive: "\u043C\u0435\u043D\u044C\u0448\u0435 {{count}} \u0441\u0435\u043A\u0443\u043D\u0434",
pluralGenitive: "\u043C\u0435\u043D\u044C\u0448\u0435 {{count}} \u0441\u0435\u043A\u0443\u043D\u0434"
},
future: {
one: "\u043C\u0435\u043D\u044C\u0448\u0435, \u0447\u0435\u043C \u0447\u0435\u0440\u0435\u0437 \u0441\u0435\u043A\u0443\u043D\u0434\u0443",
singularNominative: "\u043C\u0435\u043D\u044C\u0448\u0435, \u0447\u0435\u043C \u0447\u0435\u0440\u0435\u0437 {{count}} \u0441\u0435\u043A\u0443\u043D\u0434\u0443",
singularGenitive: "\u043C\u0435\u043D\u044C\u0448\u0435, \u0447\u0435\u043C \u0447\u0435\u0440\u0435\u0437 {{count}} \u0441\u0435\u043A\u0443\u043D\u0434\u044B",
pluralGenitive: "\u043C\u0435\u043D\u044C\u0448\u0435, \u0447\u0435\u043C \u0447\u0435\u0440\u0435\u0437 {{count}} \u0441\u0435\u043A\u0443\u043D\u0434"
}
}),
xSeconds: buildLocalizeTokenFn({
regular: {
singularNominative: "{{count}} \u0441\u0435\u043A\u0443\u043D\u0434\u0430",
singularGenitive: "{{count}} \u0441\u0435\u043A\u0443\u043D\u0434\u044B",
pluralGenitive: "{{count}} \u0441\u0435\u043A\u0443\u043D\u0434"
},
past: {
singularNominative: "{{count}} \u0441\u0435\u043A\u0443\u043D\u0434\u0443 \u043D\u0430\u0437\u0430\u0434",
singularGenitive: "{{count}} \u0441\u0435\u043A\u0443\u043D\u0434\u044B \u043D\u0430\u0437\u0430\u0434",
pluralGenitive: "{{count}} \u0441\u0435\u043A\u0443\u043D\u0434 \u043D\u0430\u0437\u0430\u0434"
},
future: {
singularNominative: "\u0447\u0435\u0440\u0435\u0437 {{count}} \u0441\u0435\u043A\u0443\u043D\u0434\u0443",
singularGenitive: "\u0447\u0435\u0440\u0435\u0437 {{count}} \u0441\u0435\u043A\u0443\u043D\u0434\u044B",
pluralGenitive: "\u0447\u0435\u0440\u0435\u0437 {{count}} \u0441\u0435\u043A\u0443\u043D\u0434"
}
}),
halfAMinute: function halfAMinute(_count, options) {
if (options !== null && options !== void 0 && options.addSuffix) {
if (options.comparison && options.comparison > 0) {
return "\u0447\u0435\u0440\u0435\u0437 \u043F\u043E\u043B\u043C\u0438\u043D\u0443\u0442\u044B";
} else {
return "\u043F\u043E\u043B\u043C\u0438\u043D\u0443\u0442\u044B \u043D\u0430\u0437\u0430\u0434";
}
}
return "\u043F\u043E\u043B\u043C\u0438\u043D\u0443\u0442\u044B";
},
lessThanXMinutes: buildLocalizeTokenFn({
regular: {
one: "\u043C\u0435\u043D\u044C\u0448\u0435 \u043C\u0438\u043D\u0443\u0442\u044B",
singularNominative: "\u043C\u0435\u043D\u044C\u0448\u0435 {{count}} \u043C\u0438\u043D\u0443\u0442\u044B",
singularGenitive: "\u043C\u0435\u043D\u044C\u0448\u0435 {{count}} \u043C\u0438\u043D\u0443\u0442",
pluralGenitive: "\u043C\u0435\u043D\u044C\u0448\u0435 {{count}} \u043C\u0438\u043D\u0443\u0442"
},
future: {
one: "\u043C\u0435\u043D\u044C\u0448\u0435, \u0447\u0435\u043C \u0447\u0435\u0440\u0435\u0437 \u043C\u0438\u043D\u0443\u0442\u0443",
singularNominative: "\u043C\u0435\u043D\u044C\u0448\u0435, \u0447\u0435\u043C \u0447\u0435\u0440\u0435\u0437 {{count}} \u043C\u0438\u043D\u0443\u0442\u0443",
singularGenitive: "\u043C\u0435\u043D\u044C\u0448\u0435, \u0447\u0435\u043C \u0447\u0435\u0440\u0435\u0437 {{count}} \u043C\u0438\u043D\u0443\u0442\u044B",
pluralGenitive: "\u043C\u0435\u043D\u044C\u0448\u0435, \u0447\u0435\u043C \u0447\u0435\u0440\u0435\u0437 {{count}} \u043C\u0438\u043D\u0443\u0442"
}
}),
xMinutes: buildLocalizeTokenFn({
regular: {
singularNominative: "{{count}} \u043C\u0438\u043D\u0443\u0442\u0430",
singularGenitive: "{{count}} \u043C\u0438\u043D\u0443\u0442\u044B",
pluralGenitive: "{{count}} \u043C\u0438\u043D\u0443\u0442"
},
past: {
singularNominative: "{{count}} \u043C\u0438\u043D\u0443\u0442\u0443 \u043D\u0430\u0437\u0430\u0434",
singularGenitive: "{{count}} \u043C\u0438\u043D\u0443\u0442\u044B \u043D\u0430\u0437\u0430\u0434",
pluralGenitive: "{{count}} \u043C\u0438\u043D\u0443\u0442 \u043D\u0430\u0437\u0430\u0434"
},
future: {
singularNominative: "\u0447\u0435\u0440\u0435\u0437 {{count}} \u043C\u0438\u043D\u0443\u0442\u0443",
singularGenitive: "\u0447\u0435\u0440\u0435\u0437 {{count}} \u043C\u0438\u043D\u0443\u0442\u044B",
pluralGenitive: "\u0447\u0435\u0440\u0435\u0437 {{count}} \u043C\u0438\u043D\u0443\u0442"
}
}),
aboutXHours: buildLocalizeTokenFn({
regular: {
singularNominative: "\u043E\u043A\u043E\u043B\u043E {{count}} \u0447\u0430\u0441\u0430",
singularGenitive: "\u043E\u043A\u043E\u043B\u043E {{count}} \u0447\u0430\u0441\u043E\u0432",
pluralGenitive: "\u043E\u043A\u043E\u043B\u043E {{count}} \u0447\u0430\u0441\u043E\u0432"
},
future: {
singularNominative: "\u043F\u0440\u0438\u0431\u043B\u0438\u0437\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0447\u0435\u0440\u0435\u0437 {{count}} \u0447\u0430\u0441",
singularGenitive: "\u043F\u0440\u0438\u0431\u043B\u0438\u0437\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0447\u0435\u0440\u0435\u0437 {{count}} \u0447\u0430\u0441\u0430",
pluralGenitive: "\u043F\u0440\u0438\u0431\u043B\u0438\u0437\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0447\u0435\u0440\u0435\u0437 {{count}} \u0447\u0430\u0441\u043E\u0432"
}
}),
xHours: buildLocalizeTokenFn({
regular: {
singularNominative: "{{count}} \u0447\u0430\u0441",
singularGenitive: "{{count}} \u0447\u0430\u0441\u0430",
pluralGenitive: "{{count}} \u0447\u0430\u0441\u043E\u0432"
}
}),
xDays: buildLocalizeTokenFn({
regular: {
singularNominative: "{{count}} \u0434\u0435\u043D\u044C",
singularGenitive: "{{count}} \u0434\u043D\u044F",
pluralGenitive: "{{count}} \u0434\u043D\u0435\u0439"
}
}),
aboutXWeeks: buildLocalizeTokenFn({
regular: {
singularNominative: "\u043E\u043A\u043E\u043B\u043E {{count}} \u043D\u0435\u0434\u0435\u043B\u0438",
singularGenitive: "\u043E\u043A\u043E\u043B\u043E {{count}} \u043D\u0435\u0434\u0435\u043B\u044C",
pluralGenitive: "\u043E\u043A\u043E\u043B\u043E {{count}} \u043D\u0435\u0434\u0435\u043B\u044C"
},
future: {
singularNominative: "\u043F\u0440\u0438\u0431\u043B\u0438\u0437\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0447\u0435\u0440\u0435\u0437 {{count}} \u043D\u0435\u0434\u0435\u043B\u044E",
singularGenitive: "\u043F\u0440\u0438\u0431\u043B\u0438\u0437\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0447\u0435\u0440\u0435\u0437 {{count}} \u043D\u0435\u0434\u0435\u043B\u0438",
pluralGenitive: "\u043F\u0440\u0438\u0431\u043B\u0438\u0437\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0447\u0435\u0440\u0435\u0437 {{count}} \u043D\u0435\u0434\u0435\u043B\u044C"
}
}),
xWeeks: buildLocalizeTokenFn({
regular: {
singularNominative: "{{count}} \u043D\u0435\u0434\u0435\u043B\u044F",
singularGenitive: "{{count}} \u043D\u0435\u0434\u0435\u043B\u0438",
pluralGenitive: "{{count}} \u043D\u0435\u0434\u0435\u043B\u044C"
}
}),
aboutXMonths: buildLocalizeTokenFn({
regular: {
singularNominative: "\u043E\u043A\u043E\u043B\u043E {{count}} \u043C\u0435\u0441\u044F\u0446\u0430",
singularGenitive: "\u043E\u043A\u043E\u043B\u043E {{count}} \u043C\u0435\u0441\u044F\u0446\u0435\u0432",
pluralGenitive: "\u043E\u043A\u043E\u043B\u043E {{count}} \u043C\u0435\u0441\u044F\u0446\u0435\u0432"
},
future: {
singularNominative: "\u043F\u0440\u0438\u0431\u043B\u0438\u0437\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0447\u0435\u0440\u0435\u0437 {{count}} \u043C\u0435\u0441\u044F\u0446",
singularGenitive: "\u043F\u0440\u0438\u0431\u043B\u0438\u0437\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0447\u0435\u0440\u0435\u0437 {{count}} \u043C\u0435\u0441\u044F\u0446\u0430",
pluralGenitive: "\u043F\u0440\u0438\u0431\u043B\u0438\u0437\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0447\u0435\u0440\u0435\u0437 {{count}} \u043C\u0435\u0441\u044F\u0446\u0435\u0432"
}
}),
xMonths: buildLocalizeTokenFn({
regular: {
singularNominative: "{{count}} \u043C\u0435\u0441\u044F\u0446",
singularGenitive: "{{count}} \u043C\u0435\u0441\u044F\u0446\u0430",
pluralGenitive: "{{count}} \u043C\u0435\u0441\u044F\u0446\u0435\u0432"
}
}),
aboutXYears: buildLocalizeTokenFn({
regular: {
singularNominative: "\u043E\u043A\u043E\u043B\u043E {{count}} \u0433\u043E\u0434\u0430",
singularGenitive: "\u043E\u043A\u043E\u043B\u043E {{count}} \u043B\u0435\u0442",
pluralGenitive: "\u043E\u043A\u043E\u043B\u043E {{count}} \u043B\u0435\u0442"
},
future: {
singularNominative: "\u043F\u0440\u0438\u0431\u043B\u0438\u0437\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0447\u0435\u0440\u0435\u0437 {{count}} \u0433\u043E\u0434",
singularGenitive: "\u043F\u0440\u0438\u0431\u043B\u0438\u0437\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0447\u0435\u0440\u0435\u0437 {{count}} \u0433\u043E\u0434\u0430",
pluralGenitive: "\u043F\u0440\u0438\u0431\u043B\u0438\u0437\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0447\u0435\u0440\u0435\u0437 {{count}} \u043B\u0435\u0442"
}
}),
xYears: buildLocalizeTokenFn({
regular: {
singularNominative: "{{count}} \u0433\u043E\u0434",
singularGenitive: "{{count}} \u0433\u043E\u0434\u0430",
pluralGenitive: "{{count}} \u043B\u0435\u0442"
}
}),
overXYears: buildLocalizeTokenFn({
regular: {
singularNominative: "\u0431\u043E\u043B\u044C\u0448\u0435 {{count}} \u0433\u043E\u0434\u0430",
singularGenitive: "\u0431\u043E\u043B\u044C\u0448\u0435 {{count}} \u043B\u0435\u0442",
pluralGenitive: "\u0431\u043E\u043B\u044C\u0448\u0435 {{count}} \u043B\u0435\u0442"
},
future: {
singularNominative: "\u0431\u043E\u043B\u044C\u0448\u0435, \u0447\u0435\u043C \u0447\u0435\u0440\u0435\u0437 {{count}} \u0433\u043E\u0434",
singularGenitive: "\u0431\u043E\u043B\u044C\u0448\u0435, \u0447\u0435\u043C \u0447\u0435\u0440\u0435\u0437 {{count}} \u0433\u043E\u0434\u0430",
pluralGenitive: "\u0431\u043E\u043B\u044C\u0448\u0435, \u0447\u0435\u043C \u0447\u0435\u0440\u0435\u0437 {{count}} \u043B\u0435\u0442"
}
}),
almostXYears: buildLocalizeTokenFn({
regular: {
singularNominative: "\u043F\u043E\u0447\u0442\u0438 {{count}} \u0433\u043E\u0434",
singularGenitive: "\u043F\u043E\u0447\u0442\u0438 {{count}} \u0433\u043E\u0434\u0430",
pluralGenitive: "\u043F\u043E\u0447\u0442\u0438 {{count}} \u043B\u0435\u0442"
},
future: {
singularNominative: "\u043F\u043E\u0447\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 {{count}} \u0433\u043E\u0434",
singularGenitive: "\u043F\u043E\u0447\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 {{count}} \u0433\u043E\u0434\u0430",
pluralGenitive: "\u043F\u043E\u0447\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 {{count}} \u043B\u0435\u0442"
}
})
};
var formatDistance = function formatDistance(token, count, options) {
return formatDistanceLocale[token](count, options);
};
// lib/locale/_lib/buildFormatLongFn.mjs
function buildFormatLongFn(args) {
return function () {var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var width = options.width ? String(options.width) : args.defaultWidth;
var format = args.formats[width] || args.formats[args.defaultWidth];
return format;
};
}
// lib/locale/ru/_lib/formatLong.mjs
var dateFormats = {
full: "EEEE, d MMMM y '\u0433.'",
long: "d MMMM y '\u0433.'",
medium: "d MMM y '\u0433.'",
short: "dd.MM.y"
};
var timeFormats = {
full: "H:mm:ss zzzz",
long: "H:mm:ss z",
medium: "H:mm:ss",
short: "H:mm"
};
var dateTimeFormats = {
any: "{{date}}, {{time}}"
};
var formatLong = {
date: buildFormatLongFn({
formats: dateFormats,
defaultWidth: "full"
}),
time: buildFormatLongFn({
formats: timeFormats,
defaultWidth: "full"
}),
dateTime: buildFormatLongFn({
formats: dateTimeFormats,
defaultWidth: "any"
})
};
// lib/toDate.mjs
function toDate(argument) {
var argStr = Object.prototype.toString.call(argument);
if (argument instanceof Date || _typeof(argument) === "object" && argStr === "[object Date]") {
return new argument.constructor(+argument);
} else if (typeof argument === "number" || argStr === "[object Number]" || typeof argument === "string" || argStr === "[object String]") {
return new Date(argument);
} else {
return new Date(NaN);
}
}
// lib/_lib/defaultOptions.mjs
function getDefaultOptions() {
return defaultOptions;
}
function setDefaultOptions(newOptions) {
defaultOptions = newOptions;
}
var defaultOptions = {};
// lib/startOfWeek.mjs
function startOfWeek(date, options) {var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _defaultOptions3$loca;
var defaultOptions3 = getDefaultOptions();
var weekStartsOn = (_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 || (_options$locale = options.locale) === null || _options$locale === void 0 || (_options$locale = _options$locale.options) === null || _options$locale === void 0 ? void 0 : _options$locale.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions3.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions3$loca = defaultOptions3.locale) === null || _defaultOptions3$loca === void 0 || (_defaultOptions3$loca = _defaultOptions3$loca.options) === null || _defaultOptions3$loca === void 0 ? void 0 : _defaultOptions3$loca.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0;
var _date = toDate(date);
var day = _date.getDay();
var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
_date.setDate(_date.getDate() - diff);
_date.setHours(0, 0, 0, 0);
return _date;
}
// lib/isSameWeek.mjs
function isSameWeek(dateLeft, dateRight, options) {
var dateLeftStartOfWeek = startOfWeek(dateLeft, options);
var dateRightStartOfWeek = startOfWeek(dateRight, options);
return +dateLeftStartOfWeek === +dateRightStartOfWeek;
}
// lib/locale/ru/_lib/formatRelative.mjs
var _lastWeek = function lastWeek(day) {
var weekday = accusativeWeekdays[day];
switch (day) {
case 0:
return "'\u0432 \u043F\u0440\u043E\u0448\u043B\u043E\u0435 " + weekday + " \u0432' p";
case 1:
case 2:
case 4:
return "'\u0432 \u043F\u0440\u043E\u0448\u043B\u044B\u0439 " + weekday + " \u0432' p";
case 3:
case 5:
case 6:
return "'\u0432 \u043F\u0440\u043E\u0448\u043B\u0443\u044E " + weekday + " \u0432' p";
}
};
var thisWeek = function thisWeek(day) {
var weekday = accusativeWeekdays[day];
if (day === 2) {
return "'\u0432\u043E " + weekday + " \u0432' p";
} else {
return "'\u0432 " + weekday + " \u0432' p";
}
};
var _nextWeek = function nextWeek(day) {
var weekday = accusativeWeekdays[day];
switch (day) {
case 0:
return "'\u0432 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0435 " + weekday + " \u0432' p";
case 1:
case 2:
case 4:
return "'\u0432 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 " + weekday + " \u0432' p";
case 3:
case 5:
case 6:
return "'\u0432 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0443\u044E " + weekday + " \u0432' p";
}
};
var accusativeWeekdays = [
"\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435",
"\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A",
"\u0432\u0442\u043E\u0440\u043D\u0438\u043A",
"\u0441\u0440\u0435\u0434\u0443",
"\u0447\u0435\u0442\u0432\u0435\u0440\u0433",
"\u043F\u044F\u0442\u043D\u0438\u0446\u0443",
"\u0441\u0443\u0431\u0431\u043E\u0442\u0443"];
var formatRelativeLocale = {
lastWeek: function lastWeek(date, baseDate, options) {
var day = date.getDay();
if (isSameWeek(date, baseDate, options)) {
return thisWeek(day);
} else {
return _lastWeek(day);
}
},
yesterday: "'\u0432\u0447\u0435\u0440\u0430 \u0432' p",
today: "'\u0441\u0435\u0433\u043E\u0434\u043D\u044F \u0432' p",
tomorrow: "'\u0437\u0430\u0432\u0442\u0440\u0430 \u0432' p",
nextWeek: function nextWeek(date, baseDate, options) {
var day = date.getDay();
if (isSameWeek(date, baseDate, options)) {
return thisWeek(day);
} else {
return _nextWeek(day);
}
},
other: "P"
};
var formatRelative = function formatRelative(token, date, baseDate, options) {
var format = formatRelativeLocale[token];
if (typeof format === "function") {
return format(date, baseDate, options);
}
return format;
};
// lib/locale/_lib/buildLocalizeFn.mjs
function buildLocalizeFn(args) {
return function (value, options) {
var context = options !== null && options !== void 0 && options.context ? String(options.context) : "standalone";
var valuesArray;
if (context === "formatting" && args.formattingValues) {
var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth;
valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
} else {
var _defaultWidth = args.defaultWidth;
var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth;
valuesArray = args.values[_width] || args.values[_defaultWidth];
}
var index = args.argumentCallback ? args.argumentCallback(value) : value;
return valuesArray[index];
};
}
// lib/locale/ru/_lib/localize.mjs
var eraValues = {
narrow: ["\u0434\u043E \u043D.\u044D.", "\u043D.\u044D."],
abbreviated: ["\u0434\u043E \u043D. \u044D.", "\u043D. \u044D."],
wide: ["\u0434\u043E \u043D\u0430\u0448\u0435\u0439 \u044D\u0440\u044B", "\u043D\u0430\u0448\u0435\u0439 \u044D\u0440\u044B"]
};
var quarterValues = {
narrow: ["1", "2", "3", "4"],
abbreviated: ["1-\u0439 \u043A\u0432.", "2-\u0439 \u043A\u0432.", "3-\u0439 \u043A\u0432.", "4-\u0439 \u043A\u0432."],
wide: ["1-\u0439 \u043A\u0432\u0430\u0440\u0442\u0430\u043B", "2-\u0439 \u043A\u0432\u0430\u0440\u0442\u0430\u043B", "3-\u0439 \u043A\u0432\u0430\u0440\u0442\u0430\u043B", "4-\u0439 \u043A\u0432\u0430\u0440\u0442\u0430\u043B"]
};
var monthValues = {
narrow: ["\u042F", "\u0424", "\u041C", "\u0410", "\u041C", "\u0418", "\u0418", "\u0410", "\u0421", "\u041E", "\u041D", "\u0414"],
abbreviated: [
"\u044F\u043D\u0432.",
"\u0444\u0435\u0432.",
"\u043C\u0430\u0440\u0442",
"\u0430\u043F\u0440.",
"\u043C\u0430\u0439",
"\u0438\u044E\u043D\u044C",
"\u0438\u044E\u043B\u044C",
"\u0430\u0432\u0433.",
"\u0441\u0435\u043D\u0442.",
"\u043E\u043A\u0442.",
"\u043D\u043E\u044F\u0431.",
"\u0434\u0435\u043A."],
wide: [
"\u044F\u043D\u0432\u0430\u0440\u044C",
"\u0444\u0435\u0432\u0440\u0430\u043B\u044C",
"\u043C\u0430\u0440\u0442",
"\u0430\u043F\u0440\u0435\u043B\u044C",
"\u043C\u0430\u0439",
"\u0438\u044E\u043D\u044C",
"\u0438\u044E\u043B\u044C",
"\u0430\u0432\u0433\u0443\u0441\u0442",
"\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044C",
"\u043E\u043A\u0442\u044F\u0431\u0440\u044C",
"\u043D\u043E\u044F\u0431\u0440\u044C",
"\u0434\u0435\u043A\u0430\u0431\u0440\u044C"]
};
var formattingMonthValues = {
narrow: ["\u042F", "\u0424", "\u041C", "\u0410", "\u041C", "\u0418", "\u0418", "\u0410", "\u0421", "\u041E", "\u041D", "\u0414"],
abbreviated: [
"\u044F\u043D\u0432.",
"\u0444\u0435\u0432.",
"\u043C\u0430\u0440.",
"\u0430\u043F\u0440.",
"\u043C\u0430\u044F",
"\u0438\u044E\u043D.",
"\u0438\u044E\u043B.",
"\u0430\u0432\u0433.",
"\u0441\u0435\u043D\u0442.",
"\u043E\u043A\u0442.",
"\u043D\u043E\u044F\u0431.",
"\u0434\u0435\u043A."],
wide: [
"\u044F\u043D\u0432\u0430\u0440\u044F",
"\u0444\u0435\u0432\u0440\u0430\u043B\u044F",
"\u043C\u0430\u0440\u0442\u0430",
"\u0430\u043F\u0440\u0435\u043B\u044F",
"\u043C\u0430\u044F",
"\u0438\u044E\u043D\u044F",
"\u0438\u044E\u043B\u044F",
"\u0430\u0432\u0433\u0443\u0441\u0442\u0430",
"\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044F",
"\u043E\u043A\u0442\u044F\u0431\u0440\u044F",
"\u043D\u043E\u044F\u0431\u0440\u044F",
"\u0434\u0435\u043A\u0430\u0431\u0440\u044F"]
};
var dayValues = {
narrow: ["\u0412", "\u041F", "\u0412", "\u0421", "\u0427", "\u041F", "\u0421"],
short: ["\u0432\u0441", "\u043F\u043D", "\u0432\u0442", "\u0441\u0440", "\u0447\u0442", "\u043F\u0442", "\u0441\u0431"],
abbreviated: ["\u0432\u0441\u043A", "\u043F\u043D\u0434", "\u0432\u0442\u0440", "\u0441\u0440\u0434", "\u0447\u0442\u0432", "\u043F\u0442\u043D", "\u0441\u0443\u0431"],
wide: [
"\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435",
"\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A",
"\u0432\u0442\u043E\u0440\u043D\u0438\u043A",
"\u0441\u0440\u0435\u0434\u0430",
"\u0447\u0435\u0442\u0432\u0435\u0440\u0433",
"\u043F\u044F\u0442\u043D\u0438\u0446\u0430",
"\u0441\u0443\u0431\u0431\u043E\u0442\u0430"]
};
var dayPeriodValues = {
narrow: {
am: "\u0414\u041F",
pm: "\u041F\u041F",
midnight: "\u043F\u043E\u043B\u043D.",
noon: "\u043F\u043E\u043B\u0434.",
morning: "\u0443\u0442\u0440\u043E",
afternoon: "\u0434\u0435\u043D\u044C",
evening: "\u0432\u0435\u0447.",
night: "\u043D\u043E\u0447\u044C"
},
abbreviated: {
am: "\u0414\u041F",
pm: "\u041F\u041F",
midnight: "\u043F\u043E\u043B\u043D.",
noon: "\u043F\u043E\u043B\u0434.",
morning: "\u0443\u0442\u0440\u043E",
afternoon: "\u0434\u0435\u043D\u044C",
evening: "\u0432\u0435\u0447.",
night: "\u043D\u043E\u0447\u044C"
},
wide: {
am: "\u0414\u041F",
pm: "\u041F\u041F",
midnight: "\u043F\u043E\u043B\u043D\u043E\u0447\u044C",
noon: "\u043F\u043E\u043B\u0434\u0435\u043D\u044C",
morning: "\u0443\u0442\u0440\u043E",
afternoon: "\u0434\u0435\u043D\u044C",
evening: "\u0432\u0435\u0447\u0435\u0440",
night: "\u043D\u043E\u0447\u044C"
}
};
var formattingDayPeriodValues = {
narrow: {
am: "\u0414\u041F",
pm: "\u041F\u041F",
midnight: "\u043F\u043E\u043B\u043D.",
noon: "\u043F\u043E\u043B\u0434.",
morning: "\u0443\u0442\u0440\u0430",
afternoon: "\u0434\u043D\u044F",
evening: "\u0432\u0435\u0447.",
night: "\u043D\u043E\u0447\u0438"
},
abbreviated: {
am: "\u0414\u041F",
pm: "\u041F\u041F",
midnight: "\u043F\u043E\u043B\u043D.",
noon: "\u043F\u043E\u043B\u0434.",
morning: "\u0443\u0442\u0440\u0430",
afternoon: "\u0434\u043D\u044F",
evening: "\u0432\u0435\u0447.",
night: "\u043D\u043E\u0447\u0438"
},
wide: {
am: "\u0414\u041F",
pm: "\u041F\u041F",
midnight: "\u043F\u043E\u043B\u043D\u043E\u0447\u044C",
noon: "\u043F\u043E\u043B\u0434\u0435\u043D\u044C",
morning: "\u0443\u0442\u0440\u0430",
afternoon: "\u0434\u043D\u044F",
evening: "\u0432\u0435\u0447\u0435\u0440\u0430",
night: "\u043D\u043E\u0447\u0438"
}
};
var ordinalNumber = function ordinalNumber(dirtyNumber, options) {
var number = Number(dirtyNumber);
var unit = options === null || options === void 0 ? void 0 : options.unit;
var suffix;
if (unit === "date") {
suffix = "-\u0435";
} else if (unit === "week" || unit === "minute" || unit === "second") {
suffix = "-\u044F";
} else {
suffix = "-\u0439";
}
return number + suffix;
};
var localize = {
ordinalNumber: ordinalNumber,
era: buildLocalizeFn({
values: eraValues,
defaultWidth: "wide"
}),
quarter: buildLocalizeFn({
values: quarterValues,
defaultWidth: "wide",
argumentCallback: function argumentCallback(quarter) {return quarter - 1;}
}),
month: buildLocalizeFn({
values: monthValues,
defaultWidth: "wide",
formattingValues: formattingMonthValues,
defaultFormattingWidth: "wide"
}),
day: buildLocalizeFn({
values: dayValues,
defaultWidth: "wide"
}),
dayPeriod: buildLocalizeFn({
values: dayPeriodValues,
defaultWidth: "any",
formattingValues: formattingDayPeriodValues,
defaultFormattingWidth: "wide"
})
};
// lib/locale/_lib/buildMatchFn.mjs
function buildMatchFn(args) {
return function (string) {var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var width = options.width;
var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];
var matchResult = string.match(matchPattern);
if (!matchResult) {
return null;
}
var matchedString = matchResult[0];
var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];
var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {return pattern.test(matchedString);}) : findKey(parsePatterns, function (pattern) {return pattern.test(matchedString);});
var value;
value = args.valueCallback ? args.valueCallback(key) : key;
value = options.valueCallback ? options.valueCallback(value) : value;
var rest = string.slice(matchedString.length);
return { value: value, rest: rest };
};
}
var findKey = function findKey(object, predicate) {
for (var key in object) {
if (Object.prototype.hasOwnProperty.call(object, key) && predicate(object[key])) {
return key;
}
}
return;
};
var findIndex = function findIndex(array, predicate) {
for (var key = 0; key < array.length; key++) {
if (predicate(array[key])) {
return key;
}
}
return;
};
// lib/locale/_lib/buildMatchPatternFn.mjs
function buildMatchPatternFn(args) {
return function (string) {var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var matchResult = string.match(args.matchPattern);
if (!matchResult)
return null;
var matchedString = matchResult[0];
var parseResult = string.match(args.parsePattern);
if (!parseResult)
return null;
var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];
value = options.valueCallback ? options.valueCallback(value) : value;
var rest = string.slice(matchedString.length);
return { value: value, rest: rest };
};
}
// lib/locale/ru/_lib/match.mjs
var matchOrdinalNumberPattern = /^(\d+)(-?(е|я|й|ое|ье|ая|ья|ый|ой|ий|ый))?/i;
var parseOrdinalNumberPattern = /\d+/i;
var matchEraPatterns = {
narrow: /^((до )?н\.?\s?э\.?)/i,
abbreviated: /^((до )?н\.?\s?э\.?)/i,
wide: /^(до нашей эры|нашей эры|наша эра)/i
};
var parseEraPatterns = {
any: [/^д/i, /^н/i]
};
var matchQuarterPatterns = {
narrow: /^[1234]/i,
abbreviated: /^[1234](-?[ыои]?й?)? кв.?/i,
wide: /^[1234](-?[ыои]?й?)? квартал/i
};
var parseQuarterPatterns = {
any: [/1/i, /2/i, /3/i, /4/i]
};
var matchMonthPatterns = {
narrow: /^[яфмаисонд]/i,
abbreviated: /^(янв|фев|март?|апр|ма[йя]|июн[ья]?|июл[ья]?|авг|сент?|окт|нояб?|дек)\.?/i,
wide: /^(январ[ья]|феврал[ья]|марта?|апрел[ья]|ма[йя]|июн[ья]|июл[ья]|августа?|сентябр[ья]|октябр[ья]|октябр[ья]|ноябр[ья]|декабр[ья])/i
};
var parseMonthPatterns = {
narrow: [
/^я/i,
/^ф/i,
/^м/i,
/^а/i,
/^м/i,
/^и/i,
/^и/i,
/^а/i,
/^с/i,
/^о/i,
/^н/i,
/^я/i],
any: [
/^я/i,
/^ф/i,
/^мар/i,
/^ап/i,
/^ма[йя]/i,
/^июн/i,
/^июл/i,
/^ав/i,
/^с/i,
/^о/i,
/^н/i,
/^д/i]
};
var matchDayPatterns = {
narrow: /^[впсч]/i,
short: /^(вс|во|пн|по|вт|ср|чт|че|пт|пя|сб|су)\.?/i,
abbreviated: /^(вск|вос|пнд|пон|втр|вто|срд|сре|чтв|чет|птн|пят|суб).?/i,
wide: /^(воскресень[ея]|понедельника?|вторника?|сред[аы]|четверга?|пятниц[аы]|суббот[аы])/i
};
var parseDayPatterns = {
narrow: [/^в/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i],
any: [/^в[ос]/i, /^п[он]/i, /^в/i, /^ср/i, /^ч/i, /^п[ят]/i, /^с[уб]/i]
};
var matchDayPeriodPatterns = {
narrow: /^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i,
abbreviated: /^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i,
wide: /^([дп]п|полночь|полдень|утр[оа]|день|дня|вечера?|ноч[ьи])/i
};
var parseDayPeriodPatterns = {
any: {
am: /^дп/i,
pm: /^пп/i,
midnight: /^полн/i,
noon: /^полд/i,
morning: /^у/i,
afternoon: /^д[ен]/i,
evening: /^в/i,
night: /^н/i
}
};
var match = {
ordinalNumber: buildMatchPatternFn({
matchPattern: matchOrdinalNumberPattern,
parsePattern: parseOrdinalNumberPattern,
valueCallback: function valueCallback(value) {return parseInt(value, 10);}
}),
era: buildMatchFn({
matchPatterns: matchEraPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseEraPatterns,
defaultParseWidth: "any"
}),
quarter: buildMatchFn({
matchPatterns: matchQuarterPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseQuarterPatterns,
defaultParseWidth: "any",
valueCallback: function valueCallback(index) {return index + 1;}
}),
month: buildMatchFn({
matchPatterns: matchMonthPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseMonthPatterns,
defaultParseWidth: "any"
}),
day: buildMatchFn({
matchPatterns: matchDayPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseDayPatterns,
defaultParseWidth: "any"
}),
dayPeriod: buildMatchFn({
matchPatterns: matchDayPeriodPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseDayPeriodPatterns,
defaultParseWidth: "any"
})
};
// lib/locale/ru.mjs
var ru = {
code: "ru",
formatDistance: formatDistance,
formatLong: formatLong,
formatRelative: formatRelative,
localize: localize,
match: match,
options: {
weekStartsOn: 1,
firstWeekContainsDate: 1
}
};
// lib/locale/ru/cdn.js
window.dateFns = _objectSpread(_objectSpread({},
window.dateFns), {}, {
locale: _objectSpread(_objectSpread({}, (_window$dateFns =
window.dateFns) === null || _window$dateFns === void 0 ? void 0 : _window$dateFns.locale), {}, {
ru: ru }) });
//# debugId=8EB9F0CC0FD431EC64756e2164756e21
})();
//# sourceMappingURL=cdn.js.map
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long