import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized"; import _inherits from "@babel/runtime/helpers/esm/inherits"; import _createSuper from "@babel/runtime/helpers/esm/createSuper"; import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck"; import _createClass from "@babel/runtime/helpers/esm/createClass"; import _defineProperty from "@babel/runtime/helpers/esm/defineProperty"; var TIMEZONE_UNIT_PRIORITY = 10; export var Setter = /*#__PURE__*/function () { function Setter() { _classCallCheck(this, Setter); _defineProperty(this, "priority", void 0); _defineProperty(this, "subPriority", 0); } _createClass(Setter, [{ key: "validate", value: function validate(_utcDate, _options) { return true; } }]); return Setter; }(); export var ValueSetter = /*#__PURE__*/function (_Setter) { _inherits(ValueSetter, _Setter); var _super = _createSuper(ValueSetter); function ValueSetter(value, validateValue, setValue, priority, subPriority) { var _this; _classCallCheck(this, ValueSetter); _this = _super.call(this); _this.value = value; _this.validateValue = validateValue; _this.setValue = setValue; _this.priority = priority; if (subPriority) { _this.subPriority = subPriority; } return _this; } _createClass(ValueSetter, [{ key: "validate", value: function validate(utcDate, options) { return this.validateValue(utcDate, this.value, options); } }, { key: "set", value: function set(utcDate, flags, options) { return this.setValue(utcDate, flags, this.value, options); } }]); return ValueSetter; }(Setter); export var DateToSystemTimezoneSetter = /*#__PURE__*/function (_Setter2) { _inherits(DateToSystemTimezoneSetter, _Setter2); var _super2 = _createSuper(DateToSystemTimezoneSetter); function DateToSystemTimezoneSetter() { var _this2; _classCallCheck(this, DateToSystemTimezoneSetter); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this2 = _super2.call.apply(_super2, [this].concat(args)); _defineProperty(_assertThisInitialized(_this2), "priority", TIMEZONE_UNIT_PRIORITY); _defineProperty(_assertThisInitialized(_this2), "subPriority", -1); return _this2; } _createClass(DateToSystemTimezoneSetter, [{ key: "set", value: function set(date, flags) { if (flags.timestampIsSet) { return date; } var convertedDate = new Date(0); convertedDate.setFullYear(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()); convertedDate.setHours(date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds()); return convertedDate; } }]); return DateToSystemTimezoneSetter; }(Setter);