diff --git a/dist/bonusBarbarianVillageFinder.js b/dist/bonusBarbarianVillageFinder.js index 0ca3d0f..f7ed6e8 100644 --- a/dist/bonusBarbarianVillageFinder.js +++ b/dist/bonusBarbarianVillageFinder.js @@ -196,103 +196,13 @@ exports.default = void 0; var _default = () => window.location.host.split('.')[0]; exports.default = _default; -},{}],"tQUs":[function(require,module,exports) { +},{}],"fHHP":[function(require,module,exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = void 0; - -var _default = url => parseInt(new URLSearchParams(url).get('id')); - -exports.default = _default; -},{}],"dSAr":[function(require,module,exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _getIDFromURL = _interopRequireDefault(require("../utils/getIDFromURL")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -class InADayParser { - constructor(html) { - let filters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - this.dom = new DOMParser().parseFromString(html, 'text/html'); - this.filters = filters; - } - - isValidRow(row) { - if (!row) { - return false; - } - - if (this.filters.playerID && row.playerID !== this.filters.playerID) { - return false; - } - - return true; - } - - parseRow(row) { - if (!row || !row instanceof HTMLTableRowElement) { - return undefined; - } - - let obj = {}; - obj.rank = parseInt(row.children[0].innerText.trim()); - obj.name = row.children[1].innerText.trim(); - obj.playerID = (0, _getIDFromURL.default)(row.children[1].querySelector('a').getAttribute('href')); - obj.tribe = row.children[2].innerText.trim(); - obj.tribeID = 0; - - if (obj.tribe) { - obj.tribeID = (0, _getIDFromURL.default)(row.children[2].querySelector('a').getAttribute('href')); - } - - obj.score = parseInt(row.children[3].innerText.trim().replace(/\./g, '')); - obj.date = row.children[4].innerText.trim(); - return obj; - } - - parse() { - const trs = this.dom.querySelectorAll('#in_a_day_ranking_table tbody tr'); - const result = []; - - for (let i = 1; i < trs.length; i++) { - const row = trs[i]; - const parsed = this.parseRow(row); - - if (this.isValidRow(parsed)) { - result.push(parsed); - } - } - - return result; - } - -} - -exports.default = InADayParser; -},{"../utils/getIDFromURL":"tQUs"}],"fHHP":[function(require,module,exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.buildImgURL = exports.calcAttackDuration = exports.loadInADayData = exports.formatVillageName = exports.formatVillageURL = exports.formatPlayerURL = exports.formatTribeURL = void 0; - -var _InADayParser = _interopRequireDefault(require("../libs/InADayParser")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } - -function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } +exports.buildImgURL = exports.calcAttackDuration = exports.formatVillageName = exports.formatVillageURL = exports.formatPlayerURL = exports.formatTribeURL = void 0; const formatTribeURL = id => { return window.location.origin + TribalWars.buildURL('', { @@ -331,46 +241,6 @@ const formatVillageName = function formatVillageName() { exports.formatVillageName = formatVillageName; -const loadInADayData = async function loadInADayData(type) { - let _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - { - name - } = _ref, - rest = _objectWithoutProperties(_ref, ["name"]); - - try { - const response = await fetch(TribalWars.buildURL('', { - screen: 'ranking', - mode: 'in_a_day', - type, - name: name ? name : '' - })); - const html = await response.text(); - - if (!html) { - throw new Error(); - } - - const res = new _InADayParser.default(html, rest).parse(); - - if (res.length === 0) { - throw new Error(); - } - - return res[0]; - } catch (error) { - return { - rank: 0, - playerID: 0, - score: 0, - tribeID: 0, - date: new Date() - }; - } -}; - -exports.loadInADayData = loadInADayData; - const calcAttackDuration = (distance, unitSpeed, baseSpeed) => { return Math.round(distance * baseSpeed / unitSpeed); }; @@ -382,7 +252,7 @@ const buildImgURL = img => { }; exports.buildImgURL = buildImgURL; -},{"../libs/InADayParser":"dSAr"}],"XOOL":[function(require,module,exports) { +},{}],"XOOL":[function(require,module,exports) { "use strict"; Object.defineProperty(exports, "__esModule", { diff --git a/dist/dailyAchievements.js b/dist/dailyAchievements.js index e7a0c30..1ab3300 100644 --- a/dist/dailyAchievements.js +++ b/dist/dailyAchievements.js @@ -214,103 +214,13 @@ const setItem = (key, payload) => { }; exports.setItem = setItem; -},{}],"tQUs":[function(require,module,exports) { +},{}],"fHHP":[function(require,module,exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = void 0; - -var _default = url => parseInt(new URLSearchParams(url).get('id')); - -exports.default = _default; -},{}],"dSAr":[function(require,module,exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _getIDFromURL = _interopRequireDefault(require("../utils/getIDFromURL")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -class InADayParser { - constructor(html) { - let filters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - this.dom = new DOMParser().parseFromString(html, 'text/html'); - this.filters = filters; - } - - isValidRow(row) { - if (!row) { - return false; - } - - if (this.filters.playerID && row.playerID !== this.filters.playerID) { - return false; - } - - return true; - } - - parseRow(row) { - if (!row || !row instanceof HTMLTableRowElement) { - return undefined; - } - - let obj = {}; - obj.rank = parseInt(row.children[0].innerText.trim()); - obj.name = row.children[1].innerText.trim(); - obj.playerID = (0, _getIDFromURL.default)(row.children[1].querySelector('a').getAttribute('href')); - obj.tribe = row.children[2].innerText.trim(); - obj.tribeID = 0; - - if (obj.tribe) { - obj.tribeID = (0, _getIDFromURL.default)(row.children[2].querySelector('a').getAttribute('href')); - } - - obj.score = parseInt(row.children[3].innerText.trim().replace(/\./g, '')); - obj.date = row.children[4].innerText.trim(); - return obj; - } - - parse() { - const trs = this.dom.querySelectorAll('#in_a_day_ranking_table tbody tr'); - const result = []; - - for (let i = 1; i < trs.length; i++) { - const row = trs[i]; - const parsed = this.parseRow(row); - - if (this.isValidRow(parsed)) { - result.push(parsed); - } - } - - return result; - } - -} - -exports.default = InADayParser; -},{"../utils/getIDFromURL":"tQUs"}],"fHHP":[function(require,module,exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.buildImgURL = exports.calcAttackDuration = exports.loadInADayData = exports.formatVillageName = exports.formatVillageURL = exports.formatPlayerURL = exports.formatTribeURL = void 0; - -var _InADayParser = _interopRequireDefault(require("../libs/InADayParser")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } - -function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } +exports.buildImgURL = exports.calcAttackDuration = exports.formatVillageName = exports.formatVillageURL = exports.formatPlayerURL = exports.formatTribeURL = void 0; const formatTribeURL = id => { return window.location.origin + TribalWars.buildURL('', { @@ -349,46 +259,6 @@ const formatVillageName = function formatVillageName() { exports.formatVillageName = formatVillageName; -const loadInADayData = async function loadInADayData(type) { - let _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - { - name - } = _ref, - rest = _objectWithoutProperties(_ref, ["name"]); - - try { - const response = await fetch(TribalWars.buildURL('', { - screen: 'ranking', - mode: 'in_a_day', - type, - name: name ? name : '' - })); - const html = await response.text(); - - if (!html) { - throw new Error(); - } - - const res = new _InADayParser.default(html, rest).parse(); - - if (res.length === 0) { - throw new Error(); - } - - return res[0]; - } catch (error) { - return { - rank: 0, - playerID: 0, - score: 0, - tribeID: 0, - date: new Date() - }; - } -}; - -exports.loadInADayData = loadInADayData; - const calcAttackDuration = (distance, unitSpeed, baseSpeed) => { return Math.round(distance * baseSpeed / unitSpeed); }; @@ -400,7 +270,7 @@ const buildImgURL = img => { }; exports.buildImgURL = buildImgURL; -},{"../libs/InADayParser":"dSAr"}],"DMkL":[function(require,module,exports) { +},{}],"DMkL":[function(require,module,exports) { "use strict"; Object.defineProperty(exports, "__esModule", { diff --git a/dist/extendedMapPopup.js b/dist/extendedMapPopup.js index 143ac91..bede477 100644 --- a/dist/extendedMapPopup.js +++ b/dist/extendedMapPopup.js @@ -518,103 +518,13 @@ const calcDistanceBetweenTwoPoints = (x1, y1, x2, y2) => { }; exports.calcDistanceBetweenTwoPoints = calcDistanceBetweenTwoPoints; -},{}],"tQUs":[function(require,module,exports) { +},{}],"fHHP":[function(require,module,exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = void 0; - -var _default = url => parseInt(new URLSearchParams(url).get('id')); - -exports.default = _default; -},{}],"dSAr":[function(require,module,exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _getIDFromURL = _interopRequireDefault(require("../utils/getIDFromURL")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -class InADayParser { - constructor(html) { - let filters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - this.dom = new DOMParser().parseFromString(html, 'text/html'); - this.filters = filters; - } - - isValidRow(row) { - if (!row) { - return false; - } - - if (this.filters.playerID && row.playerID !== this.filters.playerID) { - return false; - } - - return true; - } - - parseRow(row) { - if (!row || !row instanceof HTMLTableRowElement) { - return undefined; - } - - let obj = {}; - obj.rank = parseInt(row.children[0].innerText.trim()); - obj.name = row.children[1].innerText.trim(); - obj.playerID = (0, _getIDFromURL.default)(row.children[1].querySelector('a').getAttribute('href')); - obj.tribe = row.children[2].innerText.trim(); - obj.tribeID = 0; - - if (obj.tribe) { - obj.tribeID = (0, _getIDFromURL.default)(row.children[2].querySelector('a').getAttribute('href')); - } - - obj.score = parseInt(row.children[3].innerText.trim().replace(/\./g, '')); - obj.date = row.children[4].innerText.trim(); - return obj; - } - - parse() { - const trs = this.dom.querySelectorAll('#in_a_day_ranking_table tbody tr'); - const result = []; - - for (let i = 1; i < trs.length; i++) { - const row = trs[i]; - const parsed = this.parseRow(row); - - if (this.isValidRow(parsed)) { - result.push(parsed); - } - } - - return result; - } - -} - -exports.default = InADayParser; -},{"../utils/getIDFromURL":"tQUs"}],"fHHP":[function(require,module,exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.buildImgURL = exports.calcAttackDuration = exports.loadInADayData = exports.formatVillageName = exports.formatVillageURL = exports.formatPlayerURL = exports.formatTribeURL = void 0; - -var _InADayParser = _interopRequireDefault(require("../libs/InADayParser")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } - -function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } +exports.buildImgURL = exports.calcAttackDuration = exports.formatVillageName = exports.formatVillageURL = exports.formatPlayerURL = exports.formatTribeURL = void 0; const formatTribeURL = id => { return window.location.origin + TribalWars.buildURL('', { @@ -653,46 +563,6 @@ const formatVillageName = function formatVillageName() { exports.formatVillageName = formatVillageName; -const loadInADayData = async function loadInADayData(type) { - let _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - { - name - } = _ref, - rest = _objectWithoutProperties(_ref, ["name"]); - - try { - const response = await fetch(TribalWars.buildURL('', { - screen: 'ranking', - mode: 'in_a_day', - type, - name: name ? name : '' - })); - const html = await response.text(); - - if (!html) { - throw new Error(); - } - - const res = new _InADayParser.default(html, rest).parse(); - - if (res.length === 0) { - throw new Error(); - } - - return res[0]; - } catch (error) { - return { - rank: 0, - playerID: 0, - score: 0, - tribeID: 0, - date: new Date() - }; - } -}; - -exports.loadInADayData = loadInADayData; - const calcAttackDuration = (distance, unitSpeed, baseSpeed) => { return Math.round(distance * baseSpeed / unitSpeed); }; @@ -704,7 +574,7 @@ const buildImgURL = img => { }; exports.buildImgURL = buildImgURL; -},{"../libs/InADayParser":"dSAr"}],"KX6P":[function(require,module,exports) { +},{}],"KX6P":[function(require,module,exports) { "use strict"; Object.defineProperty(exports, "__esModule", { diff --git a/dist/extendedPlayerProfile.js b/dist/extendedPlayerProfile.js index 9db4725..407749a 100644 --- a/dist/extendedPlayerProfile.js +++ b/dist/extendedPlayerProfile.js @@ -117,7 +117,94 @@ parcelRequire = (function (modules, cache, entry, globalName) { } return newRequire; -})({"Ph2E":[function(require,module,exports) { +})({"tQUs":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _default = url => parseInt(new URLSearchParams(url).get('id')); + +exports.default = _default; +},{}],"dSAr":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _getIDFromURL = _interopRequireDefault(require("../utils/getIDFromURL")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +class InADayParser { + constructor() { + let html = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; + let filters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + this.dom = new DOMParser().parseFromString(html, 'text/html'); + this.trs = this.dom.querySelectorAll('#in_a_day_ranking_table tbody tr'); + this.filters = filters; + } + + isValidRow(row) { + if (!row) { + return false; + } + + if (this.filters.playerID && row.playerID !== this.filters.playerID) { + return false; + } + + if (this.filters.tribes && Array.isArray(this.filters.tribes) && !this.filters.tribes.some(tribe => tribe === row.tribe)) { + return false; + } + + return true; + } + + parseRow(row) { + if (!row || !row instanceof HTMLTableRowElement) { + return undefined; + } + + let obj = {}; + obj.rank = parseInt(row.children[0].innerText.trim()); + obj.name = row.children[1].innerText.trim(); + obj.playerID = (0, _getIDFromURL.default)(row.children[1].querySelector('a').getAttribute('href')); + obj.tribe = row.children[2].innerText.trim(); + obj.tribeID = 0; + + if (obj.tribe) { + obj.tribeID = (0, _getIDFromURL.default)(row.children[2].querySelector('a').getAttribute('href')); + } + + obj.score = parseInt(row.children[3].innerText.trim().replace(/\./g, '')); + obj.date = row.children[4].innerText.trim(); + return obj; + } + + parse() { + const result = []; + + for (let i = 1; i < this.trs.length; i++) { + const row = this.trs[i]; + const parsed = this.parseRow(row); + + if (this.isValidRow(parsed)) { + result.push(parsed); + } + } + + return result; + } + +} + +exports.default = InADayParser; +},{"../utils/getIDFromURL":"tQUs"}],"Ph2E":[function(require,module,exports) { "use strict"; Object.defineProperty(exports, "__esModule", { @@ -491,103 +578,13 @@ var _default = (date, options) => { }; exports.default = _default; -},{}],"tQUs":[function(require,module,exports) { +},{}],"fHHP":[function(require,module,exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = void 0; - -var _default = url => parseInt(new URLSearchParams(url).get('id')); - -exports.default = _default; -},{}],"dSAr":[function(require,module,exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _getIDFromURL = _interopRequireDefault(require("../utils/getIDFromURL")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -class InADayParser { - constructor(html) { - let filters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - this.dom = new DOMParser().parseFromString(html, 'text/html'); - this.filters = filters; - } - - isValidRow(row) { - if (!row) { - return false; - } - - if (this.filters.playerID && row.playerID !== this.filters.playerID) { - return false; - } - - return true; - } - - parseRow(row) { - if (!row || !row instanceof HTMLTableRowElement) { - return undefined; - } - - let obj = {}; - obj.rank = parseInt(row.children[0].innerText.trim()); - obj.name = row.children[1].innerText.trim(); - obj.playerID = (0, _getIDFromURL.default)(row.children[1].querySelector('a').getAttribute('href')); - obj.tribe = row.children[2].innerText.trim(); - obj.tribeID = 0; - - if (obj.tribe) { - obj.tribeID = (0, _getIDFromURL.default)(row.children[2].querySelector('a').getAttribute('href')); - } - - obj.score = parseInt(row.children[3].innerText.trim().replace(/\./g, '')); - obj.date = row.children[4].innerText.trim(); - return obj; - } - - parse() { - const trs = this.dom.querySelectorAll('#in_a_day_ranking_table tbody tr'); - const result = []; - - for (let i = 1; i < trs.length; i++) { - const row = trs[i]; - const parsed = this.parseRow(row); - - if (this.isValidRow(parsed)) { - result.push(parsed); - } - } - - return result; - } - -} - -exports.default = InADayParser; -},{"../utils/getIDFromURL":"tQUs"}],"fHHP":[function(require,module,exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.buildImgURL = exports.calcAttackDuration = exports.loadInADayData = exports.formatVillageName = exports.formatVillageURL = exports.formatPlayerURL = exports.formatTribeURL = void 0; - -var _InADayParser = _interopRequireDefault(require("../libs/InADayParser")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } - -function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } +exports.buildImgURL = exports.calcAttackDuration = exports.formatVillageName = exports.formatVillageURL = exports.formatPlayerURL = exports.formatTribeURL = void 0; const formatTribeURL = id => { return window.location.origin + TribalWars.buildURL('', { @@ -626,46 +623,6 @@ const formatVillageName = function formatVillageName() { exports.formatVillageName = formatVillageName; -const loadInADayData = async function loadInADayData(type) { - let _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - { - name - } = _ref, - rest = _objectWithoutProperties(_ref, ["name"]); - - try { - const response = await fetch(TribalWars.buildURL('', { - screen: 'ranking', - mode: 'in_a_day', - type, - name: name ? name : '' - })); - const html = await response.text(); - - if (!html) { - throw new Error(); - } - - const res = new _InADayParser.default(html, rest).parse(); - - if (res.length === 0) { - throw new Error(); - } - - return res[0]; - } catch (error) { - return { - rank: 0, - playerID: 0, - score: 0, - tribeID: 0, - date: new Date() - }; - } -}; - -exports.loadInADayData = loadInADayData; - const calcAttackDuration = (distance, unitSpeed, baseSpeed) => { return Math.round(distance * baseSpeed / unitSpeed); }; @@ -677,7 +634,7 @@ const buildImgURL = img => { }; exports.buildImgURL = buildImgURL; -},{"../libs/InADayParser":"dSAr"}],"vNT1":[function(require,module,exports) { +},{}],"vNT1":[function(require,module,exports) { "use strict"; Object.defineProperty(exports, "__esModule", { @@ -1105,6 +1062,8 @@ exports.setItem = setItem; },{}],"yRop":[function(require,module,exports) { "use strict"; +var _InADayParser = _interopRequireDefault(require("./libs/InADayParser")); + var _requestCreator = _interopRequireDefault(require("./libs/requestCreator")); var _extendedPlayerProfile = _interopRequireDefault(require("./i18n/extendedPlayerProfile")); @@ -1139,6 +1098,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } +function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + // ==UserScript== // @name Extended Player Profile // @namespace https://github.com/tribalwarshelp/scripts @@ -1182,6 +1145,45 @@ const cachePlayerData = function cachePlayerData() { (0, _localStorage.setItem)(LOCAL_STORAGE_KEY, data); }; +const loadInADayData = async function loadInADayData(type) { + let _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + { + name + } = _ref, + rest = _objectWithoutProperties(_ref, ["name"]); + + try { + const response = await fetch(TribalWars.buildURL('', { + screen: 'ranking', + mode: 'in_a_day', + type, + name: name ? name : '' + })); + const html = await response.text(); + + if (!html) { + throw new Error(); + } + + const res = new _InADayParser.default(html, rest).parse(); + + if (res.length === 0) { + throw new Error(); + } + + return res[0]; + } catch (error) { + return { + rank: 0, + playerID: 0, + score: 0, + tribeID: 0, + tribe: '', + date: new Date() + }; + } +}; + const loadData = async () => { const data = await (0, _requestCreator.default)({ query: PLAYER_QUERY, @@ -1198,31 +1200,31 @@ const loadData = async () => { if (data.player) { const inADay = {}; - inADay.att = await (0, _tribalwars.loadInADayData)('kill_att', { + inADay.att = await loadInADayData('kill_att', { name: data.player.name, playerID: data.player.id }); - inADay.def = await (0, _tribalwars.loadInADayData)('kill_def', { + inADay.def = await loadInADayData('kill_def', { name: data.player.name, playerID: data.player.id }); - inADay.sup = await (0, _tribalwars.loadInADayData)('kill_sup', { + inADay.sup = await loadInADayData('kill_sup', { name: data.player.name, playerID: data.player.id }); - inADay.lootRes = await (0, _tribalwars.loadInADayData)('loot_res', { + inADay.lootRes = await loadInADayData('loot_res', { name: data.player.name, playerID: data.player.id }); - inADay.lootVil = await (0, _tribalwars.loadInADayData)('loot_vil', { + inADay.lootVil = await loadInADayData('loot_vil', { name: data.player.name, playerID: data.player.id }); - inADay.scavenge = await (0, _tribalwars.loadInADayData)('scavenge', { + inADay.scavenge = await loadInADayData('scavenge', { name: data.player.name, playerID: data.player.id }); - inADay.conquer = await (0, _tribalwars.loadInADayData)('conquer', { + inADay.conquer = await loadInADayData('conquer', { name: data.player.name, playerID: data.player.id }); @@ -1233,12 +1235,12 @@ const loadData = async () => { return data; }; -const renderTr = (_ref) => { +const renderTr = (_ref2) => { let { title, data, id - } = _ref; + } = _ref2; let tr = document.querySelector('#' + id); if (!tr) { @@ -1300,11 +1302,11 @@ const renderInADayRanks = player => { inADayRanks.innerHTML = "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n ".concat(translations.inADayBestScores, "\n
\n ").concat(translations.unitsDefeatedWhileAttacking, "\n \n ").concat(player.inADay.att.score.toLocaleString(), " (").concat(player.inADay.att.rank, ".)\n
\n ").concat(translations.unitsDefeatedWhileDefending, "\n \n ").concat(player.inADay.def.score.toLocaleString(), " (").concat(player.inADay.def.rank, ".)\n
\n ").concat(translations.unitsDefeatedWhileSupporting, "\n \n ").concat(player.inADay.sup.score.toLocaleString(), " (").concat(player.inADay.sup.rank, ".)\n
\n ").concat(translations.resourcesPlundered, "\n \n ").concat(player.inADay.lootRes.score.toLocaleString(), " (").concat(player.inADay.lootRes.rank, ".)\n
\n ").concat(translations.villagesPlundered, "\n \n ").concat(player.inADay.lootVil.score.toLocaleString(), " (").concat(player.inADay.lootVil.rank, ".)\n
\n ").concat(translations.resourcesGathered, "\n \n ").concat(player.inADay.scavenge.score.toLocaleString(), " (").concat(player.inADay.scavenge.rank, ".)\n
\n ").concat(translations.villagesConquered, "\n \n ").concat(player.inADay.conquer.score.toLocaleString(), " (").concat(player.inADay.conquer.rank, ".)\n
\n "); }; -const render = (_ref2) => { +const render = (_ref3) => { let { player, dailyPlayerStats - } = _ref2; + } = _ref3; [{ title: translations.joinedAt + ':', data: (0, _formatDate.default)(player.joinedAt), @@ -1521,4 +1523,4 @@ const renderActions = () => { console.log('extended player profile', error); } })(); -},{"./libs/requestCreator":"Ph2E","./i18n/extendedPlayerProfile":"I8dv","./common/renderTodaysStats":"yrCm","./utils/showPopup":"chDM","./common/showEnnoblementsPopup":"vNT1","./common/showHistoryPopup":"kEDU","./utils/pagination":"fCHX","./utils/getIDFromURL":"tQUs","./utils/getCurrentServer":"DMkL","./utils/formatDate":"V6Mf","./utils/twstats":"Syko","./utils/tribalwars":"fHHP","./utils/localStorage":"KWxH"}]},{},["yRop"], null) \ No newline at end of file +},{"./libs/InADayParser":"dSAr","./libs/requestCreator":"Ph2E","./i18n/extendedPlayerProfile":"I8dv","./common/renderTodaysStats":"yrCm","./utils/showPopup":"chDM","./common/showEnnoblementsPopup":"vNT1","./common/showHistoryPopup":"kEDU","./utils/pagination":"fCHX","./utils/getIDFromURL":"tQUs","./utils/getCurrentServer":"DMkL","./utils/formatDate":"V6Mf","./utils/twstats":"Syko","./utils/tribalwars":"fHHP","./utils/localStorage":"KWxH"}]},{},["yRop"], null) \ No newline at end of file diff --git a/dist/extendedTribeProfile.js b/dist/extendedTribeProfile.js index 6e6b4d1..042978e 100644 --- a/dist/extendedTribeProfile.js +++ b/dist/extendedTribeProfile.js @@ -1280,103 +1280,13 @@ var _default = (date, options) => { }; exports.default = _default; -},{}],"tQUs":[function(require,module,exports) { +},{}],"fHHP":[function(require,module,exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = void 0; - -var _default = url => parseInt(new URLSearchParams(url).get('id')); - -exports.default = _default; -},{}],"dSAr":[function(require,module,exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _getIDFromURL = _interopRequireDefault(require("../utils/getIDFromURL")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -class InADayParser { - constructor(html) { - let filters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - this.dom = new DOMParser().parseFromString(html, 'text/html'); - this.filters = filters; - } - - isValidRow(row) { - if (!row) { - return false; - } - - if (this.filters.playerID && row.playerID !== this.filters.playerID) { - return false; - } - - return true; - } - - parseRow(row) { - if (!row || !row instanceof HTMLTableRowElement) { - return undefined; - } - - let obj = {}; - obj.rank = parseInt(row.children[0].innerText.trim()); - obj.name = row.children[1].innerText.trim(); - obj.playerID = (0, _getIDFromURL.default)(row.children[1].querySelector('a').getAttribute('href')); - obj.tribe = row.children[2].innerText.trim(); - obj.tribeID = 0; - - if (obj.tribe) { - obj.tribeID = (0, _getIDFromURL.default)(row.children[2].querySelector('a').getAttribute('href')); - } - - obj.score = parseInt(row.children[3].innerText.trim().replace(/\./g, '')); - obj.date = row.children[4].innerText.trim(); - return obj; - } - - parse() { - const trs = this.dom.querySelectorAll('#in_a_day_ranking_table tbody tr'); - const result = []; - - for (let i = 1; i < trs.length; i++) { - const row = trs[i]; - const parsed = this.parseRow(row); - - if (this.isValidRow(parsed)) { - result.push(parsed); - } - } - - return result; - } - -} - -exports.default = InADayParser; -},{"../utils/getIDFromURL":"tQUs"}],"fHHP":[function(require,module,exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.buildImgURL = exports.calcAttackDuration = exports.loadInADayData = exports.formatVillageName = exports.formatVillageURL = exports.formatPlayerURL = exports.formatTribeURL = void 0; - -var _InADayParser = _interopRequireDefault(require("../libs/InADayParser")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } - -function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } +exports.buildImgURL = exports.calcAttackDuration = exports.formatVillageName = exports.formatVillageURL = exports.formatPlayerURL = exports.formatTribeURL = void 0; const formatTribeURL = id => { return window.location.origin + TribalWars.buildURL('', { @@ -1415,46 +1325,6 @@ const formatVillageName = function formatVillageName() { exports.formatVillageName = formatVillageName; -const loadInADayData = async function loadInADayData(type) { - let _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - { - name - } = _ref, - rest = _objectWithoutProperties(_ref, ["name"]); - - try { - const response = await fetch(TribalWars.buildURL('', { - screen: 'ranking', - mode: 'in_a_day', - type, - name: name ? name : '' - })); - const html = await response.text(); - - if (!html) { - throw new Error(); - } - - const res = new _InADayParser.default(html, rest).parse(); - - if (res.length === 0) { - throw new Error(); - } - - return res[0]; - } catch (error) { - return { - rank: 0, - playerID: 0, - score: 0, - tribeID: 0, - date: new Date() - }; - } -}; - -exports.loadInADayData = loadInADayData; - const calcAttackDuration = (distance, unitSpeed, baseSpeed) => { return Math.round(distance * baseSpeed / unitSpeed); }; @@ -1466,7 +1336,7 @@ const buildImgURL = img => { }; exports.buildImgURL = buildImgURL; -},{"../libs/InADayParser":"dSAr"}],"vNT1":[function(require,module,exports) { +},{}],"vNT1":[function(require,module,exports) { "use strict"; Object.defineProperty(exports, "__esModule", { @@ -1763,7 +1633,18 @@ var _default = function _default(e, history, daily) { }; exports.default = _default; -},{"date-fns/subDays":"mRRL","../i18n/showHistoryPopup":"hNDe","../utils/showPopup":"chDM","../utils/pagination":"fCHX","../utils/formatDate":"V6Mf","../utils/tribalwars":"fHHP"}],"DMkL":[function(require,module,exports) { +},{"date-fns/subDays":"mRRL","../i18n/showHistoryPopup":"hNDe","../utils/showPopup":"chDM","../utils/pagination":"fCHX","../utils/formatDate":"V6Mf","../utils/tribalwars":"fHHP"}],"tQUs":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _default = url => parseInt(new URLSearchParams(url).get('id')); + +exports.default = _default; +},{}],"DMkL":[function(require,module,exports) { "use strict"; Object.defineProperty(exports, "__esModule", { diff --git a/dist/extendedVillageProfile.js b/dist/extendedVillageProfile.js index 0c9205e..dd51035 100644 --- a/dist/extendedVillageProfile.js +++ b/dist/extendedVillageProfile.js @@ -373,92 +373,13 @@ var _default = (date, options) => { }; exports.default = _default; -},{}],"dSAr":[function(require,module,exports) { +},{}],"fHHP":[function(require,module,exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = void 0; - -var _getIDFromURL = _interopRequireDefault(require("../utils/getIDFromURL")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -class InADayParser { - constructor(html) { - let filters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - this.dom = new DOMParser().parseFromString(html, 'text/html'); - this.filters = filters; - } - - isValidRow(row) { - if (!row) { - return false; - } - - if (this.filters.playerID && row.playerID !== this.filters.playerID) { - return false; - } - - return true; - } - - parseRow(row) { - if (!row || !row instanceof HTMLTableRowElement) { - return undefined; - } - - let obj = {}; - obj.rank = parseInt(row.children[0].innerText.trim()); - obj.name = row.children[1].innerText.trim(); - obj.playerID = (0, _getIDFromURL.default)(row.children[1].querySelector('a').getAttribute('href')); - obj.tribe = row.children[2].innerText.trim(); - obj.tribeID = 0; - - if (obj.tribe) { - obj.tribeID = (0, _getIDFromURL.default)(row.children[2].querySelector('a').getAttribute('href')); - } - - obj.score = parseInt(row.children[3].innerText.trim().replace(/\./g, '')); - obj.date = row.children[4].innerText.trim(); - return obj; - } - - parse() { - const trs = this.dom.querySelectorAll('#in_a_day_ranking_table tbody tr'); - const result = []; - - for (let i = 1; i < trs.length; i++) { - const row = trs[i]; - const parsed = this.parseRow(row); - - if (this.isValidRow(parsed)) { - result.push(parsed); - } - } - - return result; - } - -} - -exports.default = InADayParser; -},{"../utils/getIDFromURL":"tQUs"}],"fHHP":[function(require,module,exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.buildImgURL = exports.calcAttackDuration = exports.loadInADayData = exports.formatVillageName = exports.formatVillageURL = exports.formatPlayerURL = exports.formatTribeURL = void 0; - -var _InADayParser = _interopRequireDefault(require("../libs/InADayParser")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } - -function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } +exports.buildImgURL = exports.calcAttackDuration = exports.formatVillageName = exports.formatVillageURL = exports.formatPlayerURL = exports.formatTribeURL = void 0; const formatTribeURL = id => { return window.location.origin + TribalWars.buildURL('', { @@ -497,46 +418,6 @@ const formatVillageName = function formatVillageName() { exports.formatVillageName = formatVillageName; -const loadInADayData = async function loadInADayData(type) { - let _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - { - name - } = _ref, - rest = _objectWithoutProperties(_ref, ["name"]); - - try { - const response = await fetch(TribalWars.buildURL('', { - screen: 'ranking', - mode: 'in_a_day', - type, - name: name ? name : '' - })); - const html = await response.text(); - - if (!html) { - throw new Error(); - } - - const res = new _InADayParser.default(html, rest).parse(); - - if (res.length === 0) { - throw new Error(); - } - - return res[0]; - } catch (error) { - return { - rank: 0, - playerID: 0, - score: 0, - tribeID: 0, - date: new Date() - }; - } -}; - -exports.loadInADayData = loadInADayData; - const calcAttackDuration = (distance, unitSpeed, baseSpeed) => { return Math.round(distance * baseSpeed / unitSpeed); }; @@ -548,7 +429,7 @@ const buildImgURL = img => { }; exports.buildImgURL = buildImgURL; -},{"../libs/InADayParser":"dSAr"}],"vNT1":[function(require,module,exports) { +},{}],"vNT1":[function(require,module,exports) { "use strict"; Object.defineProperty(exports, "__esModule", { diff --git a/dist/inADayTribeRankingGenerator.js b/dist/inADayTribeRankingGenerator.js new file mode 100644 index 0000000..4c44e11 --- /dev/null +++ b/dist/inADayTribeRankingGenerator.js @@ -0,0 +1,298 @@ +// modules are defined as an array +// [ module function, map of requires ] +// +// map of requires is short require name -> numeric require +// +// anything defined in a previous bundle is accessed via the +// orig method which is the require for previous bundles +parcelRequire = (function (modules, cache, entry, globalName) { + // Save the require from previous bundle to this closure if any + var previousRequire = typeof parcelRequire === 'function' && parcelRequire; + var nodeRequire = typeof require === 'function' && require; + + function newRequire(name, jumped) { + if (!cache[name]) { + if (!modules[name]) { + // if we cannot find the module within our internal map or + // cache jump to the current global require ie. the last bundle + // that was added to the page. + var currentRequire = typeof parcelRequire === 'function' && parcelRequire; + if (!jumped && currentRequire) { + return currentRequire(name, true); + } + + // If there are other bundles on this page the require from the + // previous one is saved to 'previousRequire'. Repeat this as + // many times as there are bundles until the module is found or + // we exhaust the require chain. + if (previousRequire) { + return previousRequire(name, true); + } + + // Try the node require function if it exists. + if (nodeRequire && typeof name === 'string') { + return nodeRequire(name); + } + + var err = new Error('Cannot find module \'' + name + '\''); + err.code = 'MODULE_NOT_FOUND'; + throw err; + } + + localRequire.resolve = resolve; + localRequire.cache = {}; + + var module = cache[name] = new newRequire.Module(name); + + modules[name][0].call(module.exports, localRequire, module, module.exports, this); + } + + return cache[name].exports; + + function localRequire(x){ + return newRequire(localRequire.resolve(x)); + } + + function resolve(x){ + return modules[name][1][x] || x; + } + } + + function Module(moduleName) { + this.id = moduleName; + this.bundle = newRequire; + this.exports = {}; + } + + newRequire.isParcelRequire = true; + newRequire.Module = Module; + newRequire.modules = modules; + newRequire.cache = cache; + newRequire.parent = previousRequire; + newRequire.register = function (id, exports) { + modules[id] = [function (require, module) { + module.exports = exports; + }, {}]; + }; + + var error; + for (var i = 0; i < entry.length; i++) { + try { + newRequire(entry[i]); + } catch (e) { + // Save first error but execute all entries + if (!error) { + error = e; + } + } + } + + if (entry.length) { + // Expose entry point to Node, AMD or browser globals + // Based on https://github.com/ForbesLindesay/umd/blob/master/template.js + var mainExports = newRequire(entry[entry.length - 1]); + + // CommonJS + if (typeof exports === "object" && typeof module !== "undefined") { + module.exports = mainExports; + + // RequireJS + } else if (typeof define === "function" && define.amd) { + define(function () { + return mainExports; + }); + + //