match.cjs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. "use strict";
  2. exports.match = void 0;
  3. var _index = require("../../_lib/buildMatchFn.cjs");
  4. var _index2 = require("../../_lib/buildMatchPatternFn.cjs");
  5. const matchOrdinalNumberPattern =
  6. /^(\d+)(-?[врмт][аи]|-?т?(ен|на)|-?(ев|ева))?/i;
  7. const parseOrdinalNumberPattern = /\d+/i;
  8. const matchEraPatterns = {
  9. narrow: /^((пр)?н\.?\s?е\.?)/i,
  10. abbreviated: /^((пр)?н\.?\s?е\.?)/i,
  11. wide: /^(преди новата ера|новата ера|нова ера)/i,
  12. };
  13. const parseEraPatterns = {
  14. any: [/^п/i, /^н/i],
  15. };
  16. const matchQuarterPatterns = {
  17. narrow: /^[1234]/i,
  18. abbreviated: /^[1234](-?[врт]?o?)? тримес.?/i,
  19. wide: /^[1234](-?[врт]?о?)? тримесечие/i,
  20. };
  21. const parseQuarterPatterns = {
  22. any: [/1/i, /2/i, /3/i, /4/i],
  23. };
  24. const matchDayPatterns = {
  25. narrow: /^[нпвсч]/i,
  26. short: /^(нд|пн|вт|ср|чт|пт|сб)/i,
  27. abbreviated: /^(нед|пон|вто|сря|чет|пет|съб)/i,
  28. wide: /^(неделя|понеделник|вторник|сряда|четвъртък|петък|събота)/i,
  29. };
  30. const parseDayPatterns = {
  31. narrow: [/^н/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i],
  32. any: [/^н[ед]/i, /^п[он]/i, /^вт/i, /^ср/i, /^ч[ет]/i, /^п[ет]/i, /^с[ъб]/i],
  33. };
  34. const matchMonthPatterns = {
  35. abbreviated: /^(яну|фев|мар|апр|май|юни|юли|авг|сеп|окт|ное|дек)/i,
  36. wide: /^(януари|февруари|март|април|май|юни|юли|август|септември|октомври|ноември|декември)/i,
  37. };
  38. const parseMonthPatterns = {
  39. any: [
  40. /^я/i,
  41. /^ф/i,
  42. /^мар/i,
  43. /^ап/i,
  44. /^май/i,
  45. /^юн/i,
  46. /^юл/i,
  47. /^ав/i,
  48. /^се/i,
  49. /^окт/i,
  50. /^но/i,
  51. /^де/i,
  52. ],
  53. };
  54. const matchDayPeriodPatterns = {
  55. any: /^(преди о|след о|в по|на о|през|веч|сут|следо)/i,
  56. };
  57. const parseDayPeriodPatterns = {
  58. any: {
  59. am: /^преди о/i,
  60. pm: /^след о/i,
  61. midnight: /^в пол/i,
  62. noon: /^на об/i,
  63. morning: /^сут/i,
  64. afternoon: /^следо/i,
  65. evening: /^веч/i,
  66. night: /^през н/i,
  67. },
  68. };
  69. const match = (exports.match = {
  70. ordinalNumber: (0, _index2.buildMatchPatternFn)({
  71. matchPattern: matchOrdinalNumberPattern,
  72. parsePattern: parseOrdinalNumberPattern,
  73. valueCallback: (value) => parseInt(value, 10),
  74. }),
  75. era: (0, _index.buildMatchFn)({
  76. matchPatterns: matchEraPatterns,
  77. defaultMatchWidth: "wide",
  78. parsePatterns: parseEraPatterns,
  79. defaultParseWidth: "any",
  80. }),
  81. quarter: (0, _index.buildMatchFn)({
  82. matchPatterns: matchQuarterPatterns,
  83. defaultMatchWidth: "wide",
  84. parsePatterns: parseQuarterPatterns,
  85. defaultParseWidth: "any",
  86. valueCallback: (index) => index + 1,
  87. }),
  88. month: (0, _index.buildMatchFn)({
  89. matchPatterns: matchMonthPatterns,
  90. defaultMatchWidth: "wide",
  91. parsePatterns: parseMonthPatterns,
  92. defaultParseWidth: "any",
  93. }),
  94. day: (0, _index.buildMatchFn)({
  95. matchPatterns: matchDayPatterns,
  96. defaultMatchWidth: "wide",
  97. parsePatterns: parseDayPatterns,
  98. defaultParseWidth: "any",
  99. }),
  100. dayPeriod: (0, _index.buildMatchFn)({
  101. matchPatterns: matchDayPeriodPatterns,
  102. defaultMatchWidth: "any",
  103. parsePatterns: parseDayPeriodPatterns,
  104. defaultParseWidth: "any",
  105. }),
  106. });