index.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  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: /^(mö|ms)/i,
  7. abbreviated: /^(mö|ms)/i,
  8. wide: /^(milattan önce|milattan sonra)/i
  9. };
  10. var parseEraPatterns = {
  11. any: [/(^mö|^milattan önce)/i, /(^ms|^milattan sonra)/i]
  12. };
  13. var matchQuarterPatterns = {
  14. narrow: /^[1234]/i,
  15. abbreviated: /^[1234]ç/i,
  16. wide: /^((i|İ)lk|(i|İ)kinci|üçüncü|son) çeyrek/i
  17. };
  18. var parseQuarterPatterns = {
  19. any: [/1/i, /2/i, /3/i, /4/i],
  20. abbreviated: [/1ç/i, /2ç/i, /3ç/i, /4ç/i],
  21. wide: [/^(i|İ)lk çeyrek/i, /(i|İ)kinci çeyrek/i, /üçüncü çeyrek/i, /son çeyrek/i]
  22. };
  23. var matchMonthPatterns = {
  24. narrow: /^[oşmnhtaek]/i,
  25. abbreviated: /^(oca|şub|mar|nis|may|haz|tem|ağu|eyl|eki|kas|ara)/i,
  26. wide: /^(ocak|şubat|mart|nisan|mayıs|haziran|temmuz|ağustos|eylül|ekim|kasım|aralık)/i
  27. };
  28. var parseMonthPatterns = {
  29. narrow: [/^o/i, /^ş/i, /^m/i, /^n/i, /^m/i, /^h/i, /^t/i, /^a/i, /^e/i, /^e/i, /^k/i, /^a/i],
  30. any: [/^o/i, /^ş/i, /^mar/i, /^n/i, /^may/i, /^h/i, /^t/i, /^ağ/i, /^ey/i, /^ek/i, /^k/i, /^ar/i]
  31. };
  32. var matchDayPatterns = {
  33. narrow: /^[psçc]/i,
  34. short: /^(pz|pt|sa|ça|pe|cu|ct)/i,
  35. abbreviated: /^(paz|pzt|sal|çar|per|cum|cts)/i,
  36. wide: /^(pazar(?!tesi)|pazartesi|salı|çarşamba|perşembe|cuma(?!rtesi)|cumartesi)/i
  37. };
  38. var parseDayPatterns = {
  39. narrow: [/^p/i, /^p/i, /^s/i, /^ç/i, /^p/i, /^c/i, /^c/i],
  40. any: [/^pz/i, /^pt/i, /^sa/i, /^ça/i, /^pe/i, /^cu/i, /^ct/i],
  41. wide: [/^pazar(?!tesi)/i, /^pazartesi/i, /^salı/i, /^çarşamba/i, /^perşembe/i, /^cuma(?!rtesi)/i, /^cumartesi/i]
  42. };
  43. var matchDayPeriodPatterns = {
  44. narrow: /^(öö|ös|gy|ö|sa|ös|ak|ge)/i,
  45. any: /^(ö\.?\s?[ös]\.?|öğleden sonra|gece yarısı|öğle|(sabah|öğ|akşam|gece)(leyin))/i
  46. };
  47. var parseDayPeriodPatterns = {
  48. any: {
  49. am: /^ö\.?ö\.?/i,
  50. pm: /^ö\.?s\.?/i,
  51. midnight: /^(gy|gece yarısı)/i,
  52. noon: /^öğ/i,
  53. morning: /^sa/i,
  54. afternoon: /^öğleden sonra/i,
  55. evening: /^ak/i,
  56. night: /^ge/i
  57. }
  58. };
  59. var match = {
  60. ordinalNumber: buildMatchPatternFn({
  61. matchPattern: matchOrdinalNumberPattern,
  62. parsePattern: parseOrdinalNumberPattern,
  63. valueCallback: function valueCallback(value) {
  64. return parseInt(value, 10);
  65. }
  66. }),
  67. era: buildMatchFn({
  68. matchPatterns: matchEraPatterns,
  69. defaultMatchWidth: 'wide',
  70. parsePatterns: parseEraPatterns,
  71. defaultParseWidth: 'any'
  72. }),
  73. quarter: buildMatchFn({
  74. matchPatterns: matchQuarterPatterns,
  75. defaultMatchWidth: 'wide',
  76. parsePatterns: parseQuarterPatterns,
  77. defaultParseWidth: 'any',
  78. valueCallback: function valueCallback(index) {
  79. return index + 1;
  80. }
  81. }),
  82. month: buildMatchFn({
  83. matchPatterns: matchMonthPatterns,
  84. defaultMatchWidth: 'wide',
  85. parsePatterns: parseMonthPatterns,
  86. defaultParseWidth: 'any'
  87. }),
  88. day: buildMatchFn({
  89. matchPatterns: matchDayPatterns,
  90. defaultMatchWidth: 'wide',
  91. parsePatterns: parseDayPatterns,
  92. defaultParseWidth: 'any'
  93. }),
  94. dayPeriod: buildMatchFn({
  95. matchPatterns: matchDayPeriodPatterns,
  96. defaultMatchWidth: 'any',
  97. parsePatterns: parseDayPeriodPatterns,
  98. defaultParseWidth: 'any'
  99. })
  100. };
  101. export default match;