ISOTimezoneWithZParser.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.ISOTimezoneWithZParser = 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. // Timezone (ISO-8601. +00:00 is `'Z'`)
  17. var ISOTimezoneWithZParser = /*#__PURE__*/function (_Parser) {
  18. (0, _inherits2.default)(ISOTimezoneWithZParser, _Parser);
  19. var _super = (0, _createSuper2.default)(ISOTimezoneWithZParser);
  20. function ISOTimezoneWithZParser() {
  21. var _this;
  22. (0, _classCallCheck2.default)(this, ISOTimezoneWithZParser);
  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", 10);
  28. (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "incompatibleTokens", ['t', 'T', 'x']);
  29. return _this;
  30. }
  31. (0, _createClass2.default)(ISOTimezoneWithZParser, [{
  32. key: "parse",
  33. value: function parse(dateString, token) {
  34. switch (token) {
  35. case 'X':
  36. return (0, _utils.parseTimezonePattern)(_constants.timezonePatterns.basicOptionalMinutes, dateString);
  37. case 'XX':
  38. return (0, _utils.parseTimezonePattern)(_constants.timezonePatterns.basic, dateString);
  39. case 'XXXX':
  40. return (0, _utils.parseTimezonePattern)(_constants.timezonePatterns.basicOptionalSeconds, dateString);
  41. case 'XXXXX':
  42. return (0, _utils.parseTimezonePattern)(_constants.timezonePatterns.extendedOptionalSeconds, dateString);
  43. case 'XXX':
  44. default:
  45. return (0, _utils.parseTimezonePattern)(_constants.timezonePatterns.extended, dateString);
  46. }
  47. }
  48. }, {
  49. key: "set",
  50. value: function set(date, flags, value) {
  51. if (flags.timestampIsSet) {
  52. return date;
  53. }
  54. return new Date(date.getTime() - value);
  55. }
  56. }]);
  57. return ISOTimezoneWithZParser;
  58. }(_Parser2.Parser);
  59. exports.ISOTimezoneWithZParser = ISOTimezoneWithZParser;