Hour1to12Parser.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.Hour1to12Parser = 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 Hour1to12Parser = /*#__PURE__*/function (_Parser) {
  17. (0, _inherits2.default)(Hour1to12Parser, _Parser);
  18. var _super = (0, _createSuper2.default)(Hour1to12Parser);
  19. function Hour1to12Parser() {
  20. var _this;
  21. (0, _classCallCheck2.default)(this, Hour1to12Parser);
  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", 70);
  27. (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "incompatibleTokens", ['H', 'K', 'k', 't', 'T']);
  28. return _this;
  29. }
  30. (0, _createClass2.default)(Hour1to12Parser, [{
  31. key: "parse",
  32. value: function parse(dateString, token, match) {
  33. switch (token) {
  34. case 'h':
  35. return (0, _utils.parseNumericPattern)(_constants.numericPatterns.hour12h, dateString);
  36. case 'ho':
  37. return match.ordinalNumber(dateString, {
  38. unit: 'hour'
  39. });
  40. default:
  41. return (0, _utils.parseNDigits)(token.length, dateString);
  42. }
  43. }
  44. }, {
  45. key: "validate",
  46. value: function validate(_date, value) {
  47. return value >= 1 && value <= 12;
  48. }
  49. }, {
  50. key: "set",
  51. value: function set(date, _flags, value) {
  52. var isPM = date.getUTCHours() >= 12;
  53. if (isPM && value < 12) {
  54. date.setUTCHours(value + 12, 0, 0, 0);
  55. } else if (!isPM && value === 12) {
  56. date.setUTCHours(0, 0, 0, 0);
  57. } else {
  58. date.setUTCHours(value, 0, 0, 0);
  59. }
  60. return date;
  61. }
  62. }]);
  63. return Hour1to12Parser;
  64. }(_Parser2.Parser);
  65. exports.Hour1to12Parser = Hour1to12Parser;