match.cjs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. "use strict";
  2. exports.match = void 0;
  3. var _index = require("../../_lib/buildMatchFn.cjs");
  4. var _index2 = require("../../_lib/buildMatchPatternFn.cjs");
  5. const matchOrdinalNumberPattern =
  6. /^だ?い?\d+(ねん|しはんき|がつ|しゅう|にち|じ|ふん|びょう)?/i;
  7. const parseOrdinalNumberPattern = /\d+/i;
  8. const matchEraPatterns = {
  9. narrow: /^(B\.?C\.?|A\.?D\.?)/i,
  10. abbreviated: /^(きげん[前後]|せいれき)/i,
  11. wide: /^(きげん[前後]|せいれき)/i,
  12. };
  13. const parseEraPatterns = {
  14. narrow: [/^B/i, /^A/i],
  15. any: [/^(きげんぜん)/i, /^(せいれき|きげんご)/i],
  16. };
  17. const matchQuarterPatterns = {
  18. narrow: /^[1234]/i,
  19. abbreviated: /^Q[1234]/i,
  20. wide: /^だい[1234一二三四1234]しはんき/i,
  21. };
  22. const parseQuarterPatterns = {
  23. any: [/(1|一|1)/i, /(2|二|2)/i, /(3|三|3)/i, /(4|四|4)/i],
  24. };
  25. const matchMonthPatterns = {
  26. narrow: /^([123456789]|1[012])/,
  27. abbreviated: /^([123456789]|1[012])がつ/i,
  28. wide: /^([123456789]|1[012])がつ/i,
  29. };
  30. const parseMonthPatterns = {
  31. any: [
  32. /^1\D/,
  33. /^2/,
  34. /^3/,
  35. /^4/,
  36. /^5/,
  37. /^6/,
  38. /^7/,
  39. /^8/,
  40. /^9/,
  41. /^10/,
  42. /^11/,
  43. /^12/,
  44. ],
  45. };
  46. const matchDayPatterns = {
  47. narrow: /^(にち|げつ|か|すい|もく|きん|ど)/,
  48. short: /^(にち|げつ|か|すい|もく|きん|ど)/,
  49. abbreviated: /^(にち|げつ|か|すい|もく|きん|ど)/,
  50. wide: /^(にち|げつ|か|すい|もく|きん|ど)ようび/,
  51. };
  52. const parseDayPatterns = {
  53. any: [/^にち/, /^げつ/, /^か/, /^すい/, /^もく/, /^きん/, /^ど/],
  54. };
  55. const matchDayPeriodPatterns = {
  56. any: /^(AM|PM|ごぜん|ごご|しょうご|しんや|まよなか|よる|あさ)/i,
  57. };
  58. const parseDayPeriodPatterns = {
  59. any: {
  60. am: /^(A|ごぜん)/i,
  61. pm: /^(P|ごご)/i,
  62. midnight: /^しんや|まよなか/i,
  63. noon: /^しょうご/i,
  64. morning: /^あさ/i,
  65. afternoon: /^ごご/i,
  66. evening: /^よる/i,
  67. night: /^しんや/i,
  68. },
  69. };
  70. const match = (exports.match = {
  71. ordinalNumber: (0, _index2.buildMatchPatternFn)({
  72. matchPattern: matchOrdinalNumberPattern,
  73. parsePattern: parseOrdinalNumberPattern,
  74. valueCallback: function (value) {
  75. return parseInt(value, 10);
  76. },
  77. }),
  78. era: (0, _index.buildMatchFn)({
  79. matchPatterns: matchEraPatterns,
  80. defaultMatchWidth: "wide",
  81. parsePatterns: parseEraPatterns,
  82. defaultParseWidth: "any",
  83. }),
  84. quarter: (0, _index.buildMatchFn)({
  85. matchPatterns: matchQuarterPatterns,
  86. defaultMatchWidth: "wide",
  87. parsePatterns: parseQuarterPatterns,
  88. defaultParseWidth: "any",
  89. valueCallback: (index) => index + 1,
  90. }),
  91. month: (0, _index.buildMatchFn)({
  92. matchPatterns: matchMonthPatterns,
  93. defaultMatchWidth: "wide",
  94. parsePatterns: parseMonthPatterns,
  95. defaultParseWidth: "any",
  96. }),
  97. day: (0, _index.buildMatchFn)({
  98. matchPatterns: matchDayPatterns,
  99. defaultMatchWidth: "wide",
  100. parsePatterns: parseDayPatterns,
  101. defaultParseWidth: "any",
  102. }),
  103. dayPeriod: (0, _index.buildMatchFn)({
  104. matchPatterns: matchDayPeriodPatterns,
  105. defaultMatchWidth: "any",
  106. parsePatterns: parseDayPeriodPatterns,
  107. defaultParseWidth: "any",
  108. }),
  109. });