index.js 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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[řr](\.|ed) Kr\.|p[řr](\.|ed) n\. l\.|po Kr\.|n\. l\.)/i,
  7. abbreviated: /^(p[řr](\.|ed) Kr\.|p[řr](\.|ed) n\. l\.|po Kr\.|n\. l\.)/i,
  8. wide: /^(p[řr](\.|ed) Kristem|p[řr](\.|ed) na[šs][íi]m letopo[čc]tem|po Kristu|na[šs]eho letopo[čc]tu)/i
  9. };
  10. var parseEraPatterns = {
  11. any: [/^p[řr]/i, /^(po|n)/i]
  12. };
  13. var matchQuarterPatterns = {
  14. narrow: /^[1234]/i,
  15. abbreviated: /^[1234]\. [čc]tvrtlet[íi]/i,
  16. wide: /^[1234]\. [čc]tvrtlet[íi]/i
  17. };
  18. var parseQuarterPatterns = {
  19. any: [/1/i, /2/i, /3/i, /4/i]
  20. };
  21. var matchMonthPatterns = {
  22. narrow: /^[lúubdkčcszřrlp]/i,
  23. abbreviated: /^(led|[úu]no|b[řr]e|dub|kv[ěe]|[čc]vn|[čc]vc|srp|z[áa][řr]|[řr][íi]j|lis|pro)/i,
  24. wide: /^(leden|ledna|[úu]nora?|b[řr]ezen|b[řr]ezna|duben|dubna|kv[ěe]ten|kv[ěe]tna|[čc]erven(ec|ce)?|[čc]ervna|srpen|srpna|z[áa][řr][íi]|[řr][íi]jen|[řr][íi]jna|listopad(a|u)?|prosinec|prosince)/i
  25. };
  26. var parseMonthPatterns = {
  27. narrow: [/^l/i, /^[úu]/i, /^b/i, /^d/i, /^k/i, /^[čc]/i, /^[čc]/i, /^s/i, /^z/i, /^[řr]/i, /^l/i, /^p/i],
  28. any: [/^led/i, /^[úu]n/i, /^b[řr]e/i, /^dub/i, /^kv[ěe]/i, /^[čc]vn|[čc]erven(?!\w)|[čc]ervna/i, /^[čc]vc|[čc]erven(ec|ce)/i, /^srp/i, /^z[áa][řr]/i, /^[řr][íi]j/i, /^lis/i, /^pro/i]
  29. };
  30. var matchDayPatterns = {
  31. narrow: /^[npuúsčps]/i,
  32. short: /^(ne|po|[úu]t|st|[čc]t|p[áa]|so)/i,
  33. abbreviated: /^(ned|pon|[úu]te|st[rř]|[čc]tv|p[áa]t|sob)/i,
  34. wide: /^(ned[ěe]le|pond[ěe]l[íi]|[úu]ter[ýy]|st[řr]eda|[čc]tvrtek|p[áa]tek|sobota)/i
  35. };
  36. var parseDayPatterns = {
  37. narrow: [/^n/i, /^p/i, /^[úu]/i, /^s/i, /^[čc]/i, /^p/i, /^s/i],
  38. any: [/^ne/i, /^po/i, /^[úu]t/i, /^st/i, /^[čc]t/i, /^p[áa]/i, /^so/i]
  39. };
  40. var matchDayPeriodPatterns = {
  41. any: /^dopoledne|dop\.?|odpoledne|odp\.?|p[ůu]lnoc|poledne|r[áa]no|odpoledne|ve[čc]er|(v )?noci?/i
  42. };
  43. var parseDayPeriodPatterns = {
  44. any: {
  45. am: /^dop/i,
  46. pm: /^odp/i,
  47. midnight: /^p[ůu]lnoc/i,
  48. noon: /^poledne/i,
  49. morning: /r[áa]no/i,
  50. afternoon: /odpoledne/i,
  51. evening: /ve[čc]er/i,
  52. night: /noc/i
  53. }
  54. };
  55. var match = {
  56. ordinalNumber: buildMatchPatternFn({
  57. matchPattern: matchOrdinalNumberPattern,
  58. parsePattern: parseOrdinalNumberPattern,
  59. valueCallback: function valueCallback(value) {
  60. return parseInt(value, 10);
  61. }
  62. }),
  63. era: buildMatchFn({
  64. matchPatterns: matchEraPatterns,
  65. defaultMatchWidth: 'wide',
  66. parsePatterns: parseEraPatterns,
  67. defaultParseWidth: 'any'
  68. }),
  69. quarter: buildMatchFn({
  70. matchPatterns: matchQuarterPatterns,
  71. defaultMatchWidth: 'wide',
  72. parsePatterns: parseQuarterPatterns,
  73. defaultParseWidth: 'any',
  74. valueCallback: function valueCallback(index) {
  75. return index + 1;
  76. }
  77. }),
  78. month: buildMatchFn({
  79. matchPatterns: matchMonthPatterns,
  80. defaultMatchWidth: 'wide',
  81. parsePatterns: parseMonthPatterns,
  82. defaultParseWidth: 'any'
  83. }),
  84. day: buildMatchFn({
  85. matchPatterns: matchDayPatterns,
  86. defaultMatchWidth: 'wide',
  87. parsePatterns: parseDayPatterns,
  88. defaultParseWidth: 'any'
  89. }),
  90. dayPeriod: buildMatchFn({
  91. matchPatterns: matchDayPeriodPatterns,
  92. defaultMatchWidth: 'any',
  93. parsePatterns: parseDayPeriodPatterns,
  94. defaultParseWidth: 'any'
  95. })
  96. };
  97. export default match;