diff options
Diffstat (limited to 'date-fns/src/locale/zh-TW/_lib/match/index.js')
-rw-r--r-- | date-fns/src/locale/zh-TW/_lib/match/index.js | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/date-fns/src/locale/zh-TW/_lib/match/index.js b/date-fns/src/locale/zh-TW/_lib/match/index.js new file mode 100644 index 0000000..460a9cd --- /dev/null +++ b/date-fns/src/locale/zh-TW/_lib/match/index.js @@ -0,0 +1,135 @@ +import buildMatchPatternFn from '../../../_lib/buildMatchPatternFn/index' +import buildMatchFn from '../../../_lib/buildMatchFn/index' + +var matchOrdinalNumberPattern = /^(第\s*)?\d+(日|時|分|秒)?/i +var parseOrdinalNumberPattern = /\d+/i + +var matchEraPatterns = { + narrow: /^(前)/i, + abbreviated: /^(前)/i, + wide: /^(公元前|公元)/i +} +var parseEraPatterns = { + any: [/^(前)/i, /^(公元)/i] +} + +var matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^第[一二三四]刻/i, + wide: /^第[一二三四]刻鐘/i +} +var parseQuarterPatterns = { + any: [/(1|一)/i, /(2|二)/i, /(3|三)/i, /(4|四)/i] +} + +var matchMonthPatterns = { + narrow: /^(一|二|三|四|五|六|七|八|九|十[二一])/i, + abbreviated: /^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i, + wide: /^(一|二|三|四|五|六|七|八|九|十[二一])月/i +} +var parseMonthPatterns = { + narrow: [ + /^一/i, + /^二/i, + /^三/i, + /^四/i, + /^五/i, + /^六/i, + /^七/i, + /^八/i, + /^九/i, + /^十(?!(一|二))/i, + /^十一/i, + /^十二/i + ], + any: [ + /^一|1/i, + /^二|2/i, + /^三|3/i, + /^四|4/i, + /^五|5/i, + /^六|6/i, + /^七|7/i, + /^八|8/i, + /^九|9/i, + /^十(?!(一|二))|10/i, + /^十一|11/i, + /^十二|12/i + ] +} + +var matchDayPatterns = { + narrow: /^[一二三四五六日]/i, + short: /^[一二三四五六日]/i, + abbreviated: /^週[一二三四五六日]/i, + wide: /^星期[一二三四五六日]/i +} +var parseDayPatterns = { + any: [/日/i, /一/i, /二/i, /三/i, /四/i, /五/i, /六/i] +} + +var matchDayPeriodPatterns = { + any: /^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨)/i +} +var parseDayPeriodPatterns = { + any: { + am: /^上午?/i, + pm: /^下午?/i, + midnight: /^午夜/i, + noon: /^[中正]午/i, + morning: /^早上/i, + afternoon: /^下午/i, + evening: /^晚上?/i, + night: /^凌晨/i + } +} + +var 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: function(index) { + return 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' + }) +} + +export default match |