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