index.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  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: /^(p\.m\.ē|m\.ē)/i,
  7. abbreviated: /^(p\. m\. ē\.|m\. ē\.)/i,
  8. wide: /^(pirms mūsu ēras|mūsu ērā)/i
  9. };
  10. var parseEraPatterns = {
  11. any: [/^p/i, /^m/i]
  12. };
  13. var matchQuarterPatterns = {
  14. narrow: /^[1234]/i,
  15. abbreviated: /^[1234](\. cet\.)/i,
  16. wide: /^(pirma(is|jā)|otra(is|jā)|treša(is|jā)|ceturta(is|jā)) ceturksn(is|ī)/i
  17. };
  18. var parseQuarterPatterns = {
  19. narrow: [/^1/i, /^2/i, /^3/i, /^4/i],
  20. abbreviated: [/^1/i, /^2/i, /^3/i, /^4/i],
  21. wide: [/^p/i, /^o/i, /^t/i, /^c/i]
  22. };
  23. var matchMonthPatterns = {
  24. narrow: /^[jfmasond]/i,
  25. abbreviated: /^(janv\.|febr\.|marts|apr\.|maijs|jūn\.|jūl\.|aug\.|sept\.|okt\.|nov\.|dec\.)/i,
  26. wide: /^(janvār(is|ī)|februār(is|ī)|mart[sā]|aprīl(is|ī)|maij[sā]|jūnij[sā]|jūlij[sā]|august[sā]|septembr(is|ī)|oktobr(is|ī)|novembr(is|ī)|decembr(is|ī))/i
  27. };
  28. var parseMonthPatterns = {
  29. 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],
  30. any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^mai/i, /^jūn/i, /^jūl/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]
  31. };
  32. var matchDayPatterns = {
  33. narrow: /^[spotc]/i,
  34. short: /^(sv|pi|o|t|c|pk|s)/i,
  35. abbreviated: /^(svētd\.|pirmd\.|otrd.\|trešd\.|ceturtd\.|piektd\.|sestd\.)/i,
  36. wide: /^(svētdien(a|ā)|pirmdien(a|ā)|otrdien(a|ā)|trešdien(a|ā)|ceturtdien(a|ā)|piektdien(a|ā)|sestdien(a|ā))/i
  37. };
  38. var parseDayPatterns = {
  39. narrow: [/^s/i, /^p/i, /^o/i, /^t/i, /^c/i, /^p/i, /^s/i],
  40. any: [/^sv/i, /^pi/i, /^o/i, /^t/i, /^c/i, /^p/i, /^se/i]
  41. };
  42. var matchDayPeriodPatterns = {
  43. narrow: /^(am|pm|pusn\.|pusd\.|rīt(s|ā)|dien(a|ā)|vakar(s|ā)|nakt(s|ī))/,
  44. abbreviated: /^(am|pm|pusn\.|pusd\.|rīt(s|ā)|pēcpusd\.|vakar(s|ā)|nakt(s|ī))/,
  45. wide: /^(am|pm|pusnakt(s|ī)|pusdienlaik(s|ā)|rīt(s|ā)|pēcpusdien(a|ā)|vakar(s|ā)|nakt(s|ī))/i
  46. };
  47. var parseDayPeriodPatterns = {
  48. any: {
  49. am: /^am/i,
  50. pm: /^pm/i,
  51. midnight: /^pusn/i,
  52. noon: /^pusd/i,
  53. morning: /^r/i,
  54. afternoon: /^(d|pēc)/i,
  55. evening: /^v/i,
  56. night: /^n/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: 'wide',
  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: 'any'
  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: 'wide',
  97. parsePatterns: parseDayPeriodPatterns,
  98. defaultParseWidth: 'any'
  99. })
  100. };
  101. export default match;