LocalWeekParser.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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 { numericPatterns } from "../constants.js";
  9. import { parseNumericPattern, parseNDigits } from "../utils.js";
  10. import setUTCWeek from "../../../_lib/setUTCWeek/index.js";
  11. import startOfUTCWeek from "../../../_lib/startOfUTCWeek/index.js"; // Local week of year
  12. export var LocalWeekParser = /*#__PURE__*/function (_Parser) {
  13. _inherits(LocalWeekParser, _Parser);
  14. var _super = _createSuper(LocalWeekParser);
  15. function LocalWeekParser() {
  16. var _this;
  17. _classCallCheck(this, LocalWeekParser);
  18. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  19. args[_key] = arguments[_key];
  20. }
  21. _this = _super.call.apply(_super, [this].concat(args));
  22. _defineProperty(_assertThisInitialized(_this), "priority", 100);
  23. _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']);
  24. return _this;
  25. }
  26. _createClass(LocalWeekParser, [{
  27. key: "parse",
  28. value: function parse(dateString, token, match) {
  29. switch (token) {
  30. case 'w':
  31. return parseNumericPattern(numericPatterns.week, dateString);
  32. case 'wo':
  33. return match.ordinalNumber(dateString, {
  34. unit: 'week'
  35. });
  36. default:
  37. return parseNDigits(token.length, dateString);
  38. }
  39. }
  40. }, {
  41. key: "validate",
  42. value: function validate(_date, value) {
  43. return value >= 1 && value <= 53;
  44. }
  45. }, {
  46. key: "set",
  47. value: function set(date, _flags, value, options) {
  48. return startOfUTCWeek(setUTCWeek(date, value, options), options);
  49. }
  50. }]);
  51. return LocalWeekParser;
  52. }(Parser);