123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import { Parser } from "../Parser.js";
- import { dayPeriodEnumToHours } from "../utils.js";
- export class AMPMMidnightParser extends Parser {
- priority = 80;
- parse(dateString, token, match) {
- switch (token) {
- case "b":
- case "bb":
- case "bbb":
- return (
- match.dayPeriod(dateString, {
- width: "abbreviated",
- context: "formatting",
- }) ||
- match.dayPeriod(dateString, {
- width: "narrow",
- context: "formatting",
- })
- );
- case "bbbbb":
- return match.dayPeriod(dateString, {
- width: "narrow",
- context: "formatting",
- });
- case "bbbb":
- 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 = ["a", "B", "H", "k", "t", "T"];
- }
|