index.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. import buildMatchFn from "../../../_lib/buildMatchFn/index.js";
  2. import buildMatchPatternFn from "../../../_lib/buildMatchPatternFn/index.js";
  3. var matchOrdinalNumberPattern = /^(\d+)(ম|য়|র্থ|ষ্ঠ|শে|ই|তম)?/i;
  4. var parseOrdinalNumberPattern = /\d+/i;
  5. var matchEraPatterns = {
  6. narrow: /^(খ্রিঃপূঃ|খ্রিঃ)/i,
  7. abbreviated: /^(খ্রিঃপূর্ব|খ্রিঃ)/i,
  8. wide: /^(খ্রিস্টপূর্ব|খ্রিস্টাব্দ)/i
  9. };
  10. var parseEraPatterns = {
  11. narrow: [/^খ্রিঃপূঃ/i, /^খ্রিঃ/i],
  12. abbreviated: [/^খ্রিঃপূর্ব/i, /^খ্রিঃ/i],
  13. wide: [/^খ্রিস্টপূর্ব/i, /^খ্রিস্টাব্দ/i]
  14. };
  15. var matchQuarterPatterns = {
  16. narrow: /^[১২৩৪]/i,
  17. abbreviated: /^[১২৩৪]ত্রৈ/i,
  18. wide: /^[১২৩৪](ম|য়|র্থ)? ত্রৈমাসিক/i
  19. };
  20. var parseQuarterPatterns = {
  21. any: [/১/i, /২/i, /৩/i, /৪/i]
  22. };
  23. var matchMonthPatterns = {
  24. narrow: /^(জানু|ফেব্রু|মার্চ|এপ্রিল|মে|জুন|জুলাই|আগস্ট|সেপ্ট|অক্টো|নভে|ডিসে)/i,
  25. abbreviated: /^(জানু|ফেব্রু|মার্চ|এপ্রিল|মে|জুন|জুলাই|আগস্ট|সেপ্ট|অক্টো|নভে|ডিসে)/i,
  26. wide: /^(জানুয়ারি|ফেব্রুয়ারি|মার্চ|এপ্রিল|মে|জুন|জুলাই|আগস্ট|সেপ্টেম্বর|অক্টোবর|নভেম্বর|ডিসেম্বর)/i
  27. };
  28. var parseMonthPatterns = {
  29. any: [/^জানু/i, /^ফেব্রু/i, /^মার্চ/i, /^এপ্রিল/i, /^মে/i, /^জুন/i, /^জুলাই/i, /^আগস্ট/i, /^সেপ্ট/i, /^অক্টো/i, /^নভে/i, /^ডিসে/i]
  30. };
  31. var matchDayPatterns = {
  32. narrow: /^(র|সো|ম|বু|বৃ|শু|শ)+/i,
  33. short: /^(রবি|সোম|মঙ্গল|বুধ|বৃহ|শুক্র|শনি)+/i,
  34. abbreviated: /^(রবি|সোম|মঙ্গল|বুধ|বৃহ|শুক্র|শনি)+/i,
  35. wide: /^(রবিবার|সোমবার|মঙ্গলবার|বুধবার|বৃহস্পতিবার |শুক্রবার|শনিবার)+/i
  36. };
  37. var parseDayPatterns = {
  38. narrow: [/^র/i, /^সো/i, /^ম/i, /^বু/i, /^বৃ/i, /^শু/i, /^শ/i],
  39. short: [/^রবি/i, /^সোম/i, /^মঙ্গল/i, /^বুধ/i, /^বৃহ/i, /^শুক্র/i, /^শনি/i],
  40. abbreviated: [/^রবি/i, /^সোম/i, /^মঙ্গল/i, /^বুধ/i, /^বৃহ/i, /^শুক্র/i, /^শনি/i],
  41. wide: [/^রবিবার/i, /^সোমবার/i, /^মঙ্গলবার/i, /^বুধবার/i, /^বৃহস্পতিবার /i, /^শুক্রবার/i, /^শনিবার/i]
  42. };
  43. var matchDayPeriodPatterns = {
  44. narrow: /^(পূ|অপ|মধ্যরাত|মধ্যাহ্ন|সকাল|বিকাল|সন্ধ্যা|রাত)/i,
  45. abbreviated: /^(পূর্বাহ্ন|অপরাহ্ন|মধ্যরাত|মধ্যাহ্ন|সকাল|বিকাল|সন্ধ্যা|রাত)/i,
  46. wide: /^(পূর্বাহ্ন|অপরাহ্ন|মধ্যরাত|মধ্যাহ্ন|সকাল|বিকাল|সন্ধ্যা|রাত)/i
  47. };
  48. var parseDayPeriodPatterns = {
  49. any: {
  50. am: /^পূ/i,
  51. pm: /^অপ/i,
  52. midnight: /^মধ্যরাত/i,
  53. noon: /^মধ্যাহ্ন/i,
  54. morning: /সকাল/i,
  55. afternoon: /বিকাল/i,
  56. evening: /সন্ধ্যা/i,
  57. night: /রাত/i
  58. }
  59. };
  60. var match = {
  61. ordinalNumber: buildMatchPatternFn({
  62. matchPattern: matchOrdinalNumberPattern,
  63. parsePattern: parseOrdinalNumberPattern,
  64. valueCallback: function valueCallback(value) {
  65. return parseInt(value, 10);
  66. }
  67. }),
  68. era: buildMatchFn({
  69. matchPatterns: matchEraPatterns,
  70. defaultMatchWidth: 'wide',
  71. parsePatterns: parseEraPatterns,
  72. defaultParseWidth: 'wide'
  73. }),
  74. quarter: buildMatchFn({
  75. matchPatterns: matchQuarterPatterns,
  76. defaultMatchWidth: 'wide',
  77. parsePatterns: parseQuarterPatterns,
  78. defaultParseWidth: 'any',
  79. valueCallback: function valueCallback(index) {
  80. return index + 1;
  81. }
  82. }),
  83. month: buildMatchFn({
  84. matchPatterns: matchMonthPatterns,
  85. defaultMatchWidth: 'wide',
  86. parsePatterns: parseMonthPatterns,
  87. defaultParseWidth: 'any'
  88. }),
  89. day: buildMatchFn({
  90. matchPatterns: matchDayPatterns,
  91. defaultMatchWidth: 'wide',
  92. parsePatterns: parseDayPatterns,
  93. defaultParseWidth: 'wide'
  94. }),
  95. dayPeriod: buildMatchFn({
  96. matchPatterns: matchDayPeriodPatterns,
  97. defaultMatchWidth: 'wide',
  98. parsePatterns: parseDayPeriodPatterns,
  99. defaultParseWidth: 'any'
  100. })
  101. };
  102. export default match;