DayOfYearParser.js 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.DayOfYearParser = 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 _constants = require("../constants.js");
  15. var _utils = require("../utils.js");
  16. var DayOfYearParser = /*#__PURE__*/function (_Parser) {
  17. (0, _inherits2.default)(DayOfYearParser, _Parser);
  18. var _super = (0, _createSuper2.default)(DayOfYearParser);
  19. function DayOfYearParser() {
  20. var _this;
  21. (0, _classCallCheck2.default)(this, DayOfYearParser);
  22. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  23. args[_key] = arguments[_key];
  24. }
  25. _this = _super.call.apply(_super, [this].concat(args));
  26. (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "priority", 90);
  27. (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "subpriority", 1);
  28. (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "incompatibleTokens", ['Y', 'R', 'q', 'Q', 'M', 'L', 'w', 'I', 'd', 'E', 'i', 'e', 'c', 't', 'T']);
  29. return _this;
  30. }
  31. (0, _createClass2.default)(DayOfYearParser, [{
  32. key: "parse",
  33. value: function parse(dateString, token, match) {
  34. switch (token) {
  35. case 'D':
  36. case 'DD':
  37. return (0, _utils.parseNumericPattern)(_constants.numericPatterns.dayOfYear, dateString);
  38. case 'Do':
  39. return match.ordinalNumber(dateString, {
  40. unit: 'date'
  41. });
  42. default:
  43. return (0, _utils.parseNDigits)(token.length, dateString);
  44. }
  45. }
  46. }, {
  47. key: "validate",
  48. value: function validate(date, value) {
  49. var year = date.getUTCFullYear();
  50. var isLeapYear = (0, _utils.isLeapYearIndex)(year);
  51. if (isLeapYear) {
  52. return value >= 1 && value <= 366;
  53. } else {
  54. return value >= 1 && value <= 365;
  55. }
  56. }
  57. }, {
  58. key: "set",
  59. value: function set(date, _flags, value) {
  60. date.setUTCMonth(0, value);
  61. date.setUTCHours(0, 0, 0, 0);
  62. return date;
  63. }
  64. }]);
  65. return DayOfYearParser;
  66. }(_Parser2.Parser);
  67. exports.DayOfYearParser = DayOfYearParser;