timepiece/node_modules/date-fns/parse/_lib/parsers/SecondParser.mjs

30 lines
720 B
JavaScript
Raw Normal View History

2024-05-14 14:54:12 +00:00
import { numericPatterns } from "../constants.mjs";
import { Parser } from "../Parser.mjs";
import { parseNDigits, parseNumericPattern } from "../utils.mjs";
export class SecondParser extends Parser {
priority = 50;
parse(dateString, token, match) {
switch (token) {
case "s":
return parseNumericPattern(numericPatterns.second, dateString);
case "so":
return match.ordinalNumber(dateString, { unit: "second" });
default:
return parseNDigits(token.length, dateString);
}
}
validate(_date, value) {
return value >= 0 && value <= 59;
}
set(date, _flags, value) {
date.setSeconds(value, 0);
return date;
}
incompatibleTokens = ["t", "T"];
}