index.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. import buildMatchFn from "../../../_lib/buildMatchFn/index.js";
  2. import buildMatchPatternFn from "../../../_lib/buildMatchPatternFn/index.js";
  3. var matchOrdinalNumberPattern = /^(\d+)(-oji)?/i;
  4. var parseOrdinalNumberPattern = /\d+/i;
  5. var matchEraPatterns = {
  6. narrow: /^p(r|o)\.?\s?(kr\.?|me)/i,
  7. abbreviated: /^(pr\.\s?(kr\.|m\.\s?e\.)|po\s?kr\.|mūsų eroje)/i,
  8. wide: /^(prieš Kristų|prieš mūsų erą|po Kristaus|mūsų eroje)/i
  9. };
  10. var parseEraPatterns = {
  11. wide: [/prieš/i, /(po|mūsų)/i],
  12. any: [/^pr/i, /^(po|m)/i]
  13. };
  14. var matchQuarterPatterns = {
  15. narrow: /^([1234])/i,
  16. abbreviated: /^(I|II|III|IV)\s?ketv?\.?/i,
  17. wide: /^(I|II|III|IV)\s?ketvirtis/i
  18. };
  19. var parseQuarterPatterns = {
  20. narrow: [/1/i, /2/i, /3/i, /4/i],
  21. any: [/I$/i, /II$/i, /III/i, /IV/i]
  22. };
  23. var matchMonthPatterns = {
  24. narrow: /^[svkbglr]/i,
  25. abbreviated: /^(saus\.|vas\.|kov\.|bal\.|geg\.|birž\.|liep\.|rugp\.|rugs\.|spal\.|lapkr\.|gruod\.)/i,
  26. wide: /^(sausi(s|o)|vasari(s|o)|kov(a|o)s|balandž?i(s|o)|gegužės?|birželi(s|o)|liep(a|os)|rugpjū(t|č)i(s|o)|rugsėj(is|o)|spali(s|o)|lapkri(t|č)i(s|o)|gruodž?i(s|o))/i
  27. };
  28. var parseMonthPatterns = {
  29. narrow: [/^s/i, /^v/i, /^k/i, /^b/i, /^g/i, /^b/i, /^l/i, /^r/i, /^r/i, /^s/i, /^l/i, /^g/i],
  30. any: [/^saus/i, /^vas/i, /^kov/i, /^bal/i, /^geg/i, /^birž/i, /^liep/i, /^rugp/i, /^rugs/i, /^spal/i, /^lapkr/i, /^gruod/i]
  31. };
  32. var matchDayPatterns = {
  33. narrow: /^[spatkš]/i,
  34. short: /^(sk|pr|an|tr|kt|pn|št)/i,
  35. abbreviated: /^(sk|pr|an|tr|kt|pn|št)/i,
  36. wide: /^(sekmadien(is|į)|pirmadien(is|į)|antradien(is|į)|trečiadien(is|į)|ketvirtadien(is|į)|penktadien(is|į)|šeštadien(is|į))/i
  37. };
  38. var parseDayPatterns = {
  39. narrow: [/^s/i, /^p/i, /^a/i, /^t/i, /^k/i, /^p/i, /^š/i],
  40. wide: [/^se/i, /^pi/i, /^an/i, /^tr/i, /^ke/i, /^pe/i, /^še/i],
  41. any: [/^sk/i, /^pr/i, /^an/i, /^tr/i, /^kt/i, /^pn/i, /^št/i]
  42. };
  43. var matchDayPeriodPatterns = {
  44. narrow: /^(pr.\s?p.|pop.|vidurnaktis|(vidurdienis|perpiet)|rytas|(diena|popietė)|vakaras|naktis)/i,
  45. any: /^(priešpiet|popiet$|vidurnaktis|(vidurdienis|perpiet)|rytas|(diena|popietė)|vakaras|naktis)/i
  46. };
  47. var parseDayPeriodPatterns = {
  48. narrow: {
  49. am: /^pr/i,
  50. pm: /^pop./i,
  51. midnight: /^vidurnaktis/i,
  52. noon: /^(vidurdienis|perp)/i,
  53. morning: /rytas/i,
  54. afternoon: /(die|popietė)/i,
  55. evening: /vakaras/i,
  56. night: /naktis/i
  57. },
  58. any: {
  59. am: /^pr/i,
  60. pm: /^popiet$/i,
  61. midnight: /^vidurnaktis/i,
  62. noon: /^(vidurdienis|perp)/i,
  63. morning: /rytas/i,
  64. afternoon: /(die|popietė)/i,
  65. evening: /vakaras/i,
  66. night: /naktis/i
  67. }
  68. };
  69. var match = {
  70. ordinalNumber: buildMatchPatternFn({
  71. matchPattern: matchOrdinalNumberPattern,
  72. parsePattern: parseOrdinalNumberPattern,
  73. valueCallback: function valueCallback(value) {
  74. return parseInt(value, 10);
  75. }
  76. }),
  77. era: buildMatchFn({
  78. matchPatterns: matchEraPatterns,
  79. defaultMatchWidth: 'wide',
  80. parsePatterns: parseEraPatterns,
  81. defaultParseWidth: 'any'
  82. }),
  83. quarter: buildMatchFn({
  84. matchPatterns: matchQuarterPatterns,
  85. defaultMatchWidth: 'wide',
  86. parsePatterns: parseQuarterPatterns,
  87. defaultParseWidth: 'any',
  88. valueCallback: function valueCallback(index) {
  89. return index + 1;
  90. }
  91. }),
  92. month: buildMatchFn({
  93. matchPatterns: matchMonthPatterns,
  94. defaultMatchWidth: 'wide',
  95. parsePatterns: parseMonthPatterns,
  96. defaultParseWidth: 'any'
  97. }),
  98. day: buildMatchFn({
  99. matchPatterns: matchDayPatterns,
  100. defaultMatchWidth: 'wide',
  101. parsePatterns: parseDayPatterns,
  102. defaultParseWidth: 'any'
  103. }),
  104. dayPeriod: buildMatchFn({
  105. matchPatterns: matchDayPeriodPatterns,
  106. defaultMatchWidth: 'any',
  107. parsePatterns: parseDayPeriodPatterns,
  108. defaultParseWidth: 'any'
  109. })
  110. };
  111. export default match;