From 210a70b56c09fbf4b68bb24dfe1678576514b44d Mon Sep 17 00:00:00 2001 From: Kichiyaki Date: Fri, 1 Jan 2021 16:55:56 +0100 Subject: [PATCH] src/extendedMapPopup.js - fix distance formula | src/dailyAchievements.js - should show the same data for all timezones --- dist/dailyAchievements.js | 2816 +++++++++++++++++++++++++++- dist/extendedMapPopup.js | 4 +- dist/quickbar/dailyAchievements.js | 72 +- dist/quickbar/extendedMapPopup.js | 2 +- src/dailyAchievements.js | 10 +- src/extendedMapPopup.js | 4 +- src/utils/date.js | 7 + 7 files changed, 2900 insertions(+), 15 deletions(-) create mode 100644 src/utils/date.js diff --git a/dist/dailyAchievements.js b/dist/dailyAchievements.js index 0ffc5a1..a909aeb 100644 --- a/dist/dailyAchievements.js +++ b/dist/dailyAchievements.js @@ -117,7 +117,2784 @@ parcelRequire = (function (modules, cache, entry, globalName) { } return newRequire; -})({"Ph2E":[function(require,module,exports) { +})({"kK6Q":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = requiredArgs; + +function requiredArgs(required, args) { + if (args.length < required) { + throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present'); + } +} +},{}],"KYJg":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = toDate; + +var _index = _interopRequireDefault(require("../_lib/requiredArgs/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name toDate + * @category Common Helpers + * @summary Convert the given argument to an instance of Date. + * + * @description + * Convert the given argument to an instance of Date. + * + * If the argument is an instance of Date, the function returns its clone. + * + * If the argument is a number, it is treated as a timestamp. + * + * If the argument is none of the above, the function returns Invalid Date. + * + * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`. + * + * @param {Date|Number} argument - the value to convert + * @returns {Date} the parsed date in the local time zone + * @throws {TypeError} 1 argument required + * + * @example + * // Clone the date: + * const result = toDate(new Date(2014, 1, 11, 11, 30, 30)) + * //=> Tue Feb 11 2014 11:30:30 + * + * @example + * // Convert the timestamp to date: + * const result = toDate(1392098430000) + * //=> Tue Feb 11 2014 11:30:30 + */ +function toDate(argument) { + (0, _index.default)(1, arguments); + var argStr = Object.prototype.toString.call(argument); // Clone the date + + if (argument instanceof Date || typeof argument === 'object' && argStr === '[object Date]') { + // Prevent the date to lose the milliseconds when passed to new Date() in IE10 + return new Date(argument.getTime()); + } else if (typeof argument === 'number' || argStr === '[object Number]') { + return new Date(argument); + } else { + if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') { + // eslint-disable-next-line no-console + console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule"); // eslint-disable-next-line no-console + + console.warn(new Error().stack); + } + + return new Date(NaN); + } +} +},{"../_lib/requiredArgs/index.js":"kK6Q"}],"WNaj":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isValid; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../_lib/requiredArgs/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isValid + * @category Common Helpers + * @summary Is the given date valid? + * + * @description + * Returns false if argument is Invalid Date and true otherwise. + * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate} + * Invalid Date is a Date, whose time value is NaN. + * + * Time value of Date: http://es5.github.io/#x15.9.1.1 + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - Now `isValid` doesn't throw an exception + * if the first argument is not an instance of Date. + * Instead, argument is converted beforehand using `toDate`. + * + * Examples: + * + * | `isValid` argument | Before v2.0.0 | v2.0.0 onward | + * |---------------------------|---------------|---------------| + * | `new Date()` | `true` | `true` | + * | `new Date('2016-01-01')` | `true` | `true` | + * | `new Date('')` | `false` | `false` | + * | `new Date(1488370835081)` | `true` | `true` | + * | `new Date(NaN)` | `false` | `false` | + * | `'2016-01-01'` | `TypeError` | `false` | + * | `''` | `TypeError` | `false` | + * | `1488370835081` | `TypeError` | `true` | + * | `NaN` | `TypeError` | `false` | + * + * We introduce this change to make *date-fns* consistent with ECMAScript behavior + * that try to coerce arguments to the expected type + * (which is also the case with other *date-fns* functions). + * + * @param {*} date - the date to check + * @returns {Boolean} the date is valid + * @throws {TypeError} 1 argument required + * + * @example + * // For the valid date: + * var result = isValid(new Date(2014, 1, 31)) + * //=> true + * + * @example + * // For the value, convertable into a date: + * var result = isValid(1393804800000) + * //=> true + * + * @example + * // For the invalid date: + * var result = isValid(new Date('')) + * //=> false + */ +function isValid(dirtyDate) { + (0, _index2.default)(1, arguments); + var date = (0, _index.default)(dirtyDate); + return !isNaN(date); +} +},{"../toDate/index.js":"KYJg","../_lib/requiredArgs/index.js":"kK6Q"}],"ACz4":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = formatDistance; +var formatDistanceLocale = { + lessThanXSeconds: { + one: 'less than a second', + other: 'less than {{count}} seconds' + }, + xSeconds: { + one: '1 second', + other: '{{count}} seconds' + }, + halfAMinute: 'half a minute', + lessThanXMinutes: { + one: 'less than a minute', + other: 'less than {{count}} minutes' + }, + xMinutes: { + one: '1 minute', + other: '{{count}} minutes' + }, + aboutXHours: { + one: 'about 1 hour', + other: 'about {{count}} hours' + }, + xHours: { + one: '1 hour', + other: '{{count}} hours' + }, + xDays: { + one: '1 day', + other: '{{count}} days' + }, + aboutXWeeks: { + one: 'about 1 week', + other: 'about {{count}} weeks' + }, + xWeeks: { + one: '1 week', + other: '{{count}} weeks' + }, + aboutXMonths: { + one: 'about 1 month', + other: 'about {{count}} months' + }, + xMonths: { + one: '1 month', + other: '{{count}} months' + }, + aboutXYears: { + one: 'about 1 year', + other: 'about {{count}} years' + }, + xYears: { + one: '1 year', + other: '{{count}} years' + }, + overXYears: { + one: 'over 1 year', + other: 'over {{count}} years' + }, + almostXYears: { + one: 'almost 1 year', + other: 'almost {{count}} years' + } +}; + +function formatDistance(token, count, options) { + options = options || {}; + var result; + + if (typeof formatDistanceLocale[token] === 'string') { + result = formatDistanceLocale[token]; + } else if (count === 1) { + result = formatDistanceLocale[token].one; + } else { + result = formatDistanceLocale[token].other.replace('{{count}}', count); + } + + if (options.addSuffix) { + if (options.comparison > 0) { + return 'in ' + result; + } else { + return result + ' ago'; + } + } + + return result; +} +},{}],"byVx":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = buildFormatLongFn; + +function buildFormatLongFn(args) { + return function (dirtyOptions) { + var options = dirtyOptions || {}; + var width = options.width ? String(options.width) : args.defaultWidth; + var format = args.formats[width] || args.formats[args.defaultWidth]; + return format; + }; +} +},{}],"H2aS":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _index = _interopRequireDefault(require("../../../_lib/buildFormatLongFn/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var dateFormats = { + full: 'EEEE, MMMM do, y', + long: 'MMMM do, y', + medium: 'MMM d, y', + short: 'MM/dd/yyyy' +}; +var timeFormats = { + full: 'h:mm:ss a zzzz', + long: 'h:mm:ss a z', + medium: 'h:mm:ss a', + short: 'h:mm a' +}; +var dateTimeFormats = { + full: "{{date}} 'at' {{time}}", + long: "{{date}} 'at' {{time}}", + medium: '{{date}}, {{time}}', + short: '{{date}}, {{time}}' +}; +var formatLong = { + date: (0, _index.default)({ + formats: dateFormats, + defaultWidth: 'full' + }), + time: (0, _index.default)({ + formats: timeFormats, + defaultWidth: 'full' + }), + dateTime: (0, _index.default)({ + formats: dateTimeFormats, + defaultWidth: 'full' + }) +}; +var _default = formatLong; +exports.default = _default; +},{"../../../_lib/buildFormatLongFn/index.js":"byVx"}],"ZyeE":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = formatRelative; +var formatRelativeLocale = { + lastWeek: "'last' eeee 'at' p", + yesterday: "'yesterday at' p", + today: "'today at' p", + tomorrow: "'tomorrow at' p", + nextWeek: "eeee 'at' p", + other: 'P' +}; + +function formatRelative(token, _date, _baseDate, _options) { + return formatRelativeLocale[token]; +} +},{}],"VNZ0":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = buildLocalizeFn; + +function buildLocalizeFn(args) { + return function (dirtyIndex, dirtyOptions) { + var options = dirtyOptions || {}; + var context = options.context ? String(options.context) : 'standalone'; + var valuesArray; + + if (context === 'formatting' && args.formattingValues) { + var defaultWidth = args.defaultFormattingWidth || args.defaultWidth; + var width = options.width ? String(options.width) : defaultWidth; + valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth]; + } else { + var _defaultWidth = args.defaultWidth; + + var _width = options.width ? String(options.width) : args.defaultWidth; + + valuesArray = args.values[_width] || args.values[_defaultWidth]; + } + + var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex; + return valuesArray[index]; + }; +} +},{}],"PTsv":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _index = _interopRequireDefault(require("../../../_lib/buildLocalizeFn/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var eraValues = { + narrow: ['B', 'A'], + abbreviated: ['BC', 'AD'], + wide: ['Before Christ', 'Anno Domini'] +}; +var quarterValues = { + narrow: ['1', '2', '3', '4'], + abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'], + wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'] // Note: in English, the names of days of the week and months are capitalized. + // If you are making a new locale based on this one, check if the same is true for the language you're working on. + // Generally, formatted dates should look like they are in the middle of a sentence, + // e.g. in Spanish language the weekdays and months should be in the lowercase. + +}; +var monthValues = { + narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] +}; +var dayValues = { + narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], + abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'] +}; +var dayPeriodValues = { + narrow: { + am: 'a', + pm: 'p', + midnight: 'mi', + noon: 'n', + morning: 'morning', + afternoon: 'afternoon', + evening: 'evening', + night: 'night' + }, + abbreviated: { + am: 'AM', + pm: 'PM', + midnight: 'midnight', + noon: 'noon', + morning: 'morning', + afternoon: 'afternoon', + evening: 'evening', + night: 'night' + }, + wide: { + am: 'a.m.', + pm: 'p.m.', + midnight: 'midnight', + noon: 'noon', + morning: 'morning', + afternoon: 'afternoon', + evening: 'evening', + night: 'night' + } +}; +var formattingDayPeriodValues = { + narrow: { + am: 'a', + pm: 'p', + midnight: 'mi', + noon: 'n', + morning: 'in the morning', + afternoon: 'in the afternoon', + evening: 'in the evening', + night: 'at night' + }, + abbreviated: { + am: 'AM', + pm: 'PM', + midnight: 'midnight', + noon: 'noon', + morning: 'in the morning', + afternoon: 'in the afternoon', + evening: 'in the evening', + night: 'at night' + }, + wide: { + am: 'a.m.', + pm: 'p.m.', + midnight: 'midnight', + noon: 'noon', + morning: 'in the morning', + afternoon: 'in the afternoon', + evening: 'in the evening', + night: 'at night' + } +}; + +function ordinalNumber(dirtyNumber, _dirtyOptions) { + var number = Number(dirtyNumber); // If ordinal numbers depend on context, for example, + // if they are different for different grammatical genders, + // use `options.unit`: + // + // var options = dirtyOptions || {} + // var unit = String(options.unit) + // + // where `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear', + // 'day', 'hour', 'minute', 'second' + + var rem100 = number % 100; + + if (rem100 > 20 || rem100 < 10) { + switch (rem100 % 10) { + case 1: + return number + 'st'; + + case 2: + return number + 'nd'; + + case 3: + return number + 'rd'; + } + } + + return number + 'th'; +} + +var localize = { + ordinalNumber: ordinalNumber, + era: (0, _index.default)({ + values: eraValues, + defaultWidth: 'wide' + }), + quarter: (0, _index.default)({ + values: quarterValues, + defaultWidth: 'wide', + argumentCallback: function (quarter) { + return Number(quarter) - 1; + } + }), + month: (0, _index.default)({ + values: monthValues, + defaultWidth: 'wide' + }), + day: (0, _index.default)({ + values: dayValues, + defaultWidth: 'wide' + }), + dayPeriod: (0, _index.default)({ + values: dayPeriodValues, + defaultWidth: 'wide', + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: 'wide' + }) +}; +var _default = localize; +exports.default = _default; +},{"../../../_lib/buildLocalizeFn/index.js":"VNZ0"}],"VWmv":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = buildMatchPatternFn; + +function buildMatchPatternFn(args) { + return function (dirtyString, dirtyOptions) { + var string = String(dirtyString); + var options = dirtyOptions || {}; + var matchResult = string.match(args.matchPattern); + + if (!matchResult) { + return null; + } + + var matchedString = matchResult[0]; + var parseResult = string.match(args.parsePattern); + + if (!parseResult) { + return null; + } + + var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0]; + value = options.valueCallback ? options.valueCallback(value) : value; + return { + value: value, + rest: string.slice(matchedString.length) + }; + }; +} +},{}],"J9yN":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = buildMatchFn; + +function buildMatchFn(args) { + return function (dirtyString, dirtyOptions) { + var string = String(dirtyString); + var options = dirtyOptions || {}; + var width = options.width; + var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth]; + var matchResult = string.match(matchPattern); + + if (!matchResult) { + return null; + } + + var matchedString = matchResult[0]; + var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth]; + var value; + + if (Object.prototype.toString.call(parsePatterns) === '[object Array]') { + value = findIndex(parsePatterns, function (pattern) { + return pattern.test(matchedString); + }); + } else { + value = findKey(parsePatterns, function (pattern) { + return pattern.test(matchedString); + }); + } + + value = args.valueCallback ? args.valueCallback(value) : value; + value = options.valueCallback ? options.valueCallback(value) : value; + return { + value: value, + rest: string.slice(matchedString.length) + }; + }; +} + +function findKey(object, predicate) { + for (var key in object) { + if (object.hasOwnProperty(key) && predicate(object[key])) { + return key; + } + } +} + +function findIndex(array, predicate) { + for (var key = 0; key < array.length; key++) { + if (predicate(array[key])) { + return key; + } + } +} +},{}],"txOO":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _index = _interopRequireDefault(require("../../../_lib/buildMatchPatternFn/index.js")); + +var _index2 = _interopRequireDefault(require("../../../_lib/buildMatchFn/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i; +var parseOrdinalNumberPattern = /\d+/i; +var matchEraPatterns = { + narrow: /^(b|a)/i, + abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i, + wide: /^(before christ|before common era|anno domini|common era)/i +}; +var parseEraPatterns = { + any: [/^b/i, /^(a|c)/i] +}; +var matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^q[1234]/i, + wide: /^[1234](th|st|nd|rd)? quarter/i +}; +var parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i] +}; +var matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i, + wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i +}; +var parseMonthPatterns = { + narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i], + any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i] +}; +var matchDayPatterns = { + narrow: /^[smtwf]/i, + short: /^(su|mo|tu|we|th|fr|sa)/i, + abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i, + wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i +}; +var parseDayPatterns = { + narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i], + any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i] +}; +var matchDayPeriodPatterns = { + narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i, + any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i +}; +var parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^mi/i, + noon: /^no/i, + morning: /morning/i, + afternoon: /afternoon/i, + evening: /evening/i, + night: /night/i + } +}; +var match = { + ordinalNumber: (0, _index.default)({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: function (value) { + return parseInt(value, 10); + } + }), + era: (0, _index2.default)({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: 'wide', + parsePatterns: parseEraPatterns, + defaultParseWidth: 'any' + }), + quarter: (0, _index2.default)({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: 'wide', + parsePatterns: parseQuarterPatterns, + defaultParseWidth: 'any', + valueCallback: function (index) { + return index + 1; + } + }), + month: (0, _index2.default)({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: 'wide', + parsePatterns: parseMonthPatterns, + defaultParseWidth: 'any' + }), + day: (0, _index2.default)({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: 'wide', + parsePatterns: parseDayPatterns, + defaultParseWidth: 'any' + }), + dayPeriod: (0, _index2.default)({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: 'any', + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: 'any' + }) +}; +var _default = match; +exports.default = _default; +},{"../../../_lib/buildMatchPatternFn/index.js":"VWmv","../../../_lib/buildMatchFn/index.js":"J9yN"}],"lcWw":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _index = _interopRequireDefault(require("./_lib/formatDistance/index.js")); + +var _index2 = _interopRequireDefault(require("./_lib/formatLong/index.js")); + +var _index3 = _interopRequireDefault(require("./_lib/formatRelative/index.js")); + +var _index4 = _interopRequireDefault(require("./_lib/localize/index.js")); + +var _index5 = _interopRequireDefault(require("./_lib/match/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @type {Locale} + * @category Locales + * @summary English locale (United States). + * @language English + * @iso-639-2 eng + * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp} + * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss} + */ +var locale = { + code: 'en-US', + formatDistance: _index.default, + formatLong: _index2.default, + formatRelative: _index3.default, + localize: _index4.default, + match: _index5.default, + options: { + weekStartsOn: 0 + /* Sunday */ + , + firstWeekContainsDate: 1 + } +}; +var _default = locale; +exports.default = _default; +},{"./_lib/formatDistance/index.js":"ACz4","./_lib/formatLong/index.js":"H2aS","./_lib/formatRelative/index.js":"ZyeE","./_lib/localize/index.js":"PTsv","./_lib/match/index.js":"txOO"}],"VYL5":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = toInteger; + +function toInteger(dirtyNumber) { + if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) { + return NaN; + } + + var number = Number(dirtyNumber); + + if (isNaN(number)) { + return number; + } + + return number < 0 ? Math.ceil(number) : Math.floor(number); +} +},{}],"umce":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = addMilliseconds; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../toDate/index.js")); + +var _index3 = _interopRequireDefault(require("../_lib/requiredArgs/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name addMilliseconds + * @category Millisecond Helpers + * @summary Add the specified number of milliseconds to the given date. + * + * @description + * Add the specified number of milliseconds to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`. + * @returns {Date} the new date with the milliseconds added + * @throws {TypeError} 2 arguments required + * + * @example + * // Add 750 milliseconds to 10 July 2014 12:45:30.000: + * var result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750) + * //=> Thu Jul 10 2014 12:45:30.750 + */ +function addMilliseconds(dirtyDate, dirtyAmount) { + (0, _index3.default)(2, arguments); + var timestamp = (0, _index2.default)(dirtyDate).getTime(); + var amount = (0, _index.default)(dirtyAmount); + return new Date(timestamp + amount); +} +},{"../_lib/toInteger/index.js":"VYL5","../toDate/index.js":"KYJg","../_lib/requiredArgs/index.js":"kK6Q"}],"A4qf":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = subMilliseconds; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../addMilliseconds/index.js")); + +var _index3 = _interopRequireDefault(require("../_lib/requiredArgs/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name subMilliseconds + * @category Millisecond Helpers + * @summary Subtract the specified number of milliseconds from the given date. + * + * @description + * Subtract the specified number of milliseconds from the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`. + * @returns {Date} the new date with the milliseconds subtracted + * @throws {TypeError} 2 arguments required + * + * @example + * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000: + * var result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750) + * //=> Thu Jul 10 2014 12:45:29.250 + */ +function subMilliseconds(dirtyDate, dirtyAmount) { + (0, _index3.default)(2, arguments); + var amount = (0, _index.default)(dirtyAmount); + return (0, _index2.default)(dirtyDate, -amount); +} +},{"../_lib/toInteger/index.js":"VYL5","../addMilliseconds/index.js":"umce","../_lib/requiredArgs/index.js":"kK6Q"}],"V2hq":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = addLeadingZeros; + +function addLeadingZeros(number, targetLength) { + var sign = number < 0 ? '-' : ''; + var output = Math.abs(number).toString(); + + while (output.length < targetLength) { + output = '0' + output; + } + + return sign + output; +} +},{}],"sUXs":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _index = _interopRequireDefault(require("../../addLeadingZeros/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* + * | | Unit | | Unit | + * |-----|--------------------------------|-----|--------------------------------| + * | a | AM, PM | A* | | + * | d | Day of month | D | | + * | h | Hour [1-12] | H | Hour [0-23] | + * | m | Minute | M | Month | + * | s | Second | S | Fraction of second | + * | y | Year (abs) | Y | | + * + * Letters marked by * are not implemented but reserved by Unicode standard. + */ +var formatters = { + // Year + y: function (date, token) { + // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens + // | Year | y | yy | yyy | yyyy | yyyyy | + // |----------|-------|----|-------|-------|-------| + // | AD 1 | 1 | 01 | 001 | 0001 | 00001 | + // | AD 12 | 12 | 12 | 012 | 0012 | 00012 | + // | AD 123 | 123 | 23 | 123 | 0123 | 00123 | + // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 | + // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 | + var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript) + + var year = signedYear > 0 ? signedYear : 1 - signedYear; + return (0, _index.default)(token === 'yy' ? year % 100 : year, token.length); + }, + // Month + M: function (date, token) { + var month = date.getUTCMonth(); + return token === 'M' ? String(month + 1) : (0, _index.default)(month + 1, 2); + }, + // Day of the month + d: function (date, token) { + return (0, _index.default)(date.getUTCDate(), token.length); + }, + // AM or PM + a: function (date, token) { + var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am'; + + switch (token) { + case 'a': + case 'aa': + case 'aaa': + return dayPeriodEnumValue.toUpperCase(); + + case 'aaaaa': + return dayPeriodEnumValue[0]; + + case 'aaaa': + default: + return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.'; + } + }, + // Hour [1-12] + h: function (date, token) { + return (0, _index.default)(date.getUTCHours() % 12 || 12, token.length); + }, + // Hour [0-23] + H: function (date, token) { + return (0, _index.default)(date.getUTCHours(), token.length); + }, + // Minute + m: function (date, token) { + return (0, _index.default)(date.getUTCMinutes(), token.length); + }, + // Second + s: function (date, token) { + return (0, _index.default)(date.getUTCSeconds(), token.length); + }, + // Fraction of second + S: function (date, token) { + var numberOfDigits = token.length; + var milliseconds = date.getUTCMilliseconds(); + var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3)); + return (0, _index.default)(fractionalSeconds, token.length); + } +}; +var _default = formatters; +exports.default = _default; +},{"../../addLeadingZeros/index.js":"V2hq"}],"I9iY":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getUTCDayOfYear; + +var _index = _interopRequireDefault(require("../../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../requiredArgs/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MILLISECONDS_IN_DAY = 86400000; // This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 + +function getUTCDayOfYear(dirtyDate) { + (0, _index2.default)(1, arguments); + var date = (0, _index.default)(dirtyDate); + var timestamp = date.getTime(); + date.setUTCMonth(0, 1); + date.setUTCHours(0, 0, 0, 0); + var startOfYearTimestamp = date.getTime(); + var difference = timestamp - startOfYearTimestamp; + return Math.floor(difference / MILLISECONDS_IN_DAY) + 1; +} +},{"../../toDate/index.js":"KYJg","../requiredArgs/index.js":"kK6Q"}],"IuuM":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfUTCISOWeek; + +var _index = _interopRequireDefault(require("../../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../requiredArgs/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 +function startOfUTCISOWeek(dirtyDate) { + (0, _index2.default)(1, arguments); + var weekStartsOn = 1; + var date = (0, _index.default)(dirtyDate); + var day = date.getUTCDay(); + var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn; + date.setUTCDate(date.getUTCDate() - diff); + date.setUTCHours(0, 0, 0, 0); + return date; +} +},{"../../toDate/index.js":"KYJg","../requiredArgs/index.js":"kK6Q"}],"wuZP":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getUTCISOWeekYear; + +var _index = _interopRequireDefault(require("../../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfUTCISOWeek/index.js")); + +var _index3 = _interopRequireDefault(require("../requiredArgs/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 +function getUTCISOWeekYear(dirtyDate) { + (0, _index3.default)(1, arguments); + var date = (0, _index.default)(dirtyDate); + var year = date.getUTCFullYear(); + var fourthOfJanuaryOfNextYear = new Date(0); + fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4); + fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0); + var startOfNextYear = (0, _index2.default)(fourthOfJanuaryOfNextYear); + var fourthOfJanuaryOfThisYear = new Date(0); + fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4); + fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0); + var startOfThisYear = (0, _index2.default)(fourthOfJanuaryOfThisYear); + + if (date.getTime() >= startOfNextYear.getTime()) { + return year + 1; + } else if (date.getTime() >= startOfThisYear.getTime()) { + return year; + } else { + return year - 1; + } +} +},{"../../toDate/index.js":"KYJg","../startOfUTCISOWeek/index.js":"IuuM","../requiredArgs/index.js":"kK6Q"}],"TVAh":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfUTCISOWeekYear; + +var _index = _interopRequireDefault(require("../getUTCISOWeekYear/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfUTCISOWeek/index.js")); + +var _index3 = _interopRequireDefault(require("../requiredArgs/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 +function startOfUTCISOWeekYear(dirtyDate) { + (0, _index3.default)(1, arguments); + var year = (0, _index.default)(dirtyDate); + var fourthOfJanuary = new Date(0); + fourthOfJanuary.setUTCFullYear(year, 0, 4); + fourthOfJanuary.setUTCHours(0, 0, 0, 0); + var date = (0, _index2.default)(fourthOfJanuary); + return date; +} +},{"../getUTCISOWeekYear/index.js":"wuZP","../startOfUTCISOWeek/index.js":"IuuM","../requiredArgs/index.js":"kK6Q"}],"PrDZ":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getUTCISOWeek; + +var _index = _interopRequireDefault(require("../../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfUTCISOWeek/index.js")); + +var _index3 = _interopRequireDefault(require("../startOfUTCISOWeekYear/index.js")); + +var _index4 = _interopRequireDefault(require("../requiredArgs/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MILLISECONDS_IN_WEEK = 604800000; // This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 + +function getUTCISOWeek(dirtyDate) { + (0, _index4.default)(1, arguments); + var date = (0, _index.default)(dirtyDate); + var diff = (0, _index2.default)(date).getTime() - (0, _index3.default)(date).getTime(); // Round the number of days to the nearest integer + // because the number of milliseconds in a week is not constant + // (e.g. it's different in the week of the daylight saving time clock shift) + + return Math.round(diff / MILLISECONDS_IN_WEEK) + 1; +} +},{"../../toDate/index.js":"KYJg","../startOfUTCISOWeek/index.js":"IuuM","../startOfUTCISOWeekYear/index.js":"TVAh","../requiredArgs/index.js":"kK6Q"}],"sFsT":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfUTCWeek; + +var _index = _interopRequireDefault(require("../toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../../toDate/index.js")); + +var _index3 = _interopRequireDefault(require("../requiredArgs/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 +function startOfUTCWeek(dirtyDate, dirtyOptions) { + (0, _index3.default)(1, arguments); + var options = dirtyOptions || {}; + var locale = options.locale; + var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn; + var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : (0, _index.default)(localeWeekStartsOn); + var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : (0, _index.default)(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN + + if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { + throw new RangeError('weekStartsOn must be between 0 and 6 inclusively'); + } + + var date = (0, _index2.default)(dirtyDate); + var day = date.getUTCDay(); + var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn; + date.setUTCDate(date.getUTCDate() - diff); + date.setUTCHours(0, 0, 0, 0); + return date; +} +},{"../toInteger/index.js":"VYL5","../../toDate/index.js":"KYJg","../requiredArgs/index.js":"kK6Q"}],"JbHP":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getUTCWeekYear; + +var _index = _interopRequireDefault(require("../toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../../toDate/index.js")); + +var _index3 = _interopRequireDefault(require("../startOfUTCWeek/index.js")); + +var _index4 = _interopRequireDefault(require("../requiredArgs/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 +function getUTCWeekYear(dirtyDate, dirtyOptions) { + (0, _index4.default)(1, arguments); + var date = (0, _index2.default)(dirtyDate, dirtyOptions); + var year = date.getUTCFullYear(); + var options = dirtyOptions || {}; + var locale = options.locale; + var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate; + var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : (0, _index.default)(localeFirstWeekContainsDate); + var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : (0, _index.default)(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN + + if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) { + throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively'); + } + + var firstWeekOfNextYear = new Date(0); + firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate); + firstWeekOfNextYear.setUTCHours(0, 0, 0, 0); + var startOfNextYear = (0, _index3.default)(firstWeekOfNextYear, dirtyOptions); + var firstWeekOfThisYear = new Date(0); + firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate); + firstWeekOfThisYear.setUTCHours(0, 0, 0, 0); + var startOfThisYear = (0, _index3.default)(firstWeekOfThisYear, dirtyOptions); + + if (date.getTime() >= startOfNextYear.getTime()) { + return year + 1; + } else if (date.getTime() >= startOfThisYear.getTime()) { + return year; + } else { + return year - 1; + } +} +},{"../toInteger/index.js":"VYL5","../../toDate/index.js":"KYJg","../startOfUTCWeek/index.js":"sFsT","../requiredArgs/index.js":"kK6Q"}],"x8HL":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfUTCWeekYear; + +var _index = _interopRequireDefault(require("../toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../getUTCWeekYear/index.js")); + +var _index3 = _interopRequireDefault(require("../startOfUTCWeek/index.js")); + +var _index4 = _interopRequireDefault(require("../requiredArgs/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 +function startOfUTCWeekYear(dirtyDate, dirtyOptions) { + (0, _index4.default)(1, arguments); + var options = dirtyOptions || {}; + var locale = options.locale; + var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate; + var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : (0, _index.default)(localeFirstWeekContainsDate); + var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : (0, _index.default)(options.firstWeekContainsDate); + var year = (0, _index2.default)(dirtyDate, dirtyOptions); + var firstWeek = new Date(0); + firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate); + firstWeek.setUTCHours(0, 0, 0, 0); + var date = (0, _index3.default)(firstWeek, dirtyOptions); + return date; +} +},{"../toInteger/index.js":"VYL5","../getUTCWeekYear/index.js":"JbHP","../startOfUTCWeek/index.js":"sFsT","../requiredArgs/index.js":"kK6Q"}],"Z7oM":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getUTCWeek; + +var _index = _interopRequireDefault(require("../../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfUTCWeek/index.js")); + +var _index3 = _interopRequireDefault(require("../startOfUTCWeekYear/index.js")); + +var _index4 = _interopRequireDefault(require("../requiredArgs/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MILLISECONDS_IN_WEEK = 604800000; // This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 + +function getUTCWeek(dirtyDate, options) { + (0, _index4.default)(1, arguments); + var date = (0, _index.default)(dirtyDate); + var diff = (0, _index2.default)(date, options).getTime() - (0, _index3.default)(date, options).getTime(); // Round the number of days to the nearest integer + // because the number of milliseconds in a week is not constant + // (e.g. it's different in the week of the daylight saving time clock shift) + + return Math.round(diff / MILLISECONDS_IN_WEEK) + 1; +} +},{"../../toDate/index.js":"KYJg","../startOfUTCWeek/index.js":"sFsT","../startOfUTCWeekYear/index.js":"x8HL","../requiredArgs/index.js":"kK6Q"}],"S8Vi":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _index = _interopRequireDefault(require("../lightFormatters/index.js")); + +var _index2 = _interopRequireDefault(require("../../../_lib/getUTCDayOfYear/index.js")); + +var _index3 = _interopRequireDefault(require("../../../_lib/getUTCISOWeek/index.js")); + +var _index4 = _interopRequireDefault(require("../../../_lib/getUTCISOWeekYear/index.js")); + +var _index5 = _interopRequireDefault(require("../../../_lib/getUTCWeek/index.js")); + +var _index6 = _interopRequireDefault(require("../../../_lib/getUTCWeekYear/index.js")); + +var _index7 = _interopRequireDefault(require("../../addLeadingZeros/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var dayPeriodEnum = { + am: 'am', + pm: 'pm', + midnight: 'midnight', + noon: 'noon', + morning: 'morning', + afternoon: 'afternoon', + evening: 'evening', + night: 'night' + /* + * | | Unit | | Unit | + * |-----|--------------------------------|-----|--------------------------------| + * | a | AM, PM | A* | Milliseconds in day | + * | b | AM, PM, noon, midnight | B | Flexible day period | + * | c | Stand-alone local day of week | C* | Localized hour w/ day period | + * | d | Day of month | D | Day of year | + * | e | Local day of week | E | Day of week | + * | f | | F* | Day of week in month | + * | g* | Modified Julian day | G | Era | + * | h | Hour [1-12] | H | Hour [0-23] | + * | i! | ISO day of week | I! | ISO week of year | + * | j* | Localized hour w/ day period | J* | Localized hour w/o day period | + * | k | Hour [1-24] | K | Hour [0-11] | + * | l* | (deprecated) | L | Stand-alone month | + * | m | Minute | M | Month | + * | n | | N | | + * | o! | Ordinal number modifier | O | Timezone (GMT) | + * | p! | Long localized time | P! | Long localized date | + * | q | Stand-alone quarter | Q | Quarter | + * | r* | Related Gregorian year | R! | ISO week-numbering year | + * | s | Second | S | Fraction of second | + * | t! | Seconds timestamp | T! | Milliseconds timestamp | + * | u | Extended year | U* | Cyclic year | + * | v* | Timezone (generic non-locat.) | V* | Timezone (location) | + * | w | Local week of year | W* | Week of month | + * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) | + * | y | Year (abs) | Y | Local week-numbering year | + * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) | + * + * Letters marked by * are not implemented but reserved by Unicode standard. + * + * Letters marked by ! are non-standard, but implemented by date-fns: + * - `o` modifies the previous token to turn it into an ordinal (see `format` docs) + * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days, + * i.e. 7 for Sunday, 1 for Monday, etc. + * - `I` is ISO week of year, as opposed to `w` which is local week of year. + * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year. + * `R` is supposed to be used in conjunction with `I` and `i` + * for universal ISO week-numbering date, whereas + * `Y` is supposed to be used in conjunction with `w` and `e` + * for week-numbering date specific to the locale. + * - `P` is long localized date format + * - `p` is long localized time format + */ + +}; +var formatters = { + // Era + G: function (date, token, localize) { + var era = date.getUTCFullYear() > 0 ? 1 : 0; + + switch (token) { + // AD, BC + case 'G': + case 'GG': + case 'GGG': + return localize.era(era, { + width: 'abbreviated' + }); + // A, B + + case 'GGGGG': + return localize.era(era, { + width: 'narrow' + }); + // Anno Domini, Before Christ + + case 'GGGG': + default: + return localize.era(era, { + width: 'wide' + }); + } + }, + // Year + y: function (date, token, localize) { + // Ordinal number + if (token === 'yo') { + var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript) + + var year = signedYear > 0 ? signedYear : 1 - signedYear; + return localize.ordinalNumber(year, { + unit: 'year' + }); + } + + return _index.default.y(date, token); + }, + // Local week-numbering year + Y: function (date, token, localize, options) { + var signedWeekYear = (0, _index6.default)(date, options); // Returns 1 for 1 BC (which is year 0 in JavaScript) + + var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear; // Two digit year + + if (token === 'YY') { + var twoDigitYear = weekYear % 100; + return (0, _index7.default)(twoDigitYear, 2); + } // Ordinal number + + + if (token === 'Yo') { + return localize.ordinalNumber(weekYear, { + unit: 'year' + }); + } // Padding + + + return (0, _index7.default)(weekYear, token.length); + }, + // ISO week-numbering year + R: function (date, token) { + var isoWeekYear = (0, _index4.default)(date); // Padding + + return (0, _index7.default)(isoWeekYear, token.length); + }, + // Extended year. This is a single number designating the year of this calendar system. + // The main difference between `y` and `u` localizers are B.C. years: + // | Year | `y` | `u` | + // |------|-----|-----| + // | AC 1 | 1 | 1 | + // | BC 1 | 1 | 0 | + // | BC 2 | 2 | -1 | + // Also `yy` always returns the last two digits of a year, + // while `uu` pads single digit years to 2 characters and returns other years unchanged. + u: function (date, token) { + var year = date.getUTCFullYear(); + return (0, _index7.default)(year, token.length); + }, + // Quarter + Q: function (date, token, localize) { + var quarter = Math.ceil((date.getUTCMonth() + 1) / 3); + + switch (token) { + // 1, 2, 3, 4 + case 'Q': + return String(quarter); + // 01, 02, 03, 04 + + case 'QQ': + return (0, _index7.default)(quarter, 2); + // 1st, 2nd, 3rd, 4th + + case 'Qo': + return localize.ordinalNumber(quarter, { + unit: 'quarter' + }); + // Q1, Q2, Q3, Q4 + + case 'QQQ': + return localize.quarter(quarter, { + width: 'abbreviated', + context: 'formatting' + }); + // 1, 2, 3, 4 (narrow quarter; could be not numerical) + + case 'QQQQQ': + return localize.quarter(quarter, { + width: 'narrow', + context: 'formatting' + }); + // 1st quarter, 2nd quarter, ... + + case 'QQQQ': + default: + return localize.quarter(quarter, { + width: 'wide', + context: 'formatting' + }); + } + }, + // Stand-alone quarter + q: function (date, token, localize) { + var quarter = Math.ceil((date.getUTCMonth() + 1) / 3); + + switch (token) { + // 1, 2, 3, 4 + case 'q': + return String(quarter); + // 01, 02, 03, 04 + + case 'qq': + return (0, _index7.default)(quarter, 2); + // 1st, 2nd, 3rd, 4th + + case 'qo': + return localize.ordinalNumber(quarter, { + unit: 'quarter' + }); + // Q1, Q2, Q3, Q4 + + case 'qqq': + return localize.quarter(quarter, { + width: 'abbreviated', + context: 'standalone' + }); + // 1, 2, 3, 4 (narrow quarter; could be not numerical) + + case 'qqqqq': + return localize.quarter(quarter, { + width: 'narrow', + context: 'standalone' + }); + // 1st quarter, 2nd quarter, ... + + case 'qqqq': + default: + return localize.quarter(quarter, { + width: 'wide', + context: 'standalone' + }); + } + }, + // Month + M: function (date, token, localize) { + var month = date.getUTCMonth(); + + switch (token) { + case 'M': + case 'MM': + return _index.default.M(date, token); + // 1st, 2nd, ..., 12th + + case 'Mo': + return localize.ordinalNumber(month + 1, { + unit: 'month' + }); + // Jan, Feb, ..., Dec + + case 'MMM': + return localize.month(month, { + width: 'abbreviated', + context: 'formatting' + }); + // J, F, ..., D + + case 'MMMMM': + return localize.month(month, { + width: 'narrow', + context: 'formatting' + }); + // January, February, ..., December + + case 'MMMM': + default: + return localize.month(month, { + width: 'wide', + context: 'formatting' + }); + } + }, + // Stand-alone month + L: function (date, token, localize) { + var month = date.getUTCMonth(); + + switch (token) { + // 1, 2, ..., 12 + case 'L': + return String(month + 1); + // 01, 02, ..., 12 + + case 'LL': + return (0, _index7.default)(month + 1, 2); + // 1st, 2nd, ..., 12th + + case 'Lo': + return localize.ordinalNumber(month + 1, { + unit: 'month' + }); + // Jan, Feb, ..., Dec + + case 'LLL': + return localize.month(month, { + width: 'abbreviated', + context: 'standalone' + }); + // J, F, ..., D + + case 'LLLLL': + return localize.month(month, { + width: 'narrow', + context: 'standalone' + }); + // January, February, ..., December + + case 'LLLL': + default: + return localize.month(month, { + width: 'wide', + context: 'standalone' + }); + } + }, + // Local week of year + w: function (date, token, localize, options) { + var week = (0, _index5.default)(date, options); + + if (token === 'wo') { + return localize.ordinalNumber(week, { + unit: 'week' + }); + } + + return (0, _index7.default)(week, token.length); + }, + // ISO week of year + I: function (date, token, localize) { + var isoWeek = (0, _index3.default)(date); + + if (token === 'Io') { + return localize.ordinalNumber(isoWeek, { + unit: 'week' + }); + } + + return (0, _index7.default)(isoWeek, token.length); + }, + // Day of the month + d: function (date, token, localize) { + if (token === 'do') { + return localize.ordinalNumber(date.getUTCDate(), { + unit: 'date' + }); + } + + return _index.default.d(date, token); + }, + // Day of year + D: function (date, token, localize) { + var dayOfYear = (0, _index2.default)(date); + + if (token === 'Do') { + return localize.ordinalNumber(dayOfYear, { + unit: 'dayOfYear' + }); + } + + return (0, _index7.default)(dayOfYear, token.length); + }, + // Day of week + E: function (date, token, localize) { + var dayOfWeek = date.getUTCDay(); + + switch (token) { + // Tue + case 'E': + case 'EE': + case 'EEE': + return localize.day(dayOfWeek, { + width: 'abbreviated', + context: 'formatting' + }); + // T + + case 'EEEEE': + return localize.day(dayOfWeek, { + width: 'narrow', + context: 'formatting' + }); + // Tu + + case 'EEEEEE': + return localize.day(dayOfWeek, { + width: 'short', + context: 'formatting' + }); + // Tuesday + + case 'EEEE': + default: + return localize.day(dayOfWeek, { + width: 'wide', + context: 'formatting' + }); + } + }, + // Local day of week + e: function (date, token, localize, options) { + var dayOfWeek = date.getUTCDay(); + var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7; + + switch (token) { + // Numerical value (Nth day of week with current locale or weekStartsOn) + case 'e': + return String(localDayOfWeek); + // Padded numerical value + + case 'ee': + return (0, _index7.default)(localDayOfWeek, 2); + // 1st, 2nd, ..., 7th + + case 'eo': + return localize.ordinalNumber(localDayOfWeek, { + unit: 'day' + }); + + case 'eee': + return localize.day(dayOfWeek, { + width: 'abbreviated', + context: 'formatting' + }); + // T + + case 'eeeee': + return localize.day(dayOfWeek, { + width: 'narrow', + context: 'formatting' + }); + // Tu + + case 'eeeeee': + return localize.day(dayOfWeek, { + width: 'short', + context: 'formatting' + }); + // Tuesday + + case 'eeee': + default: + return localize.day(dayOfWeek, { + width: 'wide', + context: 'formatting' + }); + } + }, + // Stand-alone local day of week + c: function (date, token, localize, options) { + var dayOfWeek = date.getUTCDay(); + var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7; + + switch (token) { + // Numerical value (same as in `e`) + case 'c': + return String(localDayOfWeek); + // Padded numerical value + + case 'cc': + return (0, _index7.default)(localDayOfWeek, token.length); + // 1st, 2nd, ..., 7th + + case 'co': + return localize.ordinalNumber(localDayOfWeek, { + unit: 'day' + }); + + case 'ccc': + return localize.day(dayOfWeek, { + width: 'abbreviated', + context: 'standalone' + }); + // T + + case 'ccccc': + return localize.day(dayOfWeek, { + width: 'narrow', + context: 'standalone' + }); + // Tu + + case 'cccccc': + return localize.day(dayOfWeek, { + width: 'short', + context: 'standalone' + }); + // Tuesday + + case 'cccc': + default: + return localize.day(dayOfWeek, { + width: 'wide', + context: 'standalone' + }); + } + }, + // ISO day of week + i: function (date, token, localize) { + var dayOfWeek = date.getUTCDay(); + var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek; + + switch (token) { + // 2 + case 'i': + return String(isoDayOfWeek); + // 02 + + case 'ii': + return (0, _index7.default)(isoDayOfWeek, token.length); + // 2nd + + case 'io': + return localize.ordinalNumber(isoDayOfWeek, { + unit: 'day' + }); + // Tue + + case 'iii': + return localize.day(dayOfWeek, { + width: 'abbreviated', + context: 'formatting' + }); + // T + + case 'iiiii': + return localize.day(dayOfWeek, { + width: 'narrow', + context: 'formatting' + }); + // Tu + + case 'iiiiii': + return localize.day(dayOfWeek, { + width: 'short', + context: 'formatting' + }); + // Tuesday + + case 'iiii': + default: + return localize.day(dayOfWeek, { + width: 'wide', + context: 'formatting' + }); + } + }, + // AM or PM + a: function (date, token, localize) { + var hours = date.getUTCHours(); + var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am'; + + switch (token) { + case 'a': + case 'aa': + case 'aaa': + return localize.dayPeriod(dayPeriodEnumValue, { + width: 'abbreviated', + context: 'formatting' + }); + + case 'aaaaa': + return localize.dayPeriod(dayPeriodEnumValue, { + width: 'narrow', + context: 'formatting' + }); + + case 'aaaa': + default: + return localize.dayPeriod(dayPeriodEnumValue, { + width: 'wide', + context: 'formatting' + }); + } + }, + // AM, PM, midnight, noon + b: function (date, token, localize) { + var hours = date.getUTCHours(); + var dayPeriodEnumValue; + + if (hours === 12) { + dayPeriodEnumValue = dayPeriodEnum.noon; + } else if (hours === 0) { + dayPeriodEnumValue = dayPeriodEnum.midnight; + } else { + dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am'; + } + + switch (token) { + case 'b': + case 'bb': + case 'bbb': + return localize.dayPeriod(dayPeriodEnumValue, { + width: 'abbreviated', + context: 'formatting' + }); + + case 'bbbbb': + return localize.dayPeriod(dayPeriodEnumValue, { + width: 'narrow', + context: 'formatting' + }); + + case 'bbbb': + default: + return localize.dayPeriod(dayPeriodEnumValue, { + width: 'wide', + context: 'formatting' + }); + } + }, + // in the morning, in the afternoon, in the evening, at night + B: function (date, token, localize) { + var hours = date.getUTCHours(); + var dayPeriodEnumValue; + + if (hours >= 17) { + dayPeriodEnumValue = dayPeriodEnum.evening; + } else if (hours >= 12) { + dayPeriodEnumValue = dayPeriodEnum.afternoon; + } else if (hours >= 4) { + dayPeriodEnumValue = dayPeriodEnum.morning; + } else { + dayPeriodEnumValue = dayPeriodEnum.night; + } + + switch (token) { + case 'B': + case 'BB': + case 'BBB': + return localize.dayPeriod(dayPeriodEnumValue, { + width: 'abbreviated', + context: 'formatting' + }); + + case 'BBBBB': + return localize.dayPeriod(dayPeriodEnumValue, { + width: 'narrow', + context: 'formatting' + }); + + case 'BBBB': + default: + return localize.dayPeriod(dayPeriodEnumValue, { + width: 'wide', + context: 'formatting' + }); + } + }, + // Hour [1-12] + h: function (date, token, localize) { + if (token === 'ho') { + var hours = date.getUTCHours() % 12; + if (hours === 0) hours = 12; + return localize.ordinalNumber(hours, { + unit: 'hour' + }); + } + + return _index.default.h(date, token); + }, + // Hour [0-23] + H: function (date, token, localize) { + if (token === 'Ho') { + return localize.ordinalNumber(date.getUTCHours(), { + unit: 'hour' + }); + } + + return _index.default.H(date, token); + }, + // Hour [0-11] + K: function (date, token, localize) { + var hours = date.getUTCHours() % 12; + + if (token === 'Ko') { + return localize.ordinalNumber(hours, { + unit: 'hour' + }); + } + + return (0, _index7.default)(hours, token.length); + }, + // Hour [1-24] + k: function (date, token, localize) { + var hours = date.getUTCHours(); + if (hours === 0) hours = 24; + + if (token === 'ko') { + return localize.ordinalNumber(hours, { + unit: 'hour' + }); + } + + return (0, _index7.default)(hours, token.length); + }, + // Minute + m: function (date, token, localize) { + if (token === 'mo') { + return localize.ordinalNumber(date.getUTCMinutes(), { + unit: 'minute' + }); + } + + return _index.default.m(date, token); + }, + // Second + s: function (date, token, localize) { + if (token === 'so') { + return localize.ordinalNumber(date.getUTCSeconds(), { + unit: 'second' + }); + } + + return _index.default.s(date, token); + }, + // Fraction of second + S: function (date, token) { + return _index.default.S(date, token); + }, + // Timezone (ISO-8601. If offset is 0, output is always `'Z'`) + X: function (date, token, _localize, options) { + var originalDate = options._originalDate || date; + var timezoneOffset = originalDate.getTimezoneOffset(); + + if (timezoneOffset === 0) { + return 'Z'; + } + + switch (token) { + // Hours and optional minutes + case 'X': + return formatTimezoneWithOptionalMinutes(timezoneOffset); + // Hours, minutes and optional seconds without `:` delimiter + // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets + // so this token always has the same output as `XX` + + case 'XXXX': + case 'XX': + // Hours and minutes without `:` delimiter + return formatTimezone(timezoneOffset); + // Hours, minutes and optional seconds with `:` delimiter + // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets + // so this token always has the same output as `XXX` + + case 'XXXXX': + case 'XXX': // Hours and minutes with `:` delimiter + + default: + return formatTimezone(timezoneOffset, ':'); + } + }, + // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent) + x: function (date, token, _localize, options) { + var originalDate = options._originalDate || date; + var timezoneOffset = originalDate.getTimezoneOffset(); + + switch (token) { + // Hours and optional minutes + case 'x': + return formatTimezoneWithOptionalMinutes(timezoneOffset); + // Hours, minutes and optional seconds without `:` delimiter + // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets + // so this token always has the same output as `xx` + + case 'xxxx': + case 'xx': + // Hours and minutes without `:` delimiter + return formatTimezone(timezoneOffset); + // Hours, minutes and optional seconds with `:` delimiter + // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets + // so this token always has the same output as `xxx` + + case 'xxxxx': + case 'xxx': // Hours and minutes with `:` delimiter + + default: + return formatTimezone(timezoneOffset, ':'); + } + }, + // Timezone (GMT) + O: function (date, token, _localize, options) { + var originalDate = options._originalDate || date; + var timezoneOffset = originalDate.getTimezoneOffset(); + + switch (token) { + // Short + case 'O': + case 'OO': + case 'OOO': + return 'GMT' + formatTimezoneShort(timezoneOffset, ':'); + // Long + + case 'OOOO': + default: + return 'GMT' + formatTimezone(timezoneOffset, ':'); + } + }, + // Timezone (specific non-location) + z: function (date, token, _localize, options) { + var originalDate = options._originalDate || date; + var timezoneOffset = originalDate.getTimezoneOffset(); + + switch (token) { + // Short + case 'z': + case 'zz': + case 'zzz': + return 'GMT' + formatTimezoneShort(timezoneOffset, ':'); + // Long + + case 'zzzz': + default: + return 'GMT' + formatTimezone(timezoneOffset, ':'); + } + }, + // Seconds timestamp + t: function (date, token, _localize, options) { + var originalDate = options._originalDate || date; + var timestamp = Math.floor(originalDate.getTime() / 1000); + return (0, _index7.default)(timestamp, token.length); + }, + // Milliseconds timestamp + T: function (date, token, _localize, options) { + var originalDate = options._originalDate || date; + var timestamp = originalDate.getTime(); + return (0, _index7.default)(timestamp, token.length); + } +}; + +function formatTimezoneShort(offset, dirtyDelimiter) { + var sign = offset > 0 ? '-' : '+'; + var absOffset = Math.abs(offset); + var hours = Math.floor(absOffset / 60); + var minutes = absOffset % 60; + + if (minutes === 0) { + return sign + String(hours); + } + + var delimiter = dirtyDelimiter || ''; + return sign + String(hours) + delimiter + (0, _index7.default)(minutes, 2); +} + +function formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) { + if (offset % 60 === 0) { + var sign = offset > 0 ? '-' : '+'; + return sign + (0, _index7.default)(Math.abs(offset) / 60, 2); + } + + return formatTimezone(offset, dirtyDelimiter); +} + +function formatTimezone(offset, dirtyDelimiter) { + var delimiter = dirtyDelimiter || ''; + var sign = offset > 0 ? '-' : '+'; + var absOffset = Math.abs(offset); + var hours = (0, _index7.default)(Math.floor(absOffset / 60), 2); + var minutes = (0, _index7.default)(absOffset % 60, 2); + return sign + hours + delimiter + minutes; +} + +var _default = formatters; +exports.default = _default; +},{"../lightFormatters/index.js":"sUXs","../../../_lib/getUTCDayOfYear/index.js":"I9iY","../../../_lib/getUTCISOWeek/index.js":"PrDZ","../../../_lib/getUTCISOWeekYear/index.js":"wuZP","../../../_lib/getUTCWeek/index.js":"Z7oM","../../../_lib/getUTCWeekYear/index.js":"JbHP","../../addLeadingZeros/index.js":"V2hq"}],"W9kG":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function dateLongFormatter(pattern, formatLong) { + switch (pattern) { + case 'P': + return formatLong.date({ + width: 'short' + }); + + case 'PP': + return formatLong.date({ + width: 'medium' + }); + + case 'PPP': + return formatLong.date({ + width: 'long' + }); + + case 'PPPP': + default: + return formatLong.date({ + width: 'full' + }); + } +} + +function timeLongFormatter(pattern, formatLong) { + switch (pattern) { + case 'p': + return formatLong.time({ + width: 'short' + }); + + case 'pp': + return formatLong.time({ + width: 'medium' + }); + + case 'ppp': + return formatLong.time({ + width: 'long' + }); + + case 'pppp': + default: + return formatLong.time({ + width: 'full' + }); + } +} + +function dateTimeLongFormatter(pattern, formatLong) { + var matchResult = pattern.match(/(P+)(p+)?/); + var datePattern = matchResult[1]; + var timePattern = matchResult[2]; + + if (!timePattern) { + return dateLongFormatter(pattern, formatLong); + } + + var dateTimeFormat; + + switch (datePattern) { + case 'P': + dateTimeFormat = formatLong.dateTime({ + width: 'short' + }); + break; + + case 'PP': + dateTimeFormat = formatLong.dateTime({ + width: 'medium' + }); + break; + + case 'PPP': + dateTimeFormat = formatLong.dateTime({ + width: 'long' + }); + break; + + case 'PPPP': + default: + dateTimeFormat = formatLong.dateTime({ + width: 'full' + }); + break; + } + + return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong)); +} + +var longFormatters = { + p: timeLongFormatter, + P: dateTimeLongFormatter +}; +var _default = longFormatters; +exports.default = _default; +},{}],"aFbL":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getTimezoneOffsetInMilliseconds; +var MILLISECONDS_IN_MINUTE = 60000; + +function getDateMillisecondsPart(date) { + return date.getTime() % MILLISECONDS_IN_MINUTE; +} +/** + * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds. + * They usually appear for dates that denote time before the timezones were introduced + * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891 + * and GMT+01:00:00 after that date) + * + * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above, + * which would lead to incorrect calculations. + * + * This function returns the timezone offset in milliseconds that takes seconds in account. + */ + + +function getTimezoneOffsetInMilliseconds(dirtyDate) { + var date = new Date(dirtyDate.getTime()); + var baseTimezoneOffset = Math.ceil(date.getTimezoneOffset()); + date.setSeconds(0, 0); + var hasNegativeUTCOffset = baseTimezoneOffset > 0; + var millisecondsPartOfTimezoneOffset = hasNegativeUTCOffset ? (MILLISECONDS_IN_MINUTE + getDateMillisecondsPart(date)) % MILLISECONDS_IN_MINUTE : getDateMillisecondsPart(date); + return baseTimezoneOffset * MILLISECONDS_IN_MINUTE + millisecondsPartOfTimezoneOffset; +} +},{}],"VJXN":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.isProtectedDayOfYearToken = isProtectedDayOfYearToken; +exports.isProtectedWeekYearToken = isProtectedWeekYearToken; +exports.throwProtectedError = throwProtectedError; +var protectedDayOfYearTokens = ['D', 'DD']; +var protectedWeekYearTokens = ['YY', 'YYYY']; + +function isProtectedDayOfYearToken(token) { + return protectedDayOfYearTokens.indexOf(token) !== -1; +} + +function isProtectedWeekYearToken(token) { + return protectedWeekYearTokens.indexOf(token) !== -1; +} + +function throwProtectedError(token) { + if (token === 'YYYY') { + throw new RangeError('Use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr'); + } else if (token === 'YY') { + throw new RangeError('Use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr'); + } else if (token === 'D') { + throw new RangeError('Use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr'); + } else if (token === 'DD') { + throw new RangeError('Use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr'); + } +} +},{}],"OZJZ":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = format; + +var _index = _interopRequireDefault(require("../isValid/index.js")); + +var _index2 = _interopRequireDefault(require("../locale/en-US/index.js")); + +var _index3 = _interopRequireDefault(require("../subMilliseconds/index.js")); + +var _index4 = _interopRequireDefault(require("../toDate/index.js")); + +var _index5 = _interopRequireDefault(require("../_lib/format/formatters/index.js")); + +var _index6 = _interopRequireDefault(require("../_lib/format/longFormatters/index.js")); + +var _index7 = _interopRequireDefault(require("../_lib/getTimezoneOffsetInMilliseconds/index.js")); + +var _index8 = require("../_lib/protectedTokens/index.js"); + +var _index9 = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index10 = _interopRequireDefault(require("../_lib/requiredArgs/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// This RegExp consists of three parts separated by `|`: +// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token +// (one of the certain letters followed by `o`) +// - (\w)\1* matches any sequences of the same letter +// - '' matches two quote characters in a row +// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('), +// except a single quote symbol, which ends the sequence. +// Two quote characters do not end the sequence. +// If there is no matching single quote +// then the sequence will continue until the end of the string. +// - . matches any single character unmatched by previous parts of the RegExps +var formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g; // This RegExp catches symbols escaped by quotes, and also +// sequences of symbols P, p, and the combinations like `PPPPPPPppppp` + +var longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g; +var escapedStringRegExp = /^'([^]*?)'?$/; +var doubleQuoteRegExp = /''/g; +var unescapedLatinCharacterRegExp = /[a-zA-Z]/; +/** + * @name format + * @category Common Helpers + * @summary Format the date. + * + * @description + * Return the formatted date string in the given format. The result may vary by locale. + * + * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries. + * > See: https://git.io/fxCyr + * + * The characters wrapped between two single quotes characters (') are escaped. + * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote. + * (see the last example) + * + * Format of the string is based on Unicode Technical Standard #35: + * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table + * with a few additions (see note 7 below the table). + * + * Accepted patterns: + * | Unit | Pattern | Result examples | Notes | + * |---------------------------------|---------|-----------------------------------|-------| + * | Era | G..GGG | AD, BC | | + * | | GGGG | Anno Domini, Before Christ | 2 | + * | | GGGGG | A, B | | + * | Calendar year | y | 44, 1, 1900, 2017 | 5 | + * | | yo | 44th, 1st, 0th, 17th | 5,7 | + * | | yy | 44, 01, 00, 17 | 5 | + * | | yyy | 044, 001, 1900, 2017 | 5 | + * | | yyyy | 0044, 0001, 1900, 2017 | 5 | + * | | yyyyy | ... | 3,5 | + * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 | + * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 | + * | | YY | 44, 01, 00, 17 | 5,8 | + * | | YYY | 044, 001, 1900, 2017 | 5 | + * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 | + * | | YYYYY | ... | 3,5 | + * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 | + * | | RR | -43, 00, 01, 1900, 2017 | 5,7 | + * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 | + * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 | + * | | RRRRR | ... | 3,5,7 | + * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 | + * | | uu | -43, 01, 1900, 2017 | 5 | + * | | uuu | -043, 001, 1900, 2017 | 5 | + * | | uuuu | -0043, 0001, 1900, 2017 | 5 | + * | | uuuuu | ... | 3,5 | + * | Quarter (formatting) | Q | 1, 2, 3, 4 | | + * | | Qo | 1st, 2nd, 3rd, 4th | 7 | + * | | QQ | 01, 02, 03, 04 | | + * | | QQQ | Q1, Q2, Q3, Q4 | | + * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 | + * | | QQQQQ | 1, 2, 3, 4 | 4 | + * | Quarter (stand-alone) | q | 1, 2, 3, 4 | | + * | | qo | 1st, 2nd, 3rd, 4th | 7 | + * | | qq | 01, 02, 03, 04 | | + * | | qqq | Q1, Q2, Q3, Q4 | | + * | | qqqq | 1st quarter, 2nd quarter, ... | 2 | + * | | qqqqq | 1, 2, 3, 4 | 4 | + * | Month (formatting) | M | 1, 2, ..., 12 | | + * | | Mo | 1st, 2nd, ..., 12th | 7 | + * | | MM | 01, 02, ..., 12 | | + * | | MMM | Jan, Feb, ..., Dec | | + * | | MMMM | January, February, ..., December | 2 | + * | | MMMMM | J, F, ..., D | | + * | Month (stand-alone) | L | 1, 2, ..., 12 | | + * | | Lo | 1st, 2nd, ..., 12th | 7 | + * | | LL | 01, 02, ..., 12 | | + * | | LLL | Jan, Feb, ..., Dec | | + * | | LLLL | January, February, ..., December | 2 | + * | | LLLLL | J, F, ..., D | | + * | Local week of year | w | 1, 2, ..., 53 | | + * | | wo | 1st, 2nd, ..., 53th | 7 | + * | | ww | 01, 02, ..., 53 | | + * | ISO week of year | I | 1, 2, ..., 53 | 7 | + * | | Io | 1st, 2nd, ..., 53th | 7 | + * | | II | 01, 02, ..., 53 | 7 | + * | Day of month | d | 1, 2, ..., 31 | | + * | | do | 1st, 2nd, ..., 31st | 7 | + * | | dd | 01, 02, ..., 31 | | + * | Day of year | D | 1, 2, ..., 365, 366 | 9 | + * | | Do | 1st, 2nd, ..., 365th, 366th | 7 | + * | | DD | 01, 02, ..., 365, 366 | 9 | + * | | DDD | 001, 002, ..., 365, 366 | | + * | | DDDD | ... | 3 | + * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Su | | + * | | EEEE | Monday, Tuesday, ..., Sunday | 2 | + * | | EEEEE | M, T, W, T, F, S, S | | + * | | EEEEEE | Mo, Tu, We, Th, Fr, Su, Sa | | + * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 | + * | | io | 1st, 2nd, ..., 7th | 7 | + * | | ii | 01, 02, ..., 07 | 7 | + * | | iii | Mon, Tue, Wed, ..., Su | 7 | + * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 | + * | | iiiii | M, T, W, T, F, S, S | 7 | + * | | iiiiii | Mo, Tu, We, Th, Fr, Su, Sa | 7 | + * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | | + * | | eo | 2nd, 3rd, ..., 1st | 7 | + * | | ee | 02, 03, ..., 01 | | + * | | eee | Mon, Tue, Wed, ..., Su | | + * | | eeee | Monday, Tuesday, ..., Sunday | 2 | + * | | eeeee | M, T, W, T, F, S, S | | + * | | eeeeee | Mo, Tu, We, Th, Fr, Su, Sa | | + * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | | + * | | co | 2nd, 3rd, ..., 1st | 7 | + * | | cc | 02, 03, ..., 01 | | + * | | ccc | Mon, Tue, Wed, ..., Su | | + * | | cccc | Monday, Tuesday, ..., Sunday | 2 | + * | | ccccc | M, T, W, T, F, S, S | | + * | | cccccc | Mo, Tu, We, Th, Fr, Su, Sa | | + * | AM, PM | a..aaa | AM, PM | | + * | | aaaa | a.m., p.m. | 2 | + * | | aaaaa | a, p | | + * | AM, PM, noon, midnight | b..bbb | AM, PM, noon, midnight | | + * | | bbbb | a.m., p.m., noon, midnight | 2 | + * | | bbbbb | a, p, n, mi | | + * | Flexible day period | B..BBB | at night, in the morning, ... | | + * | | BBBB | at night, in the morning, ... | 2 | + * | | BBBBB | at night, in the morning, ... | | + * | Hour [1-12] | h | 1, 2, ..., 11, 12 | | + * | | ho | 1st, 2nd, ..., 11th, 12th | 7 | + * | | hh | 01, 02, ..., 11, 12 | | + * | Hour [0-23] | H | 0, 1, 2, ..., 23 | | + * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 | + * | | HH | 00, 01, 02, ..., 23 | | + * | Hour [0-11] | K | 1, 2, ..., 11, 0 | | + * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 | + * | | KK | 01, 02, ..., 11, 00 | | + * | Hour [1-24] | k | 24, 1, 2, ..., 23 | | + * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 | + * | | kk | 24, 01, 02, ..., 23 | | + * | Minute | m | 0, 1, ..., 59 | | + * | | mo | 0th, 1st, ..., 59th | 7 | + * | | mm | 00, 01, ..., 59 | | + * | Second | s | 0, 1, ..., 59 | | + * | | so | 0th, 1st, ..., 59th | 7 | + * | | ss | 00, 01, ..., 59 | | + * | Fraction of second | S | 0, 1, ..., 9 | | + * | | SS | 00, 01, ..., 99 | | + * | | SSS | 000, 0001, ..., 999 | | + * | | SSSS | ... | 3 | + * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | | + * | | XX | -0800, +0530, Z | | + * | | XXX | -08:00, +05:30, Z | | + * | | XXXX | -0800, +0530, Z, +123456 | 2 | + * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | | + * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | | + * | | xx | -0800, +0530, +0000 | | + * | | xxx | -08:00, +05:30, +00:00 | 2 | + * | | xxxx | -0800, +0530, +0000, +123456 | | + * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | | + * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | | + * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 | + * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 | + * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 | + * | Seconds timestamp | t | 512969520 | 7 | + * | | tt | ... | 3,7 | + * | Milliseconds timestamp | T | 512969520900 | 7 | + * | | TT | ... | 3,7 | + * | Long localized date | P | 05/29/1453 | 7 | + * | | PP | May 29, 1453 | 7 | + * | | PPP | May 29th, 1453 | 7 | + * | | PPPP | Sunday, May 29th, 1453 | 2,7 | + * | Long localized time | p | 12:00 AM | 7 | + * | | pp | 12:00:00 AM | 7 | + * | | ppp | 12:00:00 AM GMT+2 | 7 | + * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 | + * | Combination of date and time | Pp | 05/29/1453, 12:00 AM | 7 | + * | | PPpp | May 29, 1453, 12:00:00 AM | 7 | + * | | PPPppp | May 29th, 1453 at ... | 7 | + * | | PPPPpppp| Sunday, May 29th, 1453 at ... | 2,7 | + * Notes: + * 1. "Formatting" units (e.g. formatting quarter) in the default en-US locale + * are the same as "stand-alone" units, but are different in some languages. + * "Formatting" units are declined according to the rules of the language + * in the context of a date. "Stand-alone" units are always nominative singular: + * + * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'` + * + * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'` + * + * 2. Any sequence of the identical letters is a pattern, unless it is escaped by + * the single quote characters (see below). + * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`) + * the output will be the same as default pattern for this unit, usually + * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units + * are marked with "2" in the last column of the table. + * + * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'` + * + * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'` + * + * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'` + * + * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'` + * + * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'` + * + * 3. Some patterns could be unlimited length (such as `yyyyyyyy`). + * The output will be padded with zeros to match the length of the pattern. + * + * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'` + * + * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales. + * These tokens represent the shortest form of the quarter. + * + * 5. The main difference between `y` and `u` patterns are B.C. years: + * + * | Year | `y` | `u` | + * |------|-----|-----| + * | AC 1 | 1 | 1 | + * | BC 1 | 1 | 0 | + * | BC 2 | 2 | -1 | + * + * Also `yy` always returns the last two digits of a year, + * while `uu` pads single digit years to 2 characters and returns other years unchanged: + * + * | Year | `yy` | `uu` | + * |------|------|------| + * | 1 | 01 | 01 | + * | 14 | 14 | 14 | + * | 376 | 76 | 376 | + * | 1453 | 53 | 1453 | + * + * The same difference is true for local and ISO week-numbering years (`Y` and `R`), + * except local week-numbering years are dependent on `options.weekStartsOn` + * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear} + * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}). + * + * 6. Specific non-location timezones are currently unavailable in `date-fns`, + * so right now these tokens fall back to GMT timezones. + * + * 7. These patterns are not in the Unicode Technical Standard #35: + * - `i`: ISO day of week + * - `I`: ISO week of year + * - `R`: ISO week-numbering year + * - `t`: seconds timestamp + * - `T`: milliseconds timestamp + * - `o`: ordinal number modifier + * - `P`: long localized date + * - `p`: long localized time + * + * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years. + * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://git.io/fxCyr + * + * 9. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month. + * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://git.io/fxCyr + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - The second argument is now required for the sake of explicitness. + * + * ```javascript + * // Before v2.0.0 + * format(new Date(2016, 0, 1)) + * + * // v2.0.0 onward + * format(new Date(2016, 0, 1), "yyyy-MM-dd'T'HH:mm:ss.SSSxxx") + * ``` + * + * - New format string API for `format` function + * which is based on [Unicode Technical Standard #35](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table). + * See [this post](https://blog.date-fns.org/post/unicode-tokens-in-date-fns-v2-sreatyki91jg) for more details. + * + * - Characters are now escaped using single quote symbols (`'`) instead of square brackets. + * + * @param {Date|Number} date - the original date + * @param {String} format - the string of tokens + * @param {Object} [options] - an object with options. + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is + * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`; + * see: https://git.io/fxCyr + * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`; + * see: https://git.io/fxCyr + * @returns {String} the formatted date string + * @throws {TypeError} 2 arguments required + * @throws {RangeError} `date` must not be Invalid Date + * @throws {RangeError} `options.locale` must contain `localize` property + * @throws {RangeError} `options.locale` must contain `formatLong` property + * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6 + * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7 + * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr + * @throws {RangeError} use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr + * @throws {RangeError} use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr + * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr + * @throws {RangeError} format string contains an unescaped latin alphabet character + * + * @example + * // Represent 11 February 2014 in middle-endian format: + * var result = format(new Date(2014, 1, 11), 'MM/dd/yyyy') + * //=> '02/11/2014' + * + * @example + * // Represent 2 July 2014 in Esperanto: + * import { eoLocale } from 'date-fns/locale/eo' + * var result = format(new Date(2014, 6, 2), "do 'de' MMMM yyyy", { + * locale: eoLocale + * }) + * //=> '2-a de julio 2014' + * + * @example + * // Escape string by single quote characters: + * var result = format(new Date(2014, 6, 2, 15), "h 'o''clock'") + * //=> "3 o'clock" + */ + +function format(dirtyDate, dirtyFormatStr, dirtyOptions) { + (0, _index10.default)(2, arguments); + var formatStr = String(dirtyFormatStr); + var options = dirtyOptions || {}; + var locale = options.locale || _index2.default; + var localeFirstWeekContainsDate = locale.options && locale.options.firstWeekContainsDate; + var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : (0, _index9.default)(localeFirstWeekContainsDate); + var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : (0, _index9.default)(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN + + if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) { + throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively'); + } + + var localeWeekStartsOn = locale.options && locale.options.weekStartsOn; + var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : (0, _index9.default)(localeWeekStartsOn); + var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : (0, _index9.default)(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN + + if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { + throw new RangeError('weekStartsOn must be between 0 and 6 inclusively'); + } + + if (!locale.localize) { + throw new RangeError('locale must contain localize property'); + } + + if (!locale.formatLong) { + throw new RangeError('locale must contain formatLong property'); + } + + var originalDate = (0, _index4.default)(dirtyDate); + + if (!(0, _index.default)(originalDate)) { + throw new RangeError('Invalid time value'); + } // Convert the date in system timezone to the same date in UTC+00:00 timezone. + // This ensures that when UTC functions will be implemented, locales will be compatible with them. + // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376 + + + var timezoneOffset = (0, _index7.default)(originalDate); + var utcDate = (0, _index3.default)(originalDate, timezoneOffset); + var formatterOptions = { + firstWeekContainsDate: firstWeekContainsDate, + weekStartsOn: weekStartsOn, + locale: locale, + _originalDate: originalDate + }; + var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) { + var firstCharacter = substring[0]; + + if (firstCharacter === 'p' || firstCharacter === 'P') { + var longFormatter = _index6.default[firstCharacter]; + return longFormatter(substring, locale.formatLong, formatterOptions); + } + + return substring; + }).join('').match(formattingTokensRegExp).map(function (substring) { + // Replace two single quote characters with one single quote character + if (substring === "''") { + return "'"; + } + + var firstCharacter = substring[0]; + + if (firstCharacter === "'") { + return cleanEscapedString(substring); + } + + var formatter = _index5.default[firstCharacter]; + + if (formatter) { + if (!options.useAdditionalWeekYearTokens && (0, _index8.isProtectedWeekYearToken)(substring)) { + (0, _index8.throwProtectedError)(substring); + } + + if (!options.useAdditionalDayOfYearTokens && (0, _index8.isProtectedDayOfYearToken)(substring)) { + (0, _index8.throwProtectedError)(substring); + } + + return formatter(utcDate, substring, locale.localize, formatterOptions); + } + + if (firstCharacter.match(unescapedLatinCharacterRegExp)) { + throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`'); + } + + return substring; + }).join(''); + return result; +} + +function cleanEscapedString(input) { + return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, "'"); +} +},{"../isValid/index.js":"WNaj","../locale/en-US/index.js":"lcWw","../subMilliseconds/index.js":"A4qf","../toDate/index.js":"KYJg","../_lib/format/formatters/index.js":"S8Vi","../_lib/format/longFormatters/index.js":"W9kG","../_lib/getTimezoneOffsetInMilliseconds/index.js":"aFbL","../_lib/protectedTokens/index.js":"VJXN","../_lib/toInteger/index.js":"VYL5","../_lib/requiredArgs/index.js":"kK6Q"}],"Ph2E":[function(require,module,exports) { "use strict"; Object.defineProperty(exports, "__esModule", { @@ -281,9 +3058,35 @@ exports.default = void 0; var _default = () => window.location.host.split('.')[0]; exports.default = _default; +},{}],"ZbyX":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.inUTC = exports.inTZ = void 0; + +const inTZ = function inTZ() { + let d = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date(); + let tz = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'UTC'; + return new Date(new Date(d).toLocaleString('en-US', { + timeZone: tz + })); +}; + +exports.inTZ = inTZ; + +const inUTC = function inUTC() { + let d = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date(); + return inTZ(d); +}; + +exports.inUTC = inUTC; },{}],"Jg9g":[function(require,module,exports) { "use strict"; +var _format = _interopRequireDefault(require("date-fns/format")); + var _requestCreator = _interopRequireDefault(require("./libs/requestCreator")); var _dailyAchievments = _interopRequireDefault(require("./i18n/dailyAchievments")); @@ -294,6 +3097,8 @@ var _tribalwars = require("./utils/tribalwars"); var _getCurrentServer = _interopRequireDefault(require("./utils/getCurrentServer")); +var _date = require("./utils/date"); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } @@ -307,7 +3112,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope // @namespace https://github.com/tribalwarshelp/scripts // @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/dailyAchievements.js // @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/dailyAchievements.js -// @version 0.4.1 +// @version 0.4.2 // @description Daily achievements // @author Kichiyaki http://dawid-wysokinski.pl/ // @match *://*/game.php*screen=info_player&mode=awards* @@ -315,7 +3120,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope // ==/UserScript== const SERVER = (0, _getCurrentServer.default)(); const LOCAL_STORAGE_KEY = 'kichiyaki_daily_achievements'; -const SERVER_QUERY = "\n query server($server: String!) {\n server(key: $server) {\n key\n historyUpdatedAt\n }\n }\n"; +const SERVER_QUERY = "\n query server($server: String!) {\n server(key: $server) {\n key\n historyUpdatedAt\n version {\n timezone\n }\n }\n }\n"; const DAILY_STATS_QUERY = "\n query data($server: String!, $createDateGTE: Time!) {\n dailyPlayerStatsOrderedByScoreAtt: dailyPlayerStats(server: $server, sort: [\"scoreAtt DESC\", \"playerID desc\"], filter: { createDateGTE: $createDateGTE }, limit: 5) {\n items {\n scoreAtt\n player {\n id\n name\n }\n }\n }\n dailyPlayerStatsOrderedByScoreDef: dailyPlayerStats(server: $server, sort: [\"scoreDef DESC\", \"playerID desc\"], filter: { createDateGTE: $createDateGTE }, limit: 5) {\n items {\n scoreDef\n player {\n id\n name\n }\n }\n }\n dailyPlayerStatsOrderedByScoreSup: dailyPlayerStats(server: $server, sort: [\"scoreSup DESC\", \"playerID desc\"], filter: { createDateGTE: $createDateGTE }, limit: 5) {\n items {\n scoreSup\n player {\n id\n name\n }\n }\n }\n dailyPlayerStatsOrderedByVillages: dailyPlayerStats(server: $server, sort: [\"villages DESC\", \"playerID desc\"], filter: { createDateGTE: $createDateGTE }, limit: 5) {\n items {\n villages\n player {\n id\n name\n }\n }\n }\n }\n"; let container = undefined; const translations = (0, _dailyAchievments.default)(); @@ -338,11 +3143,12 @@ const loadData = async () => { }); if (data.server) { + const d = (0, _date.inTZ)(data.server.historyUpdatedAt, data.server.version.timezone); const dailyStatsData = await (0, _requestCreator.default)({ query: DAILY_STATS_QUERY, variables: { server: SERVER, - createDateGTE: data.server.historyUpdatedAt.split('T')[0] + 'T00:00:00Z' + createDateGTE: (0, _format.default)(d, 'yyyy-MM-dd') + 'T' + (0, _format.default)(d, 'HH:mm:ss') + 'Z' } }); data = _objectSpread(_objectSpread({}, data), dailyStatsData); @@ -387,4 +3193,4 @@ const render = (_ref) => { console.log('dailyAchievements', error); } })(); -},{"./libs/requestCreator":"Ph2E","./i18n/dailyAchievments":"rX6I","./utils/localStorage":"KWxH","./utils/tribalwars":"fHHP","./utils/getCurrentServer":"DMkL"}]},{},["Jg9g"], null) \ No newline at end of file +},{"date-fns/format":"OZJZ","./libs/requestCreator":"Ph2E","./i18n/dailyAchievments":"rX6I","./utils/localStorage":"KWxH","./utils/tribalwars":"fHHP","./utils/getCurrentServer":"DMkL","./utils/date":"ZbyX"}]},{},["Jg9g"], null) \ No newline at end of file diff --git a/dist/extendedMapPopup.js b/dist/extendedMapPopup.js index 0dc0cf3..77372c3 100644 --- a/dist/extendedMapPopup.js +++ b/dist/extendedMapPopup.js @@ -675,7 +675,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope // @namespace https://github.com/tribalwarshelp/scripts // @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedMapPopup.js // @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedMapPopup.js -// @version 0.6.2 +// @version 0.6.3 // @description Extended map popup // @author Kichiyaki http://dawid-wysokinski.pl/ // @match *://*/game.php*screen=map* @@ -793,7 +793,7 @@ const renderAdditionalInfo = (id, data, _ref) => { const units = getAvailableUnits(unitConfig); unitsEl.innerHTML = "\n \n \n \n \n ".concat(units.map(buildUnitHeader).join(''), "\n \n \n ").concat(units.map((unit, index) => { - return buildUnitArrivalInfo((0, _tribalwars.calcAttackDuration)(distance, config.unitSpeed, unit.speed), index); + return buildUnitArrivalInfo((0, _tribalwars.calcAttackDuration)(distance, config.unitSpeed * config.speed, unit.speed), index); }).join(''), "\n \n \n
\n \n "); let lastEnnobledAt = parent.querySelector('#lastEnnobledAt'); diff --git a/dist/quickbar/dailyAchievements.js b/dist/quickbar/dailyAchievements.js index b6dfb87..791b15c 100644 --- a/dist/quickbar/dailyAchievements.js +++ b/dist/quickbar/dailyAchievements.js @@ -1,4 +1,68 @@ -parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c1?"s":"")+" required, but only "+t.length+" present")}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=e; +},{}],"KYJg":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=r;var e=t(require("../_lib/requiredArgs/index.js"));function t(e){return e&&e.__esModule?e:{default:e}}function r(t){(0,e.default)(1,arguments);var r=Object.prototype.toString.call(t);return t instanceof Date||"object"==typeof t&&"[object Date]"===r?new Date(t.getTime()):"number"==typeof t||"[object Number]"===r?new Date(t):("string"!=typeof t&&"[object String]"!==r||"undefined"==typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule"),console.warn((new Error).stack)),new Date(NaN))} +},{"../_lib/requiredArgs/index.js":"kK6Q"}],"WNaj":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=u;var e=t(require("../toDate/index.js")),r=t(require("../_lib/requiredArgs/index.js"));function t(e){return e&&e.__esModule?e:{default:e}}function u(t){(0,r.default)(1,arguments);var u=(0,e.default)(t);return!isNaN(u)} +},{"../toDate/index.js":"KYJg","../_lib/requiredArgs/index.js":"kK6Q"}],"ACz4":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=o;var e={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function o(o,t,n){var s;return n=n||{},s="string"==typeof e[o]?e[o]:1===t?e[o].one:e[o].other.replace("{{count}}",t),n.addSuffix?n.comparison>0?"in "+s:s+" ago":s} +},{}],"byVx":[function(require,module,exports) { +"use strict";function t(t){return function(e){var r=e||{},u=r.width?String(r.width):t.defaultWidth;return t.formats[u]||t.formats[t.defaultWidth]}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=t; +},{}],"H2aS":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=t(require("../../../_lib/buildFormatLongFn/index.js"));function t(e){return e&&e.__esModule?e:{default:e}}var d={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},l={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},a={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},u={date:(0,e.default)({formats:d,defaultWidth:"full"}),time:(0,e.default)({formats:l,defaultWidth:"full"}),dateTime:(0,e.default)({formats:a,defaultWidth:"full"})},m=u;exports.default=m; +},{"../../../_lib/buildFormatLongFn/index.js":"byVx"}],"ZyeE":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=t;var e={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function t(t,r,a,o){return e[t]} +},{}],"VNZ0":[function(require,module,exports) { +"use strict";function t(t){return function(e,a){var r,i=a||{};if("formatting"===(i.context?String(i.context):"standalone")&&t.formattingValues){var n=t.defaultFormattingWidth||t.defaultWidth,u=i.width?String(i.width):n;r=t.formattingValues[u]||t.formattingValues[n]}else{var l=t.defaultWidth,d=i.width?String(i.width):t.defaultWidth;r=t.values[d]||t.values[l]}return r[t.argumentCallback?t.argumentCallback(e):e]}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=t; +},{}],"PTsv":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var n=e(require("../../../_lib/buildLocalizeFn/index.js"));function e(n){return n&&n.__esModule?n:{default:n}}var i={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},t={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},r={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},a={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},o={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},d={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}};function u(n,e){var i=Number(n),t=i%100;if(t>20||t<10)switch(t%10){case 1:return i+"st";case 2:return i+"nd";case 3:return i+"rd"}return i+"th"}var g={ordinalNumber:u,era:(0,n.default)({values:i,defaultWidth:"wide"}),quarter:(0,n.default)({values:t,defaultWidth:"wide",argumentCallback:function(n){return Number(n)-1}}),month:(0,n.default)({values:r,defaultWidth:"wide"}),day:(0,n.default)({values:a,defaultWidth:"wide"}),dayPeriod:(0,n.default)({values:o,defaultWidth:"wide",formattingValues:d,defaultFormattingWidth:"wide"})},m=g;exports.default=m; +},{"../../../_lib/buildLocalizeFn/index.js":"VNZ0"}],"VWmv":[function(require,module,exports) { +"use strict";function e(e){return function(a,t){var l=String(a),r=t||{},u=l.match(e.matchPattern);if(!u)return null;var n=u[0],c=l.match(e.parsePattern);if(!c)return null;var v=e.valueCallback?e.valueCallback(c[0]):c[0];return{value:v=r.valueCallback?r.valueCallback(v):v,rest:l.slice(n.length)}}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=e; +},{}],"J9yN":[function(require,module,exports) { +"use strict";function t(t){return function(a,n){var l=String(a),u=n||{},c=u.width,i=c&&t.matchPatterns[c]||t.matchPatterns[t.defaultMatchWidth],o=l.match(i);if(!o)return null;var s,f=o[0],h=c&&t.parsePatterns[c]||t.parsePatterns[t.defaultParseWidth];return s="[object Array]"===Object.prototype.toString.call(h)?r(h,function(t){return t.test(f)}):e(h,function(t){return t.test(f)}),s=t.valueCallback?t.valueCallback(s):s,{value:s=u.valueCallback?u.valueCallback(s):s,rest:l.slice(f.length)}}}function e(t,e){for(var r in t)if(t.hasOwnProperty(r)&&e(t[r]))return r}function r(t,e){for(var r=0;r0?n:1-n;return(0,e.default)("yy"===a?r%100:r,a.length)},M:function(t,a){var n=t.getUTCMonth();return"M"===a?String(n+1):(0,e.default)(n+1,2)},d:function(t,a){return(0,e.default)(t.getUTCDate(),a.length)},a:function(e,t){var a=e.getUTCHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":case"aaa":return a.toUpperCase();case"aaaaa":return a[0];case"aaaa":default:return"am"===a?"a.m.":"p.m."}},h:function(t,a){return(0,e.default)(t.getUTCHours()%12||12,a.length)},H:function(t,a){return(0,e.default)(t.getUTCHours(),a.length)},m:function(t,a){return(0,e.default)(t.getUTCMinutes(),a.length)},s:function(t,a){return(0,e.default)(t.getUTCSeconds(),a.length)},S:function(t,a){var n=a.length,r=t.getUTCMilliseconds(),u=Math.floor(r*Math.pow(10,n-3));return(0,e.default)(u,a.length)}},n=a;exports.default=n; +},{"../../addLeadingZeros/index.js":"V2hq"}],"I9iY":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=o;var e=t(require("../../toDate/index.js")),r=t(require("../requiredArgs/index.js"));function t(e){return e&&e.__esModule?e:{default:e}}var u=864e5;function o(t){(0,r.default)(1,arguments);var o=(0,e.default)(t),s=o.getTime();o.setUTCMonth(0,1),o.setUTCHours(0,0,0,0);var a=s-o.getTime();return Math.floor(a/u)+1} +},{"../../toDate/index.js":"KYJg","../requiredArgs/index.js":"kK6Q"}],"IuuM":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=u;var e=r(require("../../toDate/index.js")),t=r(require("../requiredArgs/index.js"));function r(e){return e&&e.__esModule?e:{default:e}}function u(r){(0,t.default)(1,arguments);var u=(0,e.default)(r),s=u.getUTCDay(),a=(s<1?7:0)+s-1;return u.setUTCDate(u.getUTCDate()-a),u.setUTCHours(0,0,0,0),u} +},{"../../toDate/index.js":"KYJg","../requiredArgs/index.js":"kK6Q"}],"wuZP":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=a;var e=u(require("../../toDate/index.js")),t=u(require("../startOfUTCISOWeek/index.js")),r=u(require("../requiredArgs/index.js"));function u(e){return e&&e.__esModule?e:{default:e}}function a(u){(0,r.default)(1,arguments);var a=(0,e.default)(u),s=a.getUTCFullYear(),i=new Date(0);i.setUTCFullYear(s+1,0,4),i.setUTCHours(0,0,0,0);var l=(0,t.default)(i),d=new Date(0);d.setUTCFullYear(s,0,4),d.setUTCHours(0,0,0,0);var n=(0,t.default)(d);return a.getTime()>=l.getTime()?s+1:a.getTime()>=n.getTime()?s:s-1} +},{"../../toDate/index.js":"KYJg","../startOfUTCISOWeek/index.js":"IuuM","../requiredArgs/index.js":"kK6Q"}],"TVAh":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=s;var e=u(require("../getUTCISOWeekYear/index.js")),r=u(require("../startOfUTCISOWeek/index.js")),t=u(require("../requiredArgs/index.js"));function u(e){return e&&e.__esModule?e:{default:e}}function s(u){(0,t.default)(1,arguments);var s=(0,e.default)(u),a=new Date(0);return a.setUTCFullYear(s,0,4),a.setUTCHours(0,0,0,0),(0,r.default)(a)} +},{"../getUTCISOWeekYear/index.js":"wuZP","../startOfUTCISOWeek/index.js":"IuuM","../requiredArgs/index.js":"kK6Q"}],"PrDZ":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=i;var e=a(require("../../toDate/index.js")),r=a(require("../startOfUTCISOWeek/index.js")),t=a(require("../startOfUTCISOWeekYear/index.js")),u=a(require("../requiredArgs/index.js"));function a(e){return e&&e.__esModule?e:{default:e}}var d=6048e5;function i(a){(0,u.default)(1,arguments);var i=(0,e.default)(a),s=(0,r.default)(i).getTime()-(0,t.default)(i).getTime();return Math.round(s/d)+1} +},{"../../toDate/index.js":"KYJg","../startOfUTCISOWeek/index.js":"IuuM","../startOfUTCISOWeekYear/index.js":"TVAh","../requiredArgs/index.js":"kK6Q"}],"sFsT":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=u;var e=n(require("../toInteger/index.js")),t=n(require("../../toDate/index.js")),r=n(require("../requiredArgs/index.js"));function n(e){return e&&e.__esModule?e:{default:e}}function u(n,u){(0,r.default)(1,arguments);var a=u||{},s=a.locale,l=s&&s.options&&s.options.weekStartsOn,o=null==l?0:(0,e.default)(l),i=null==a.weekStartsOn?o:(0,e.default)(a.weekStartsOn);if(!(i>=0&&i<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var d=(0,t.default)(n),f=d.getUTCDay(),w=(f=1&&C<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var T=new Date(0);T.setUTCFullYear(u+1,0,C),T.setUTCHours(0,0,0,0);var g=(0,r.default)(T,i),v=new Date(0);v.setUTCFullYear(u,0,C),v.setUTCHours(0,0,0,0);var D=(0,r.default)(v,i);return s.getTime()>=g.getTime()?u+1:s.getTime()>=D.getTime()?u:u-1} +},{"../toInteger/index.js":"VYL5","../../toDate/index.js":"KYJg","../startOfUTCWeek/index.js":"sFsT","../requiredArgs/index.js":"kK6Q"}],"x8HL":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=s;var e=n(require("../toInteger/index.js")),t=n(require("../getUTCWeekYear/index.js")),r=n(require("../startOfUTCWeek/index.js")),u=n(require("../requiredArgs/index.js"));function n(e){return e&&e.__esModule?e:{default:e}}function s(n,s){(0,u.default)(1,arguments);var a=s||{},i=a.locale,l=i&&i.options&&i.options.firstWeekContainsDate,o=null==l?1:(0,e.default)(l),d=null==a.firstWeekContainsDate?o:(0,e.default)(a.firstWeekContainsDate),f=(0,t.default)(n,s),C=new Date(0);return C.setUTCFullYear(f,0,d),C.setUTCHours(0,0,0,0),(0,r.default)(C,s)} +},{"../toInteger/index.js":"VYL5","../getUTCWeekYear/index.js":"JbHP","../startOfUTCWeek/index.js":"sFsT","../requiredArgs/index.js":"kK6Q"}],"Z7oM":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=i;var e=a(require("../../toDate/index.js")),r=a(require("../startOfUTCWeek/index.js")),t=a(require("../startOfUTCWeekYear/index.js")),u=a(require("../requiredArgs/index.js"));function a(e){return e&&e.__esModule?e:{default:e}}var d=6048e5;function i(a,i){(0,u.default)(1,arguments);var s=(0,e.default)(a),n=(0,r.default)(s,i).getTime()-(0,t.default)(s,i).getTime();return Math.round(n/d)+1} +},{"../../toDate/index.js":"KYJg","../startOfUTCWeek/index.js":"sFsT","../startOfUTCWeekYear/index.js":"x8HL","../requiredArgs/index.js":"kK6Q"}],"S8Vi":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var t=o(require("../lightFormatters/index.js")),e=o(require("../../../_lib/getUTCDayOfYear/index.js")),r=o(require("../../../_lib/getUTCISOWeek/index.js")),n=o(require("../../../_lib/getUTCISOWeekYear/index.js")),a=o(require("../../../_lib/getUTCWeek/index.js")),i=o(require("../../../_lib/getUTCWeekYear/index.js")),u=o(require("../../addLeadingZeros/index.js"));function o(t){return t&&t.__esModule?t:{default:t}}var c={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},d={G:function(t,e,r){var n=t.getUTCFullYear()>0?1:0;switch(e){case"G":case"GG":case"GGG":return r.era(n,{width:"abbreviated"});case"GGGGG":return r.era(n,{width:"narrow"});case"GGGG":default:return r.era(n,{width:"wide"})}},y:function(e,r,n){if("yo"===r){var a=e.getUTCFullYear(),i=a>0?a:1-a;return n.ordinalNumber(i,{unit:"year"})}return t.default.y(e,r)},Y:function(t,e,r,n){var a=(0,i.default)(t,n),o=a>0?a:1-a;if("YY"===e){var c=o%100;return(0,u.default)(c,2)}return"Yo"===e?r.ordinalNumber(o,{unit:"year"}):(0,u.default)(o,e.length)},R:function(t,e){var r=(0,n.default)(t);return(0,u.default)(r,e.length)},u:function(t,e){var r=t.getUTCFullYear();return(0,u.default)(r,e.length)},Q:function(t,e,r){var n=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"Q":return String(n);case"QQ":return(0,u.default)(n,2);case"Qo":return r.ordinalNumber(n,{unit:"quarter"});case"QQQ":return r.quarter(n,{width:"abbreviated",context:"formatting"});case"QQQQQ":return r.quarter(n,{width:"narrow",context:"formatting"});case"QQQQ":default:return r.quarter(n,{width:"wide",context:"formatting"})}},q:function(t,e,r){var n=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"q":return String(n);case"qq":return(0,u.default)(n,2);case"qo":return r.ordinalNumber(n,{unit:"quarter"});case"qqq":return r.quarter(n,{width:"abbreviated",context:"standalone"});case"qqqqq":return r.quarter(n,{width:"narrow",context:"standalone"});case"qqqq":default:return r.quarter(n,{width:"wide",context:"standalone"})}},M:function(e,r,n){var a=e.getUTCMonth();switch(r){case"M":case"MM":return t.default.M(e,r);case"Mo":return n.ordinalNumber(a+1,{unit:"month"});case"MMM":return n.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(a,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(a,{width:"wide",context:"formatting"})}},L:function(t,e,r){var n=t.getUTCMonth();switch(e){case"L":return String(n+1);case"LL":return(0,u.default)(n+1,2);case"Lo":return r.ordinalNumber(n+1,{unit:"month"});case"LLL":return r.month(n,{width:"abbreviated",context:"standalone"});case"LLLLL":return r.month(n,{width:"narrow",context:"standalone"});case"LLLL":default:return r.month(n,{width:"wide",context:"standalone"})}},w:function(t,e,r,n){var i=(0,a.default)(t,n);return"wo"===e?r.ordinalNumber(i,{unit:"week"}):(0,u.default)(i,e.length)},I:function(t,e,n){var a=(0,r.default)(t);return"Io"===e?n.ordinalNumber(a,{unit:"week"}):(0,u.default)(a,e.length)},d:function(e,r,n){return"do"===r?n.ordinalNumber(e.getUTCDate(),{unit:"date"}):t.default.d(e,r)},D:function(t,r,n){var a=(0,e.default)(t);return"Do"===r?n.ordinalNumber(a,{unit:"dayOfYear"}):(0,u.default)(a,r.length)},E:function(t,e,r){var n=t.getUTCDay();switch(e){case"E":case"EE":case"EEE":return r.day(n,{width:"abbreviated",context:"formatting"});case"EEEEE":return r.day(n,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(n,{width:"short",context:"formatting"});case"EEEE":default:return r.day(n,{width:"wide",context:"formatting"})}},e:function(t,e,r,n){var a=t.getUTCDay(),i=(a-n.weekStartsOn+8)%7||7;switch(e){case"e":return String(i);case"ee":return(0,u.default)(i,2);case"eo":return r.ordinalNumber(i,{unit:"day"});case"eee":return r.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return r.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(a,{width:"short",context:"formatting"});case"eeee":default:return r.day(a,{width:"wide",context:"formatting"})}},c:function(t,e,r,n){var a=t.getUTCDay(),i=(a-n.weekStartsOn+8)%7||7;switch(e){case"c":return String(i);case"cc":return(0,u.default)(i,e.length);case"co":return r.ordinalNumber(i,{unit:"day"});case"ccc":return r.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return r.day(a,{width:"narrow",context:"standalone"});case"cccccc":return r.day(a,{width:"short",context:"standalone"});case"cccc":default:return r.day(a,{width:"wide",context:"standalone"})}},i:function(t,e,r){var n=t.getUTCDay(),a=0===n?7:n;switch(e){case"i":return String(a);case"ii":return(0,u.default)(a,e.length);case"io":return r.ordinalNumber(a,{unit:"day"});case"iii":return r.day(n,{width:"abbreviated",context:"formatting"});case"iiiii":return r.day(n,{width:"narrow",context:"formatting"});case"iiiiii":return r.day(n,{width:"short",context:"formatting"});case"iiii":default:return r.day(n,{width:"wide",context:"formatting"})}},a:function(t,e,r){var n=t.getUTCHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":case"aaa":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"aaaaa":return r.dayPeriod(n,{width:"narrow",context:"formatting"});case"aaaa":default:return r.dayPeriod(n,{width:"wide",context:"formatting"})}},b:function(t,e,r){var n,a=t.getUTCHours();switch(n=12===a?c.noon:0===a?c.midnight:a/12>=1?"pm":"am",e){case"b":case"bb":case"bbb":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"bbbbb":return r.dayPeriod(n,{width:"narrow",context:"formatting"});case"bbbb":default:return r.dayPeriod(n,{width:"wide",context:"formatting"})}},B:function(t,e,r){var n,a=t.getUTCHours();switch(n=a>=17?c.evening:a>=12?c.afternoon:a>=4?c.morning:c.night,e){case"B":case"BB":case"BBB":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"BBBBB":return r.dayPeriod(n,{width:"narrow",context:"formatting"});case"BBBB":default:return r.dayPeriod(n,{width:"wide",context:"formatting"})}},h:function(e,r,n){if("ho"===r){var a=e.getUTCHours()%12;return 0===a&&(a=12),n.ordinalNumber(a,{unit:"hour"})}return t.default.h(e,r)},H:function(e,r,n){return"Ho"===r?n.ordinalNumber(e.getUTCHours(),{unit:"hour"}):t.default.H(e,r)},K:function(t,e,r){var n=t.getUTCHours()%12;return"Ko"===e?r.ordinalNumber(n,{unit:"hour"}):(0,u.default)(n,e.length)},k:function(t,e,r){var n=t.getUTCHours();return 0===n&&(n=24),"ko"===e?r.ordinalNumber(n,{unit:"hour"}):(0,u.default)(n,e.length)},m:function(e,r,n){return"mo"===r?n.ordinalNumber(e.getUTCMinutes(),{unit:"minute"}):t.default.m(e,r)},s:function(e,r,n){return"so"===r?n.ordinalNumber(e.getUTCSeconds(),{unit:"second"}):t.default.s(e,r)},S:function(e,r){return t.default.S(e,r)},X:function(t,e,r,n){var a=(n._originalDate||t).getTimezoneOffset();if(0===a)return"Z";switch(e){case"X":return f(a);case"XXXX":case"XX":return l(a);case"XXXXX":case"XXX":default:return l(a,":")}},x:function(t,e,r,n){var a=(n._originalDate||t).getTimezoneOffset();switch(e){case"x":return f(a);case"xxxx":case"xx":return l(a);case"xxxxx":case"xxx":default:return l(a,":")}},O:function(t,e,r,n){var a=(n._originalDate||t).getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+s(a,":");case"OOOO":default:return"GMT"+l(a,":")}},z:function(t,e,r,n){var a=(n._originalDate||t).getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+s(a,":");case"zzzz":default:return"GMT"+l(a,":")}},t:function(t,e,r,n){var a=n._originalDate||t,i=Math.floor(a.getTime()/1e3);return(0,u.default)(i,e.length)},T:function(t,e,r,n){var a=(n._originalDate||t).getTime();return(0,u.default)(a,e.length)}};function s(t,e){var r=t>0?"-":"+",n=Math.abs(t),a=Math.floor(n/60),i=n%60;if(0===i)return r+String(a);var o=e||"";return r+String(a)+o+(0,u.default)(i,2)}function f(t,e){return t%60==0?(t>0?"-":"+")+(0,u.default)(Math.abs(t)/60,2):l(t,e)}function l(t,e){var r=e||"",n=t>0?"-":"+",a=Math.abs(t);return n+(0,u.default)(Math.floor(a/60),2)+r+(0,u.default)(a%60,2)}var h=d;exports.default=h; +},{"../lightFormatters/index.js":"sUXs","../../../_lib/getUTCDayOfYear/index.js":"I9iY","../../../_lib/getUTCISOWeek/index.js":"PrDZ","../../../_lib/getUTCISOWeekYear/index.js":"wuZP","../../../_lib/getUTCWeek/index.js":"Z7oM","../../../_lib/getUTCWeekYear/index.js":"JbHP","../../addLeadingZeros/index.js":"V2hq"}],"W9kG":[function(require,module,exports) { +"use strict";function e(e,t){switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}}function t(e,t){switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}}function r(r,a){var i,d=r.match(/(P+)(p+)?/),u=d[1],s=d[2];if(!s)return e(r,a);switch(u){case"P":i=a.dateTime({width:"short"});break;case"PP":i=a.dateTime({width:"medium"});break;case"PPP":i=a.dateTime({width:"long"});break;case"PPPP":default:i=a.dateTime({width:"full"})}return i.replace("{{date}}",e(u,a)).replace("{{time}}",t(s,a))}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var a={p:t,P:r},i=a;exports.default=i; +},{}],"aFbL":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=r;var e=6e4;function t(t){return t.getTime()%e}function r(r){var n=new Date(r.getTime()),i=Math.ceil(n.getTimezoneOffset());n.setSeconds(0,0);var o=i>0?(e+t(n))%e:t(n);return i*e+o} +},{}],"VJXN":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isProtectedDayOfYearToken=r,exports.isProtectedWeekYearToken=o,exports.throwProtectedError=n;var e=["D","DD"],t=["YY","YYYY"];function r(t){return-1!==e.indexOf(t)}function o(e){return-1!==t.indexOf(e)}function n(e){if("YYYY"===e)throw new RangeError("Use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr");if("YY"===e)throw new RangeError("Use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr");if("D"===e)throw new RangeError("Use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr");if("DD"===e)throw new RangeError("Use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr")} +},{}],"OZJZ":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=g;var e=d(require("../isValid/index.js")),r=d(require("../locale/en-US/index.js")),t=d(require("../subMilliseconds/index.js")),n=d(require("../toDate/index.js")),a=d(require("../_lib/format/formatters/index.js")),i=d(require("../_lib/format/longFormatters/index.js")),o=d(require("../_lib/getTimezoneOffsetInMilliseconds/index.js")),l=require("../_lib/protectedTokens/index.js"),s=d(require("../_lib/toInteger/index.js")),u=d(require("../_lib/requiredArgs/index.js"));function d(e){return e&&e.__esModule?e:{default:e}}var f=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,c=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,w=/^'([^]*?)'?$/,m=/''/g,p=/[a-zA-Z]/;function g(d,w,m){(0,u.default)(2,arguments);var g=String(w),h=m||{},v=h.locale||r.default,b=v.options&&v.options.firstWeekContainsDate,j=null==b?1:(0,s.default)(b),q=null==h.firstWeekContainsDate?j:(0,s.default)(h.firstWeekContainsDate);if(!(q>=1&&q<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var x=v.options&&v.options.weekStartsOn,_=null==x?0:(0,s.default)(x),D=null==h.weekStartsOn?_:(0,s.default)(h.weekStartsOn);if(!(D>=0&&D<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!v.localize)throw new RangeError("locale must contain localize property");if(!v.formatLong)throw new RangeError("locale must contain formatLong property");var O=(0,n.default)(d);if(!(0,e.default)(O))throw new RangeError("Invalid time value");var y=(0,o.default)(O),E=(0,t.default)(O,y),P={firstWeekContainsDate:q,weekStartsOn:D,locale:v,_originalDate:O};return g.match(c).map(function(e){var r=e[0];return"p"===r||"P"===r?(0,i.default[r])(e,v.formatLong,P):e}).join("").match(f).map(function(e){if("''"===e)return"'";var r=e[0];if("'"===r)return k(e);var t=a.default[r];if(t)return!h.useAdditionalWeekYearTokens&&(0,l.isProtectedWeekYearToken)(e)&&(0,l.throwProtectedError)(e),!h.useAdditionalDayOfYearTokens&&(0,l.isProtectedDayOfYearToken)(e)&&(0,l.throwProtectedError)(e),t(E,e,v.localize,P);if(r.match(p))throw new RangeError("Format string contains an unescaped latin alphabet character `"+r+"`");return e}).join("")}function k(e){return e.match(w)[1].replace(m,"'")} +},{"../isValid/index.js":"WNaj","../locale/en-US/index.js":"lcWw","../subMilliseconds/index.js":"A4qf","../toDate/index.js":"KYJg","../_lib/format/formatters/index.js":"S8Vi","../_lib/format/longFormatters/index.js":"W9kG","../_lib/getTimezoneOffsetInMilliseconds/index.js":"aFbL","../_lib/protectedTokens/index.js":"VJXN","../_lib/toInteger/index.js":"VYL5","../_lib/requiredArgs/index.js":"kK6Q"}],"Ph2E":[function(require,module,exports) { "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.API_URI=void 0;const e="https://api.tribalwarshelp.com/graphql";exports.API_URI=e;var r=function(){let{query:r,variables:t={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return fetch(e,{method:"POST",body:JSON.stringify({query:r,variables:t}),headers:{"Content-Type":"application/json"}}).then(e=>e.json()).then(e=>{let{data:r,errors:t}=e;if(t&&Array.isArray(t)&&t.length>0)throw new Error(t[0].message);return new Promise(e=>e(r))})};exports.default=r; },{}],"rX6I":[function(require,module,exports) { "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;const e={pl_PL:{title:"Dzienne osiągnięcia - prawdopodobni gracze",warning:"Pamiętaj! Ten skrypt pokazuje wykalkulowane przez TribalWars wyniki, nie pokonane jednostki.",aotd:"Agresor dnia",dotd:"Obrońca dnia",sotd:"Pomocnik dnia",gpotd:"Mocarstwo dnia"},en_DK:{title:"Daily achievements - probable players",warning:"Remember! This script shows scores, not defeated units.",aotd:"Attacker of the day",dotd:"Defender of the day",sotd:"Supporter of the day",gpotd:"Great power of the day"}};var o=()=>e[window.game_data.locale]||e.en_DK;exports.default=o; @@ -8,6 +72,8 @@ parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcel "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.buildImgURL=exports.calcAttackDuration=exports.formatVillageName=exports.formatVillageURL=exports.formatPlayerURL=exports.formatTribeURL=void 0;const o=o=>window.location.origin+TribalWars.buildURL("",{screen:"info_ally",id:o});exports.formatTribeURL=o;const t=o=>window.location.origin+TribalWars.buildURL("",{screen:"info_player",id:o});exports.formatPlayerURL=t;const r=o=>window.location.origin+TribalWars.buildURL("",{screen:"info_village",id:o});exports.formatVillageURL=r;const e=function(){let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:500;const e="K"+String(r)[0]+String(t)[0];return"".concat(o," (").concat(t,"|").concat(r,") ").concat(e)};exports.formatVillageName=e;const i=(o,t,r)=>Math.round(o*r/t);exports.calcAttackDuration=i;const a=o=>image_base+o;exports.buildImgURL=a; },{}],"DMkL":[function(require,module,exports) { "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=()=>window.location.host.split(".")[0];exports.default=e; +},{}],"ZbyX":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.inUTC=exports.inTZ=void 0;const e=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"UTC";return new Date(new Date(e).toLocaleString("en-US",{timeZone:t}))};exports.inTZ=e;const t=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date;return e(t)};exports.inUTC=t; },{}],"Jg9g":[function(require,module,exports) { -"use strict";var e=c(require("./libs/requestCreator")),r=c(require("./i18n/dailyAchievments")),t=require("./utils/localStorage"),a=require("./utils/tribalwars"),n=c(require("./utils/getCurrentServer"));function c(e){return e&&e.__esModule?e:{default:e}}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,a)}return t}function o(e){for(var r=1;r(0,t.getItem)(d),f=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,t.setItem)(d,e)},m=async()=>{let r=await(0,e.default)({query:y,variables:{server:l}});if(r.server){const t=await(0,e.default)({query:p,variables:{server:l,createDateGTE:r.server.historyUpdatedAt.split("T")[0]+"T00:00:00Z"}});r=o(o({},r),t)}return f(r),r},S=e=>{let{dailyPlayerStatsOrderedByScoreAtt:r,dailyPlayerStatsOrderedByScoreDef:t,dailyPlayerStatsOrderedByScoreSup:n,dailyPlayerStatsOrderedByVillages:c}=e;const i='\n
'.concat(v.title,'
\n
\n
\n

').concat(v.warning,"

\n

").concat(v.aotd,"

\n ").concat(r.items.map((e,r)=>"".concat(r+1,'. ').concat(e.player.name," - ").concat(e.scoreAtt.toLocaleString(),"")).join("
"),'\n
\n
\n
\n

').concat(v.dotd,"

\n ").concat(t.items.map((e,r)=>"".concat(r+1,'. ').concat(e.player.name," - ").concat(e.scoreDef.toLocaleString(),"")).join("
"),'\n
\n
\n
\n

').concat(v.sotd,"

\n ").concat(n.items.map((e,r)=>"".concat(r+1,'. ').concat(e.player.name," - ").concat(e.scoreSup.toLocaleString(),"")).join("
"),'\n
\n
\n
\n

').concat(v.gpotd,"

\n ").concat(c.items.map((e,r)=>"".concat(r+1,'. ').concat(e.player.name," - ").concat(e.villages.toLocaleString(),"")).join("
"),'\n
\n
\n
\n ');u||((u=document.createElement("div")).classList.add("award-group"),document.querySelector("#content_value > div:nth-child(4)").prepend(u)),u.innerHTML=i};!async function(){try{const r=g();r&&r.server&&S(r);const t=await m();t.server&&S(t)}catch(e){console.log("dailyAchievements",e)}}(); -},{"./libs/requestCreator":"Ph2E","./i18n/dailyAchievments":"rX6I","./utils/localStorage":"KWxH","./utils/tribalwars":"fHHP","./utils/getCurrentServer":"DMkL"}]},{},["Jg9g"], null) \ No newline at end of file +"use strict";var e=s(require("date-fns/format")),r=s(require("./libs/requestCreator")),t=s(require("./i18n/dailyAchievments")),a=require("./utils/localStorage"),n=require("./utils/tribalwars"),c=s(require("./utils/getCurrentServer")),i=require("./utils/date");function s(e){return e&&e.__esModule?e:{default:e}}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,a)}return t}function l(e){for(var r=1;r(0,a.getItem)(p),S=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,a.setItem)(p,e)},D=async()=>{let t=await(0,r.default)({query:u,variables:{server:y}});if(t.server){const a=(0,i.inTZ)(t.server.historyUpdatedAt,t.server.version.timezone),n=await(0,r.default)({query:v,variables:{server:y,createDateGTE:(0,e.default)(a,"yyyy-MM-dd")+"T"+(0,e.default)(a,"HH:mm:ss")+"Z"}});t=l(l({},t),n)}return S(t),t},b=e=>{let{dailyPlayerStatsOrderedByScoreAtt:r,dailyPlayerStatsOrderedByScoreDef:t,dailyPlayerStatsOrderedByScoreSup:a,dailyPlayerStatsOrderedByVillages:c}=e;const i='\n
'.concat(m.title,'
\n
\n
\n

').concat(m.warning,"

\n

").concat(m.aotd,"

\n ").concat(r.items.map((e,r)=>"".concat(r+1,'. ').concat(e.player.name," - ").concat(e.scoreAtt.toLocaleString(),"")).join("
"),'\n
\n
\n
\n

').concat(m.dotd,"

\n ").concat(t.items.map((e,r)=>"".concat(r+1,'. ').concat(e.player.name," - ").concat(e.scoreDef.toLocaleString(),"")).join("
"),'\n
\n
\n
\n

').concat(m.sotd,"

\n ").concat(a.items.map((e,r)=>"".concat(r+1,'. ').concat(e.player.name," - ").concat(e.scoreSup.toLocaleString(),"")).join("
"),'\n
\n
\n
\n

').concat(m.gpotd,"

\n ").concat(c.items.map((e,r)=>"".concat(r+1,'. ').concat(e.player.name," - ").concat(e.villages.toLocaleString(),"")).join("
"),'\n
\n
\n
\n ');f||((f=document.createElement("div")).classList.add("award-group"),document.querySelector("#content_value > div:nth-child(4)").prepend(f)),f.innerHTML=i};!async function(){try{const r=g();r&&r.server&&b(r);const t=await D();t.server&&b(t)}catch(e){console.log("dailyAchievements",e)}}(); +},{"date-fns/format":"OZJZ","./libs/requestCreator":"Ph2E","./i18n/dailyAchievments":"rX6I","./utils/localStorage":"KWxH","./utils/tribalwars":"fHHP","./utils/getCurrentServer":"DMkL","./utils/date":"ZbyX"}]},{},["Jg9g"], null) \ No newline at end of file diff --git a/dist/quickbar/extendedMapPopup.js b/dist/quickbar/extendedMapPopup.js index 586de6e..b16067c 100644 --- a/dist/quickbar/extendedMapPopup.js +++ b/dist/quickbar/extendedMapPopup.js @@ -31,5 +31,5 @@ parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcel },{"../differenceInMilliseconds/index.js":"H70G","../_lib/requiredArgs/index.js":"kK6Q"}],"ATOB":[function(require,module,exports) { "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=t(require("date-fns/differenceInMinutes"));function t(e){return e&&e.__esModule?e:{default:e}}var r=(t,r)=>{let u=25+Math.abs((0,e.default)(t,new Date))*(r/60);return u>100&&(u=100),Math.floor(u)};exports.default=r; },{"date-fns/differenceInMinutes":"oGJj"}],"HdqX":[function(require,module,exports) { -"use strict";var e=c(require("date-fns/addMinutes")),n=c(require("./i18n/extendedMapPopup")),t=c(require("./libs/requestCreator")),r=c(require("./utils/formatDate")),a=c(require("./utils/getCurrentServer")),o=require("./utils/math"),i=c(require("./utils/buildUnitImgURL")),l=require("./utils/localStorage"),p=require("./utils/tribalwars"),d=c(require("./utils/countLoyalty"));function c(e){return e&&e.__esModule?e:{default:e}}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function u(e){for(var n=1;n(0,l.getItem)(b),w=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,l.setItem)(b,e)},M=e=>Math.abs(e.getTime()-(new Date).getTime())>864e5,T=async()=>{let e=h();return e&&e.server&&!M(new Date(e.loadedAt))&&e.server.config&&e.server.config.speed&&e.server.config.snob&&e.server.config.snob.maxDist&&e.server.config.unitSpeed&&e.server.unitConfig||((e=await(0,t.default)({query:y,variables:{key:m}})).loadedAt=new Date,w(e)),e&&e.server&&e.server.config?{config:e.server.config,unitConfig:e.server.unitConfig}:{}},q=async function(e){let{cacheOnly:n=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(n||TWMap.popup.extendedMapPopupCache[e])return TWMap.popup.extendedMapPopupCache[e];try{const n=await(0,t.default)({query:f,variables:{server:m,sort:["ennobledAt DESC"],filter:{villageID:[e]},limit:1}});return TWMap.popup.extendedMapPopupCache[e]=n,n}catch(r){console.log("loadVillageData",r)}},O=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const n=[];for(let t in e)0!==e[t].speed&&n.push(u(u({},e[t]),{},{name:t,img:(0,i.default)(t)}));return n},S=e=>e%2==0?"#f8f4e8":"#ded3b9;",C=(e,n)=>'\n \n \n \n '),x=(n,t)=>'\n \n ').concat((0,r.default)((0,e.default)(Timing.getCurrentServerTime(),n)),"\n \n "),D=(e,n,t)=>{let{config:a,unitConfig:i}=t;const l=TWMap.CoordByXY(TWMap.villageKey[e]),c=(0,o.calcDistanceBetweenTwoPoints)(l[0],l[1],window.game_data.village.x,window.game_data.village.y),s=n&&n.ennoblements&&n.ennoblements.items&&n.ennoblements.items.length>0?n.ennoblements.items[0]:void 0,u=document.querySelector("#map_popup #info_content tbody");let g=u.querySelector("#units");g||((g=document.createElement("tr")).id="units",u.appendChild(g));const m=O(i);g.innerHTML='\n \n \n \n \n '.concat(m.map(C).join(""),'\n \n \n ').concat(m.map((e,n)=>x((0,p.calcAttackDuration)(c,a.unitSpeed,e.speed),n)).join(""),"\n \n \n
\n \n ");let y=u.querySelector("#lastEnnobledAt");y||((y=document.createElement("tr")).id="lastEnnobledAt",u.appendChild(y)),y.innerHTML="\n \n ".concat(v.ennobledAt,":\n \n \n ").concat(s?(0,r.default)(s.ennobledAt):v.never,"\n \n ");let f=u.querySelector("#loyalty");f||((f=document.createElement("tr")).id="loyalty",u.appendChild(f)),f.innerHTML="\n \n ".concat(v.possibleLoyalty,":\n \n \n ").concat(s?(0,d.default)(new Date(s.ennobledAt),a.speed):100,"\n \n ");let b=u.querySelector("#canSendNoble");b||((b=document.createElement("tr")).id="canSendNoble",u.appendChild(b)),b.innerHTML="\n \n ".concat(v.canSendNoble,":\n \n \n ").concat(c\n ")},P=e=>async n=>{TWMap.popup._loadVillage(n);const t=await q(parseInt(n));D(parseInt(n),t,e)},_=e=>async(n,t,r)=>{TWMap.popup._displayForVillage(n,t,r);const a=await q(parseInt(n.id),{cacheOnly:window.game_data.features.Premium.active});D(parseInt(n.id),a,e)};!async function(){try{const n=await T();TWMap.popup.extendedMapPopupCache={},TWMap.popup._loadVillage=TWMap.popup.loadVillage,TWMap.popup.loadVillage=P(n),TWMap.popup._displayForVillage=TWMap.popup.displayForVillage,TWMap.popup.displayForVillage=_(n)}catch(e){console.log("extended map popup",e)}}(); +"use strict";var e=c(require("date-fns/addMinutes")),n=c(require("./i18n/extendedMapPopup")),t=c(require("./libs/requestCreator")),r=c(require("./utils/formatDate")),a=c(require("./utils/getCurrentServer")),o=require("./utils/math"),i=c(require("./utils/buildUnitImgURL")),l=require("./utils/localStorage"),p=require("./utils/tribalwars"),d=c(require("./utils/countLoyalty"));function c(e){return e&&e.__esModule?e:{default:e}}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function u(e){for(var n=1;n(0,l.getItem)(b),w=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,l.setItem)(b,e)},M=e=>Math.abs(e.getTime()-(new Date).getTime())>864e5,T=async()=>{let e=h();return e&&e.server&&!M(new Date(e.loadedAt))&&e.server.config&&e.server.config.speed&&e.server.config.snob&&e.server.config.snob.maxDist&&e.server.config.unitSpeed&&e.server.unitConfig||((e=await(0,t.default)({query:y,variables:{key:m}})).loadedAt=new Date,w(e)),e&&e.server&&e.server.config?{config:e.server.config,unitConfig:e.server.unitConfig}:{}},q=async function(e){let{cacheOnly:n=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(n||TWMap.popup.extendedMapPopupCache[e])return TWMap.popup.extendedMapPopupCache[e];try{const n=await(0,t.default)({query:f,variables:{server:m,sort:["ennobledAt DESC"],filter:{villageID:[e]},limit:1}});return TWMap.popup.extendedMapPopupCache[e]=n,n}catch(r){console.log("loadVillageData",r)}},O=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const n=[];for(let t in e)0!==e[t].speed&&n.push(u(u({},e[t]),{},{name:t,img:(0,i.default)(t)}));return n},S=e=>e%2==0?"#f8f4e8":"#ded3b9;",C=(e,n)=>'\n \n \n \n '),x=(n,t)=>'\n \n ').concat((0,r.default)((0,e.default)(Timing.getCurrentServerTime(),n)),"\n \n "),D=(e,n,t)=>{let{config:a,unitConfig:i}=t;const l=TWMap.CoordByXY(TWMap.villageKey[e]),c=(0,o.calcDistanceBetweenTwoPoints)(l[0],l[1],window.game_data.village.x,window.game_data.village.y),s=n&&n.ennoblements&&n.ennoblements.items&&n.ennoblements.items.length>0?n.ennoblements.items[0]:void 0,u=document.querySelector("#map_popup #info_content tbody");let g=u.querySelector("#units");g||((g=document.createElement("tr")).id="units",u.appendChild(g));const m=O(i);g.innerHTML='\n \n \n \n \n '.concat(m.map(C).join(""),'\n \n \n ').concat(m.map((e,n)=>x((0,p.calcAttackDuration)(c,a.unitSpeed*a.speed,e.speed),n)).join(""),"\n \n \n
\n \n ");let y=u.querySelector("#lastEnnobledAt");y||((y=document.createElement("tr")).id="lastEnnobledAt",u.appendChild(y)),y.innerHTML="\n \n ".concat(v.ennobledAt,":\n \n \n ").concat(s?(0,r.default)(s.ennobledAt):v.never,"\n \n ");let f=u.querySelector("#loyalty");f||((f=document.createElement("tr")).id="loyalty",u.appendChild(f)),f.innerHTML="\n \n ".concat(v.possibleLoyalty,":\n \n \n ").concat(s?(0,d.default)(new Date(s.ennobledAt),a.speed):100,"\n \n ");let b=u.querySelector("#canSendNoble");b||((b=document.createElement("tr")).id="canSendNoble",u.appendChild(b)),b.innerHTML="\n \n ".concat(v.canSendNoble,":\n \n \n ").concat(c\n ")},P=e=>async n=>{TWMap.popup._loadVillage(n);const t=await q(parseInt(n));D(parseInt(n),t,e)},_=e=>async(n,t,r)=>{TWMap.popup._displayForVillage(n,t,r);const a=await q(parseInt(n.id),{cacheOnly:window.game_data.features.Premium.active});D(parseInt(n.id),a,e)};!async function(){try{const n=await T();TWMap.popup.extendedMapPopupCache={},TWMap.popup._loadVillage=TWMap.popup.loadVillage,TWMap.popup.loadVillage=P(n),TWMap.popup._displayForVillage=TWMap.popup.displayForVillage,TWMap.popup.displayForVillage=_(n)}catch(e){console.log("extended map popup",e)}}(); },{"date-fns/addMinutes":"pfh4","./i18n/extendedMapPopup":"ddIN","./libs/requestCreator":"Ph2E","./utils/formatDate":"V6Mf","./utils/getCurrentServer":"DMkL","./utils/math":"XOOL","./utils/buildUnitImgURL":"KX6P","./utils/localStorage":"KWxH","./utils/tribalwars":"fHHP","./utils/countLoyalty":"ATOB"}]},{},["HdqX"], null) \ No newline at end of file diff --git a/src/dailyAchievements.js b/src/dailyAchievements.js index a6f75aa..a0282d3 100644 --- a/src/dailyAchievements.js +++ b/src/dailyAchievements.js @@ -1,15 +1,17 @@ +import format from 'date-fns/format'; import requestCreator from './libs/requestCreator'; import getTranslations from './i18n/dailyAchievments'; import { setItem, getItem } from './utils/localStorage'; import { formatPlayerURL } from './utils/tribalwars'; import getCurrentServer from './utils/getCurrentServer'; +import { inTZ } from './utils/date'; // ==UserScript== // @name Daily achievements // @namespace https://github.com/tribalwarshelp/scripts // @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/dailyAchievements.js // @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/dailyAchievements.js -// @version 0.4.1 +// @version 0.4.2 // @description Daily achievements // @author Kichiyaki http://dawid-wysokinski.pl/ // @match *://*/game.php*screen=info_player&mode=awards* @@ -23,6 +25,9 @@ const SERVER_QUERY = ` server(key: $server) { key historyUpdatedAt + version { + timezone + } } } `; @@ -85,12 +90,13 @@ const loadData = async () => { }, }); if (data.server) { + const d = inTZ(data.server.historyUpdatedAt, data.server.version.timezone); const dailyStatsData = await requestCreator({ query: DAILY_STATS_QUERY, variables: { server: SERVER, createDateGTE: - data.server.historyUpdatedAt.split('T')[0] + 'T00:00:00Z', + format(d, 'yyyy-MM-dd') + 'T' + format(d, 'HH:mm:ss') + 'Z', }, }); data = { diff --git a/src/extendedMapPopup.js b/src/extendedMapPopup.js index 3dfb0a9..2cbf895 100644 --- a/src/extendedMapPopup.js +++ b/src/extendedMapPopup.js @@ -14,7 +14,7 @@ import countLoyalty from './utils/countLoyalty'; // @namespace https://github.com/tribalwarshelp/scripts // @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedMapPopup.js // @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedMapPopup.js -// @version 0.6.2 +// @version 0.6.3 // @description Extended map popup // @author Kichiyaki http://dawid-wysokinski.pl/ // @match *://*/game.php*screen=map* @@ -228,7 +228,7 @@ const renderAdditionalInfo = (id, data, { config, unitConfig }) => { return buildUnitArrivalInfo( calcAttackDuration( distance, - config.unitSpeed, + config.unitSpeed * config.speed, unit.speed ), index diff --git a/src/utils/date.js b/src/utils/date.js new file mode 100644 index 0000000..5978217 --- /dev/null +++ b/src/utils/date.js @@ -0,0 +1,7 @@ +export const inTZ = (d = new Date(), tz = 'UTC') => { + return new Date(new Date(d).toLocaleString('en-US', { timeZone: tz })); +}; + +export const inUTC = (d = new Date()) => { + return inTZ(d); +};