UNPKG

date-fns

Version:

Modern JavaScript date utility library

38 lines 1.52 kB
import buildMatchFn from '../../../_lib/buildMatchFn/index.js'; import buildParseFn from '../../../_lib/buildParseFn/index.js'; import buildMatchPatternFn from '../../../_lib/buildMatchPatternFn/index.js'; import parseDecimal from '../../../_lib/parseDecimal/index.js'; var matchOrdinalNumbersPattern = /^(\d+)(th|st|nd|rd)?/i; var matchWeekdaysPatterns = { narrow: /^(ah|is|se|ra|kh|ju|sa)/i, short: /^(ahd|isn|sel|rab|kha|jum|sab)/i, long: /^(ahad|isnin|selasa|rabu|khamis|jumaat|sabtu)/i }; var parseWeekdayPatterns = { any: [/^a/i, /^i/i, /^se/i, /^r/i, /^k/i, /^j/i, /^sa/i] }; var matchMonthsPatterns = { short: /^(jan|feb|mac|apr|mei|jun|jul|ogo|sep|okt|nov|dis)/i, long: /^(januari|februari|mac|april|mei|jun|julai|ogos|september|oktober|november|disember)/i }; var parseMonthPatterns = { any: [/^ja/i, /^f/i, /^ma/i, /^ap/i, /^me/i, /^jun/i, /^jul/i, /^og/i, /^s/i, /^ok/i, /^n/i, /^d/i] }; var matchTimesOfDayPatterns = { short: /^(am|pm)/i, long: /^([ap]\.?\s?m\.?)/i }; var parseTimeOfDayPatterns = { any: [/^a/i, /^p/i] }; var match = { ordinalNumbers: buildMatchPatternFn(matchOrdinalNumbersPattern), ordinalNumber: parseDecimal, weekdays: buildMatchFn(matchWeekdaysPatterns, 'long'), weekday: buildParseFn(parseWeekdayPatterns, 'any'), months: buildMatchFn(matchMonthsPatterns, 'long'), month: buildParseFn(parseMonthPatterns, 'any'), timesOfDay: buildMatchFn(matchTimesOfDayPatterns, 'long'), timeOfDay: buildParseFn(parseTimeOfDayPatterns, 'any') }; export default match;