match.cjs 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  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+)/;
  6. const parseOrdinalNumberPattern = /\d+/i;
  7. const matchEraPatterns = {
  8. narrow: /^(ق|ب)/g,
  9. abbreviated: /^(ق.م|ب.م)/g,
  10. wide: /^(قبل الميلاد|بعد الميلاد)/g,
  11. };
  12. const parseEraPatterns = {
  13. any: [/^ق/g, /^ب/g],
  14. };
  15. const matchQuarterPatterns = {
  16. narrow: /^[1234]/,
  17. abbreviated: /^ر[1234]/,
  18. wide: /^الربع (الأول|الثاني|الثالث|الرابع)/,
  19. };
  20. const parseQuarterPatterns = {
  21. wide: [/الربع الأول/, /الربع الثاني/, /الربع الثالث/, /الربع الرابع/],
  22. any: [/1/, /2/, /3/, /4/],
  23. };
  24. const matchMonthPatterns = {
  25. narrow: /^(ي|ف|م|أ|س|ن|د)/,
  26. abbreviated: /^(ينا|فبر|مارس|أبريل|مايو|يونـ|يولـ|أغسـ|سبتـ|أكتـ|نوفـ|ديسـ)/,
  27. wide: /^(يناير|فبراير|مارس|أبريل|مايو|يونيو|يوليو|أغسطس|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/,
  28. };
  29. const parseMonthPatterns = {
  30. narrow: [
  31. /^ي/,
  32. /^ف/,
  33. /^م/,
  34. /^أ/,
  35. /^م/,
  36. /^ي/,
  37. /^ي/,
  38. /^أ/,
  39. /^س/,
  40. /^أ/,
  41. /^ن/,
  42. /^د/,
  43. ],
  44. any: [
  45. /^ينا/,
  46. /^فبر/,
  47. /^مارس/,
  48. /^أبريل/,
  49. /^مايو/,
  50. /^يون/,
  51. /^يول/,
  52. /^أغس/,
  53. /^سبت/,
  54. /^أكت/,
  55. /^نوف/,
  56. /^ديس/,
  57. ],
  58. };
  59. const matchDayPatterns = {
  60. narrow: /^(ح|ن|ث|ر|خ|ج|س)/,
  61. short: /^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/,
  62. abbreviated: /^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/,
  63. wide: /^(الأحد|الاثنين|الثلاثاء|الأربعاء|الخميس|الجمعة|السبت)/,
  64. };
  65. const parseDayPatterns = {
  66. narrow: [/^ح/, /^ن/, /^ث/, /^ر/, /^خ/, /^ج/, /^س/],
  67. any: [/أحد/, /اثنين/, /ثلاثاء/, /أربعاء/, /خميس/, /جمعة/, /سبت/],
  68. };
  69. const matchDayPeriodPatterns = {
  70. narrow: /^(ص|م|ن|ظ|في الصباح|بعد الظهر|في المساء|في الليل)/,
  71. abbreviated: /^(ص|م|نصف الليل|ظهراً|في الصباح|بعد الظهر|في المساء|في الليل)/,
  72. wide: /^(ص|م|نصف الليل|في الصباح|ظهراً|بعد الظهر|في المساء|في الليل)/,
  73. any: /^(ص|م|صباح|ظهر|مساء|ليل)/,
  74. };
  75. const parseDayPeriodPatterns = {
  76. any: {
  77. am: /^ص/,
  78. pm: /^م/,
  79. midnight: /^ن/,
  80. noon: /^ظ/,
  81. morning: /^ص/,
  82. afternoon: /^بعد/,
  83. evening: /^م/,
  84. night: /^ل/,
  85. },
  86. };
  87. const match = (exports.match = {
  88. ordinalNumber: (0, _index2.buildMatchPatternFn)({
  89. matchPattern: matchOrdinalNumberPattern,
  90. parsePattern: parseOrdinalNumberPattern,
  91. valueCallback: function (value) {
  92. return parseInt(value, 10);
  93. },
  94. }),
  95. era: (0, _index.buildMatchFn)({
  96. matchPatterns: matchEraPatterns,
  97. defaultMatchWidth: "wide",
  98. parsePatterns: parseEraPatterns,
  99. defaultParseWidth: "any",
  100. }),
  101. quarter: (0, _index.buildMatchFn)({
  102. matchPatterns: matchQuarterPatterns,
  103. defaultMatchWidth: "wide",
  104. parsePatterns: parseQuarterPatterns,
  105. defaultParseWidth: "any",
  106. valueCallback: (index) => index + 1,
  107. }),
  108. month: (0, _index.buildMatchFn)({
  109. matchPatterns: matchMonthPatterns,
  110. defaultMatchWidth: "wide",
  111. parsePatterns: parseMonthPatterns,
  112. defaultParseWidth: "any",
  113. }),
  114. day: (0, _index.buildMatchFn)({
  115. matchPatterns: matchDayPatterns,
  116. defaultMatchWidth: "wide",
  117. parsePatterns: parseDayPatterns,
  118. defaultParseWidth: "any",
  119. }),
  120. dayPeriod: (0, _index.buildMatchFn)({
  121. matchPatterns: matchDayPeriodPatterns,
  122. defaultMatchWidth: "any",
  123. parsePatterns: parseDayPeriodPatterns,
  124. defaultParseWidth: "any",
  125. }),
  126. });