ISOWeekYearParser.cjs 983 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. "use strict";
  2. exports.ISOWeekYearParser = void 0;
  3. var _index = require("../../../startOfISOWeek.cjs");
  4. var _index2 = require("../../../constructFrom.cjs");
  5. var _Parser = require("../Parser.cjs");
  6. var _utils = require("../utils.cjs");
  7. // ISO week-numbering year
  8. class ISOWeekYearParser extends _Parser.Parser {
  9. priority = 130;
  10. parse(dateString, token) {
  11. if (token === "R") {
  12. return (0, _utils.parseNDigitsSigned)(4, dateString);
  13. }
  14. return (0, _utils.parseNDigitsSigned)(token.length, dateString);
  15. }
  16. set(date, _flags, value) {
  17. const firstWeekOfYear = (0, _index2.constructFrom)(date, 0);
  18. firstWeekOfYear.setFullYear(value, 0, 4);
  19. firstWeekOfYear.setHours(0, 0, 0, 0);
  20. return (0, _index.startOfISOWeek)(firstWeekOfYear);
  21. }
  22. incompatibleTokens = [
  23. "G",
  24. "y",
  25. "Y",
  26. "u",
  27. "Q",
  28. "q",
  29. "M",
  30. "L",
  31. "w",
  32. "d",
  33. "D",
  34. "e",
  35. "c",
  36. "t",
  37. "T",
  38. ];
  39. }
  40. exports.ISOWeekYearParser = ISOWeekYearParser;