12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- "use strict";
- exports.QuarterParser = void 0;
- var _Parser = require("../Parser.cjs");
- var _utils = require("../utils.cjs");
- class QuarterParser extends _Parser.Parser {
- priority = 120;
- parse(dateString, token, match) {
- switch (token) {
- // 1, 2, 3, 4
- case "Q":
- case "QQ": // 01, 02, 03, 04
- return (0, _utils.parseNDigits)(token.length, dateString);
- // 1st, 2nd, 3rd, 4th
- case "Qo":
- return match.ordinalNumber(dateString, { unit: "quarter" });
- // Q1, Q2, Q3, Q4
- case "QQQ":
- return (
- match.quarter(dateString, {
- width: "abbreviated",
- context: "formatting",
- }) ||
- match.quarter(dateString, {
- width: "narrow",
- context: "formatting",
- })
- );
- // 1, 2, 3, 4 (narrow quarter; could be not numerical)
- case "QQQQQ":
- return match.quarter(dateString, {
- width: "narrow",
- context: "formatting",
- });
- // 1st quarter, 2nd quarter, ...
- case "QQQQ":
- default:
- return (
- match.quarter(dateString, {
- width: "wide",
- context: "formatting",
- }) ||
- match.quarter(dateString, {
- width: "abbreviated",
- context: "formatting",
- }) ||
- match.quarter(dateString, {
- width: "narrow",
- context: "formatting",
- })
- );
- }
- }
- validate(_date, value) {
- return value >= 1 && value <= 4;
- }
- set(date, _flags, value) {
- date.setMonth((value - 1) * 3, 1);
- date.setHours(0, 0, 0, 0);
- return date;
- }
- incompatibleTokens = [
- "Y",
- "R",
- "q",
- "M",
- "L",
- "w",
- "I",
- "d",
- "D",
- "i",
- "e",
- "c",
- "t",
- "T",
- ];
- }
- exports.QuarterParser = QuarterParser;
|