Blame view

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