123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- "use strict";
- exports.ISOTimezoneWithZParser = void 0;
- var _index = require("../../../constructFrom.cjs");
- var _index2 = require("../../../_lib/getTimezoneOffsetInMilliseconds.cjs");
- var _constants = require("../constants.cjs");
- var _Parser = require("../Parser.cjs");
- var _utils = require("../utils.cjs");
- // Timezone (ISO-8601. +00:00 is `'Z'`)
- class ISOTimezoneWithZParser extends _Parser.Parser {
- priority = 10;
- parse(dateString, token) {
- switch (token) {
- case "X":
- return (0, _utils.parseTimezonePattern)(
- _constants.timezonePatterns.basicOptionalMinutes,
- dateString,
- );
- case "XX":
- return (0, _utils.parseTimezonePattern)(
- _constants.timezonePatterns.basic,
- dateString,
- );
- case "XXXX":
- return (0, _utils.parseTimezonePattern)(
- _constants.timezonePatterns.basicOptionalSeconds,
- dateString,
- );
- case "XXXXX":
- return (0, _utils.parseTimezonePattern)(
- _constants.timezonePatterns.extendedOptionalSeconds,
- dateString,
- );
- case "XXX":
- default:
- return (0, _utils.parseTimezonePattern)(
- _constants.timezonePatterns.extended,
- dateString,
- );
- }
- }
- set(date, flags, value) {
- if (flags.timestampIsSet) return date;
- return (0, _index.constructFrom)(
- date,
- date.getTime() -
- (0, _index2.getTimezoneOffsetInMilliseconds)(date) -
- value,
- );
- }
- incompatibleTokens = ["t", "T", "x"];
- }
- exports.ISOTimezoneWithZParser = ISOTimezoneWithZParser;
|