match.cjs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  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 = /^(\d+)((-|֊)?(ին|րդ))?/i;
  6. const parseOrdinalNumberPattern = /\d+/i;
  7. const matchEraPatterns = {
  8. narrow: /^(Ք|Մ)/i,
  9. abbreviated: /^(Ք\.?\s?Ա\.?|Մ\.?\s?Թ\.?\s?Ա\.?|Մ\.?\s?Թ\.?|Ք\.?\s?Հ\.?)/i,
  10. wide: /^(քրիստոսից առաջ|մեր թվարկությունից առաջ|մեր թվարկության|քրիստոսից հետո)/i,
  11. };
  12. const parseEraPatterns = {
  13. any: [/^ք/i, /^մ/i],
  14. };
  15. const matchQuarterPatterns = {
  16. narrow: /^[1234]/i,
  17. abbreviated: /^ք[1234]/i,
  18. wide: /^[1234]((-|֊)?(ին|րդ)) քառորդ/i,
  19. };
  20. const parseQuarterPatterns = {
  21. any: [/1/i, /2/i, /3/i, /4/i],
  22. };
  23. const matchMonthPatterns = {
  24. narrow: /^[հփմաօսնդ]/i,
  25. abbreviated: /^(հուն|փետ|մար|ապր|մայ|հուն|հուլ|օգս|սեպ|հոկ|նոյ|դեկ)/i,
  26. wide: /^(հունվար|փետրվար|մարտ|ապրիլ|մայիս|հունիս|հուլիս|օգոստոս|սեպտեմբեր|հոկտեմբեր|նոյեմբեր|դեկտեմբեր)/i,
  27. };
  28. const parseMonthPatterns = {
  29. narrow: [
  30. /^հ/i,
  31. /^փ/i,
  32. /^մ/i,
  33. /^ա/i,
  34. /^մ/i,
  35. /^հ/i,
  36. /^հ/i,
  37. /^օ/i,
  38. /^ս/i,
  39. /^հ/i,
  40. /^ն/i,
  41. /^դ/i,
  42. ],
  43. any: [
  44. /^հու/i,
  45. /^փ/i,
  46. /^մար/i,
  47. /^ա/i,
  48. /^մայ/i,
  49. /^հուն/i,
  50. /^հուլ/i,
  51. /^օ/i,
  52. /^ս/i,
  53. /^հոկ/i,
  54. /^ն/i,
  55. /^դ/i,
  56. ],
  57. };
  58. const matchDayPatterns = {
  59. narrow: /^[եչհոշկ]/i,
  60. short: /^(կր|եր|եք|չք|հգ|ուր|շբ)/i,
  61. abbreviated: /^(կիր|երկ|երք|չոր|հնգ|ուրբ|շաբ)/i,
  62. wide: /^(կիրակի|երկուշաբթի|երեքշաբթի|չորեքշաբթի|հինգշաբթի|ուրբաթ|շաբաթ)/i,
  63. };
  64. const parseDayPatterns = {
  65. narrow: [/^կ/i, /^ե/i, /^ե/i, /^չ/i, /^հ/i, /^(ո|Ո)/, /^շ/i],
  66. short: [/^կ/i, /^եր/i, /^եք/i, /^չ/i, /^հ/i, /^(ո|Ո)/, /^շ/i],
  67. abbreviated: [/^կ/i, /^երկ/i, /^երք/i, /^չ/i, /^հ/i, /^(ո|Ո)/, /^շ/i],
  68. wide: [/^կ/i, /^երկ/i, /^երե/i, /^չ/i, /^հ/i, /^(ո|Ո)/, /^շ/i],
  69. };
  70. const matchDayPeriodPatterns = {
  71. narrow: /^([ap]|կեսգշ|կեսօր|(առավոտը?|ցերեկը?|երեկո(յան)?|գիշերը?))/i,
  72. any: /^([ap]\.?\s?m\.?|կեսգիշեր(ին)?|կեսօր(ին)?|(առավոտը?|ցերեկը?|երեկո(յան)?|գիշերը?))/i,
  73. };
  74. const parseDayPeriodPatterns = {
  75. any: {
  76. am: /^a/i,
  77. pm: /^p/i,
  78. midnight: /կեսգիշեր/i,
  79. noon: /կեսօր/i,
  80. morning: /առավոտ/i,
  81. afternoon: /ցերեկ/i,
  82. evening: /երեկո/i,
  83. night: /գիշեր/i,
  84. },
  85. };
  86. const match = (exports.match = {
  87. ordinalNumber: (0, _index2.buildMatchPatternFn)({
  88. matchPattern: matchOrdinalNumberPattern,
  89. parsePattern: parseOrdinalNumberPattern,
  90. valueCallback: (value) => parseInt(value, 10),
  91. }),
  92. era: (0, _index.buildMatchFn)({
  93. matchPatterns: matchEraPatterns,
  94. defaultMatchWidth: "wide",
  95. parsePatterns: parseEraPatterns,
  96. defaultParseWidth: "any",
  97. }),
  98. quarter: (0, _index.buildMatchFn)({
  99. matchPatterns: matchQuarterPatterns,
  100. defaultMatchWidth: "wide",
  101. parsePatterns: parseQuarterPatterns,
  102. defaultParseWidth: "any",
  103. valueCallback: (index) => index + 1,
  104. }),
  105. month: (0, _index.buildMatchFn)({
  106. matchPatterns: matchMonthPatterns,
  107. defaultMatchWidth: "wide",
  108. parsePatterns: parseMonthPatterns,
  109. defaultParseWidth: "any",
  110. }),
  111. day: (0, _index.buildMatchFn)({
  112. matchPatterns: matchDayPatterns,
  113. defaultMatchWidth: "wide",
  114. parsePatterns: parseDayPatterns,
  115. defaultParseWidth: "wide",
  116. }),
  117. dayPeriod: (0, _index.buildMatchFn)({
  118. matchPatterns: matchDayPeriodPatterns,
  119. defaultMatchWidth: "any",
  120. parsePatterns: parseDayPeriodPatterns,
  121. defaultParseWidth: "any",
  122. }),
  123. });