123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import { Parser } from "../Parser.js";
- import { dayPeriodEnumToHours } from "../utils.js";
- 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"];
- }
|