import { Parser } from "../Parser.mjs"; import { dayPeriodEnumToHours } from "../utils.mjs"; export class AMPMParser extends Parser { priority = 80; parse(dateString, token, match) { switch (token) { case "a": case "aa": case "aaa": return ( match.dayPeriod(dateString, { width: "abbreviated", context: "formatting", }) || match.dayPeriod(dateString, { width: "narrow", context: "formatting", }) ); case "aaaaa": return match.dayPeriod(dateString, { width: "narrow", context: "formatting", }); case "aaaa": default: return ( match.dayPeriod(dateString, { width: "wide", context: "formatting", }) || match.dayPeriod(dateString, { width: "abbreviated", context: "formatting", }) || match.dayPeriod(dateString, { width: "narrow", context: "formatting", }) ); } } set(date, _flags, value) { date.setHours(dayPeriodEnumToHours(value), 0, 0, 0); return date; } incompatibleTokens = ["b", "B", "H", "k", "t", "T"]; }