index.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. import buildMatchFn from "../../../_lib/buildMatchFn/index.js";
  2. import buildMatchPatternFn from "../../../_lib/buildMatchPatternFn/index.js";
  3. var matchOrdinalNumberPattern = /^(\d+)(è|r|n|r|t)?/i;
  4. var parseOrdinalNumberPattern = /\d+/i;
  5. var matchEraPatterns = {
  6. narrow: /^(aC|dC)/i,
  7. abbreviated: /^(a. de C.|d. de C.)/i,
  8. wide: /^(abans de Crist|despr[eé]s de Crist)/i
  9. };
  10. var parseEraPatterns = {
  11. narrow: [/^aC/i, /^dC/i],
  12. abbreviated: [/^(a. de C.)/i, /^(d. de C.)/i],
  13. wide: [/^(abans de Crist)/i, /^(despr[eé]s de Crist)/i]
  14. };
  15. var matchQuarterPatterns = {
  16. narrow: /^[1234]/i,
  17. abbreviated: /^T[1234]/i,
  18. wide: /^[1234](è|r|n|r|t)? trimestre/i
  19. };
  20. var parseQuarterPatterns = {
  21. any: [/1/i, /2/i, /3/i, /4/i]
  22. };
  23. var matchMonthPatterns = {
  24. narrow: /^(GN|FB|MÇ|AB|MG|JN|JL|AG|ST|OC|NV|DS)/i,
  25. abbreviated: /^(gen.|febr.|març|abr.|maig|juny|jul.|ag.|set.|oct.|nov.|des.)/i,
  26. wide: /^(gener|febrer|març|abril|maig|juny|juliol|agost|setembre|octubre|novembre|desembre)/i
  27. };
  28. var parseMonthPatterns = {
  29. narrow: [/^GN/i, /^FB/i, /^MÇ/i, /^AB/i, /^MG/i, /^JN/i, /^JL/i, /^AG/i, /^ST/i, /^OC/i, /^NV/i, /^DS/i],
  30. abbreviated: [/^gen./i, /^febr./i, /^març/i, /^abr./i, /^maig/i, /^juny/i, /^jul./i, /^ag./i, /^set./i, /^oct./i, /^nov./i, /^des./i],
  31. wide: [/^gener/i, /^febrer/i, /^març/i, /^abril/i, /^maig/i, /^juny/i, /^juliol/i, /^agost/i, /^setembre/i, /^octubre/i, /^novembre/i, /^desembre/i]
  32. };
  33. var matchDayPatterns = {
  34. narrow: /^(dg\.|dl\.|dt\.|dm\.|dj\.|dv\.|ds\.)/i,
  35. short: /^(dg\.|dl\.|dt\.|dm\.|dj\.|dv\.|ds\.)/i,
  36. abbreviated: /^(dg\.|dl\.|dt\.|dm\.|dj\.|dv\.|ds\.)/i,
  37. wide: /^(diumenge|dilluns|dimarts|dimecres|dijous|divendres|dissabte)/i
  38. };
  39. var parseDayPatterns = {
  40. narrow: [/^dg./i, /^dl./i, /^dt./i, /^dm./i, /^dj./i, /^dv./i, /^ds./i],
  41. abbreviated: [/^dg./i, /^dl./i, /^dt./i, /^dm./i, /^dj./i, /^dv./i, /^ds./i],
  42. wide: [/^diumenge/i, /^dilluns/i, /^dimarts/i, /^dimecres/i, /^dijous/i, /^divendres/i, /^disssabte/i]
  43. };
  44. var matchDayPeriodPatterns = {
  45. narrow: /^(a|p|mn|md|(del|de la) (matí|tarda|vespre|nit))/i,
  46. abbreviated: /^([ap]\.?\s?m\.?|mitjanit|migdia|(del|de la) (matí|tarda|vespre|nit))/i,
  47. wide: /^(ante meridiem|post meridiem|mitjanit|migdia|(del|de la) (matí|tarda|vespre|nit))/i
  48. };
  49. var parseDayPeriodPatterns = {
  50. any: {
  51. am: /^a/i,
  52. pm: /^p/i,
  53. midnight: /^mitjanit/i,
  54. noon: /^migdia/i,
  55. morning: /matí/i,
  56. afternoon: /tarda/i,
  57. evening: /vespre/i,
  58. night: /nit/i
  59. }
  60. };
  61. var match = {
  62. ordinalNumber: buildMatchPatternFn({
  63. matchPattern: matchOrdinalNumberPattern,
  64. parsePattern: parseOrdinalNumberPattern,
  65. valueCallback: function valueCallback(value) {
  66. return parseInt(value, 10);
  67. }
  68. }),
  69. era: buildMatchFn({
  70. matchPatterns: matchEraPatterns,
  71. defaultMatchWidth: 'wide',
  72. parsePatterns: parseEraPatterns,
  73. defaultParseWidth: 'wide'
  74. }),
  75. quarter: buildMatchFn({
  76. matchPatterns: matchQuarterPatterns,
  77. defaultMatchWidth: 'wide',
  78. parsePatterns: parseQuarterPatterns,
  79. defaultParseWidth: 'any',
  80. valueCallback: function valueCallback(index) {
  81. return index + 1;
  82. }
  83. }),
  84. month: buildMatchFn({
  85. matchPatterns: matchMonthPatterns,
  86. defaultMatchWidth: 'wide',
  87. parsePatterns: parseMonthPatterns,
  88. defaultParseWidth: 'wide'
  89. }),
  90. day: buildMatchFn({
  91. matchPatterns: matchDayPatterns,
  92. defaultMatchWidth: 'wide',
  93. parsePatterns: parseDayPatterns,
  94. defaultParseWidth: 'wide'
  95. }),
  96. dayPeriod: buildMatchFn({
  97. matchPatterns: matchDayPeriodPatterns,
  98. defaultMatchWidth: 'wide',
  99. parsePatterns: parseDayPeriodPatterns,
  100. defaultParseWidth: 'any'
  101. })
  102. };
  103. export default match;