index.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. import buildMatchFn from "../../../_lib/buildMatchFn/index.js";
  2. import buildMatchPatternFn from "../../../_lib/buildMatchPatternFn/index.js";
  3. var matchOrdinalNumberPattern = /^(\d+)(-?(ci|inci|nci|uncu|üncü|ncı))?/i;
  4. var parseOrdinalNumberPattern = /\d+/i;
  5. var matchEraPatterns = {
  6. narrow: /^(b|a)$/i,
  7. abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)$/i,
  8. wide: /^(bizim eradan əvvəl|bizim era)$/i
  9. };
  10. var parseEraPatterns = {
  11. any: [/^b$/i, /^(a|c)$/i]
  12. };
  13. var matchQuarterPatterns = {
  14. narrow: /^[1234]$/i,
  15. abbreviated: /^K[1234]$/i,
  16. wide: /^[1234](ci)? kvartal$/i
  17. };
  18. var parseQuarterPatterns = {
  19. any: [/1/i, /2/i, /3/i, /4/i]
  20. };
  21. var matchMonthPatterns = {
  22. narrow: /^[(?-i)yfmaisond]$/i,
  23. abbreviated: /^(Yan|Fev|Mar|Apr|May|İyun|İyul|Avq|Sen|Okt|Noy|Dek)$/i,
  24. wide: /^(Yanvar|Fevral|Mart|Aprel|May|İyun|İyul|Avgust|Sentyabr|Oktyabr|Noyabr|Dekabr)$/i
  25. };
  26. var parseMonthPatterns = {
  27. narrow: [/^[(?-i)y]$/i, /^[(?-i)f]$/i, /^[(?-i)m]$/i, /^[(?-i)a]$/i, /^[(?-i)m]$/i, /^[(?-i)i]$/i, /^[(?-i)i]$/i, /^[(?-i)a]$/i, /^[(?-i)s]$/i, /^[(?-i)o]$/i, /^[(?-i)n]$/i, /^[(?-i)d]$/i],
  28. abbreviated: [/^Yan$/i, /^Fev$/i, /^Mar$/i, /^Apr$/i, /^May$/i, /^İyun$/i, /^İyul$/i, /^Avg$/i, /^Sen$/i, /^Okt$/i, /^Noy$/i, /^Dek$/i],
  29. wide: [/^Yanvar$/i, /^Fevral$/i, /^Mart$/i, /^Aprel$/i, /^May$/i, /^İyun$/i, /^İyul$/i, /^Avgust$/i, /^Sentyabr$/i, /^Oktyabr$/i, /^Noyabr$/i, /^Dekabr$/i]
  30. };
  31. var matchDayPatterns = {
  32. narrow: /^(B\.|B\.e|Ç\.a|Ç\.|C\.a|C\.|Ş\.)$/i,
  33. short: /^(B\.|B\.e|Ç\.a|Ç\.|C\.a|C\.|Ş\.)$/i,
  34. abbreviated: /^(Baz\.e|Çər|Çər\.a|Cüm|Cüm\.a|Şə)$/i,
  35. wide: /^(Bazar|Bazar ertəsi|Çərşənbə axşamı|Çərşənbə|Cümə axşamı|Cümə|Şənbə)$/i
  36. };
  37. var parseDayPatterns = {
  38. narrow: [/^B\.$/i, /^B\.e$/i, /^Ç\.a$/i, /^Ç\.$/i, /^C\.a$/i, /^C\.$/i, /^Ş\.$/i],
  39. abbreviated: [/^Baz$/i, /^Baz\.e$/i, /^Çər\.a$/i, /^Çər$/i, /^Cüm\.a$/i, /^Cüm$/i, /^Şə$/i],
  40. wide: [/^Bazar$/i, /^Bazar ertəsi$/i, /^Çərşənbə axşamı$/i, /^Çərşənbə$/i, /^Cümə axşamı$/i, /^Cümə$/i, /^Şənbə$/i],
  41. any: [/^B\.$/i, /^B\.e$/i, /^Ç\.a$/i, /^Ç\.$/i, /^C\.a$/i, /^C\.$/i, /^Ş\.$/i]
  42. };
  43. var matchDayPeriodPatterns = {
  44. narrow: /^(a|p|gecəyarı|gün|səhər|gündüz|axşam|gecə)$/i,
  45. any: /^(am|pm|a\.m\.|p\.m\.|AM|PM|gecəyarı|gün|səhər|gündüz|axşam|gecə)$/i
  46. };
  47. var parseDayPeriodPatterns = {
  48. any: {
  49. am: /^a$/i,
  50. pm: /^p$/i,
  51. midnight: /^gecəyarı$/i,
  52. noon: /^gün$/i,
  53. morning: /səhər$/i,
  54. afternoon: /gündüz$/i,
  55. evening: /axşam$/i,
  56. night: /gecə$/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: 'narrow'
  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;