index.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import buildMatchFn from "../../../_lib/buildMatchFn/index.js";
  2. import buildMatchPatternFn from "../../../_lib/buildMatchPatternFn/index.js";
  3. var matchOrdinalNumberPattern = /^(\d+)[ºªo]?/i;
  4. var parseOrdinalNumberPattern = /\d+/i;
  5. var matchEraPatterns = {
  6. narrow: /^(ac|dc|a|d)/i,
  7. abbreviated: /^(a\.?\s?c\.?|d\.?\s?c\.?)/i,
  8. wide: /^(antes de cristo|depois de cristo)/i
  9. };
  10. var parseEraPatterns = {
  11. any: [/^ac/i, /^dc/i],
  12. wide: [/^antes de cristo/i, /^depois de cristo/i]
  13. };
  14. var matchQuarterPatterns = {
  15. narrow: /^[1234]/i,
  16. abbreviated: /^T[1234]/i,
  17. wide: /^[1234](º)? trimestre/i
  18. };
  19. var parseQuarterPatterns = {
  20. any: [/1/i, /2/i, /3/i, /4/i]
  21. };
  22. var matchMonthPatterns = {
  23. narrow: /^[jfmajsond]/i,
  24. abbreviated: /^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,
  25. wide: /^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i
  26. };
  27. var parseMonthPatterns = {
  28. narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],
  29. any: [/^ja/i, /^fev/i, /^mar/i, /^abr/i, /^mai/i, /^jun/i, /^jul/i, /^ago/i, /^set/i, /^out/i, /^nov/i, /^dez/i]
  30. };
  31. var matchDayPatterns = {
  32. narrow: /^(dom|[23456]ª?|s[aá]b)/i,
  33. short: /^(dom|[23456]ª?|s[aá]b)/i,
  34. abbreviated: /^(dom|seg|ter|qua|qui|sex|s[aá]b)/i,
  35. wide: /^(domingo|(segunda|ter[cç]a|quarta|quinta|sexta)([- ]feira)?|s[aá]bado)/i
  36. };
  37. var parseDayPatterns = {
  38. short: [/^d/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^s[aá]/i],
  39. narrow: [/^d/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^s[aá]/i],
  40. any: [/^d/i, /^seg/i, /^t/i, /^qua/i, /^qui/i, /^sex/i, /^s[aá]b/i]
  41. };
  42. var matchDayPeriodPatterns = {
  43. narrow: /^(a|p|mn|md|(da) (manhã|tarde|noite))/i,
  44. any: /^([ap]\.?\s?m\.?|meia[-\s]noite|meio[-\s]dia|(da) (manhã|tarde|noite))/i
  45. };
  46. var parseDayPeriodPatterns = {
  47. any: {
  48. am: /^a/i,
  49. pm: /^p/i,
  50. midnight: /^mn|^meia[-\s]noite/i,
  51. noon: /^md|^meio[-\s]dia/i,
  52. morning: /manhã/i,
  53. afternoon: /tarde/i,
  54. evening: /tarde/i,
  55. night: /noite/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: 'any',
  96. parsePatterns: parseDayPeriodPatterns,
  97. defaultParseWidth: 'any'
  98. })
  99. };
  100. export default match;