ISOWeekYearParser.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
  2. import _createClass from "@babel/runtime/helpers/esm/createClass";
  3. import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
  4. import _inherits from "@babel/runtime/helpers/esm/inherits";
  5. import _createSuper from "@babel/runtime/helpers/esm/createSuper";
  6. import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
  7. import { Parser } from "../Parser.js";
  8. import { parseNDigitsSigned } from "../utils.js";
  9. import startOfUTCISOWeek from "../../../_lib/startOfUTCISOWeek/index.js"; // ISO week-numbering year
  10. export var ISOWeekYearParser = /*#__PURE__*/function (_Parser) {
  11. _inherits(ISOWeekYearParser, _Parser);
  12. var _super = _createSuper(ISOWeekYearParser);
  13. function ISOWeekYearParser() {
  14. var _this;
  15. _classCallCheck(this, ISOWeekYearParser);
  16. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  17. args[_key] = arguments[_key];
  18. }
  19. _this = _super.call.apply(_super, [this].concat(args));
  20. _defineProperty(_assertThisInitialized(_this), "priority", 130);
  21. _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ['G', 'y', 'Y', 'u', 'Q', 'q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']);
  22. return _this;
  23. }
  24. _createClass(ISOWeekYearParser, [{
  25. key: "parse",
  26. value: function parse(dateString, token) {
  27. if (token === 'R') {
  28. return parseNDigitsSigned(4, dateString);
  29. }
  30. return parseNDigitsSigned(token.length, dateString);
  31. }
  32. }, {
  33. key: "set",
  34. value: function set(_date, _flags, value) {
  35. var firstWeekOfYear = new Date(0);
  36. firstWeekOfYear.setUTCFullYear(value, 0, 4);
  37. firstWeekOfYear.setUTCHours(0, 0, 0, 0);
  38. return startOfUTCISOWeek(firstWeekOfYear);
  39. }
  40. }]);
  41. return ISOWeekYearParser;
  42. }(Parser);