index.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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: /^((б )?з\.?\s?д\.?)/i,
  7. abbreviated: /^((б )?з\.?\s?д\.?)/i,
  8. wide: /^(біздің заманымызға дейін|біздің заманымыз|біздің заманымыздан)/i
  9. };
  10. var parseEraPatterns = {
  11. any: [/^б/i, /^з/i]
  12. };
  13. var matchQuarterPatterns = {
  14. narrow: /^[1234]/i,
  15. abbreviated: /^[1234](-?ші)? тоқ.?/i,
  16. wide: /^[1234](-?ші)? тоқсан/i
  17. };
  18. var parseQuarterPatterns = {
  19. any: [/1/i, /2/i, /3/i, /4/i]
  20. };
  21. var matchMonthPatterns = {
  22. narrow: /^(қ|а|н|с|м|мау|ш|т|қыр|қаз|қар|ж)/i,
  23. abbreviated: /^(қаң|ақп|нау|сәу|мам|мау|шіл|там|қыр|қаз|қар|жел)/i,
  24. wide: /^(қаңтар|ақпан|наурыз|сәуір|мамыр|маусым|шілде|тамыз|қыркүйек|қазан|қараша|желтоқсан)/i
  25. };
  26. var parseMonthPatterns = {
  27. narrow: [/^қ/i, /^а/i, /^н/i, /^с/i, /^м/i, /^м/i, /^ш/i, /^т/i, /^қ/i, /^қ/i, /^қ/i, /^ж/i],
  28. abbreviated: [/^қаң/i, /^ақп/i, /^нау/i, /^сәу/i, /^мам/i, /^мау/i, /^шіл/i, /^там/i, /^қыр/i, /^қаз/i, /^қар/i, /^жел/i],
  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. wide: /^(жексенбі|дүйсенбі|сейсенбі|сәрсенбі|бейсенбі|жұма|сенбі)/i
  35. };
  36. var parseDayPatterns = {
  37. narrow: [/^ж/i, /^д/i, /^с/i, /^с/i, /^б/i, /^ж/i, /^с/i],
  38. short: [/^жс/i, /^дс/i, /^сс/i, /^ср/i, /^бс/i, /^жм/i, /^сб/i],
  39. any: [/^ж[ек]/i, /^д[үй]/i, /^сe[й]/i, /^сә[р]/i, /^б[ей]/i, /^ж[ұм]/i, /^се[н]/i]
  40. };
  41. var matchDayPeriodPatterns = {
  42. narrow: /^Т\.?\s?[ДК]\.?|түн ортасында|((түсте|таңертең|таңда|таңертең|таңмен|таң|күндіз|күн|кеште|кеш|түнде|түн)\.?)/i,
  43. wide: /^Т\.?\s?[ДК]\.?|түн ортасында|((түсте|таңертең|таңда|таңертең|таңмен|таң|күндіз|күн|кеште|кеш|түнде|түн)\.?)/i,
  44. any: /^Т\.?\s?[ДК]\.?|түн ортасында|((түсте|таңертең|таңда|таңертең|таңмен|таң|күндіз|күн|кеште|кеш|түнде|түн)\.?)/i
  45. };
  46. var parseDayPeriodPatterns = {
  47. any: {
  48. am: /^ТД/i,
  49. pm: /^ТК/i,
  50. midnight: /^түн орта/i,
  51. noon: /^күндіз/i,
  52. morning: /таң/i,
  53. afternoon: /түс/i,
  54. evening: /кеш/i,
  55. night: /түн/i
  56. }
  57. };
  58. var match = {
  59. ordinalNumber: buildMatchPatternFn({
  60. matchPattern: matchOrdinalNumberPattern,
  61. parsePattern: parseOrdinalNumberPattern,
  62. valueCallback: function valueCallback(value) {
  63. return parseInt(value, 10);
  64. }
  65. }),
  66. era: buildMatchFn({
  67. matchPatterns: matchEraPatterns,
  68. defaultMatchWidth: 'wide',
  69. parsePatterns: parseEraPatterns,
  70. defaultParseWidth: 'any'
  71. }),
  72. quarter: buildMatchFn({
  73. matchPatterns: matchQuarterPatterns,
  74. defaultMatchWidth: 'wide',
  75. parsePatterns: parseQuarterPatterns,
  76. defaultParseWidth: 'any',
  77. valueCallback: function valueCallback(index) {
  78. return index + 1;
  79. }
  80. }),
  81. month: buildMatchFn({
  82. matchPatterns: matchMonthPatterns,
  83. defaultMatchWidth: 'wide',
  84. parsePatterns: parseMonthPatterns,
  85. defaultParseWidth: 'any'
  86. }),
  87. day: buildMatchFn({
  88. matchPatterns: matchDayPatterns,
  89. defaultMatchWidth: 'wide',
  90. parsePatterns: parseDayPatterns,
  91. defaultParseWidth: 'any'
  92. }),
  93. dayPeriod: buildMatchFn({
  94. matchPatterns: matchDayPeriodPatterns,
  95. defaultMatchWidth: 'wide',
  96. parsePatterns: parseDayPeriodPatterns,
  97. defaultParseWidth: 'any'
  98. })
  99. };
  100. export default match;