UNPKG

date-fns

Version:

Modern JavaScript date utility library

63 lines (55 loc) 1.64 kB
import { setDay } from "../../../setDay.js"; import { Parser } from "../Parser.js"; // Day of week export class DayParser extends Parser { priority = 90; parse(dateString, token, match) { switch (token) { // Tue case "E": case "EE": case "EEE": return ( match.day(dateString, { width: "abbreviated", context: "formatting", }) || match.day(dateString, { width: "short", context: "formatting" }) || match.day(dateString, { width: "narrow", context: "formatting" }) ); // T case "EEEEE": return match.day(dateString, { width: "narrow", context: "formatting", }); // Tu case "EEEEEE": return ( match.day(dateString, { width: "short", context: "formatting" }) || match.day(dateString, { width: "narrow", context: "formatting" }) ); // Tuesday case "EEEE": default: return ( match.day(dateString, { width: "wide", context: "formatting" }) || match.day(dateString, { width: "abbreviated", context: "formatting", }) || match.day(dateString, { width: "short", context: "formatting" }) || match.day(dateString, { width: "narrow", context: "formatting" }) ); } } validate(_date, value) { return value >= 0 && value <= 6; } set(date, _flags, value, options) { date = setDay(date, value, options); date.setHours(0, 0, 0, 0); return date; } incompatibleTokens = ["D", "i", "e", "c", "t", "T"]; }