Files
klz-cables.com/.pnpm-store/v10/files/08/c4c349eead6bd5547515fe04a04a1bf0b35c0138fc1cfeb8315e193a1df736b3c9995487300e043e1718822049b512904ed83b89118417b4f19d6f6c889060
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

71 lines
1.9 KiB
Plaintext

"use strict";
exports.YearParser = void 0;
var _Parser = require("../Parser.cjs");
var _utils = require("../utils.cjs");
// From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns
// | Year | y | yy | yyy | yyyy | yyyyy |
// |----------|-------|----|-------|-------|-------|
// | AD 1 | 1 | 01 | 001 | 0001 | 00001 |
// | AD 12 | 12 | 12 | 012 | 0012 | 00012 |
// | AD 123 | 123 | 23 | 123 | 0123 | 00123 |
// | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |
// | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |
class YearParser extends _Parser.Parser {
priority = 130;
incompatibleTokens = ["Y", "R", "u", "w", "I", "i", "e", "c", "t", "T"];
parse(dateString, token, match) {
const valueCallback = (year) => ({
year,
isTwoDigitYear: token === "yy",
});
switch (token) {
case "y":
return (0, _utils.mapValue)(
(0, _utils.parseNDigits)(4, dateString),
valueCallback,
);
case "yo":
return (0, _utils.mapValue)(
match.ordinalNumber(dateString, {
unit: "year",
}),
valueCallback,
);
default:
return (0, _utils.mapValue)(
(0, _utils.parseNDigits)(token.length, dateString),
valueCallback,
);
}
}
validate(_date, value) {
return value.isTwoDigitYear || value.year > 0;
}
set(date, flags, value) {
const currentYear = date.getFullYear();
if (value.isTwoDigitYear) {
const normalizedTwoDigitYear = (0, _utils.normalizeTwoDigitYear)(
value.year,
currentYear,
);
date.setFullYear(normalizedTwoDigitYear, 0, 1);
date.setHours(0, 0, 0, 0);
return date;
}
const year =
!("era" in flags) || flags.era === 1 ? value.year : 1 - value.year;
date.setFullYear(year, 0, 1);
date.setHours(0, 0, 0, 0);
return date;
}
}
exports.YearParser = YearParser;