diff options
Diffstat (limited to 'date-fns/src/locale/ja/_lib/match/index.js')
-rw-r--r-- | date-fns/src/locale/ja/_lib/match/index.js | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/date-fns/src/locale/ja/_lib/match/index.js b/date-fns/src/locale/ja/_lib/match/index.js new file mode 100644 index 0000000..0f14680 --- /dev/null +++ b/date-fns/src/locale/ja/_lib/match/index.js @@ -0,0 +1,122 @@ +import buildMatchPatternFn from '../../../_lib/buildMatchPatternFn/index' +import buildMatchFn from '../../../_lib/buildMatchFn/index' + +var matchOrdinalNumberPattern = /^第?\d+(日)?(年)?/i +var parseOrdinalNumberPattern = /\d+/i + +var matchEraPatterns = { + narrow: /^(B\.?C\.?|A\.?D\.?)/i, + abbreviated: /^(紀元[前後]|西暦)/i, + wide: /^(紀元[前後]|西暦)/i, +} +var parseEraPatterns = { + narrow: [/^B/i, /^A/i], + any: [/^(紀元前)/i, /^(西暦|紀元後)/i], +} + +var matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^Q[1234]/i, + wide: /^第[1234一二三四1234]四半期/i, +} +var parseQuarterPatterns = { + any: [/(1|一|1)/i, /(2|二|2)/i, /(3|三|3)/i, /(4|四|4)/i], +} + +var matchMonthPatterns = { + narrow: /^([123456789]|1[012])/, + abbreviated: /^([123456789]|1[012])月/i, + wide: /^([123456789]|1[012])月/i, +} +var parseMonthPatterns = { + any: [ + /^1\D/, + /^2/, + /^3/, + /^4/, + /^5/, + /^6/, + /^7/, + /^8/, + /^9/, + /^10/, + /^11/, + /^12/, + ], +} + +var matchDayPatterns = { + narrow: /^[日月火水木金土]/, + short: /^[日月火水木金土]/, + abbreviated: /^[日月火水木金土]/, + wide: /^[日月火水木金土]曜日/, +} +var parseDayPatterns = { + any: [/^日/, /^月/, /^火/, /^水/, /^木/, /^金/, /^土/], +} + +var matchDayPeriodPatterns = { + any: /^(AM|PM|午前|午後|正午|深夜|真夜中|夜|朝)/i, +} +var parseDayPeriodPatterns = { + any: { + am: /^(A|午前)/i, + pm: /^(P|午後)/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 |