index.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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. abbreviated: /^(pr\. n\. št\.|po n\. št\.)/i,
  7. wide: /^(pred Kristusom|pred na[sš]im [sš]tetjem|po Kristusu|po na[sš]em [sš]tetju|na[sš]ega [sš]tetja)/i
  8. };
  9. var parseEraPatterns = {
  10. any: [/^pr/i, /^(po|na[sš]em)/i]
  11. };
  12. var matchQuarterPatterns = {
  13. narrow: /^[1234]/i,
  14. abbreviated: /^[1234]\.\s?[čc]et\.?/i,
  15. wide: /^[1234]\. [čc]etrtletje/i
  16. };
  17. var parseQuarterPatterns = {
  18. any: [/1/i, /2/i, /3/i, /4/i]
  19. };
  20. var matchMonthPatterns = {
  21. narrow: /^[jfmasond]/i,
  22. abbreviated: /^(jan\.|feb\.|mar\.|apr\.|maj|jun\.|jul\.|avg\.|sep\.|okt\.|nov\.|dec\.)/i,
  23. wide: /^(januar|februar|marec|april|maj|junij|julij|avgust|september|oktober|november|december)/i
  24. };
  25. var parseMonthPatterns = {
  26. 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],
  27. abbreviated: [/^ja/i, /^fe/i, /^mar/i, /^ap/i, /^maj/i, /^jun/i, /^jul/i, /^av/i, /^s/i, /^o/i, /^n/i, /^d/i],
  28. wide: [/^ja/i, /^fe/i, /^mar/i, /^ap/i, /^maj/i, /^jun/i, /^jul/i, /^av/i, /^s/i, /^o/i, /^n/i, /^d/i]
  29. };
  30. var matchDayPatterns = {
  31. narrow: /^[nptsčc]/i,
  32. short: /^(ned\.|pon\.|tor\.|sre\.|[cč]et\.|pet\.|sob\.)/i,
  33. abbreviated: /^(ned\.|pon\.|tor\.|sre\.|[cč]et\.|pet\.|sob\.)/i,
  34. wide: /^(nedelja|ponedeljek|torek|sreda|[cč]etrtek|petek|sobota)/i
  35. };
  36. var parseDayPatterns = {
  37. narrow: [/^n/i, /^p/i, /^t/i, /^s/i, /^[cč]/i, /^p/i, /^s/i],
  38. any: [/^n/i, /^po/i, /^t/i, /^sr/i, /^[cč]/i, /^pe/i, /^so/i]
  39. };
  40. var matchDayPeriodPatterns = {
  41. narrow: /^(d|po?|z?v|n|z?j|24\.00|12\.00)/i,
  42. any: /^(dop\.|pop\.|o?poln(\.|o[cč]i?)|o?pold(\.|ne)|z?ve[cč](\.|er)|(po)?no[cč]i?|popold(ne|an)|jut(\.|ro)|zjut(\.|raj))/i
  43. };
  44. var parseDayPeriodPatterns = {
  45. narrow: {
  46. am: /^d/i,
  47. pm: /^p/i,
  48. midnight: /^24/i,
  49. noon: /^12/i,
  50. morning: /^(z?j)/i,
  51. afternoon: /^p/i,
  52. evening: /^(z?v)/i,
  53. night: /^(n|po)/i
  54. },
  55. any: {
  56. am: /^dop\./i,
  57. pm: /^pop\./i,
  58. midnight: /^o?poln/i,
  59. noon: /^o?pold/i,
  60. morning: /j/i,
  61. afternoon: /^pop\./i,
  62. evening: /^z?ve/i,
  63. night: /(po)?no/i
  64. }
  65. };
  66. var match = {
  67. ordinalNumber: buildMatchPatternFn({
  68. matchPattern: matchOrdinalNumberPattern,
  69. parsePattern: parseOrdinalNumberPattern,
  70. valueCallback: function valueCallback(value) {
  71. return parseInt(value, 10);
  72. }
  73. }),
  74. era: buildMatchFn({
  75. matchPatterns: matchEraPatterns,
  76. defaultMatchWidth: 'wide',
  77. parsePatterns: parseEraPatterns,
  78. defaultParseWidth: 'any'
  79. }),
  80. quarter: buildMatchFn({
  81. matchPatterns: matchQuarterPatterns,
  82. defaultMatchWidth: 'wide',
  83. parsePatterns: parseQuarterPatterns,
  84. defaultParseWidth: 'any',
  85. valueCallback: function valueCallback(index) {
  86. return index + 1;
  87. }
  88. }),
  89. month: buildMatchFn({
  90. matchPatterns: matchMonthPatterns,
  91. defaultMatchWidth: 'wide',
  92. parsePatterns: parseMonthPatterns,
  93. defaultParseWidth: 'wide'
  94. }),
  95. day: buildMatchFn({
  96. matchPatterns: matchDayPatterns,
  97. defaultMatchWidth: 'wide',
  98. parsePatterns: parseDayPatterns,
  99. defaultParseWidth: 'any'
  100. }),
  101. dayPeriod: buildMatchFn({
  102. matchPatterns: matchDayPeriodPatterns,
  103. defaultMatchWidth: 'any',
  104. parsePatterns: parseDayPeriodPatterns,
  105. defaultParseWidth: 'any'
  106. })
  107. };
  108. export default match;