index.js 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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: /^(ჩვ?\.წ)/i,
  7. abbreviated: /^(ჩვ?\.წ)/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 matchMonthPatterns = {
  22. any: /^(ია|თე|მა|აპ|მს|ვნ|ვლ|აგ|სე|ოქ|ნო|დე)/i
  23. };
  24. var parseMonthPatterns = {
  25. any: [/^ია/i, /^თ/i, /^მარ/i, /^აპ/i, /^მაი/i, /^ი?ვნ/i, /^ი?ვლ/i, /^აგ/i, /^ს/i, /^ო/i, /^ნ/i, /^დ/i]
  26. };
  27. var matchDayPatterns = {
  28. narrow: /^(კვ|ორ|სა|ოთ|ხუ|პა|შა)/i,
  29. short: /^(კვი|ორშ|სამ|ოთხ|ხუთ|პარ|შაბ)/i,
  30. wide: /^(კვირა|ორშაბათი|სამშაბათი|ოთხშაბათი|ხუთშაბათი|პარასკევი|შაბათი)/i
  31. };
  32. var parseDayPatterns = {
  33. any: [/^კვ/i, /^ორ/i, /^სა/i, /^ოთ/i, /^ხუ/i, /^პა/i, /^შა/i]
  34. };
  35. var matchDayPeriodPatterns = {
  36. any: /^([ap]\.?\s?m\.?|შუაღ|დილ)/i
  37. };
  38. var parseDayPeriodPatterns = {
  39. any: {
  40. am: /^a/i,
  41. pm: /^p/i,
  42. midnight: /^შუაღ/i,
  43. noon: /^შუადღ/i,
  44. morning: /^დილ/i,
  45. afternoon: /ნაშუადღევს/i,
  46. evening: /საღამო/i,
  47. night: /ღამ/i
  48. }
  49. };
  50. var match = {
  51. ordinalNumber: buildMatchPatternFn({
  52. matchPattern: matchOrdinalNumberPattern,
  53. parsePattern: parseOrdinalNumberPattern,
  54. valueCallback: function valueCallback(value) {
  55. return parseInt(value, 10);
  56. }
  57. }),
  58. era: buildMatchFn({
  59. matchPatterns: matchEraPatterns,
  60. defaultMatchWidth: 'wide',
  61. parsePatterns: parseEraPatterns,
  62. defaultParseWidth: 'any'
  63. }),
  64. quarter: buildMatchFn({
  65. matchPatterns: matchQuarterPatterns,
  66. defaultMatchWidth: 'wide',
  67. parsePatterns: parseQuarterPatterns,
  68. defaultParseWidth: 'any',
  69. valueCallback: function valueCallback(index) {
  70. return index + 1;
  71. }
  72. }),
  73. month: buildMatchFn({
  74. matchPatterns: matchMonthPatterns,
  75. defaultMatchWidth: 'any',
  76. parsePatterns: parseMonthPatterns,
  77. defaultParseWidth: 'any'
  78. }),
  79. day: buildMatchFn({
  80. matchPatterns: matchDayPatterns,
  81. defaultMatchWidth: 'wide',
  82. parsePatterns: parseDayPatterns,
  83. defaultParseWidth: 'any'
  84. }),
  85. dayPeriod: buildMatchFn({
  86. matchPatterns: matchDayPeriodPatterns,
  87. defaultMatchWidth: 'any',
  88. parsePatterns: parseDayPeriodPatterns,
  89. defaultParseWidth: 'any'
  90. })
  91. };
  92. export default match;