ISOWeekYearParser.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.ISOWeekYearParser = void 0;
  7. var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
  8. var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
  9. var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
  10. var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
  11. var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
  12. var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
  13. var _Parser2 = require("../Parser.js");
  14. var _utils = require("../utils.js");
  15. var _index = _interopRequireDefault(require("../../../_lib/startOfUTCISOWeek/index.js"));
  16. // ISO week-numbering year
  17. var ISOWeekYearParser = /*#__PURE__*/function (_Parser) {
  18. (0, _inherits2.default)(ISOWeekYearParser, _Parser);
  19. var _super = (0, _createSuper2.default)(ISOWeekYearParser);
  20. function ISOWeekYearParser() {
  21. var _this;
  22. (0, _classCallCheck2.default)(this, ISOWeekYearParser);
  23. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  24. args[_key] = arguments[_key];
  25. }
  26. _this = _super.call.apply(_super, [this].concat(args));
  27. (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "priority", 130);
  28. (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "incompatibleTokens", ['G', 'y', 'Y', 'u', 'Q', 'q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']);
  29. return _this;
  30. }
  31. (0, _createClass2.default)(ISOWeekYearParser, [{
  32. key: "parse",
  33. value: function parse(dateString, token) {
  34. if (token === 'R') {
  35. return (0, _utils.parseNDigitsSigned)(4, dateString);
  36. }
  37. return (0, _utils.parseNDigitsSigned)(token.length, dateString);
  38. }
  39. }, {
  40. key: "set",
  41. value: function set(_date, _flags, value) {
  42. var firstWeekOfYear = new Date(0);
  43. firstWeekOfYear.setUTCFullYear(value, 0, 4);
  44. firstWeekOfYear.setUTCHours(0, 0, 0, 0);
  45. return (0, _index.default)(firstWeekOfYear);
  46. }
  47. }]);
  48. return ISOWeekYearParser;
  49. }(_Parser2.Parser);
  50. exports.ISOWeekYearParser = ISOWeekYearParser;