index.js 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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: /^((пр)?н\.?\s?е\.?)/i,
  7. abbreviated: /^((пр)?н\.?\s?е\.?)/i,
  8. wide: /^(пред нашата ера|нашата ера)/i
  9. };
  10. var parseEraPatterns = {
  11. any: [/^п/i, /^н/i]
  12. };
  13. var matchQuarterPatterns = {
  14. narrow: /^[1234]/i,
  15. abbreviated: /^[1234](-?[врт]?и?)? кв.?/i,
  16. wide: /^[1234](-?[врт]?и?)? квартал/i
  17. };
  18. var parseQuarterPatterns = {
  19. any: [/1/i, /2/i, /3/i, /4/i]
  20. };
  21. var matchDayPatterns = {
  22. narrow: /^[нпвсч]/i,
  23. short: /^(не|по|вт|ср|че|пе|са)/i,
  24. abbreviated: /^(нед|пон|вто|сре|чет|пет|саб)/i,
  25. wide: /^(недела|понеделник|вторник|среда|четврток|петок|сабота)/i
  26. };
  27. var parseDayPatterns = {
  28. narrow: [/^н/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i],
  29. any: [/^н[ед]/i, /^п[он]/i, /^вт/i, /^ср/i, /^ч[ет]/i, /^п[ет]/i, /^с[аб]/i]
  30. };
  31. var matchMonthPatterns = {
  32. abbreviated: /^(јан|фев|мар|апр|мај|јун|јул|авг|сеп|окт|ноем|дек)/i,
  33. wide: /^(јануари|февруари|март|април|мај|јуни|јули|август|септември|октомври|ноември|декември)/i
  34. };
  35. var parseMonthPatterns = {
  36. any: [/^ја/i, /^Ф/i, /^мар/i, /^ап/i, /^мај/i, /^јун/i, /^јул/i, /^ав/i, /^се/i, /^окт/i, /^но/i, /^де/i]
  37. };
  38. var matchDayPeriodPatterns = {
  39. any: /^(претп|попл|полноќ|утро|пладне|вечер|ноќ)/i
  40. };
  41. var parseDayPeriodPatterns = {
  42. any: {
  43. am: /претпладне/i,
  44. pm: /попладне/i,
  45. midnight: /полноќ/i,
  46. noon: /напладне/i,
  47. morning: /наутро/i,
  48. afternoon: /попладне/i,
  49. evening: /навечер/i,
  50. night: /ноќе/i
  51. }
  52. };
  53. var match = {
  54. ordinalNumber: buildMatchPatternFn({
  55. matchPattern: matchOrdinalNumberPattern,
  56. parsePattern: parseOrdinalNumberPattern,
  57. valueCallback: function valueCallback(value) {
  58. return parseInt(value, 10);
  59. }
  60. }),
  61. era: buildMatchFn({
  62. matchPatterns: matchEraPatterns,
  63. defaultMatchWidth: 'wide',
  64. parsePatterns: parseEraPatterns,
  65. defaultParseWidth: 'any'
  66. }),
  67. quarter: buildMatchFn({
  68. matchPatterns: matchQuarterPatterns,
  69. defaultMatchWidth: 'wide',
  70. parsePatterns: parseQuarterPatterns,
  71. defaultParseWidth: 'any',
  72. valueCallback: function valueCallback(index) {
  73. return index + 1;
  74. }
  75. }),
  76. month: buildMatchFn({
  77. matchPatterns: matchMonthPatterns,
  78. defaultMatchWidth: 'wide',
  79. parsePatterns: parseMonthPatterns,
  80. defaultParseWidth: 'any'
  81. }),
  82. day: buildMatchFn({
  83. matchPatterns: matchDayPatterns,
  84. defaultMatchWidth: 'wide',
  85. parsePatterns: parseDayPatterns,
  86. defaultParseWidth: 'any'
  87. }),
  88. dayPeriod: buildMatchFn({
  89. matchPatterns: matchDayPeriodPatterns,
  90. defaultMatchWidth: 'any',
  91. parsePatterns: parseDayPeriodPatterns,
  92. defaultParseWidth: 'any'
  93. })
  94. };
  95. export default match;