timepiece/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js

47 lines
979 B
JavaScript
Raw Normal View History

2024-05-14 14:54:12 +00:00
"use strict";
exports.ISOWeekYearParser = void 0;
var _index = require("../../../startOfISOWeek.js");
var _index2 = require("../../../constructFrom.js");
var _Parser = require("../Parser.js");
var _utils = require("../utils.js");
// ISO week-numbering year
class ISOWeekYearParser extends _Parser.Parser {
priority = 130;
parse(dateString, token) {
if (token === "R") {
return (0, _utils.parseNDigitsSigned)(4, dateString);
}
return (0, _utils.parseNDigitsSigned)(token.length, dateString);
}
set(date, _flags, value) {
const firstWeekOfYear = (0, _index2.constructFrom)(date, 0);
firstWeekOfYear.setFullYear(value, 0, 4);
firstWeekOfYear.setHours(0, 0, 0, 0);
return (0, _index.startOfISOWeek)(firstWeekOfYear);
}
incompatibleTokens = [
"G",
"y",
"Y",
"u",
"Q",
"q",
"M",
"L",
"w",
"d",
"D",
"e",
"c",
"t",
"T",
];
}
exports.ISOWeekYearParser = ISOWeekYearParser;