match.cjs 3.6 KB

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