index.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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: /^(k.a.|k.o.)/i,
  7. abbreviated: /^(k.a.|k.o.)/i,
  8. wide: /^(kristo aurretik|kristo ondoren)/i
  9. };
  10. var parseEraPatterns = {
  11. narrow: [/^k.a./i, /^k.o./i],
  12. abbreviated: [/^(k.a.)/i, /^(k.o.)/i],
  13. wide: [/^(kristo aurretik)/i, /^(kristo ondoren)/i]
  14. };
  15. var matchQuarterPatterns = {
  16. narrow: /^[1234]/i,
  17. abbreviated: /^[1234]H/i,
  18. wide: /^[1234](.)? hiruhilekoa/i
  19. };
  20. var parseQuarterPatterns = {
  21. any: [/1/i, /2/i, /3/i, /4/i]
  22. };
  23. var matchMonthPatterns = {
  24. narrow: /^[uomaei]/i,
  25. abbreviated: /^(urt|ots|mar|api|mai|eka|uzt|abu|ira|urr|aza|abe)/i,
  26. wide: /^(urtarrila|otsaila|martxoa|apirila|maiatza|ekaina|uztaila|abuztua|iraila|urria|azaroa|abendua)/i
  27. };
  28. var parseMonthPatterns = {
  29. narrow: [/^u/i, /^o/i, /^m/i, /^a/i, /^m/i, /^e/i, /^u/i, /^a/i, /^i/i, /^u/i, /^a/i, /^a/i],
  30. any: [/^urt/i, /^ots/i, /^mar/i, /^api/i, /^mai/i, /^eka/i, /^uzt/i, /^abu/i, /^ira/i, /^urr/i, /^aza/i, /^abe/i]
  31. };
  32. var matchDayPatterns = {
  33. narrow: /^[iaol]/i,
  34. short: /^(ig|al|as|az|og|or|lr)/i,
  35. abbreviated: /^(iga|ast|ast|ast|ost|ost|lar)/i,
  36. wide: /^(igandea|astelehena|asteartea|asteazkena|osteguna|ostirala|larunbata)/i
  37. };
  38. var parseDayPatterns = {
  39. narrow: [/^i/i, /^a/i, /^a/i, /^a/i, /^o/i, /^o/i, /^l/i],
  40. short: [/^ig/i, /^al/i, /^as/i, /^az/i, /^og/i, /^or/i, /^lr/i],
  41. abbreviated: [/^iga/i, /^ast/i, /^ast/i, /^ast/i, /^ost/i, /^ost/i, /^lar/i],
  42. wide: [/^igandea/i, /^astelehena/i, /^asteartea/i, /^asteazkena/i, /^osteguna/i, /^ostirala/i, /^larunbata/i]
  43. };
  44. var matchDayPeriodPatterns = {
  45. narrow: /^(a|p|ge|eg|((goiza|goizean)|arratsaldea|(gaua|gauean)))/i,
  46. any: /^([ap]\.?\s?m\.?|gauerdia|eguerdia|((goiza|goizean)|arratsaldea|(gaua|gauean)))/i
  47. };
  48. var parseDayPeriodPatterns = {
  49. narrow: {
  50. am: /^a/i,
  51. pm: /^p/i,
  52. midnight: /^ge/i,
  53. noon: /^eg/i,
  54. morning: /goiz/i,
  55. afternoon: /arratsaldea/i,
  56. evening: /arratsaldea/i,
  57. night: /gau/i
  58. },
  59. any: {
  60. am: /^a/i,
  61. pm: /^p/i,
  62. midnight: /^gauerdia/i,
  63. noon: /^eguerdia/i,
  64. morning: /goiz/i,
  65. afternoon: /arratsaldea/i,
  66. evening: /arratsaldea/i,
  67. night: /gau/i
  68. }
  69. };
  70. var match = {
  71. ordinalNumber: buildMatchPatternFn({
  72. matchPattern: matchOrdinalNumberPattern,
  73. parsePattern: parseOrdinalNumberPattern,
  74. valueCallback: function valueCallback(value) {
  75. return parseInt(value, 10);
  76. }
  77. }),
  78. era: buildMatchFn({
  79. matchPatterns: matchEraPatterns,
  80. defaultMatchWidth: 'wide',
  81. parsePatterns: parseEraPatterns,
  82. defaultParseWidth: 'wide'
  83. }),
  84. quarter: buildMatchFn({
  85. matchPatterns: matchQuarterPatterns,
  86. defaultMatchWidth: 'wide',
  87. parsePatterns: parseQuarterPatterns,
  88. defaultParseWidth: 'any',
  89. valueCallback: function valueCallback(index) {
  90. return index + 1;
  91. }
  92. }),
  93. month: buildMatchFn({
  94. matchPatterns: matchMonthPatterns,
  95. defaultMatchWidth: 'wide',
  96. parsePatterns: parseMonthPatterns,
  97. defaultParseWidth: 'any'
  98. }),
  99. day: buildMatchFn({
  100. matchPatterns: matchDayPatterns,
  101. defaultMatchWidth: 'wide',
  102. parsePatterns: parseDayPatterns,
  103. defaultParseWidth: 'wide'
  104. }),
  105. dayPeriod: buildMatchFn({
  106. matchPatterns: matchDayPeriodPatterns,
  107. defaultMatchWidth: 'any',
  108. parsePatterns: parseDayPeriodPatterns,
  109. defaultParseWidth: 'any'
  110. })
  111. };
  112. export default match;