Hour1To24Parser.js 1.9 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. export var Hour1To24Parser = /*#__PURE__*/function (_Parser) {
  11. _inherits(Hour1To24Parser, _Parser);
  12. var _super = _createSuper(Hour1To24Parser);
  13. function Hour1To24Parser() {
  14. var _this;
  15. _classCallCheck(this, Hour1To24Parser);
  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", 70);
  21. _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ['a', 'b', 'h', 'H', 'K', 't', 'T']);
  22. return _this;
  23. }
  24. _createClass(Hour1To24Parser, [{
  25. key: "parse",
  26. value: function parse(dateString, token, match) {
  27. switch (token) {
  28. case 'k':
  29. return parseNumericPattern(numericPatterns.hour24h, dateString);
  30. case 'ko':
  31. return match.ordinalNumber(dateString, {
  32. unit: 'hour'
  33. });
  34. default:
  35. return parseNDigits(token.length, dateString);
  36. }
  37. }
  38. }, {
  39. key: "validate",
  40. value: function validate(_date, value) {
  41. return value >= 1 && value <= 24;
  42. }
  43. }, {
  44. key: "set",
  45. value: function set(date, _flags, value) {
  46. var hours = value <= 24 ? value % 24 : value;
  47. date.setUTCHours(hours, 0, 0, 0);
  48. return date;
  49. }
  50. }]);
  51. return Hour1To24Parser;
  52. }(Parser);