match.cjs 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. "use strict";
  2. exports.match = void 0;
  3. var _index = require("../../_lib/buildMatchPatternFn.cjs");
  4. var _index2 = require("../../_lib/buildMatchFn.cjs");
  5. const matchOrdinalNumberPattern = /^第?\d+(年|四半期|月|週|日|時|分|秒)?/i;
  6. const parseOrdinalNumberPattern = /\d+/i;
  7. const matchEraPatterns = {
  8. narrow: /^(B\.?C\.?|A\.?D\.?)/i,
  9. abbreviated: /^(紀元[前後]|西暦)/i,
  10. wide: /^(紀元[前後]|西暦)/i,
  11. };
  12. const parseEraPatterns = {
  13. narrow: [/^B/i, /^A/i],
  14. any: [/^(紀元前)/i, /^(西暦|紀元後)/i],
  15. };
  16. const matchQuarterPatterns = {
  17. narrow: /^[1234]/i,
  18. abbreviated: /^Q[1234]/i,
  19. wide: /^第[1234一二三四1234]四半期/i,
  20. };
  21. const parseQuarterPatterns = {
  22. any: [/(1|一|1)/i, /(2|二|2)/i, /(3|三|3)/i, /(4|四|4)/i],
  23. };
  24. const matchMonthPatterns = {
  25. narrow: /^([123456789]|1[012])/,
  26. abbreviated: /^([123456789]|1[012])月/i,
  27. wide: /^([123456789]|1[012])月/i,
  28. };
  29. const parseMonthPatterns = {
  30. any: [
  31. /^1\D/,
  32. /^2/,
  33. /^3/,
  34. /^4/,
  35. /^5/,
  36. /^6/,
  37. /^7/,
  38. /^8/,
  39. /^9/,
  40. /^10/,
  41. /^11/,
  42. /^12/,
  43. ],
  44. };
  45. const matchDayPatterns = {
  46. narrow: /^[日月火水木金土]/,
  47. short: /^[日月火水木金土]/,
  48. abbreviated: /^[日月火水木金土]/,
  49. wide: /^[日月火水木金土]曜日/,
  50. };
  51. const parseDayPatterns = {
  52. any: [/^日/, /^月/, /^火/, /^水/, /^木/, /^金/, /^土/],
  53. };
  54. const matchDayPeriodPatterns = {
  55. any: /^(AM|PM|午前|午後|正午|深夜|真夜中|夜|朝)/i,
  56. };
  57. const parseDayPeriodPatterns = {
  58. any: {
  59. am: /^(A|午前)/i,
  60. pm: /^(P|午後)/i,
  61. midnight: /^深夜|真夜中/i,
  62. noon: /^正午/i,
  63. morning: /^朝/i,
  64. afternoon: /^午後/i,
  65. evening: /^夜/i,
  66. night: /^深夜/i,
  67. },
  68. };
  69. const match = (exports.match = {
  70. ordinalNumber: (0, _index.buildMatchPatternFn)({
  71. matchPattern: matchOrdinalNumberPattern,
  72. parsePattern: parseOrdinalNumberPattern,
  73. valueCallback: function (value) {
  74. return parseInt(value, 10);
  75. },
  76. }),
  77. era: (0, _index2.buildMatchFn)({
  78. matchPatterns: matchEraPatterns,
  79. defaultMatchWidth: "wide",
  80. parsePatterns: parseEraPatterns,
  81. defaultParseWidth: "any",
  82. }),
  83. quarter: (0, _index2.buildMatchFn)({
  84. matchPatterns: matchQuarterPatterns,
  85. defaultMatchWidth: "wide",
  86. parsePatterns: parseQuarterPatterns,
  87. defaultParseWidth: "any",
  88. valueCallback: (index) => index + 1,
  89. }),
  90. month: (0, _index2.buildMatchFn)({
  91. matchPatterns: matchMonthPatterns,
  92. defaultMatchWidth: "wide",
  93. parsePatterns: parseMonthPatterns,
  94. defaultParseWidth: "any",
  95. }),
  96. day: (0, _index2.buildMatchFn)({
  97. matchPatterns: matchDayPatterns,
  98. defaultMatchWidth: "wide",
  99. parsePatterns: parseDayPatterns,
  100. defaultParseWidth: "any",
  101. }),
  102. dayPeriod: (0, _index2.buildMatchFn)({
  103. matchPatterns: matchDayPeriodPatterns,
  104. defaultMatchWidth: "any",
  105. parsePatterns: parseDayPeriodPatterns,
  106. defaultParseWidth: "any",
  107. }),
  108. });