This script should not be not be installed directly. It is a library for other scripts to include with the meta directive // @require https://update.greatest.deepsurf.us/scripts/483952/1549453/Furaffinity-Request-Helper.js
- // ==UserScript==
- // @name Furaffinity-Request-Helper
- // @namespace Violentmonkey Scripts
- // @require https://update.greatest.deepsurf.us/scripts/525666/1549449/Furaffinity-Prototype-Extensions.js
- // @grant none
- // @version 1.4.1
- // @author Midori Dragon
- // @description Library to simplify requests to Furaffinity
- // @icon https://www.furaffinity.net/themes/beta/img/banners/fa_logo.png
- // @license MIT
- // @homepageURL https://greatest.deepsurf.us/scripts/483952-furaffinity-request-helper
- // @supportURL https://greatest.deepsurf.us/scripts/483952-furaffinity-request-helper/feedback
- // ==/UserScript==
- // jshint esversion: 8
- (() => {
- "use strict";
- class Semaphore {
- constructor(maxConcurrency) {
- this.maxConcurrency = maxConcurrency;
- this.currentConcurrency = 0;
- this.waitingQueue = [];
- }
- acquire() {
- return new Promise((resolve => {
- if (this.currentConcurrency < this.maxConcurrency) {
- this.currentConcurrency++;
- resolve();
- } else this.waitingQueue.push(resolve);
- }));
- }
- release() {
- if (this.waitingQueue.length > 0) {
- const nextResolve = this.waitingQueue.shift();
- if (null != nextResolve) nextResolve();
- } else this.currentConcurrency--;
- }
- }
- class PercentHelper {
- constructor() {
- throw new Error("The PercentHelper class is static and cannot be instantiated.");
- }
- static setPercentValue(id, value) {
- if (value && PercentHelper._percentAll.hasOwnProperty(id)) {
- PercentHelper._percentAll[id] = value;
- return true;
- }
- return false;
- }
- static getPercentValue(id, decimalPlaces = 2) {
- if (null == id) return -1;
- const percent = PercentHelper._percentAll[id];
- if (!percent) return -1; else return parseFloat(percent.toFixed(decimalPlaces));
- }
- static createPercentValue(uniqueId) {
- PercentHelper._percentAll[uniqueId] = 0;
- }
- static deletePercentValue(id) {
- if (PercentHelper._percentAll.hasOwnProperty(id)) delete PercentHelper._percentAll[id];
- }
- static updatePercentValue(id, value, totalValue) {
- if (null != id && "" !== id && -1 !== id) {
- const progress = value / totalValue * 100;
- PercentHelper.setPercentValue(id, progress);
- }
- }
- }
- PercentHelper._percentAll = {};
- var __awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class WaitAndCallAction {
- constructor(action, delay) {
- this.delay = 10;
- this._running = false;
- this._action = action;
- if (null != delay) this.delay = delay;
- }
- start() {
- if (null != this._action && false === this._running) {
- this._running = true;
- this._intervalId = setInterval((() => {
- var _a;
- this._action(PercentHelper.getPercentValue(null === (_a = this._intervalId) || void 0 === _a ? void 0 : _a.toString()));
- }), this.delay);
- PercentHelper.createPercentValue(this._intervalId.toString());
- return this._intervalId;
- }
- }
- stop() {
- if (this._running) {
- this._running = false;
- clearInterval(this._intervalId);
- if (null != this._intervalId) PercentHelper.deletePercentValue(this._intervalId.toString());
- }
- }
- static callFunctionAsync(functionToCall_1, params_1, action_1, delay_1) {
- return __awaiter(this, arguments, void 0, (function*(functionToCall, params, action, delay, usePercent = false) {
- if (null == action) return yield functionToCall(...params);
- const waitAndCallAction = new WaitAndCallAction(action, delay), percentId = waitAndCallAction.start();
- if (usePercent) params.push(percentId);
- const result = yield functionToCall(...params);
- waitAndCallAction.stop();
- return result;
- }));
- }
- static callFunction(functionToCall, params, action, delay, usePercent = false) {
- if (null == action) return functionToCall(...params);
- const waitAndCallAction = new WaitAndCallAction(action, delay), percentId = waitAndCallAction.start();
- if (usePercent) params.push(percentId);
- const result = functionToCall(...params);
- waitAndCallAction.stop();
- return result;
- }
- }
- class IdArray {
- constructor() {
- throw new Error("The IdArray class is static and cannot be instantiated.");
- }
- static getTillId(collection, toId, attributeName = "id") {
- const result = [];
- toId = toId.toString();
- for (const elem of collection) {
- result.push(elem);
- const attribute = elem.getAttribute(attributeName);
- if (null != attribute && attribute.replace("sid-", "") === toId) break;
- }
- return result;
- }
- static getSinceId(collection, fromId, attributeName = "id") {
- const array = collection;
- array.reverse();
- const result = [];
- fromId = fromId.toString();
- for (const elem of array) {
- result.push(elem);
- const attribute = elem.getAttribute(attributeName);
- if (null != attribute && attribute.replace("sid-", "") === fromId) break;
- }
- result.reverse();
- return result;
- }
- static getBetweenIds(collection, fromId, toId, attributeName = "id") {
- const array = collection;
- let startIndex = -1, endIndex = -1;
- fromId = fromId.toString();
- toId = toId.toString();
- for (let i = 0; i < array.length; i++) {
- const attribute = array[i].getAttribute(attributeName);
- if (null != attribute && attribute.replace("sid-", "") === fromId) startIndex = i;
- if (null != attribute && attribute.replace("sid-", "") === toId) endIndex = i;
- if (-1 !== startIndex && -1 !== endIndex) break;
- }
- if (-1 === startIndex && -1 === endIndex) return array;
- if (-1 === startIndex) startIndex = 0;
- if (-1 === endIndex) endIndex = array.length - 1;
- const result = [];
- for (let i = startIndex; i <= endIndex; i++) result.push(array[i]);
- return result;
- }
- static containsId(collection, id, attributeName = "id") {
- id = id.toString();
- for (const elem of collection) {
- const attribute = elem.getAttribute(attributeName);
- if (null != attribute && attribute.replace("sid-", "") === id) return true;
- }
- return false;
- }
- }
- function convertToNumber(value) {
- if (null == value) return;
- const number = parseInt(value.toString());
- if (!isNaN(number)) return number;
- }
- var LogLevel, Scraps_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class Scraps {
- constructor(semaphore) {
- this._semaphore = semaphore;
- }
- static get hardLink() {
- return FuraffinityRequests.fullUrl + "/scraps/";
- }
- getSubmissionPageNo(username_1, submissionId_1, fromPageNumber_1, toPageNumber_1, action_1) {
- return Scraps_awaiter(this, arguments, void 0, (function*(username, submissionId, fromPageNumber, toPageNumber, action, delay = 100) {
- submissionId = convertToNumber(submissionId);
- fromPageNumber = convertToNumber(fromPageNumber);
- toPageNumber = convertToNumber(toPageNumber);
- return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getSubmissionPageNo, [ username, submissionId, void 0, fromPageNumber, toPageNumber, GalleryType.SCRAPS, this._semaphore ], action, delay);
- }));
- }
- getFiguresBetweenIds(username_1, fromId_1, toId_1, action_1) {
- return Scraps_awaiter(this, arguments, void 0, (function*(username, fromId, toId, action, delay = 100) {
- fromId = convertToNumber(fromId);
- toId = convertToNumber(toId);
- if (null == fromId || fromId <= 0) return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresTillId, [ username, void 0, toId, void 0, GalleryType.SCRAPS, this._semaphore ], action, delay); else if (null == toId || toId <= 0) return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresSinceId, [ username, void 0, fromId, void 0, GalleryType.SCRAPS, this._semaphore ], action, delay); else return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresBetweenIds, [ username, void 0, fromId, toId, void 0, void 0, GalleryType.SCRAPS, this._semaphore ], action, delay, true);
- }));
- }
- getFiguresBetweenIdsBetweenPages(username_1, fromId_1, toId_1, fromPageNumber_1, toPageNumber_1, action_1) {
- return Scraps_awaiter(this, arguments, void 0, (function*(username, fromId, toId, fromPageNumber, toPageNumber, action, delay = 100) {
- fromId = convertToNumber(fromId);
- toId = convertToNumber(toId);
- fromPageNumber = convertToNumber(fromPageNumber);
- toPageNumber = convertToNumber(toPageNumber);
- if (null == fromId || fromId <= 0) return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresTillId, [ username, void 0, toId, fromPageNumber, GalleryType.SCRAPS, this._semaphore ], action, delay); else if (null == toId || toId <= 0) return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresSinceId, [ username, void 0, fromId, toPageNumber, GalleryType.SCRAPS, this._semaphore ], action, delay); else return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresBetweenIds, [ username, void 0, fromId, toId, fromPageNumber, toPageNumber, GalleryType.SCRAPS, this._semaphore ], action, delay, true);
- }));
- }
- getFiguresBetweenPages(username_1, fromPageNumber_1, toPageNumber_1, action_1) {
- return Scraps_awaiter(this, arguments, void 0, (function*(username, fromPageNumber, toPageNumber, action, delay = 100) {
- fromPageNumber = convertToNumber(fromPageNumber);
- toPageNumber = convertToNumber(toPageNumber);
- if (null == fromPageNumber || fromPageNumber <= 0) return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresTillPage, [ username, void 0, toPageNumber, GalleryType.SCRAPS, this._semaphore ], action, delay, true); else if (null == toPageNumber || toPageNumber <= 0) return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresSincePage, [ username, void 0, fromPageNumber, GalleryType.SCRAPS, this._semaphore ], action, delay); else return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresBetweenPages, [ username, void 0, fromPageNumber, toPageNumber, GalleryType.SCRAPS, this._semaphore ], action, delay, true);
- }));
- }
- getFigures(username_1, pageNumber_1, action_1) {
- return Scraps_awaiter(this, arguments, void 0, (function*(username, pageNumber, action, delay = 100) {
- pageNumber = convertToNumber(pageNumber);
- return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFigures, [ username, void 0, pageNumber, GalleryType.SCRAPS, this._semaphore ], action, delay);
- }));
- }
- getPage(username_1, pageNumber_1, action_1) {
- return Scraps_awaiter(this, arguments, void 0, (function*(username, pageNumber, action, delay = 100) {
- pageNumber = convertToNumber(pageNumber);
- return yield WaitAndCallAction.callFunctionAsync(Page.getGalleryPage, [ username, void 0, pageNumber, GalleryType.SCRAPS, this._semaphore ], action, delay);
- }));
- }
- }
- !function(LogLevel) {
- LogLevel[LogLevel.Error = 1] = "Error";
- LogLevel[LogLevel.Warning = 2] = "Warning";
- LogLevel[LogLevel.Info = 3] = "Info";
- }(LogLevel || (LogLevel = {}));
- class Logger {
- static log(logLevel = LogLevel.Warning, ...args) {
- if (null == window.__FF_GLOBAL_LOG_LEVEL__) window.__FF_GLOBAL_LOG_LEVEL__ = LogLevel.Error;
- if (!(logLevel > window.__FF_GLOBAL_LOG_LEVEL__)) switch (logLevel) {
- case LogLevel.Error:
- console.error(...args);
- break;
-
- case LogLevel.Warning:
- console.warn(...args);
- break;
-
- case LogLevel.Info:
- console.log(...args);
- }
- }
- static setLogLevel(logLevel) {
- window.__FF_GLOBAL_LOG_LEVEL__ = logLevel;
- }
- static logError(...args) {
- Logger.log(LogLevel.Error, ...args);
- }
- static logWarning(...args) {
- Logger.log(LogLevel.Warning, ...args);
- }
- static logInfo(...args) {
- Logger.log(LogLevel.Info, ...args);
- }
- }
- var Favorites_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class Favorites {
- constructor(semaphore) {
- this.semaphore = semaphore;
- }
- static get hardLink() {
- return FuraffinityRequests.fullUrl + "/favorites/";
- }
- getSubmissionDataFavId(username_1, submissionId_1, fromDataFavId_1, toDataFavId_1, action_1) {
- return Favorites_awaiter(this, arguments, void 0, (function*(username, submissionId, fromDataFavId, toDataFavId, action, delay = 100) {
- submissionId = convertToNumber(submissionId);
- fromDataFavId = convertToNumber(fromDataFavId);
- toDataFavId = convertToNumber(toDataFavId);
- return yield WaitAndCallAction.callFunctionAsync(getSubmissionDataFavId, [ username, submissionId, fromDataFavId, toDataFavId, this.semaphore ], action, delay);
- }));
- }
- getFiguresBetweenIds(username_1, fromId_1, toId_1, action_1) {
- return Favorites_awaiter(this, arguments, void 0, (function*(username, fromId, toId, action, delay = 100) {
- fromId = convertToNumber(fromId);
- toId = convertToNumber(toId);
- if (null == fromId || fromId <= 0) return yield WaitAndCallAction.callFunctionAsync(getFavoritesFiguresTillId, [ username, toId, void 0, this.semaphore ], action, delay); else if (null == toId || toId <= 0) return yield WaitAndCallAction.callFunctionAsync(getFavoritesFiguresSinceId, [ username, fromId, void 0, this.semaphore ], action, delay); else return yield WaitAndCallAction.callFunctionAsync(getFavoritesFiguresBetweenIds, [ username, fromId, toId, void 0, void 0, this.semaphore ], action, delay, true);
- }));
- }
- getFiguresBetweenIdsBetweenPages(username_1, fromId_1, toId_1, fromDataFavId_1, toDataFavId_1, action_1) {
- return Favorites_awaiter(this, arguments, void 0, (function*(username, fromId, toId, fromDataFavId, toDataFavId, action, delay = 100) {
- fromId = convertToNumber(fromId);
- toId = convertToNumber(toId);
- fromDataFavId = convertToNumber(fromDataFavId);
- toDataFavId = convertToNumber(toDataFavId);
- if (null == fromId || fromId <= 0) return yield WaitAndCallAction.callFunctionAsync(getFavoritesFiguresTillId, [ username, toId, fromDataFavId, this.semaphore ], action, delay); else if (null == toId || toId <= 0) return yield WaitAndCallAction.callFunctionAsync(getFavoritesFiguresSinceId, [ username, fromId, toDataFavId, this.semaphore ], action, delay); else return yield WaitAndCallAction.callFunctionAsync(getFavoritesFiguresBetweenIds, [ username, fromId, toId, fromDataFavId, toDataFavId, this.semaphore ], action, delay, true);
- }));
- }
- getFiguresBetweenPages(username_1, fromDataFavId_1, toDataFavId_1, action_1) {
- return Favorites_awaiter(this, arguments, void 0, (function*(username, fromDataFavId, toDataFavId, action, delay = 100) {
- fromDataFavId = convertToNumber(fromDataFavId);
- toDataFavId = convertToNumber(toDataFavId);
- if (null == fromDataFavId || fromDataFavId <= 0) return yield WaitAndCallAction.callFunctionAsync(getFavoritesFiguresTillPage, [ username, toDataFavId, this.semaphore ], action, delay, true); else if (null == toDataFavId || toDataFavId <= 0) return yield WaitAndCallAction.callFunctionAsync(getFavoritesFiguresSincePage, [ username, fromDataFavId, this.semaphore ], action, delay); else return yield WaitAndCallAction.callFunctionAsync(getFavoritesFiguresBetweenPages, [ username, fromDataFavId, toDataFavId, this.semaphore ], action, delay, true);
- }));
- }
- getFigures(username_1, fromDataFavId_1, direction_1, action_1) {
- return Favorites_awaiter(this, arguments, void 0, (function*(username, fromDataFavId, direction, action, delay = 100) {
- fromDataFavId = convertToNumber(fromDataFavId);
- direction = convertToNumber(direction);
- return yield WaitAndCallAction.callFunctionAsync(getFavoritesFigures, [ username, fromDataFavId, direction, this.semaphore ], action, delay);
- }));
- }
- getPage(username_1, fromDataFavId_1, direction_1, action_1) {
- return Favorites_awaiter(this, arguments, void 0, (function*(username, fromDataFavId, direction, action, delay = 100) {
- fromDataFavId = convertToNumber(fromDataFavId);
- direction = convertToNumber(direction);
- return yield WaitAndCallAction.callFunctionAsync(Page.getFavoritesPage, [ username, fromDataFavId, direction, this.semaphore ], action, delay);
- }));
- }
- }
- function getSubmissionDataFavId(username, submissionId, fromDataFavId, toDataFavId, semaphore) {
- return Favorites_awaiter(this, void 0, void 0, (function*() {
- if (null == submissionId || submissionId <= 0) {
- Logger.logError("No submissionId given");
- return -1;
- }
- if (null == fromDataFavId || fromDataFavId <= 0) {
- Logger.logWarning("fromDataFavId must be greater than 0. Using default 1 instead.");
- fromDataFavId = -1;
- }
- if (null == toDataFavId || toDataFavId <= 0) {
- Logger.logWarning("toDataFavId must be greater than 0. Using default 1 instead.");
- toDataFavId = -1;
- }
- let dataFavId = fromDataFavId, running = true;
- for (;running; ) {
- const figures = yield getFavoritesFigures(username, dataFavId, 1, semaphore);
- let currFigureId;
- if (0 !== figures.length) {
- currFigureId = figures[0].id;
- const dataFavIdString = figures[figures.length - 1].getAttribute("data-fav-id");
- if (null == dataFavIdString) {
- running = false;
- break;
- }
- dataFavId = parseInt(dataFavIdString);
- const resultFigure = figures.find((figure => figure.id.trimStart("sid-") === submissionId.toString()));
- if (null != resultFigure) return parseInt(resultFigure.getAttribute("data-fav-id"));
- }
- if (undefined === currFigureId) running = false;
- }
- return -1;
- }));
- }
- function getFavoritesFiguresTillId(username, toId, fromDataFavId, semaphore) {
- return Favorites_awaiter(this, void 0, void 0, (function*() {
- if (null == toId || toId <= 0) {
- Logger.logError("No toId given");
- return [];
- }
- if (null == fromDataFavId || fromDataFavId <= 0) {
- Logger.logWarning("No fromDataFavId given. Using default 1 instead.");
- fromDataFavId = -1;
- }
- let running = true, dataFavId = fromDataFavId;
- const allFigures = [];
- for (;running; ) {
- const figures = yield getFavoritesFigures(username, dataFavId, 1, semaphore);
- let currFigureId;
- if (0 !== figures.length) {
- currFigureId = figures[0].id;
- const dataFavIdString = figures[figures.length - 1].getAttribute("data-fav-id");
- if (null == dataFavIdString) {
- running = false;
- break;
- }
- dataFavId = parseInt(dataFavIdString);
- }
- if (undefined === currFigureId) running = false; else if (IdArray.containsId(figures, toId)) {
- allFigures.push(IdArray.getTillId(figures, toId));
- running = false;
- } else allFigures.push(figures);
- }
- return allFigures;
- }));
- }
- function getFavoritesFiguresSinceId(username, fromId, toDataFavId, semaphore) {
- return Favorites_awaiter(this, void 0, void 0, (function*() {
- if (null == fromId || fromId <= 0) {
- Logger.logError("No fromId given");
- return [];
- }
- if (null == toDataFavId || toDataFavId <= 0) {
- Logger.logWarning("No toDataFavId given. Using default 1 instead.");
- toDataFavId = -1;
- }
- let dataFavId = toDataFavId >= 0 ? toDataFavId : -1;
- const direction = toDataFavId >= 0 ? -1 : 1;
- let running = true;
- if (toDataFavId < 0) {
- for (;running; ) {
- const figures = yield getFavoritesFigures(username, dataFavId, direction, semaphore);
- let currFigureId;
- if (0 !== figures.length) currFigureId = figures[0].id;
- if (undefined === currFigureId) running = false; else if (IdArray.containsId(figures, fromId)) {
- running = false;
- const dataFavIdString = figures[figures.length - 1].getAttribute("data-fav-id");
- if (null == dataFavIdString) {
- running = false;
- break;
- }
- dataFavId = parseInt(dataFavIdString);
- }
- }
- running = true;
- }
- const allFigures = [];
- for (;running; ) {
- const figures = yield getFavoritesFigures(username, dataFavId, direction, semaphore);
- let currFigureId;
- if (0 !== figures.length) {
- currFigureId = figures[0].id;
- const dataFavIdString = direction >= 0 ? figures[figures.length - 1].getAttribute("data-fav-id") : figures[0].getAttribute("data-fav-id");
- if (null == dataFavIdString) {
- running = false;
- break;
- }
- dataFavId = parseInt(dataFavIdString);
- }
- if (undefined === currFigureId) running = false; else if (direction < 0) if (IdArray.containsId(figures, fromId)) {
- allFigures.push(IdArray.getSinceId(figures, fromId).reverse());
- running = false;
- } else allFigures.push(Array.from(figures).reverse()); else if (IdArray.containsId(figures, toDataFavId, "data-fav-id")) {
- allFigures.push(IdArray.getTillId(figures, toDataFavId, "data-fav-id"));
- running = false;
- } else allFigures.push(figures);
- }
- if (direction < 0) allFigures.reverse();
- return allFigures;
- }));
- }
- function getFavoritesFiguresBetweenIds(username, fromId, toId, fromDataFavId, toDataFavId, semaphore) {
- return Favorites_awaiter(this, void 0, void 0, (function*() {
- if (null == fromId || fromId <= 0) {
- Logger.logError("No fromId given");
- return [];
- }
- if (null == toId || toId <= 0) {
- Logger.logError("No toId given");
- return [];
- }
- if (null == fromDataFavId || fromDataFavId <= 0) {
- Logger.logWarning("No fromDataFavId given. Using default 1 instead.");
- fromDataFavId = -1;
- }
- if (null == toDataFavId || toDataFavId <= 0) {
- Logger.logWarning("No toDataFavId given. Using default 1 instead.");
- toDataFavId = -1;
- }
- const direction = fromDataFavId >= 0 ? 1 : toDataFavId >= 0 ? -1 : 1;
- let lastFigureId, dataFavId = fromDataFavId >= 0 ? fromDataFavId : toDataFavId, running = true;
- if (fromDataFavId < 0 && toDataFavId < 0) {
- for (;running; ) {
- const figures = yield getFavoritesFigures(username, dataFavId, direction, semaphore);
- let currFigureId = lastFigureId;
- if (0 !== figures.length) {
- currFigureId = figures[0].id;
- const dataFavIdString = figures[figures.length - 1].getAttribute("data-fav-id");
- if (null == dataFavIdString) {
- running = false;
- break;
- }
- dataFavId = parseInt(dataFavIdString);
- }
- if (currFigureId === lastFigureId) running = false; else if (IdArray.containsId(figures, fromId)) running = false;
- }
- running = true;
- }
- const allFigures = [];
- lastFigureId = void 0;
- for (;running; ) {
- const figures = yield getFavoritesFigures(username, dataFavId, direction, semaphore);
- let currFigureId = lastFigureId;
- if (0 !== figures.length) {
- currFigureId = figures[0].id;
- const dataFavIdString = direction >= 0 ? figures[figures.length - 1].getAttribute("data-fav-id") : figures[0].getAttribute("data-fav-id");
- if (null == dataFavIdString) {
- running = false;
- break;
- }
- dataFavId = parseInt(dataFavIdString);
- }
- if (currFigureId === lastFigureId) running = false; else if (direction < 0) if (IdArray.containsId(figures, fromId)) {
- allFigures.push(IdArray.getSinceId(figures, fromId).reverse());
- running = false;
- } else if (IdArray.containsId(figures, toId)) allFigures.push(IdArray.getTillId(figures, toId).reverse()); else allFigures.push(Array.from(figures).reverse()); else if (IdArray.containsId(figures, toId)) {
- allFigures.push(IdArray.getTillId(figures, toId));
- running = false;
- } else if (IdArray.containsId(figures, fromId)) allFigures.push(IdArray.getSinceId(figures, fromId)); else allFigures.push(figures);
- }
- if (direction < 0) allFigures.reverse();
- return allFigures;
- }));
- }
- function getFavoritesFiguresTillPage(username, toDataFavId, semaphore) {
- return Favorites_awaiter(this, void 0, void 0, (function*() {
- if (null == toDataFavId || toDataFavId <= 0) {
- Logger.logWarning("toDataFavId must be greater than 0. Using default 1 instead.");
- toDataFavId = -1;
- }
- let dataFavId = toDataFavId;
- const allFigures = [];
- let running = true;
- for (;running; ) {
- const figures = yield getFavoritesFigures(username, dataFavId, 1, semaphore);
- let currFigureId;
- if (0 !== figures.length) {
- currFigureId = figures[0].id;
- const dataFavIdString = figures[figures.length - 1].getAttribute("data-fav-id");
- if (null == dataFavIdString) {
- running = false;
- break;
- }
- dataFavId = parseInt(dataFavIdString);
- }
- if (undefined === currFigureId) running = false; else if (IdArray.containsId(figures, toDataFavId, "data-fav-id")) {
- allFigures.push(IdArray.getTillId(figures, toDataFavId, "data-fav-id"));
- running = false;
- } else allFigures.push(figures);
- }
- return allFigures;
- }));
- }
- function getFavoritesFiguresSincePage(username, fromDataFavId, semaphore) {
- return Favorites_awaiter(this, void 0, void 0, (function*() {
- if (null == fromDataFavId || fromDataFavId <= 0) {
- Logger.logWarning("fromDataFavId must be greater than 0. Using default 1 instead.");
- fromDataFavId = -1;
- }
- let dataFavId = fromDataFavId;
- const allFigures = [];
- let running = true;
- for (;running; ) {
- const figures = yield getFavoritesFigures(username, dataFavId, 1, semaphore);
- let currFigureId;
- if (0 !== figures.length) {
- currFigureId = figures[0].id;
- const dataFavIdString = figures[figures.length - 1].getAttribute("data-fav-id");
- if (null == dataFavIdString) {
- running = false;
- break;
- }
- dataFavId = parseInt(dataFavIdString);
- }
- if (undefined === currFigureId) running = false; else if (IdArray.containsId(figures, fromDataFavId, "data-fav-id")) allFigures.push(IdArray.getSinceId(figures, fromDataFavId, "data-fav-id")); else allFigures.push(figures);
- }
- return allFigures;
- }));
- }
- function getFavoritesFiguresBetweenPages(username, fromDataFavId, toDataFavId, semaphore) {
- return Favorites_awaiter(this, void 0, void 0, (function*() {
- if (null == fromDataFavId || fromDataFavId <= 0) {
- Logger.logWarning("fromDataFavId must be greater than 0. Using default 1 instead.");
- fromDataFavId = -1;
- }
- if (null == toDataFavId || toDataFavId <= 0) {
- Logger.logWarning("toDataFavId must be greater than 0. Using default 1 instead.");
- toDataFavId = -1;
- }
- let dataFavId = fromDataFavId;
- const allFigures = [];
- let running = true;
- for (;running; ) {
- const figures = yield getFavoritesFigures(username, dataFavId, 1, semaphore);
- let currFigureId;
- if (0 !== figures.length) {
- currFigureId = figures[0].id;
- const dataFavIdString = figures[figures.length - 1].getAttribute("data-fav-id");
- if (null == dataFavIdString) {
- running = false;
- break;
- }
- dataFavId = parseInt(dataFavIdString);
- }
- if (undefined === currFigureId) running = false; else if (IdArray.containsId(figures, fromDataFavId, "data-fav-id")) allFigures.push(IdArray.getSinceId(figures, fromDataFavId, "data-fav-id")); else if (IdArray.containsId(figures, toDataFavId, "data-fav-id")) {
- allFigures.push(IdArray.getTillId(figures, toDataFavId, "data-fav-id"));
- running = false;
- } else allFigures.push(figures);
- }
- return allFigures;
- }));
- }
- function getFavoritesFigures(username, dataFavId, direction, semaphore) {
- return Favorites_awaiter(this, void 0, void 0, (function*() {
- Logger.logInfo(`Getting Favorites of "${username}" since id "${dataFavId}" and direction "${direction}".`);
- const galleryDoc = yield Page.getFavoritesPage(username, dataFavId, direction, semaphore);
- if (!galleryDoc || !(galleryDoc instanceof Document) || galleryDoc.getElementById("no-images")) {
- Logger.logInfo(`No images found at favorites of "${username}" on page "${dataFavId}".`);
- return [];
- }
- const figures = galleryDoc.getElementsByTagName("figure");
- if (null == figures || 0 === figures.length) {
- Logger.logInfo(`No figures found at favorites of "${username}" on page "${dataFavId}".`);
- return [];
- }
- return Array.from(figures);
- }));
- }
- var Journals_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class Journals {
- constructor(semaphore) {
- this._semaphore = semaphore;
- }
- static get hardLink() {
- return FuraffinityRequests.fullUrl + "/journals/";
- }
- getJournalPageNo(username_1, journalId_1, fromPageNumber_1, toPageNumber_1, action_1) {
- return Journals_awaiter(this, arguments, void 0, (function*(username, journalId, fromPageNumber, toPageNumber, action, delay = 100) {
- journalId = convertToNumber(journalId);
- fromPageNumber = convertToNumber(fromPageNumber);
- toPageNumber = convertToNumber(toPageNumber);
- return yield WaitAndCallAction.callFunctionAsync(getJournalPageNo, [ username, journalId, fromPageNumber, toPageNumber, this._semaphore ], action, delay);
- }));
- }
- getFiguresBetweenIds(username_1, fromId_1, toId_1, action_1) {
- return Journals_awaiter(this, arguments, void 0, (function*(username, fromId, toId, action, delay = 100) {
- fromId = convertToNumber(fromId);
- toId = convertToNumber(toId);
- if (null == fromId || fromId <= 0) return yield WaitAndCallAction.callFunctionAsync(getJournalsSectionsTillId, [ username, toId, void 0, this._semaphore ], action, delay); else if (null == toId || toId <= 0) return yield WaitAndCallAction.callFunctionAsync(getJournalsSectionsSinceId, [ username, fromId, void 0, this._semaphore ], action, delay); else return yield WaitAndCallAction.callFunctionAsync(getJournalsSectionsBetweenIds, [ username, fromId, toId, void 0, void 0, this._semaphore ], action, delay);
- }));
- }
- getFiguresBetweenIdsBetweenPages(username_1, fromId_1, toId_1, fromPageNumber_1, toPageNumber_1, action_1) {
- return Journals_awaiter(this, arguments, void 0, (function*(username, fromId, toId, fromPageNumber, toPageNumber, action, delay = 100) {
- fromId = convertToNumber(fromId);
- toId = convertToNumber(toId);
- fromPageNumber = convertToNumber(fromPageNumber);
- toPageNumber = convertToNumber(toPageNumber);
- if (null == fromId || fromId <= 0) return yield WaitAndCallAction.callFunctionAsync(getJournalsSectionsTillId, [ username, toId, fromPageNumber, this._semaphore ], action, delay); else if (null == toId || toId <= 0) return yield WaitAndCallAction.callFunctionAsync(getJournalsSectionsSinceId, [ username, fromId, toPageNumber, this._semaphore ], action, delay); else return yield WaitAndCallAction.callFunctionAsync(getJournalsSectionsBetweenIds, [ username, fromId, toId, fromPageNumber, toPageNumber, this._semaphore ], action, delay);
- }));
- }
- getSectionsBetweenPages(username_1, fromPageNumber_1, toPageNumber_1, action_1) {
- return Journals_awaiter(this, arguments, void 0, (function*(username, fromPageNumber, toPageNumber, action, delay = 100) {
- fromPageNumber = convertToNumber(fromPageNumber);
- toPageNumber = convertToNumber(toPageNumber);
- if (null == fromPageNumber || fromPageNumber <= 0) return yield WaitAndCallAction.callFunctionAsync(getJournalsSectionsTillPage, [ username, toPageNumber, this._semaphore ], action, delay, true); else if (null == toPageNumber || toPageNumber <= 0) return yield WaitAndCallAction.callFunctionAsync(getJournalsSectionsSincePage, [ username, fromPageNumber, this._semaphore ], action, delay); else return yield WaitAndCallAction.callFunctionAsync(getJournalsSectionsBetweenPages, [ username, fromPageNumber, toPageNumber, this._semaphore ], action, delay, true);
- }));
- }
- getSections(username_1, pageNumber_1, action_1) {
- return Journals_awaiter(this, arguments, void 0, (function*(username, pageNumber, action, delay = 100) {
- pageNumber = convertToNumber(pageNumber);
- return yield WaitAndCallAction.callFunctionAsync(getJournalsSections, [ username, pageNumber, this._semaphore ], action, delay);
- }));
- }
- getPage(username_1, pageNumber_1, action_1) {
- return Journals_awaiter(this, arguments, void 0, (function*(username, pageNumber, action, delay = 100) {
- pageNumber = convertToNumber(pageNumber);
- return yield WaitAndCallAction.callFunctionAsync(Page.getJournalsPage, [ username, pageNumber, this._semaphore ], action, delay);
- }));
- }
- }
- function getJournalPageNo(username, journalId, fromPageNumber, toPageNumber, semaphore, percentId) {
- return Journals_awaiter(this, void 0, void 0, (function*() {
- if (null == journalId || journalId <= 0) {
- Logger.logError("No journalId given");
- return -1;
- }
- if (null == fromPageNumber || fromPageNumber <= 0) {
- Logger.logWarning("fromPageNumber must be greater than 0. Using default 1 instead.");
- fromPageNumber = 1;
- }
- if (null == toPageNumber || 0 === toPageNumber) {
- Logger.logWarning("toPageNumber must be greater than 0. Using default 1 instead.");
- toPageNumber = 1;
- } else if (toPageNumber < 0) toPageNumber = Number.MAX_SAFE_INTEGER;
- const direction = fromPageNumber <= toPageNumber ? 1 : -1, totalPages = Math.abs(toPageNumber - fromPageNumber) + 1;
- let completedPages = 0;
- for (let i = fromPageNumber; i <= toPageNumber; i += direction) {
- const figures = yield getJournalsSections(username, i, semaphore);
- if (0 === figures.length) i = toPageNumber; else {
- if (null != figures.find((figure => figure.id.trimStart("jid-") === journalId.toString()))) return i;
- }
- completedPages++;
- PercentHelper.updatePercentValue(percentId, completedPages, totalPages);
- }
- return -1;
- }));
- }
- function getJournalsSectionsTillId(username, toId, fromPage, semaphore) {
- return Journals_awaiter(this, void 0, void 0, (function*() {
- if (null == toId || toId <= 0) {
- Logger.logError("No toId given");
- return [];
- }
- const allSections = [];
- let running = true, i = 1;
- if (null != fromPage && fromPage >= 1) i = fromPage;
- for (;running; ) {
- const sections = yield getJournalsSections(username, i, semaphore);
- let currSectionId;
- if (0 !== sections.length) currSectionId = sections[0].id;
- if (undefined === currSectionId) running = false; else if (IdArray.containsId(sections, toId)) {
- allSections.push(IdArray.getTillId(sections, toId));
- running = false;
- } else {
- allSections.push(sections);
- i++;
- }
- }
- return allSections;
- }));
- }
- function getJournalsSectionsSinceId(username, fromId, toPage, semaphore) {
- return Journals_awaiter(this, void 0, void 0, (function*() {
- if (null == fromId || fromId <= 0) {
- Logger.logError("No fromId given");
- return [];
- }
- const direction = null == toPage || toPage <= 0 ? -1 : 1;
- let lastSectionId, running = true, i = null == toPage || toPage <= 0 ? 1 : toPage;
- if (null == toPage || toPage <= 0) for (;running; ) {
- const figures = yield getJournalsSections(username, i, semaphore);
- let currSectionId = lastSectionId;
- if (0 !== figures.length) currSectionId = figures[0].id;
- if (currSectionId === lastSectionId) running = false; else if (IdArray.containsId(figures, fromId)) running = false; else i++;
- }
- const allSections = [];
- lastSectionId = void 0;
- running = true;
- for (;running; ) {
- const figures = yield getJournalsSections(username, i, semaphore);
- let currSectionId = lastSectionId;
- if (0 !== figures.length) currSectionId = figures[0].id;
- if (currSectionId === lastSectionId) running = false; else {
- if (IdArray.containsId(figures, fromId)) {
- const figuresPush = IdArray.getSinceId(figures, fromId);
- if (direction < 0) {
- figuresPush.reverse();
- running = false;
- }
- allSections.push(figuresPush);
- } else {
- if (direction < 0) figures.reverse();
- allSections.push(figures);
- }
- i += direction;
- }
- }
- if (direction < 0) allSections.reverse();
- return allSections;
- }));
- }
- function getJournalsSectionsBetweenIds(username, fromId, toId, fromPage, toPage, semaphore, percentId) {
- return Journals_awaiter(this, void 0, void 0, (function*() {
- if (null == fromId || fromId <= 0) {
- Logger.logError("No fromId given");
- return [];
- }
- if (null == toId || toId <= 0) {
- Logger.logError("No toId given");
- return [];
- }
- if (null == fromPage || fromPage <= 0 || null == toPage || toPage <= 1) {
- Logger.logWarning("No fromPage or toPage given. Percentages can not be calculated.");
- percentId = void 0;
- }
- let i = 1;
- if (null != fromPage && fromPage >= 1) i = fromPage;
- const allSections = [];
- let running = true, completedPages = 0;
- for (;running; ) {
- if (null != toPage && toPage >= 1 && i >= toPage) running = false;
- const sections = yield getJournalsSections(username, i, semaphore);
- let currSectionId;
- if (0 !== sections.length) currSectionId = sections[0].id;
- if (undefined === currSectionId) running = false; else {
- if (IdArray.containsId(sections, fromId)) allSections.push(IdArray.getSinceId(sections, fromId));
- if (IdArray.containsId(sections, toId)) {
- allSections.push(IdArray.getBetweenIds(sections, fromId, toId));
- running = false;
- } else {
- allSections.push(sections);
- i++;
- }
- }
- completedPages++;
- if (null != toPage && toPage >= 1) PercentHelper.updatePercentValue(percentId, completedPages, toPage);
- }
- return allSections;
- }));
- }
- function getJournalsSectionsTillPage(username, toPageNumber, semaphore, percentId) {
- return Journals_awaiter(this, void 0, void 0, (function*() {
- if (null == toPageNumber || 0 === toPageNumber) {
- Logger.logWarning("toPageNumber must be greater than 0. Using default 1 instead.");
- toPageNumber = 1;
- } else if (toPageNumber < 0) toPageNumber = Number.MAX_SAFE_INTEGER;
- const allSections = [];
- let completedPages = 0;
- for (let i = 1; i <= toPageNumber; i++) {
- const sections = yield getJournalsSections(username, i, semaphore);
- if (0 === sections.length) i = toPageNumber; else allSections.push(sections);
- completedPages++;
- PercentHelper.updatePercentValue(percentId, completedPages, toPageNumber);
- }
- return allSections;
- }));
- }
- function getJournalsSectionsSincePage(username, fromPageNumber, semaphore) {
- return Journals_awaiter(this, void 0, void 0, (function*() {
- if (null == fromPageNumber || fromPageNumber <= 0) {
- Logger.logWarning("fromPageNumber must be greater than 0. Using default 1 instead.");
- fromPageNumber = 1;
- }
- const allSections = [];
- let running = true, i = fromPageNumber;
- for (;running; ) {
- const sections = yield getJournalsSections(username, i, semaphore);
- let currSectionId;
- if (0 !== sections.length) currSectionId = sections[0].id;
- if (undefined === currSectionId) running = false; else {
- allSections.push(sections);
- i++;
- }
- }
- return allSections;
- }));
- }
- function getJournalsSectionsBetweenPages(username, fromPageNumber, toPageNumber, semaphore, percentId) {
- return Journals_awaiter(this, void 0, void 0, (function*() {
- if (null == fromPageNumber || fromPageNumber <= 0) {
- Logger.logWarning("fromPageNumber must be greater than 0. Using default 1 instead.");
- fromPageNumber = 1;
- }
- if (null == toPageNumber || 0 === toPageNumber) {
- Logger.logWarning("toPageNumber must be greater than 0. Using default 1 instead.");
- toPageNumber = 1;
- } else if (toPageNumber < 0) toPageNumber = Number.MAX_SAFE_INTEGER;
- const allSections = [], direction = fromPageNumber < toPageNumber ? 1 : -1, totalPages = Math.abs(toPageNumber - fromPageNumber) + 1;
- let completedPages = 0;
- for (let i = fromPageNumber; i <= toPageNumber; i += direction) {
- const sections = yield getJournalsSections(username, i, semaphore);
- if (0 === sections.length) i = toPageNumber; else allSections.push(sections);
- completedPages++;
- PercentHelper.updatePercentValue(percentId, completedPages, totalPages);
- }
- return allSections;
- }));
- }
- function getJournalsSections(username, pageNumber, semaphore) {
- return Journals_awaiter(this, void 0, void 0, (function*() {
- if (null == pageNumber || pageNumber <= 0) {
- Logger.logWarning("pageNumber must be greater than 0. Using default 1 instead.");
- pageNumber = 1;
- }
- Logger.logInfo(`Getting Journals of "${username}" on page "${pageNumber}".`);
- const galleryDoc = yield Page.getJournalsPage(username, pageNumber, semaphore);
- if (!galleryDoc) {
- Logger.logWarning(`No journals found at "${username}" on page "${pageNumber}".`);
- return [];
- }
- const columnPage = galleryDoc.getElementById("columnpage");
- if (!columnPage) {
- Logger.logWarning(`No column page found at "${username}" on page "${pageNumber}".`);
- return [];
- }
- const sections = columnPage.getElementsByTagName("section");
- if (null == sections || 0 === sections.length) {
- Logger.logWarning(`No journals found at "${username}" on page "${pageNumber}".`);
- return [];
- }
- return Array.from(sections);
- }));
- }
- var Search_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class Search {
- constructor(semaphore) {
- this._semaphore = semaphore;
- }
- static get hardLink() {
- return FuraffinityRequests.fullUrl + "/search/";
- }
- get newSearchOptions() {
- return new SearchOptions;
- }
- static get newSearchOptions() {
- return new SearchOptions;
- }
- get SearchOptions() {
- return SearchOptions;
- }
- static get SearchOptions() {
- return SearchOptions;
- }
- getFiguresBetweenIds(fromId_1, toId_1, searchOptions_1, action_1) {
- return Search_awaiter(this, arguments, void 0, (function*(fromId, toId, searchOptions, action, delay = 100) {
- fromId = convertToNumber(fromId);
- toId = convertToNumber(toId);
- if (null == fromId || fromId <= 0) return yield WaitAndCallAction.callFunctionAsync(SearchRequests.getSearchFiguresTillId, [ toId, void 0, searchOptions, this._semaphore ], action, delay); else if (null == toId || toId <= 0) return yield WaitAndCallAction.callFunctionAsync(SearchRequests.getSearchFiguresSinceId, [ fromId, void 0, searchOptions, this._semaphore ], action, delay); else return yield WaitAndCallAction.callFunctionAsync(SearchRequests.getSearchFiguresBetweenIds, [ fromId, toId, void 0, void 0, searchOptions, this._semaphore ], action, delay, true);
- }));
- }
- getFiguresBetweenIdsBetweenPages(fromId_1, toId_1, fromPageNumber_1, toPageNumber_1, searchOptions_1, action_1) {
- return Search_awaiter(this, arguments, void 0, (function*(fromId, toId, fromPageNumber, toPageNumber, searchOptions, action, delay = 100) {
- fromId = convertToNumber(fromId);
- toId = convertToNumber(toId);
- fromPageNumber = convertToNumber(fromPageNumber);
- toPageNumber = convertToNumber(toPageNumber);
- if (null == fromId || fromId <= 0) return yield WaitAndCallAction.callFunctionAsync(SearchRequests.getSearchFiguresTillId, [ toId, fromPageNumber, searchOptions, this._semaphore ], action, delay); else if (null == toId || toId <= 0) return yield WaitAndCallAction.callFunctionAsync(SearchRequests.getSearchFiguresSinceId, [ fromId, toPageNumber, searchOptions, this._semaphore ], action, delay); else return yield WaitAndCallAction.callFunctionAsync(SearchRequests.getSearchFiguresBetweenIds, [ fromId, toId, fromPageNumber, toPageNumber, searchOptions, this._semaphore ], action, delay, true);
- }));
- }
- getFiguresBetweenPages(fromPageNumber_1, toPageNumber_1, searchOptions_1, action_1) {
- return Search_awaiter(this, arguments, void 0, (function*(fromPageNumber, toPageNumber, searchOptions, action, delay = 100) {
- fromPageNumber = convertToNumber(fromPageNumber);
- toPageNumber = convertToNumber(toPageNumber);
- if (null == fromPageNumber || fromPageNumber <= 0) return yield WaitAndCallAction.callFunctionAsync(SearchRequests.getSearchFiguresTillPage, [ toPageNumber, searchOptions, this._semaphore ], action, delay, true); else if (null == toPageNumber || toPageNumber <= 0) return yield WaitAndCallAction.callFunctionAsync(SearchRequests.getSearchFiguresSincePage, [ fromPageNumber, searchOptions, this._semaphore ], action, delay); else return yield WaitAndCallAction.callFunctionAsync(SearchRequests.getSearchFiguresBetweenPages, [ fromPageNumber, toPageNumber, searchOptions, this._semaphore ], action, delay, true);
- }));
- }
- getFigures(pageNumber_1, searchOptions_1, action_1) {
- return Search_awaiter(this, arguments, void 0, (function*(pageNumber, searchOptions, action, delay = 100) {
- pageNumber = convertToNumber(pageNumber);
- return yield WaitAndCallAction.callFunctionAsync(SearchRequests.getSearchFigures, [ pageNumber, searchOptions, this._semaphore ], action, delay);
- }));
- }
- getPage(pageNumber_1, searchOptions_1, action_1) {
- return Search_awaiter(this, arguments, void 0, (function*(pageNumber, searchOptions, action, delay = 100) {
- pageNumber = convertToNumber(pageNumber);
- return yield WaitAndCallAction.callFunctionAsync(Page.getSearchPage, [ pageNumber, searchOptions, this._semaphore ], action, delay);
- }));
- }
- }
- class SearchOptions {
- constructor() {
- this.ratingGeneral = true;
- this.ratingMature = true;
- this.ratingAdult = true;
- this.typeArt = true;
- this.typeMusic = true;
- this.typeFlash = true;
- this.typeStory = true;
- this.typePhotos = true;
- this.typePoetry = true;
- this.input = "";
- this.orderBy = SearchOptions.orderBy.relevancy;
- this.orderDirection = SearchOptions.orderDirection.descending;
- this.range = SearchOptions.range.alltime;
- this.rangeFrom = void 0;
- this.rangeTo = void 0;
- this.matching = SearchOptions.matching.all;
- }
- static get orderBy() {
- return {
- relevancy: "relevancy",
- date: "date",
- popularity: "popularity"
- };
- }
- static get orderDirection() {
- return {
- ascending: "asc",
- descending: "desc"
- };
- }
- static get range() {
- return {
- "1day": "1day",
- "3days": "3days",
- "7days": "7days",
- "30days": "30days",
- "90days": "90days",
- "1year": "1year",
- "3years": "3years",
- "5years": "5years",
- alltime: "all",
- manual: "manual"
- };
- }
- static get matching() {
- return {
- all: "all",
- any: "any",
- extended: "extended"
- };
- }
- }
- var SearchRequests_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class SearchRequests {
- constructor(semaphore) {
- this._semaphore = semaphore;
- this.Browse = new Browse(this._semaphore);
- this.Search = new Search(this._semaphore);
- }
- static getBrowseFiguresTillId(toId, fromPage, browseOptions, semaphore) {
- return SearchRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == toId || toId <= 0) {
- Logger.logError("No toId given");
- return [];
- }
- let allFigures = [], running = true, i = 1;
- if (null != fromPage && fromPage >= 1) i = fromPage;
- for (;running; ) {
- const figures = yield SearchRequests.getBrowseFigures(i, browseOptions, semaphore);
- let currFigureId;
- if (0 !== figures.length) currFigureId = figures[0].id;
- if (undefined === currFigureId) running = false; else if (IdArray.containsId(figures, toId)) {
- allFigures.push(IdArray.getTillId(figures, toId));
- running = false;
- } else {
- allFigures.push(figures);
- i++;
- }
- }
- return allFigures;
- }));
- }
- static getBrowseFiguresSinceId(fromId, toPage, browseOptions, semaphore) {
- return SearchRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == fromId || fromId <= 0) {
- Logger.logError("No fromId given");
- return [];
- }
- const direction = null == toPage || toPage <= 0 ? -1 : 1;
- let lastFigureId, running = true, i = null == toPage || toPage <= 0 ? 1 : toPage;
- if (null == toPage || toPage <= 0) for (;running; ) {
- const figures = yield SearchRequests.getBrowseFigures(i, browseOptions, semaphore);
- let currFigureId = lastFigureId;
- if (0 !== figures.length) currFigureId = figures[0].id;
- if (currFigureId === lastFigureId) running = false; else if (IdArray.containsId(figures, fromId)) running = false; else i++;
- }
- let allFigures = [];
- lastFigureId = void 0;
- running = true;
- for (;running; ) {
- const figures = yield SearchRequests.getBrowseFigures(i, browseOptions, semaphore);
- let currFigureId = lastFigureId;
- if (0 !== figures.length) currFigureId = figures[0].id;
- if (currFigureId === lastFigureId) running = false; else {
- if (IdArray.containsId(figures, fromId)) {
- const figuresPush = IdArray.getSinceId(figures, fromId);
- if (direction < 0) {
- figuresPush.reverse();
- running = false;
- }
- allFigures.push(figuresPush);
- } else {
- if (direction < 0) figures.reverse();
- allFigures.push(figures);
- }
- i += direction;
- }
- }
- if (direction < 0) allFigures.reverse();
- return allFigures;
- }));
- }
- static getBrowseFiguresBetweenIds(fromId, toId, fromPage, toPage, browseOptions, semaphore, percentId) {
- return SearchRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == fromId || fromId <= 0) {
- Logger.logError("No fromId given");
- return [];
- }
- if (null == toId || toId <= 0) {
- Logger.logError("No toId given");
- return [];
- }
- if (null == fromPage || fromPage <= 0 || null == toPage || toPage <= 1) {
- Logger.logWarning("No fromPage or toPage given. Percentages can not be calculated.");
- percentId = void 0;
- }
- let i = 1;
- if (null != fromPage && fromPage >= 1) i = fromPage;
- const allFigures = [];
- let running = true, completedPages = 0;
- for (;running; ) {
- if (null != toPage && toPage >= 1 && i >= toPage) running = false;
- const figures = yield SearchRequests.getBrowseFigures(i, browseOptions, semaphore);
- let currFigureId;
- if (0 !== figures.length) currFigureId = figures[0].id;
- if (undefined === currFigureId) running = false; else {
- if (IdArray.containsId(figures, fromId)) allFigures.push(IdArray.getSinceId(figures, fromId));
- if (IdArray.containsId(figures, toId)) {
- allFigures.push(IdArray.getBetweenIds(figures, fromId, toId));
- running = false;
- } else {
- allFigures.push(figures);
- i++;
- }
- }
- completedPages++;
- if (null != toPage && toPage >= 1) PercentHelper.updatePercentValue(percentId, completedPages, toPage);
- }
- return allFigures;
- }));
- }
- static getBrowseFiguresTillPage(toPageNumber, browseOptions, semaphore, percentId) {
- return SearchRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == toPageNumber || toPageNumber <= 0) {
- Logger.logWarning("toPageNumber must be greater than 0. Using default 1 instead.");
- toPageNumber = 1;
- }
- const allFigures = [];
- let completedPages = 0;
- for (let i = 1; i <= toPageNumber; i++) {
- const figures = yield SearchRequests.getBrowseFigures(i, browseOptions, semaphore);
- if (0 !== figures.length) allFigures.push(figures);
- completedPages++;
- PercentHelper.updatePercentValue(percentId, completedPages, toPageNumber);
- }
- return allFigures;
- }));
- }
- static getBrowseFiguresSincePage(fromPageNumber, browseOptions, semaphore) {
- return SearchRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == fromPageNumber || fromPageNumber <= 0) {
- Logger.logWarning("fromPageNumber must be greater than 0. Using default 1 instead.");
- fromPageNumber = 1;
- }
- const allFigures = [];
- let running = true, i = fromPageNumber;
- for (;running; ) {
- const figures = yield SearchRequests.getBrowseFigures(i, browseOptions, semaphore);
- let currFigureId;
- if (0 !== figures.length) currFigureId = figures[0].id;
- if (undefined === currFigureId) running = false; else {
- allFigures.push(figures);
- i++;
- }
- }
- return allFigures;
- }));
- }
- static getBrowseFiguresBetweenPages(fromPageNumber, toPageNumber, browseOptions, semaphore, percentId) {
- return SearchRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == fromPageNumber || fromPageNumber <= 0) {
- Logger.logWarning("fromPageNumber must be greater than 0. Using default 1 instead.");
- fromPageNumber = 1;
- }
- if (null == toPageNumber || toPageNumber <= 0) {
- Logger.logWarning("toPageNumber must be greater than 0. Using default 1 instead.");
- toPageNumber = 1;
- }
- const allFigures = [], direction = fromPageNumber <= toPageNumber ? 1 : -1, totalPages = Math.abs(toPageNumber - fromPageNumber) + 1;
- for (let i = fromPageNumber; i <= toPageNumber; i += direction) {
- const figures = yield SearchRequests.getBrowseFigures(i, browseOptions, semaphore);
- if (0 !== figures.length) allFigures.push(figures);
- PercentHelper.updatePercentValue(percentId, 0, totalPages);
- }
- return allFigures;
- }));
- }
- static getBrowseFigures(pageNumber, browseOptions, semaphore) {
- return SearchRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == pageNumber || pageNumber <= 0) {
- Logger.logWarning("No pageNumber given. Using default value of 1.");
- pageNumber = 1;
- }
- const galleryDoc = yield Page.getBrowsePage(pageNumber, browseOptions, semaphore);
- if (!galleryDoc || !(galleryDoc instanceof Document) || galleryDoc.getElementById("no-images")) {
- Logger.logInfo(`No images found at browse on page "${pageNumber}".`);
- return [];
- }
- const figures = galleryDoc.getElementsByTagName("figure");
- if (null == figures || 0 === figures.length) {
- Logger.logInfo(`No figures found at browse on page "${pageNumber}".`);
- return [];
- }
- return Array.from(figures);
- }));
- }
- static getSearchFiguresTillId(toId, fromPage, searchOptions, semaphore) {
- return SearchRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == toId || toId <= 0) {
- Logger.logError("No toId given");
- return [];
- }
- let allFigures = [], running = true, i = 1;
- if (null != fromPage && fromPage >= 1) i = fromPage;
- for (;running; ) {
- const figures = yield SearchRequests.getSearchFigures(i, searchOptions, semaphore);
- let currFigureId;
- if (0 !== figures.length) currFigureId = figures[0].id;
- if (undefined === currFigureId) running = false; else if (IdArray.containsId(figures, toId)) {
- allFigures.push(IdArray.getTillId(figures, toId));
- running = false;
- } else {
- allFigures.push(figures);
- i++;
- }
- }
- return allFigures;
- }));
- }
- static getSearchFiguresSinceId(fromId, toPage, searchOptions, semaphore) {
- return SearchRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == fromId || fromId <= 0) {
- Logger.logError("No fromId given");
- return [];
- }
- const direction = null == toPage || toPage <= 0 ? -1 : 1;
- let lastFigureId, running = true, i = null == toPage || toPage <= 0 ? 1 : toPage;
- if (null == toPage || toPage <= 0) for (;running; ) {
- const figures = yield SearchRequests.getSearchFigures(i, searchOptions, semaphore);
- let currFigureId = lastFigureId;
- if (0 !== figures.length) currFigureId = figures[0].id;
- if (currFigureId === lastFigureId) running = false; else if (IdArray.containsId(figures, fromId)) running = false; else i++;
- }
- let allFigures = [];
- lastFigureId = void 0;
- running = true;
- for (;running; ) {
- const figures = yield SearchRequests.getSearchFigures(i, searchOptions, semaphore);
- let currFigureId = lastFigureId;
- if (0 !== figures.length) currFigureId = figures[0].id;
- if (currFigureId === lastFigureId) running = false; else {
- if (IdArray.containsId(figures, fromId)) {
- const figuresPush = IdArray.getSinceId(figures, fromId);
- if (direction < 0) {
- figuresPush.reverse();
- running = false;
- }
- allFigures.push(figuresPush);
- } else {
- if (direction < 0) figures.reverse();
- allFigures.push(figures);
- }
- i += direction;
- }
- }
- if (direction < 0) allFigures.reverse();
- return allFigures;
- }));
- }
- static getSearchFiguresBetweenIds(fromId, toId, fromPage, toPage, searchOptions, semaphore, percentId) {
- return SearchRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == fromId || fromId <= 0) {
- Logger.logError("No fromId given");
- return [];
- }
- if (null == toId || toId <= 0) {
- Logger.logError("No toId given");
- return [];
- }
- if (null == fromPage || fromPage <= 0 || null == toPage || toPage <= 1) {
- Logger.logWarning("No fromPage or toPage given. Percentages can not be calculated.");
- percentId = void 0;
- }
- let i = 1;
- if (null != fromPage && fromPage >= 1) i = fromPage;
- const allFigures = [];
- let running = true, completedPages = 0;
- for (;running; ) {
- if (null != toPage && toPage >= 1 && i >= toPage) running = false;
- const figures = yield SearchRequests.getSearchFigures(i, searchOptions, semaphore);
- let currFigureId;
- if (0 !== figures.length) currFigureId = figures[0].id;
- if (undefined === currFigureId) running = false; else {
- if (IdArray.containsId(figures, fromId)) allFigures.push(IdArray.getSinceId(figures, fromId));
- if (IdArray.containsId(figures, toId)) {
- allFigures.push(IdArray.getBetweenIds(figures, fromId, toId));
- running = false;
- } else {
- allFigures.push(figures);
- i++;
- }
- }
- completedPages++;
- if (null != toPage && toPage >= 1) PercentHelper.updatePercentValue(percentId, completedPages, toPage);
- }
- return allFigures;
- }));
- }
- static getSearchFiguresTillPage(toPageNumber, searchOptions, semaphore, percentId) {
- return SearchRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == toPageNumber || toPageNumber <= 0) {
- Logger.logWarning("toPageNumber must be greater than 0. Using default 1 instead.");
- toPageNumber = 1;
- }
- const allFigures = [];
- let completedPages = 0;
- for (let i = 1; i <= toPageNumber; i++) {
- const figures = yield SearchRequests.getSearchFigures(i, searchOptions, semaphore);
- if (0 !== figures.length) allFigures.push(figures);
- completedPages++;
- PercentHelper.updatePercentValue(percentId, completedPages, toPageNumber);
- }
- return allFigures;
- }));
- }
- static getSearchFiguresSincePage(fromPageNumber, searchOptions, semaphore) {
- return SearchRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == fromPageNumber || fromPageNumber <= 0) {
- Logger.logWarning("fromPageNumber must be greater than 0. Using default 1 instead.");
- fromPageNumber = 1;
- }
- const allFigures = [];
- let running = true, i = fromPageNumber;
- for (;running; ) {
- const figures = yield SearchRequests.getSearchFigures(i, searchOptions, semaphore);
- let currFigureId;
- if (0 !== figures.length) currFigureId = figures[0].id;
- if (undefined === currFigureId) running = false; else {
- allFigures.push(figures);
- i++;
- }
- }
- return allFigures;
- }));
- }
- static getSearchFiguresBetweenPages(fromPageNumber, toPageNumber, searchOptions, semaphore, percentId) {
- return SearchRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == fromPageNumber || fromPageNumber <= 0) {
- Logger.logWarning("fromPageNumber must be greater than 0. Using default 1 instead.");
- fromPageNumber = 1;
- }
- if (null == toPageNumber || toPageNumber <= 0) {
- Logger.logWarning("toPageNumber must be greater than 0. Using default 1 instead.");
- toPageNumber = 1;
- }
- const allFigures = [], direction = fromPageNumber <= toPageNumber ? 1 : -1, totalPages = Math.abs(toPageNumber - fromPageNumber) + 1;
- let completedPages = 0;
- for (let i = fromPageNumber; i <= toPageNumber; i += direction) {
- const figures = yield SearchRequests.getSearchFigures(i, searchOptions, semaphore);
- if (0 !== figures.length) allFigures.push(figures);
- completedPages++;
- PercentHelper.updatePercentValue(percentId, completedPages, totalPages);
- }
- return allFigures;
- }));
- }
- static getSearchFigures(pageNumber, searchOptions, semaphore) {
- return SearchRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == pageNumber || pageNumber <= 0) {
- Logger.logWarning("No pageNumber given. Using default value of 1.");
- pageNumber = 1;
- }
- const galleryDoc = yield Page.getSearchPage(pageNumber, searchOptions, semaphore);
- if (!galleryDoc || !(galleryDoc instanceof Document) || galleryDoc.getElementById("no-images")) {
- Logger.logInfo(`No images found at search on page "${pageNumber}".`);
- return [];
- }
- const figures = galleryDoc.getElementsByTagName("figure");
- if (null == figures || 0 === figures.length) {
- Logger.logInfo(`No figures found at search on page "${pageNumber}".`);
- return [];
- }
- return Array.from(figures);
- }));
- }
- }
- var Browse_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class Browse {
- constructor(semaphore) {
- this._semaphore = semaphore;
- }
- static get hardLink() {
- return FuraffinityRequests.fullUrl + "/browse/";
- }
- get newBrowseOptions() {
- return new BrowseOptions;
- }
- static get newBrowseOptions() {
- return new BrowseOptions;
- }
- get BrowseOptions() {
- return BrowseOptions;
- }
- static get BrowseOptions() {
- return BrowseOptions;
- }
- getFiguresBetweenIds(fromId_1, toId_1, browseOptions_1, action_1) {
- return Browse_awaiter(this, arguments, void 0, (function*(fromId, toId, browseOptions, action, delay = 100) {
- fromId = convertToNumber(fromId);
- toId = convertToNumber(toId);
- if (null == fromId || fromId <= 0) return yield WaitAndCallAction.callFunctionAsync(SearchRequests.getBrowseFiguresTillId, [ toId, void 0, browseOptions, this._semaphore ], action, delay); else if (null == toId || toId <= 0) return yield WaitAndCallAction.callFunctionAsync(SearchRequests.getBrowseFiguresSinceId, [ fromId, void 0, browseOptions, this._semaphore ], action, delay); else return yield WaitAndCallAction.callFunctionAsync(SearchRequests.getBrowseFiguresBetweenIds, [ fromId, toId, void 0, void 0, browseOptions, this._semaphore ], action, delay, true);
- }));
- }
- getFiguresBetweenIdsBetweenPages(fromId_1, toId_1, fromPageNumber_1, toPageNumber_1, browseOptions_1, action_1) {
- return Browse_awaiter(this, arguments, void 0, (function*(fromId, toId, fromPageNumber, toPageNumber, browseOptions, action, delay = 100) {
- fromId = convertToNumber(fromId);
- toId = convertToNumber(toId);
- fromPageNumber = convertToNumber(fromPageNumber);
- toPageNumber = convertToNumber(toPageNumber);
- if (null == fromId || fromId <= 0) return yield WaitAndCallAction.callFunctionAsync(SearchRequests.getBrowseFiguresTillId, [ toId, fromPageNumber, browseOptions, this._semaphore ], action, delay); else if (null == toId || toId <= 0) return yield WaitAndCallAction.callFunctionAsync(SearchRequests.getBrowseFiguresSinceId, [ fromId, toPageNumber, browseOptions, this._semaphore ], action, delay); else return yield WaitAndCallAction.callFunctionAsync(SearchRequests.getBrowseFiguresBetweenIds, [ fromId, toId, fromPageNumber, toPageNumber, browseOptions, this._semaphore ], action, delay, true);
- }));
- }
- getFiguresBetweenPages(fromPageNumber_1, toPageNumber_1, browseOptions_1, action_1) {
- return Browse_awaiter(this, arguments, void 0, (function*(fromPageNumber, toPageNumber, browseOptions, action, delay = 100) {
- fromPageNumber = convertToNumber(fromPageNumber);
- toPageNumber = convertToNumber(toPageNumber);
- if (null == fromPageNumber || fromPageNumber <= 0) return yield WaitAndCallAction.callFunctionAsync(SearchRequests.getBrowseFiguresTillPage, [ toPageNumber, browseOptions, this._semaphore ], action, delay, true); else if (null == toPageNumber || toPageNumber <= 0) return yield WaitAndCallAction.callFunctionAsync(SearchRequests.getBrowseFiguresSincePage, [ fromPageNumber, browseOptions, this._semaphore ], action, delay); else return yield WaitAndCallAction.callFunctionAsync(SearchRequests.getBrowseFiguresBetweenPages, [ fromPageNumber, toPageNumber, browseOptions, this._semaphore ], action, delay, true);
- }));
- }
- getFigures(pageNumber_1, browseOptions_1, action_1) {
- return Browse_awaiter(this, arguments, void 0, (function*(pageNumber, browseOptions, action, delay = 100) {
- pageNumber = convertToNumber(pageNumber);
- return yield WaitAndCallAction.callFunctionAsync(SearchRequests.getBrowseFigures, [ pageNumber, browseOptions, this._semaphore ], action, delay);
- }));
- }
- getPage(pageNumber_1, browseOptions_1, action_1) {
- return Browse_awaiter(this, arguments, void 0, (function*(pageNumber, browseOptions, action, delay = 100) {
- pageNumber = convertToNumber(pageNumber);
- return yield WaitAndCallAction.callFunctionAsync(Page.getBrowsePage, [ pageNumber, browseOptions, this._semaphore ], action, delay);
- }));
- }
- }
- class BrowseOptions {
- constructor() {
- this.ratingGeneral = true;
- this.ratingMature = true;
- this.ratingAdult = true;
- this.category = BrowseOptions.category.all;
- this.type = BrowseOptions.type.all;
- this.species = BrowseOptions.species.any;
- this.gender = BrowseOptions.gender.any;
- this.results = BrowseOptions.results[72];
- }
- static get category() {
- return {
- all: 1,
- "artwork-digital": 2,
- "artwork-traditional": 3,
- "cel-shading": 4,
- crafting: 5,
- designs: 6,
- flash: 7,
- fursuiting: 8,
- icons: 9,
- mosaics: 10,
- photography: 11,
- "food-recipes": 32,
- sculpting: 12,
- story: 13,
- poetry: 14,
- prose: 15,
- music: 16,
- podcasts: 17,
- skins: 18,
- handhelds: 19,
- resources: 20,
- adoptables: 21,
- auctions: 22,
- contests: 23,
- "current-events": 24,
- desktops: 25,
- stockart: 26,
- screenshots: 27,
- scraps: 28,
- wallpaper: 29,
- "ych-sale": 30,
- other: 31
- };
- }
- static get type() {
- return {
- all: 1,
- abstract: 2,
- "animal-related-non-anthro": 3,
- anime: 4,
- comics: 5,
- doodle: 6,
- fanart: 7,
- fantasy: 8,
- human: 9,
- portraits: 10,
- scenery: 11,
- "still-life": 12,
- tutorials: 13,
- miscellaneous: 14,
- "baby-fur": 101,
- bondage: 102,
- digimon: 103,
- "fat-furs": 104,
- "fetish-other": 105,
- fursuit: 106,
- gore: 119,
- hyper: 107,
- hypnosis: 121,
- inflation: 108,
- micro: 109,
- muscle: 110,
- "my-little-pony": 111,
- paw: 112,
- pokemon: 113,
- pregnancy: 114,
- sonic: 115,
- transformation: 116,
- "tf-tg": 120,
- vore: 117,
- "water-sports": 118,
- "general-furry-art": 100,
- techno: 201,
- trance: 202,
- house: 203,
- "90s": 204,
- "80s": 205,
- "70s": 206,
- "60s": 207,
- "pre-60s": 208,
- classical: 209,
- "game-music": 210,
- rock: 211,
- pop: 212,
- rap: 213,
- industrial: 214,
- "other-music": 200
- };
- }
- static get species() {
- return {
- any: 1,
- "airborne-vehicle": 10001,
- alien: 5001,
- amphibian: 1e3,
- aquatic: 2e3,
- avian: 3e3,
- bear: 6002,
- bovine: 6007,
- canine: 6017,
- cervine: 6018,
- dog: 6010,
- dragon: 4e3,
- equine: 10009,
- exotic: 5e3,
- feline: 6030,
- fox: 6075,
- slime: 10007,
- "hybrid-species": 10002,
- inanimate: 10006,
- insect: 8003,
- "land-vehicle": 10003,
- mammal: 6e3,
- marsupial: 6042,
- mustelid: 6051,
- plant: 10008,
- primate: 6058,
- reptilian: 7e3,
- robot: 10004,
- rodent: 6067,
- "sea-vehicle": 10005,
- taur: 5025,
- vulpine: 6015,
- "original-species": 11014,
- character: 11015,
- aeromorph: 11001,
- "angel-dragon": 11002,
- avali: 11012,
- chakat: 5003,
- citra: 5005,
- crux: 5006,
- dracat: 5009,
- dutch: 11003,
- felkin: 11011,
- ferrin: 11004,
- jogauni: 11005,
- langurhali: 5014,
- nevrean: 11006,
- protogen: 11007,
- rexouium: 11016,
- sergal: 5021,
- synx: 11010,
- wickerbeast: 11013,
- yinglet: 11009,
- zorgoia: 11008,
- angel: 12001,
- centaur: 12002,
- cerberus: 12003,
- "shape-shifter": 12038,
- chimera: 12004,
- chupacabra: 12005,
- cockatrice: 12006,
- daemon: 5007,
- demon: 12007,
- "displacer-beast": 12008,
- dragonborn: 12009,
- drow: 12010,
- dwarf: 12011,
- "eastern-dragon": 4001,
- elf: 5011,
- gargoyle: 5012,
- goblin: 12012,
- golem: 12013,
- gryphon: 3007,
- harpy: 12014,
- hellhound: 12015,
- hippogriff: 12016,
- hobbit: 12017,
- hydra: 4002,
- imp: 12018,
- incubus: 12019,
- jackalope: 12020,
- kirin: 12021,
- kitsune: 12022,
- kobold: 12023,
- lamia: 12024,
- manticore: 12025,
- minotaur: 12026,
- naga: 5016,
- nephilim: 12027,
- orc: 5018,
- pegasus: 12028,
- peryton: 12029,
- phoenix: 3010,
- sasquatch: 12030,
- satyr: 5020,
- sphinx: 12031,
- succubus: 12032,
- tiefling: 12033,
- troll: 12034,
- unicorn: 5023,
- "water-dragon": 12035,
- werewolf: 12036,
- "western-dragon": 4004,
- wyvern: 4005,
- yokai: 12037,
- alicorn: 13001,
- argonian: 5002,
- asari: 13002,
- bangaa: 13003,
- "bubble-dragon": 13004,
- burmecian: 13005,
- charr: 13006,
- chiss: 13007,
- chocobo: 5004,
- deathclaw: 13008,
- digimon: 5008,
- draenei: 5010,
- drell: 13009,
- elcor: 13010,
- ewok: 13011,
- hanar: 13012,
- hrothgar: 13013,
- iksar: 5013,
- kaiju: 5015,
- kelpie: 13041,
- kemonomimi: 13014,
- khajiit: 13015,
- koopa: 13016,
- krogan: 13017,
- lombax: 13018,
- mimiga: 13019,
- mobian: 13020,
- moogle: 5017,
- neopet: 13021,
- "nu-mou": 13022,
- pokemon: 5019,
- "pony-mlp": 13023,
- protoss: 13024,
- quarian: 13025,
- ronso: 13026,
- salarian: 13027,
- sangheili: 13028,
- tauntaun: 13029,
- tauren: 13030,
- trandoshan: 13031,
- transformer: 13032,
- turian: 13033,
- twilek: 13034,
- viera: 13035,
- wookiee: 13036,
- xenomorph: 5024,
- yautja: 13037,
- yordle: 13038,
- yoshi: 13039,
- zerg: 13040,
- aardvark: 14001,
- aardwolf: 14002,
- "african-wild-dog": 14003,
- akita: 14004,
- albatross: 14005,
- crocodile: 7001,
- alpaca: 14006,
- anaconda: 14007,
- anteater: 14008,
- antelope: 6004,
- arachnid: 8e3,
- "arctic-fox": 14009,
- armadillo: 14010,
- axolotl: 14011,
- baboon: 14012,
- badger: 6045,
- bat: 6001,
- beaver: 6064,
- bee: 14013,
- binturong: 14014,
- bison: 14015,
- "blue-jay": 14016,
- "border-collie": 14017,
- "brown-bear": 14018,
- buffalo: 14019,
- "buffalo-bison": 14020,
- "bull-terrier": 14021,
- butterfly: 14022,
- caiman: 14023,
- camel: 6074,
- capybara: 14024,
- caribou: 14025,
- caterpillar: 14026,
- cephalopod: 2001,
- chameleon: 14027,
- cheetah: 6021,
- chicken: 14028,
- chimpanzee: 14029,
- chinchilla: 14030,
- chipmunk: 14031,
- civet: 14032,
- "clouded-leopard": 14033,
- coatimundi: 14034,
- cockatiel: 14035,
- corgi: 14036,
- corvid: 3001,
- cougar: 6022,
- cow: 6003,
- coyote: 6008,
- crab: 14037,
- crane: 14038,
- crayfish: 14039,
- crow: 3002,
- crustacean: 14040,
- dalmatian: 14041,
- deer: 14042,
- dhole: 14043,
- dingo: 6011,
- dinosaur: 8001,
- doberman: 6009,
- dolphin: 2002,
- donkey: 6019,
- duck: 3003,
- eagle: 3004,
- eel: 14044,
- elephant: 14045,
- falcon: 3005,
- fennec: 6072,
- ferret: 6046,
- finch: 14046,
- fish: 2005,
- flamingo: 14047,
- fossa: 14048,
- frog: 1001,
- gazelle: 6005,
- gecko: 7003,
- genet: 14049,
- "german-shepherd": 6012,
- gibbon: 14050,
- giraffe: 6031,
- goat: 6006,
- goose: 3006,
- gorilla: 6054,
- "gray-fox": 14051,
- "great-dane": 14052,
- "grizzly-bear": 14053,
- "guinea-pig": 14054,
- hamster: 14055,
- hawk: 3008,
- hedgehog: 6032,
- heron: 14056,
- hippopotamus: 6033,
- honeybee: 14057,
- horse: 6034,
- housecat: 6020,
- human: 6055,
- humanoid: 14058,
- hummingbird: 14059,
- husky: 6014,
- hyena: 6035,
- iguana: 7004,
- impala: 14060,
- jackal: 6013,
- jaguar: 6023,
- kangaroo: 6038,
- "kangaroo-mouse": 14061,
- "kangaroo-rat": 14062,
- kinkajou: 14063,
- "kit-fox": 14064,
- koala: 6039,
- "kodiak-bear": 14065,
- "komodo-dragon": 14066,
- labrador: 14067,
- lemur: 6056,
- leopard: 6024,
- liger: 14068,
- linsang: 14069,
- lion: 6025,
- lizard: 7005,
- llama: 6036,
- lobster: 14070,
- "longhair-cat": 14071,
- lynx: 6026,
- magpie: 14072,
- "maine-coon": 14073,
- malamute: 14074,
- "mammal-feline": 14075,
- "mammal-herd": 14076,
- "mammal-marsupial": 14077,
- "mammal-mustelid": 14078,
- "mammal-other predator": 14079,
- "mammal-prey": 14080,
- "mammal-primate": 14081,
- "mammal-rodent": 14082,
- manatee: 14083,
- mandrill: 14084,
- "maned-wolf": 14085,
- mantid: 8004,
- marmoset: 14086,
- marten: 14087,
- meerkat: 6043,
- mink: 6048,
- mole: 14088,
- mongoose: 6044,
- "monitor-lizard": 14089,
- monkey: 6057,
- moose: 14090,
- moth: 14091,
- mouse: 6065,
- "musk-deer": 14092,
- "musk-ox": 14093,
- newt: 1002,
- ocelot: 6027,
- octopus: 14094,
- okapi: 14095,
- olingo: 14096,
- opossum: 6037,
- orangutan: 14097,
- orca: 14098,
- oryx: 14099,
- ostrich: 14100,
- otter: 6047,
- owl: 3009,
- panda: 6052,
- pangolin: 14101,
- panther: 6028,
- parakeet: 14102,
- parrot: 14103,
- peacock: 14104,
- penguin: 14105,
- "persian-cat": 14106,
- pig: 6053,
- pigeon: 14107,
- pika: 14108,
- "pine-marten": 14109,
- platypus: 14110,
- "polar-bear": 14111,
- pony: 6073,
- poodle: 14112,
- porcupine: 14113,
- porpoise: 2004,
- procyonid: 14114,
- puffin: 14115,
- quoll: 6040,
- rabbit: 6059,
- raccoon: 6060,
- rat: 6061,
- ray: 14116,
- "red-fox": 14117,
- "red-panda": 6062,
- reindeer: 14118,
- reptillian: 14119,
- rhinoceros: 6063,
- robin: 14120,
- rottweiler: 14121,
- sabercats: 14122,
- sabertooth: 14123,
- salamander: 1003,
- scorpion: 8005,
- seagull: 14124,
- seahorse: 14125,
- seal: 6068,
- "secretary-bird": 14126,
- "serpent-dragon": 4003,
- serval: 14127,
- shark: 2006,
- sheep: 14128,
- "shiba-inu": 14129,
- "shorthair-cat": 14130,
- shrew: 14131,
- siamese: 14132,
- sifaka: 14133,
- "silver-fox": 14134,
- skunk: 6069,
- sloth: 14135,
- snail: 14136,
- "snake-serpent": 7006,
- "snow-leopard": 14137,
- sparrow: 14138,
- squid: 14139,
- squirrel: 6070,
- stoat: 14140,
- stork: 14141,
- "sugar-glider": 14142,
- "sun-bear": 14143,
- swan: 3011,
- "swift-fox": 14144,
- tanuki: 5022,
- tapir: 14145,
- "tasmanian-devil": 14146,
- thylacine: 14147,
- tiger: 6029,
- toucan: 14148,
- turtle: 7007,
- vulture: 14149,
- wallaby: 6041,
- walrus: 14150,
- wasp: 14151,
- weasel: 6049,
- whale: 2003,
- wolf: 6016,
- wolverine: 6050,
- zebra: 6071
- };
- }
- static get gender() {
- return {
- any: 0,
- male: 2,
- female: 3,
- herm: 4,
- intersex: 11,
- "trans-male": 8,
- "trans-female": 9,
- "non-binary": 10,
- multiple: 6,
- other: 7,
- "not-specified": 7
- };
- }
- static get results() {
- return {
- 24: 24,
- 48: 48,
- 72: 72,
- 96: 96,
- 128: 128
- };
- }
- }
- function checkTags(element) {
- var _a;
- if (!("1" === document.body.getAttribute("data-user-logged-in"))) {
- setBlockedState(element, false);
- return;
- }
- const tagsHideMissingTags = "1" === document.body.getAttribute("data-tag-blocklist-hide-tagless"), tags = null === (_a = element.getAttribute("data-tags")) || void 0 === _a ? void 0 : _a.trim().split(/\s+/);
- let blockReason = "";
- if (null != tags && tags.length > 0 && "" !== tags[0]) {
- const blockedTags = function getBannedTags(tags) {
- var _a;
- const tagsBlocklist = null !== (_a = document.body.getAttribute("data-tag-blocklist")) && void 0 !== _a ? _a : [];
- let bTags = [];
- if (null == tags || 0 === tags.length) return [];
- for (const tag of tags) for (const blockedTag of tagsBlocklist) if (tag === blockedTag) bTags.push(blockedTag);
- return [ ...new Set(bTags) ];
- }(tags);
- if (blockedTags.length <= 0) setBlockedState(element, false); else {
- setBlockedState(element, true);
- blockReason = "Blocked tags:\n";
- for (const tag of blockedTags) blockReason += "• " + tag + "\n";
- }
- } else {
- setBlockedState(element, tagsHideMissingTags);
- if (tagsHideMissingTags) blockReason = "Content is missing tags.";
- }
- if ("" !== blockReason && "submissionImg" !== element.id) element.setAttribute("title", blockReason);
- }
- function setBlockedState(element, isBlocked) {
- element.classList[isBlocked ? "add" : "remove"]("blocked-content");
- }
- function checkTagsAll(doc) {
- if (null == doc) return;
- doc.querySelectorAll("img[data-tags]").forEach((element => checkTags(element)));
- }
- var Page_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class Page {
- static getGalleryPage(username, folderId, pageNumber, galleryType, semaphore) {
- return Page_awaiter(this, void 0, void 0, (function*() {
- if (galleryType === GalleryType.FAVORITES) {
- const dataFavId = null != folderId ? folderId : pageNumber;
- return yield Page.getFavoritesPage(username, dataFavId, pageNumber, semaphore);
- } else if (galleryType === GalleryType.JOURNALS) return yield Page.getJournalsPage(username, pageNumber, semaphore); else if (galleryType === GalleryType.BROWSE) return yield Page.getBrowsePage(pageNumber, void 0, semaphore); else if (galleryType === GalleryType.SEARCH) return yield Page.getSearchPage(pageNumber, void 0, semaphore);
- if (null == username) {
- Logger.logError("No username given");
- return;
- }
- if (null == pageNumber || pageNumber <= 0) {
- Logger.logWarning("No page number given. Using default value of 1.");
- pageNumber = 1;
- }
- let url;
- if (!username.endsWith("/")) username += "/";
- switch (galleryType) {
- case GalleryType.GALLERY:
- url = Gallery.hardLink + username;
- break;
-
- case GalleryType.SCRAPS:
- url = Scraps.hardLink + username;
- }
- if (null != folderId && -1 !== folderId) url += `folder/${folderId}/`;
- const page = yield FuraffinityRequests.getHTML(url + pageNumber, semaphore);
- checkTagsAll(page);
- return page;
- }));
- }
- static getFavoritesPage(username, dataFavId, direction, semaphore) {
- return Page_awaiter(this, void 0, void 0, (function*() {
- if (null == username) {
- Logger.logError("No username given");
- return;
- }
- if (null == direction) {
- Logger.logWarning("No direction given. Using default 1 instead.");
- direction = 1;
- }
- if (!username.endsWith("/")) username += "/";
- let url = Favorites.hardLink;
- if (null != dataFavId && dataFavId >= 0) url += `${username}${dataFavId}/`; else {
- Logger.logWarning("No last data fav id given. Using default 1 instead.");
- url += username;
- }
- if (direction >= 0) url += "next/"; else url += "prev/";
- const page = yield FuraffinityRequests.getHTML(url, semaphore);
- checkTagsAll(page);
- return page;
- }));
- }
- static getJournalsPage(username, pageNumber, semaphore) {
- return Page_awaiter(this, void 0, void 0, (function*() {
- if (null == username) {
- Logger.logError("No username given");
- return;
- }
- if (null == pageNumber || pageNumber <= 0) {
- Logger.logWarning("Page number must be greater than 0. Using default 1 instead.");
- pageNumber = 1;
- }
- if (!username.endsWith("/")) username += "/";
- const url = Journals.hardLink + username;
- return yield FuraffinityRequests.getHTML(url + pageNumber, semaphore);
- }));
- }
- static getBrowsePage(pageNumber, browseOptions, semaphore) {
- return Page_awaiter(this, void 0, void 0, (function*() {
- if (null == pageNumber || pageNumber <= 0) {
- Logger.logWarning("Page number must be greater than 0. Using default 1 instead.");
- pageNumber = 1;
- }
- if (null == browseOptions) browseOptions = new BrowseOptions;
- const payload = {
- cat: browseOptions.category,
- atype: browseOptions.type,
- species: browseOptions.species,
- gender: browseOptions.gender,
- perpage: browseOptions.results,
- page: pageNumber,
- rating_general: browseOptions.ratingGeneral ? "on" : "off",
- rating_mature: browseOptions.ratingMature ? "on" : "off",
- rating_adult: browseOptions.ratingAdult ? "on" : "off"
- };
- for (const key in payload) if (null == payload[key] || 0 === payload[key] || "off" === payload[key]) delete payload[key];
- const payloadArray = Object.entries(payload).map((([key, value]) => {
- var _a;
- return [ key, null !== (_a = null == value ? void 0 : value.toString()) && void 0 !== _a ? _a : "" ];
- })), url = Browse.hardLink, page = yield FuraffinityRequests.postHTML(url, payloadArray, semaphore);
- checkTagsAll(page);
- return page;
- }));
- }
- static getSearchPage(pageNumber, searchOptions, semaphore) {
- return Page_awaiter(this, void 0, void 0, (function*() {
- if (null == pageNumber || pageNumber <= 0) {
- Logger.logWarning("Page number must be greater than 0. Using default 1 instead.");
- pageNumber = 1;
- }
- if (null == searchOptions) searchOptions = new SearchOptions;
- const payload = {
- page: pageNumber,
- q: searchOptions.input,
- "order-by": searchOptions.orderBy,
- "order-direction": searchOptions.orderDirection,
- range: searchOptions.range,
- range_from: void 0,
- range_to: void 0,
- "rating-general": searchOptions.ratingGeneral ? 1 : 0,
- "rating-mature": searchOptions.ratingMature ? 1 : 0,
- "rating-adult": searchOptions.ratingAdult ? 1 : 0,
- "type-art": searchOptions.typeArt ? 1 : 0,
- "type-music": searchOptions.typeMusic ? 1 : 0,
- "type-flash": searchOptions.typeFlash ? 1 : 0,
- "type-story": searchOptions.typeStory ? 1 : 0,
- "type-photos": searchOptions.typePhotos ? 1 : 0,
- "type-poetry": searchOptions.typePoetry ? 1 : 0,
- mode: searchOptions.matching
- };
- if (searchOptions.rangeFrom instanceof Date && null != searchOptions.rangeFrom) {
- const formattedDate = `${searchOptions.rangeFrom.getFullYear()}-${(searchOptions.rangeFrom.getMonth() + 1).toString().padStart(2, "0")}-${searchOptions.rangeFrom.getDate().toString().padStart(2, "0")}`;
- payload.range_from = formattedDate;
- } else if ("string" == typeof searchOptions.rangeFrom && searchOptions.rangeFrom) payload.range_from = searchOptions.rangeFrom;
- if (searchOptions.rangeTo instanceof Date && null != searchOptions.rangeTo) {
- const formattedDate = `${searchOptions.rangeTo.getFullYear()}-${(searchOptions.rangeTo.getMonth() + 1).toString().padStart(2, "0")}-${searchOptions.rangeTo.getDate().toString().padStart(2, "0")}`;
- payload.range_to = formattedDate;
- } else if ("string" == typeof searchOptions.rangeTo && searchOptions.rangeTo) payload.range_to = searchOptions.rangeTo;
- for (const key in payload) if (null == payload[key] || 0 === payload[key] || "off" === payload[key]) delete payload[key];
- const payloadArray = Object.entries(payload).map((([key, value]) => {
- var _a;
- return [ key, null !== (_a = null == value ? void 0 : value.toString()) && void 0 !== _a ? _a : "" ];
- })), url = Search.hardLink, page = yield FuraffinityRequests.postHTML(url, payloadArray, semaphore);
- checkTagsAll(page);
- return page;
- }));
- }
- }
- var Gallery_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class Gallery {
- constructor(semaphore) {
- this._semaphore = semaphore;
- }
- static get hardLink() {
- return FuraffinityRequests.fullUrl + "/gallery/";
- }
- getSubmissionPageNo(username_1, submissionId_1, folderId_1, fromPageNumber_1, toPageNumber_1, action_1) {
- return Gallery_awaiter(this, arguments, void 0, (function*(username, submissionId, folderId, fromPageNumber, toPageNumber, action, delay = 100) {
- submissionId = convertToNumber(submissionId);
- folderId = convertToNumber(folderId);
- fromPageNumber = convertToNumber(fromPageNumber);
- toPageNumber = convertToNumber(toPageNumber);
- return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getSubmissionPageNo, [ username, submissionId, folderId, fromPageNumber, toPageNumber, GalleryType.GALLERY, this._semaphore ], action, delay);
- }));
- }
- getFiguresBetweenIds(username_1, fromId_1, toId_1, action_1) {
- return Gallery_awaiter(this, arguments, void 0, (function*(username, fromId, toId, action, delay = 100) {
- fromId = convertToNumber(fromId);
- toId = convertToNumber(toId);
- if (null == fromId || fromId <= 0) return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresTillId, [ username, void 0, toId, void 0, GalleryType.GALLERY, this._semaphore ], action, delay); else if (null == toId || toId <= 0) return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresSinceId, [ username, void 0, fromId, void 0, GalleryType.GALLERY, this._semaphore ], action, delay); else return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresBetweenIds, [ username, void 0, fromId, toId, void 0, void 0, GalleryType.GALLERY, this._semaphore ], action, delay, true);
- }));
- }
- getFiguresInFolderBetweenIds(username_1, folderId_1, fromId_1, toId_1, action_1) {
- return Gallery_awaiter(this, arguments, void 0, (function*(username, folderId, fromId, toId, action, delay = 100) {
- folderId = convertToNumber(folderId);
- fromId = convertToNumber(fromId);
- toId = convertToNumber(toId);
- if (null == fromId || fromId <= 0) return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresTillId, [ username, folderId, toId, void 0, GalleryType.GALLERY, this._semaphore ], action, delay); else if (null == toId || toId <= 0) return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresSinceId, [ username, folderId, fromId, void 0, GalleryType.GALLERY, this._semaphore ], action, delay); else return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresBetweenIds, [ username, folderId, fromId, toId, void 0, void 0, GalleryType.GALLERY, this._semaphore ], action, delay, true);
- }));
- }
- getFiguresBetweenIdsBetweenPages(username_1, fromId_1, toId_1, fromPageNumber_1, toPageNumber_1, action_1) {
- return Gallery_awaiter(this, arguments, void 0, (function*(username, fromId, toId, fromPageNumber, toPageNumber, action, delay = 100) {
- fromId = convertToNumber(fromId);
- toId = convertToNumber(toId);
- fromPageNumber = convertToNumber(fromPageNumber);
- toPageNumber = convertToNumber(toPageNumber);
- if (null == fromId || fromId <= 0) return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresTillId, [ username, void 0, toId, fromPageNumber, GalleryType.GALLERY, this._semaphore ], action, delay); else if (null == toId || toId <= 0) return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresSinceId, [ username, void 0, fromId, toPageNumber, GalleryType.GALLERY, this._semaphore ], action, delay); else return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresBetweenIds, [ username, void 0, fromId, toId, fromPageNumber, toPageNumber, GalleryType.GALLERY, this._semaphore ], action, delay, true);
- }));
- }
- getFiguresInFolderBetweenIdsBetweenPages(username_1, folderId_1, fromId_1, toId_1, fromPageNumber_1, toPageNumber_1, action_1) {
- return Gallery_awaiter(this, arguments, void 0, (function*(username, folderId, fromId, toId, fromPageNumber, toPageNumber, action, delay = 100) {
- folderId = convertToNumber(folderId);
- fromId = convertToNumber(fromId);
- toId = convertToNumber(toId);
- fromPageNumber = convertToNumber(fromPageNumber);
- toPageNumber = convertToNumber(toPageNumber);
- if (null == fromId || fromId <= 0) return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresTillId, [ username, folderId, toId, fromPageNumber, GalleryType.GALLERY, this._semaphore ], action, delay); else if (null == toId || toId <= 0) return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresSinceId, [ username, folderId, fromId, toPageNumber, GalleryType.GALLERY, this._semaphore ], action, delay); else return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresBetweenIds, [ username, folderId, fromId, toId, fromPageNumber, toPageNumber, GalleryType.GALLERY, this._semaphore ], action, delay, true);
- }));
- }
- getFiguresBetweenPages(username_1, fromPageNumber_1, toPageNumber_1, action_1) {
- return Gallery_awaiter(this, arguments, void 0, (function*(username, fromPageNumber, toPageNumber, action, delay = 100) {
- fromPageNumber = convertToNumber(fromPageNumber);
- toPageNumber = convertToNumber(toPageNumber);
- if (null == fromPageNumber || fromPageNumber <= 0) return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresTillPage, [ username, void 0, toPageNumber, GalleryType.GALLERY, this._semaphore ], action, delay, true); else if (null == toPageNumber || toPageNumber <= 0) return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresSincePage, [ username, void 0, fromPageNumber, GalleryType.GALLERY, this._semaphore ], action, delay); else return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresBetweenPages, [ username, void 0, fromPageNumber, toPageNumber, GalleryType.GALLERY, this._semaphore ], action, delay, true);
- }));
- }
- getFiguresInFolderBetweenPages(username_1, folderId_1, fromPageNumber_1, toPageNumber_1, action_1) {
- return Gallery_awaiter(this, arguments, void 0, (function*(username, folderId, fromPageNumber, toPageNumber, action, delay = 100) {
- folderId = convertToNumber(folderId);
- fromPageNumber = convertToNumber(fromPageNumber);
- toPageNumber = convertToNumber(toPageNumber);
- if (null == fromPageNumber || fromPageNumber <= 0) return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresTillPage, [ username, folderId, toPageNumber, GalleryType.GALLERY, this._semaphore ], action, delay, true); else if (null == toPageNumber || toPageNumber <= 0) return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresSincePage, [ username, folderId, fromPageNumber, GalleryType.GALLERY, this._semaphore ], action, delay); else return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFiguresBetweenPages, [ username, folderId, fromPageNumber, toPageNumber, GalleryType.GALLERY, this._semaphore ], action, delay, true);
- }));
- }
- getFigures(username_1, pageNumber_1, action_1) {
- return Gallery_awaiter(this, arguments, void 0, (function*(username, pageNumber, action, delay = 100) {
- pageNumber = convertToNumber(pageNumber);
- return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFigures, [ username, void 0, pageNumber, GalleryType.GALLERY, this._semaphore ], action, delay);
- }));
- }
- getFiguresInFolder(username_1, folderId_1, pageNumber_1, action_1) {
- return Gallery_awaiter(this, arguments, void 0, (function*(username, folderId, pageNumber, action, delay = 100) {
- folderId = convertToNumber(folderId);
- pageNumber = convertToNumber(pageNumber);
- return yield WaitAndCallAction.callFunctionAsync(GalleryRequests.getGalleryFigures, [ username, folderId, pageNumber, GalleryType.GALLERY, this._semaphore ], action, delay);
- }));
- }
- getPage(username_1, pageNumber_1, action_1) {
- return Gallery_awaiter(this, arguments, void 0, (function*(username, pageNumber, action, delay = 100) {
- pageNumber = convertToNumber(pageNumber);
- return yield WaitAndCallAction.callFunctionAsync(Page.getGalleryPage, [ username, void 0, pageNumber, GalleryType.GALLERY, this._semaphore ], action, delay);
- }));
- }
- getPageInFolder(username_1, folderId_1, pageNumber_1, action_1) {
- return Gallery_awaiter(this, arguments, void 0, (function*(username, folderId, pageNumber, action, delay = 100) {
- folderId = convertToNumber(folderId);
- pageNumber = convertToNumber(pageNumber);
- return yield WaitAndCallAction.callFunctionAsync(Page.getGalleryPage, [ username, folderId, pageNumber, GalleryType.GALLERY, this._semaphore ], action, delay);
- }));
- }
- }
- var GalleryType, GalleryRequests_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class GalleryRequests {
- constructor(semaphore) {
- this._semaphore = semaphore;
- this.Gallery = new Gallery(this._semaphore);
- this.Scraps = new Scraps(this._semaphore);
- this.Favorites = new Favorites(this._semaphore);
- this.Journals = new Journals(this._semaphore);
- }
- static getSubmissionPageNo(username, submissionId, folderId, fromPageNumber, toPageNumber, galleryType, semaphore, percentId) {
- return GalleryRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == submissionId || submissionId <= 0) {
- Logger.logError("No submissionId given");
- return -1;
- }
- if (null == fromPageNumber || fromPageNumber <= 0) {
- Logger.logWarning("fromPageNumber must be greater than 0. Using default 1 instead.");
- fromPageNumber = 1;
- }
- if (null == toPageNumber || 0 === toPageNumber) {
- Logger.logWarning("toPageNumber must be greater than 0. Using default 1 instead.");
- toPageNumber = 1;
- } else if (toPageNumber < 0) toPageNumber = Number.MAX_SAFE_INTEGER;
- const direction = fromPageNumber <= toPageNumber ? 1 : -1, totalPages = Math.abs(toPageNumber - fromPageNumber) + 1;
- let completedPages = 0;
- for (let i = fromPageNumber; i <= toPageNumber; i += direction) {
- const figures = yield GalleryRequests.getGalleryFigures(username, folderId, i, galleryType, semaphore);
- if (0 === figures.length) i = toPageNumber; else {
- if (null != figures.find((figure => figure.id.trimStart("sid-") === submissionId.toString()))) return i;
- }
- completedPages++;
- PercentHelper.updatePercentValue(percentId, completedPages, totalPages);
- }
- return -1;
- }));
- }
- static getGalleryFiguresTillId(username, folderId, toId, fromPage, galleryType, semaphore) {
- return GalleryRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == toId || toId <= 0) {
- Logger.logError("No toId given");
- return [];
- }
- const allFigures = [];
- let running = true, i = 1;
- if (null != fromPage && fromPage >= 1) i = fromPage;
- for (;running; ) {
- const figures = yield GalleryRequests.getGalleryFigures(username, folderId, i, galleryType, semaphore);
- let currFigureId;
- if (0 !== figures.length) currFigureId = figures[0].id;
- if (undefined === currFigureId) running = false; else if (IdArray.containsId(figures, toId)) {
- allFigures.push(IdArray.getTillId(figures, toId));
- running = false;
- } else {
- allFigures.push(figures);
- i++;
- }
- }
- return allFigures;
- }));
- }
- static getGalleryFiguresSinceId(username, folderId, fromId, toPage, galleryType, semaphore) {
- return GalleryRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == fromId || fromId <= 0) {
- Logger.logError("No fromId given");
- return [];
- }
- const direction = null == toPage || toPage <= 0 ? -1 : 1;
- let lastFigureId, running = true, i = null == toPage || toPage <= 0 ? 1 : toPage;
- if (null == toPage || toPage <= 0) for (;running; ) {
- const figures = yield GalleryRequests.getGalleryFigures(username, folderId, i, galleryType, semaphore);
- let currFigureId = lastFigureId;
- if (0 !== figures.length) currFigureId = figures[0].id;
- if (currFigureId === lastFigureId) running = false; else if (IdArray.containsId(figures, fromId)) running = false; else i++;
- }
- const allFigures = [];
- lastFigureId = void 0;
- running = true;
- for (;running; ) {
- const figures = yield GalleryRequests.getGalleryFigures(username, folderId, i, galleryType, semaphore);
- let currFigureId = lastFigureId;
- if (0 !== figures.length) currFigureId = figures[0].id;
- if (currFigureId === lastFigureId) running = false; else {
- if (IdArray.containsId(figures, fromId)) {
- const figuresPush = IdArray.getSinceId(figures, fromId);
- if (direction < 0) {
- figuresPush.reverse();
- running = false;
- }
- allFigures.push(figuresPush);
- } else {
- if (direction < 0) figures.reverse();
- allFigures.push(figures);
- }
- i += direction;
- }
- }
- if (direction < 0) allFigures.reverse();
- return allFigures;
- }));
- }
- static getGalleryFiguresBetweenIds(username, folderId, fromId, toId, fromPage, toPage, galleryType, semaphore, percentId) {
- return GalleryRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == fromId || fromId <= 0) {
- Logger.logError("No fromId given");
- return [];
- }
- if (null == toId || toId <= 0) {
- Logger.logError("No toId given");
- return [];
- }
- if (null == fromPage || fromPage <= 0 || null == toPage || toPage <= 1) {
- Logger.logWarning("No fromPage or toPage given. Percentages can not be calculated.");
- percentId = void 0;
- }
- let i = 1;
- if (null != fromPage && fromPage >= 1) i = fromPage;
- const allFigures = [];
- let running = true, completedPages = 0;
- for (;running; ) {
- if (null != toPage && toPage >= 1 && i >= toPage) running = false;
- const figures = yield GalleryRequests.getGalleryFigures(username, folderId, i, galleryType, semaphore);
- let currFigureId;
- if (0 !== figures.length) currFigureId = figures[0].id;
- if (undefined === currFigureId) running = false; else {
- if (IdArray.containsId(figures, fromId)) allFigures.push(IdArray.getSinceId(figures, fromId));
- if (IdArray.containsId(figures, toId)) {
- allFigures.push(IdArray.getBetweenIds(figures, fromId, toId));
- running = false;
- } else {
- allFigures.push(figures);
- i++;
- }
- }
- completedPages++;
- if (null != toPage && toPage >= 1) PercentHelper.updatePercentValue(percentId, completedPages, toPage);
- }
- return allFigures;
- }));
- }
- static getGalleryFiguresTillPage(username, folderId, toPageNumber, galleryType, semaphore, percentId) {
- return GalleryRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == toPageNumber || 0 === toPageNumber) {
- Logger.logWarning("toPageNumber must be greater than 0. Using default 1 instead.");
- toPageNumber = 1;
- } else if (toPageNumber < 0) toPageNumber = Number.MAX_SAFE_INTEGER;
- const allFigures = [];
- let completedPages = 0;
- for (let i = 1; i <= toPageNumber; i++) {
- const figures = yield GalleryRequests.getGalleryFigures(username, folderId, i, galleryType, semaphore);
- if (0 === figures.length) i = toPageNumber; else allFigures.push(figures);
- completedPages++;
- PercentHelper.updatePercentValue(percentId, completedPages, toPageNumber);
- }
- return allFigures;
- }));
- }
- static getGalleryFiguresSincePage(username, folderId, fromPageNumber, galleryType, semaphore) {
- return GalleryRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == fromPageNumber || fromPageNumber <= 0) {
- Logger.logWarning("fromPageNumber must be greater than 0. Using default 1 instead.");
- fromPageNumber = 1;
- }
- const allFigures = [];
- let running = true, i = fromPageNumber;
- for (;running; ) {
- const figures = yield GalleryRequests.getGalleryFigures(username, folderId, i, galleryType, semaphore);
- let currFigureId;
- if (0 !== figures.length) currFigureId = figures[0].id;
- if (undefined === currFigureId) running = false; else {
- allFigures.push(figures);
- i++;
- }
- }
- return allFigures;
- }));
- }
- static getGalleryFiguresBetweenPages(username, folderId, fromPageNumber, toPageNumber, galleryType, semaphore, percentId) {
- return GalleryRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == fromPageNumber || fromPageNumber <= 0) {
- Logger.logWarning("fromPageNumber must be greater than 0. Using default 1 instead.");
- fromPageNumber = 1;
- }
- if (null == toPageNumber || 0 === toPageNumber) {
- Logger.logWarning("toPageNumber must be greater than 0. Using default 1 instead.");
- toPageNumber = 1;
- } else if (toPageNumber < 0) toPageNumber = Number.MAX_SAFE_INTEGER;
- const allFigures = [], direction = fromPageNumber <= toPageNumber ? 1 : -1, totalPages = Math.abs(toPageNumber - fromPageNumber) + 1;
- let completedPages = 0;
- for (let i = fromPageNumber; i <= toPageNumber; i += direction) {
- const figures = yield GalleryRequests.getGalleryFigures(username, folderId, i, galleryType, semaphore);
- if (0 === figures.length) i = toPageNumber; else allFigures.push(figures);
- completedPages++;
- PercentHelper.updatePercentValue(percentId, completedPages, totalPages);
- }
- return allFigures;
- }));
- }
- static getGalleryFigures(username, folderId, pageNumber, galleryType, semaphore) {
- return GalleryRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == pageNumber || pageNumber <= 0) {
- Logger.logWarning("No pageNumber given. Using default value of 1.");
- pageNumber = 1;
- }
- if (null == folderId || folderId <= 0) Logger.logInfo(`Getting ${galleryType} of "${username}" on page "${pageNumber}".`); else Logger.logInfo(`Getting ${galleryType} of "${username}" in folder "${folderId}" on page "${pageNumber}".`);
- const galleryDoc = yield Page.getGalleryPage(username, folderId, pageNumber, galleryType, semaphore);
- if (!galleryDoc || !(galleryDoc instanceof Document) || galleryDoc.getElementById("no-images")) {
- Logger.logInfo(`No images found at ${galleryType} of "${username}" on page "${pageNumber}".`);
- return [];
- }
- const figures = galleryDoc.getElementsByTagName("figure");
- if (null == figures || 0 === figures.length) {
- Logger.logInfo(`No figures found at ${galleryType} of "${username}" on page "${pageNumber}".`);
- return [];
- }
- return Array.from(figures);
- }));
- }
- }
- !function(GalleryType) {
- GalleryType.GALLERY = "gallery";
- GalleryType.FAVORITES = "favorites";
- GalleryType.SCRAPS = "scraps";
- GalleryType.JOURNALS = "journals";
- GalleryType.BROWSE = "browse";
- GalleryType.SEARCH = "search";
- }(GalleryType || (GalleryType = {}));
- var UserRequests_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class UserRequests {
- constructor(semaphore) {
- this._semaphore = semaphore;
- this.GalleryRequests = new GalleryRequests(this._semaphore);
- this.SearchRequests = new SearchRequests(this._semaphore);
- }
- static get hardLinks() {
- return {
- user: FuraffinityRequests.fullUrl + "/user/",
- watch: FuraffinityRequests.fullUrl + "/watch/",
- unwatch: FuraffinityRequests.fullUrl + "/unwatch/",
- block: FuraffinityRequests.fullUrl + "/block/",
- unblock: FuraffinityRequests.fullUrl + "/unblock/"
- };
- }
- getUserPage(username_1, action_1) {
- return UserRequests_awaiter(this, arguments, void 0, (function*(username, action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(getUserPageLocal, [ username, this._semaphore ], action, delay);
- }));
- }
- watchUser(username_1, watchKey_1, action_1) {
- return UserRequests_awaiter(this, arguments, void 0, (function*(username, watchKey, action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(watchUserLocal, [ username, watchKey, this._semaphore ], action, delay);
- }));
- }
- unwatchUser(username_1, unwatchKey_1, action_1) {
- return UserRequests_awaiter(this, arguments, void 0, (function*(username, unwatchKey, action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(unwatchUserLocal, [ username, unwatchKey, this._semaphore ], action, delay);
- }));
- }
- blockUser(username_1, blockKey_1, action_1) {
- return UserRequests_awaiter(this, arguments, void 0, (function*(username, blockKey, action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(blockUserLocal, [ username, blockKey, this._semaphore ], action, delay);
- }));
- }
- unblockUser(username_1, unblockKey_1, action_1) {
- return UserRequests_awaiter(this, arguments, void 0, (function*(username, unblockKey, action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(unblockUserLocal, [ username, unblockKey, this._semaphore ], action, delay);
- }));
- }
- }
- function getUserPageLocal(username, semaphore) {
- return UserRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == username) {
- Logger.logWarning("No username given");
- return;
- }
- const url = UserRequests.hardLinks.user + username;
- return yield FuraffinityRequests.getHTML(url, semaphore);
- }));
- }
- function watchUserLocal(username, watchKey, semaphore) {
- return UserRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == username || "" === username) {
- Logger.logError("No username given");
- return false;
- }
- if (null == watchKey || "" === watchKey || -1 === watchKey) {
- Logger.logError("No watch key given");
- return false;
- }
- const url = UserRequests.hardLinks.watch + username + "?key=" + watchKey;
- return null == (yield FuraffinityRequests.getHTML(url, semaphore));
- }));
- }
- function unwatchUserLocal(username, unwatchKey, semaphore) {
- return UserRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == username || "" === username) {
- Logger.logError("No username given");
- return false;
- }
- if (null == unwatchKey || "" === unwatchKey || -1 === unwatchKey) {
- Logger.logError("No unwatch key given");
- return false;
- }
- const url = UserRequests.hardLinks.unwatch + username + "?key=" + unwatchKey;
- return null == (yield FuraffinityRequests.getHTML(url, semaphore));
- }));
- }
- function blockUserLocal(username, blockKey, semaphore) {
- return UserRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == username || "" === username) {
- Logger.logError("No username given");
- return false;
- }
- if (null == blockKey || "" === blockKey || -1 === blockKey) {
- Logger.logError("No block key given");
- return false;
- }
- const url = UserRequests.hardLinks.block + username + "?key=" + blockKey;
- return null == (yield FuraffinityRequests.getHTML(url, semaphore));
- }));
- }
- function unblockUserLocal(username, unblockKey, semaphore) {
- return UserRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == username || "" === username) {
- Logger.logError("No username given");
- return false;
- }
- if (null == unblockKey || "" === unblockKey || -1 === unblockKey) {
- Logger.logError("No unblock key given");
- return false;
- }
- const url = UserRequests.hardLinks.unblock + username + "?key=" + unblockKey;
- return null == (yield FuraffinityRequests.getHTML(url, semaphore));
- }));
- }
- var NewSubmissions_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class NewSubmissions {
- constructor(semaphore) {
- this._semaphore = semaphore;
- }
- static get hardLink() {
- return FuraffinityRequests.fullUrl + "/msg/submissions/";
- }
- getSubmissionsPage(firstSubmissionId_1, action_1) {
- return NewSubmissions_awaiter(this, arguments, void 0, (function*(firstSubmissionId, action, delay = 100) {
- firstSubmissionId = convertToNumber(firstSubmissionId);
- return yield WaitAndCallAction.callFunctionAsync(getSubmissionsPageLocal, [ firstSubmissionId, this._semaphore ], action, delay);
- }));
- }
- removeSubmissions(submissionIds_1, action_1) {
- return NewSubmissions_awaiter(this, arguments, void 0, (function*(submissionIds, action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(removeSubmissionsLocal, [ submissionIds, this._semaphore ], action, delay);
- }));
- }
- nukeSubmissions(action_1) {
- return NewSubmissions_awaiter(this, arguments, void 0, (function*(action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(nukeSubmissionsLocal, [ this._semaphore ], action, delay);
- }));
- }
- }
- function getSubmissionsPageLocal(firstSubmissionId, semaphore) {
- return NewSubmissions_awaiter(this, void 0, void 0, (function*() {
- if (null == firstSubmissionId || firstSubmissionId <= 0) return yield FuraffinityRequests.getHTML(`${NewSubmissions.hardLink}new@72/`, semaphore); else return yield FuraffinityRequests.getHTML(`${NewSubmissions.hardLink}new~${firstSubmissionId}@72/`, semaphore);
- }));
- }
- function removeSubmissionsLocal(submissionIds, semaphore) {
- return NewSubmissions_awaiter(this, void 0, void 0, (function*() {
- if (null == submissionIds || 0 === submissionIds.length) {
- Logger.logError("No submission ids to remove");
- return;
- }
- const payload = [ [ "messagecenter-action", Message.hardActions.remove ] ];
- for (const submissionId of submissionIds) payload.push([ "submissions[]", submissionId.toString() ]);
- return yield FuraffinityRequests.postHTML(`${NewSubmissions.hardLink}new@72/`, payload, semaphore);
- }));
- }
- function nukeSubmissionsLocal(semaphore) {
- return NewSubmissions_awaiter(this, void 0, void 0, (function*() {
- const payload = {
- "messagecenter-action": Message.hardActions.nuke
- }, payloadArray = Object.entries(payload).map((([key, value]) => {
- var _a;
- return [ key, null !== (_a = null == value ? void 0 : value.toString()) && void 0 !== _a ? _a : "" ];
- }));
- return yield FuraffinityRequests.postHTML(`${NewSubmissions.hardLink}new@72/`, payloadArray, semaphore);
- }));
- }
- var NewWatches_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class NewWatches {
- constructor(semaphore) {
- this._semaphore = semaphore;
- }
- static get hardLink() {
- return FuraffinityRequests.fullUrl + "/msg/others/";
- }
- static get hardActions() {
- return {
- remove: [ "remove-watches", "Remove Selected Watches" ],
- nuke: [ "nuke-watches", "Nuke Watches" ]
- };
- }
- removeMessages(userIds_1, action_1) {
- return NewWatches_awaiter(this, arguments, void 0, (function*(userIds, action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(removeWatchMessagesLocal, [ userIds, this._semaphore ], action, delay);
- }));
- }
- nukeMessages(action_1) {
- return NewWatches_awaiter(this, arguments, void 0, (function*(action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(nukeWatchMessagesLocal, [ this._semaphore ], action, delay);
- }));
- }
- }
- function removeWatchMessagesLocal(userIds, semaphore) {
- return NewWatches_awaiter(this, void 0, void 0, (function*() {
- if (null == userIds || 0 === userIds.length) {
- Logger.logError("No submission ids to remove");
- return;
- }
- const payload = [ NewWatches.hardActions.remove ];
- for (const submissionId of userIds) payload.push([ "watches[]", submissionId.toString() ]);
- return yield FuraffinityRequests.postHTML(NewWatches.hardLink, payload, semaphore);
- }));
- }
- function nukeWatchMessagesLocal(semaphore) {
- return NewWatches_awaiter(this, void 0, void 0, (function*() {
- const payload = [ NewWatches.hardActions.nuke ];
- return yield FuraffinityRequests.postHTML(NewWatches.hardLink, payload, semaphore);
- }));
- }
- var NewJournalComments_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class NewJournalComments {
- constructor(semaphore) {
- this._semaphore = semaphore;
- }
- static get hardLink() {
- return FuraffinityRequests.fullUrl + "/msg/others/";
- }
- static get hardActions() {
- return {
- remove: [ "remove-journal-comments", "Remove Selected Comments" ],
- nuke: [ "nuke-journal-comments", "Nuke Journal Comments" ]
- };
- }
- removeMessages(commentIds_1, action_1) {
- return NewJournalComments_awaiter(this, arguments, void 0, (function*(commentIds, action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(removeJournalCommentMessagesLocal, [ commentIds, this._semaphore ], action, delay);
- }));
- }
- nukeMessages(action_1) {
- return NewJournalComments_awaiter(this, arguments, void 0, (function*(action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(nukeJournalCommentMessagesLocal, [ this._semaphore ], action, delay);
- }));
- }
- }
- function removeJournalCommentMessagesLocal(commentIds, semaphore) {
- return NewJournalComments_awaiter(this, void 0, void 0, (function*() {
- if (null == commentIds || 0 === commentIds.length) {
- Logger.logError("No submission ids to remove");
- return;
- }
- const payload = [ NewJournalComments.hardActions.remove ];
- for (const submissionId of commentIds) payload.push([ "comments-journals[]", submissionId.toString() ]);
- return yield FuraffinityRequests.postHTML(NewJournalComments.hardLink, payload, semaphore);
- }));
- }
- function nukeJournalCommentMessagesLocal(semaphore) {
- return NewJournalComments_awaiter(this, void 0, void 0, (function*() {
- const payload = [ NewJournalComments.hardActions.nuke ];
- return yield FuraffinityRequests.postHTML(NewJournalComments.hardLink, payload, semaphore);
- }));
- }
- var NewShouts_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class NewShouts {
- constructor(semaphore) {
- this._semaphore = semaphore;
- }
- static get hardLink() {
- return FuraffinityRequests.fullUrl + "/msg/others/";
- }
- static get hardActions() {
- return {
- remove: [ "remove-shouts", "Remove Selected Shouts" ],
- nuke: [ "nuke-shouts", "Nuke Shouts" ]
- };
- }
- removeMessages(shoutIds_1, action_1) {
- return NewShouts_awaiter(this, arguments, void 0, (function*(shoutIds, action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(removeShoutMessagesLocal, [ shoutIds, this._semaphore ], action, delay);
- }));
- }
- nukeMessages(action_1) {
- return NewShouts_awaiter(this, arguments, void 0, (function*(action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(nukeShoutMessagesLocal, [ this._semaphore ], action, delay);
- }));
- }
- }
- function removeShoutMessagesLocal(shoutIds, semaphore) {
- return NewShouts_awaiter(this, void 0, void 0, (function*() {
- if (null == shoutIds || 0 === shoutIds.length) {
- Logger.logError("No submission ids to remove");
- return;
- }
- const payload = [ NewShouts.hardActions.remove ];
- for (const submissionId of shoutIds) payload.push([ "shouts[]", submissionId.toString() ]);
- return yield FuraffinityRequests.postHTML(NewShouts.hardLink, payload, semaphore);
- }));
- }
- function nukeShoutMessagesLocal(semaphore) {
- return NewShouts_awaiter(this, void 0, void 0, (function*() {
- const payload = [ NewShouts.hardActions.nuke ];
- return yield FuraffinityRequests.postHTML(NewShouts.hardLink, payload, semaphore);
- }));
- }
- var NewFavorites_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class NewFavorites {
- constructor(semaphore) {
- this._semaphore = semaphore;
- }
- static get hardLink() {
- return FuraffinityRequests.fullUrl + "/msg/others/";
- }
- static get hardActions() {
- return {
- remove: [ "remove-favorites", "Remove Selected Favorites" ],
- nuke: [ "nuke-favorites", "Nuke Favorites" ]
- };
- }
- removeMessages(submissionIds_1, action_1) {
- return NewFavorites_awaiter(this, arguments, void 0, (function*(submissionIds, action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(removeFavoriteMessagesLocal, [ submissionIds, this._semaphore ], action, delay);
- }));
- }
- nukeMessages(action_1) {
- return NewFavorites_awaiter(this, arguments, void 0, (function*(action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(nukeFavoriteMessagesLocal, [ this._semaphore ], action, delay);
- }));
- }
- }
- function removeFavoriteMessagesLocal(submissionIds, semaphore) {
- return NewFavorites_awaiter(this, void 0, void 0, (function*() {
- if (null == submissionIds || 0 === submissionIds.length) {
- Logger.logError("No submission ids to remove");
- return;
- }
- const payload = [ NewFavorites.hardActions.remove ];
- for (const submissionId of submissionIds) payload.push([ "favorites[]", submissionId.toString() ]);
- return yield FuraffinityRequests.postHTML(NewFavorites.hardLink, payload, semaphore);
- }));
- }
- function nukeFavoriteMessagesLocal(semaphore) {
- return NewFavorites_awaiter(this, void 0, void 0, (function*() {
- const payload = [ NewFavorites.hardActions.nuke ];
- return yield FuraffinityRequests.postHTML(NewFavorites.hardLink, payload, semaphore);
- }));
- }
- var NewJournals_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class NewJournals {
- constructor(semaphore) {
- this._semaphore = semaphore;
- }
- static get hardLink() {
- return FuraffinityRequests.fullUrl + "/msg/others/";
- }
- static get hardActions() {
- return {
- remove: [ "remove-journals", "Remove Selected Journals" ],
- nuke: [ "nuke-journals", "Nuke Journals" ]
- };
- }
- removeMessages(journalIds_1, action_1) {
- return NewJournals_awaiter(this, arguments, void 0, (function*(journalIds, action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(removeJournalMessagesLocal, [ journalIds, this._semaphore ], action, delay);
- }));
- }
- nukeMessages(action_1) {
- return NewJournals_awaiter(this, arguments, void 0, (function*(action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(nukeJournalMessagesLocal, [ this._semaphore ], action, delay);
- }));
- }
- }
- function removeJournalMessagesLocal(journalIds, semaphore) {
- return NewJournals_awaiter(this, void 0, void 0, (function*() {
- if (null == journalIds || 0 === journalIds.length) {
- Logger.logError("No submission ids to remove");
- return;
- }
- const payload = [ NewJournals.hardActions.remove ];
- for (const submissionId of journalIds) payload.push([ "journals[]", submissionId.toString() ]);
- return yield FuraffinityRequests.postHTML(NewJournals.hardLink, payload, semaphore);
- }));
- }
- function nukeJournalMessagesLocal(semaphore) {
- return NewJournals_awaiter(this, void 0, void 0, (function*() {
- const payload = [ NewJournals.hardActions.nuke ];
- return yield FuraffinityRequests.postHTML(NewJournals.hardLink, payload, semaphore);
- }));
- }
- var NewMessages_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class NewMessages {
- constructor(semaphore) {
- this._semaphore = semaphore;
- this.Watches = new NewWatches(this._semaphore);
- this.JournalComments = new NewJournalComments(this._semaphore);
- this.Shouts = new NewShouts(this._semaphore);
- this.Favorites = new NewFavorites(this._semaphore);
- this.Journals = new NewJournals(this._semaphore);
- }
- static get hardLink() {
- return FuraffinityRequests.fullUrl + "/msg/others/";
- }
- static get hardActions() {
- return {
- remove: [ "remove-all", "Remove Selected" ],
- nuke: [ "nuke-all", "Nuke Selected" ]
- };
- }
- getMessagesPage(action_1) {
- return NewMessages_awaiter(this, arguments, void 0, (function*(action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(getMessagesPageLocal, [ this._semaphore ], action, delay);
- }));
- }
- removeMessages(userIds_1, journalCommentIds_1, shoutIds_1, favoriteIds_1, journalIds_1, action_1) {
- return NewMessages_awaiter(this, arguments, void 0, (function*(userIds, journalCommentIds, shoutIds, favoriteIds, journalIds, action, delay = 100) {
- null != userIds || (userIds = []);
- null != journalCommentIds || (journalCommentIds = []);
- null != shoutIds || (shoutIds = []);
- null != favoriteIds || (favoriteIds = []);
- null != journalIds || (journalIds = []);
- return yield WaitAndCallAction.callFunctionAsync(removeMessagesLocal, [ userIds, journalCommentIds, shoutIds, favoriteIds, journalIds, this._semaphore ], action, delay);
- }));
- }
- }
- function getMessagesPageLocal(semaphore) {
- return NewMessages_awaiter(this, void 0, void 0, (function*() {
- return yield FuraffinityRequests.getHTML(NewMessages.hardLink, semaphore);
- }));
- }
- function removeMessagesLocal(userIds, journalCommentIds, shoutIds, favoriteIds, journalIds, semaphore) {
- return NewMessages_awaiter(this, void 0, void 0, (function*() {
- const payload = [ NewMessages.hardActions.remove ];
- if (null != userIds && 0 !== userIds.length) for (const submissionId of userIds) payload.push([ "watches[]", submissionId.toString() ]);
- if (null != journalCommentIds && 0 !== journalCommentIds.length) for (const submissionId of journalCommentIds) payload.push([ "journalcomments[]", submissionId.toString() ]);
- if (null != shoutIds && 0 !== shoutIds.length) for (const submissionId of shoutIds) payload.push([ "shouts[]", submissionId.toString() ]);
- if (null != favoriteIds && 0 !== favoriteIds.length) for (const submissionId of favoriteIds) payload.push([ "favorites[]", submissionId.toString() ]);
- if (null != journalIds && 0 !== journalIds.length) for (const submissionId of journalIds) payload.push([ "journals[]", submissionId.toString() ]);
- if (0 !== payload.length) return yield FuraffinityRequests.postHTML(NewMessages.hardLink, payload, semaphore); else Logger.logError("No messages to remove");
- }));
- }
- class Message {
- constructor(semaphore) {
- this._semaphore = semaphore;
- this.NewSubmissions = new NewSubmissions(this._semaphore);
- this.NewMessages = new NewMessages(this._semaphore);
- }
- static get hardActions() {
- return {
- remove: "remove_checked",
- nuke: "nuke_notifications"
- };
- }
- }
- var AccountInformation_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class AccountInformation {
- constructor(semaphore) {
- this._semaphore = semaphore;
- }
- static get hardLinks() {
- return {
- settings: FuraffinityRequests.fullUrl + "/controls/settings/",
- siteSettings: FuraffinityRequests.fullUrl + "/controls/site-settings/",
- userSettings: FuraffinityRequests.fullUrl + "/controls/user-settings/"
- };
- }
- getSettingsPage(action_1) {
- return AccountInformation_awaiter(this, arguments, void 0, (function*(action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(FuraffinityRequests.getHTML, [ AccountInformation.hardLinks.settings, this._semaphore ], action, delay);
- }));
- }
- getSiteSettingsPage(action_1) {
- return AccountInformation_awaiter(this, arguments, void 0, (function*(action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(FuraffinityRequests.getHTML, [ AccountInformation.hardLinks.siteSettings, this._semaphore ], action, delay);
- }));
- }
- getUserSettingsPage(action_1) {
- return AccountInformation_awaiter(this, arguments, void 0, (function*(action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(FuraffinityRequests.getHTML, [ AccountInformation.hardLinks.userSettings, this._semaphore ], action, delay);
- }));
- }
- }
- var UserProfile_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class UserProfile {
- constructor(semaphore) {
- this._semaphore = semaphore;
- }
- static get hardLinks() {
- return {
- profile: FuraffinityRequests.fullUrl + "/controls/profile/",
- profilebanner: FuraffinityRequests.fullUrl + "/controls/profilebanner/",
- contacts: FuraffinityRequests.fullUrl + "/controls/contacts/",
- avatar: FuraffinityRequests.fullUrl + "/controls/avatar/"
- };
- }
- getProfilePage(action_1) {
- return UserProfile_awaiter(this, arguments, void 0, (function*(action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(FuraffinityRequests.getHTML, [ UserProfile.hardLinks.profile, this._semaphore ], action, delay);
- }));
- }
- getProfilebannerPage(action_1) {
- return UserProfile_awaiter(this, arguments, void 0, (function*(action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(FuraffinityRequests.getHTML, [ UserProfile.hardLinks.profilebanner, this._semaphore ], action, delay);
- }));
- }
- getContactsPage(action_1) {
- return UserProfile_awaiter(this, arguments, void 0, (function*(action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(FuraffinityRequests.getHTML, [ UserProfile.hardLinks.contacts, this._semaphore ], action, delay);
- }));
- }
- getAvatarPage(action_1) {
- return UserProfile_awaiter(this, arguments, void 0, (function*(action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(FuraffinityRequests.getHTML, [ UserProfile.hardLinks.avatar, this._semaphore ], action, delay);
- }));
- }
- }
- var ManageContent_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class ManageContent {
- constructor(semaphore) {
- this._semaphore = semaphore;
- }
- static get hardLinks() {
- return {
- submissions: FuraffinityRequests.fullUrl + "/controls/submissions/",
- folders: FuraffinityRequests.fullUrl + "/controls/folders/submissions/",
- journals: FuraffinityRequests.fullUrl + "/controls/journal/",
- favorites: FuraffinityRequests.fullUrl + "/controls/favorites/",
- buddylist: FuraffinityRequests.fullUrl + "/controls/buddylist/",
- shouts: FuraffinityRequests.fullUrl + "/controls/shouts/",
- badges: FuraffinityRequests.fullUrl + "/controls/badges/"
- };
- }
- getFoldersPages(action_1) {
- return ManageContent_awaiter(this, arguments, void 0, (function*(action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(FuraffinityRequests.getHTML, [ ManageContent.hardLinks.folders, this._semaphore ], action, delay);
- }));
- }
- getAllWatchesPages(action_1) {
- return ManageContent_awaiter(this, arguments, void 0, (function*(action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(getContentAllWatchesPagesLocal, [ this._semaphore ], action, delay);
- }));
- }
- getWatchesPage(pageNumber_1, action_1) {
- return ManageContent_awaiter(this, arguments, void 0, (function*(pageNumber, action, delay = 100) {
- pageNumber = convertToNumber(pageNumber);
- return yield WaitAndCallAction.callFunctionAsync(getWatchesPageLocal, [ pageNumber, this._semaphore ], action, delay);
- }));
- }
- }
- function getContentAllWatchesPagesLocal(semaphore) {
- return ManageContent_awaiter(this, void 0, void 0, (function*() {
- let usersDoc = yield FuraffinityRequests.getHTML(ManageContent.hardLinks.buddylist + "x", semaphore);
- const columnPage = null == usersDoc ? void 0 : usersDoc.getElementById("columnpage"), sectionBody = null == columnPage ? void 0 : columnPage.querySelector('div[class="section-body"'), paginationLinks = null == sectionBody ? void 0 : sectionBody.querySelector('div[class*="pagination-links"]'), pages = null == paginationLinks ? void 0 : paginationLinks.querySelectorAll(":scope > a"), userPageDocs = [];
- if (null != pages) for (let i = 1; i <= pages.length; i++) {
- usersDoc = yield getWatchesPageLocal(i, semaphore);
- if (usersDoc) userPageDocs.push(usersDoc);
- }
- return userPageDocs;
- }));
- }
- function getWatchesPageLocal(pageNumber, semaphore) {
- return ManageContent_awaiter(this, void 0, void 0, (function*() {
- if (null == pageNumber || pageNumber <= 0) {
- Logger.logWarning("No page number given. Using default 1 instead.");
- pageNumber = 1;
- }
- return yield FuraffinityRequests.getHTML(ManageContent.hardLinks.buddylist + pageNumber, semaphore);
- }));
- }
- var Security_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class Security {
- constructor(semaphore) {
- this._semaphore = semaphore;
- }
- static get hardLinks() {
- return {
- sessions: FuraffinityRequests.fullUrl + "/controls/sessions/logins/",
- logs: FuraffinityRequests.fullUrl + "/controls/logs/",
- labels: FuraffinityRequests.fullUrl + "/controls/labels/"
- };
- }
- getSessionsPage(action_1) {
- return Security_awaiter(this, arguments, void 0, (function*(action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(FuraffinityRequests.getHTML, [ Security.hardLinks.sessions, this._semaphore ], action, delay);
- }));
- }
- getLogsPage(action_1) {
- return Security_awaiter(this, arguments, void 0, (function*(action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(FuraffinityRequests.getHTML, [ Security.hardLinks.logs, this._semaphore ], action, delay);
- }));
- }
- getLabelsPage(action_1) {
- return Security_awaiter(this, arguments, void 0, (function*(action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(FuraffinityRequests.getHTML, [ Security.hardLinks.labels, this._semaphore ], action, delay);
- }));
- }
- }
- class PersonalUserRequests {
- constructor(semaphore) {
- this._semaphore = semaphore;
- this.MessageRequests = new Message(this._semaphore);
- this.AccountInformation = new AccountInformation(this._semaphore);
- this.UserProfile = new UserProfile(this._semaphore);
- this.ManageContent = new ManageContent(this._semaphore);
- this.Security = new Security(this._semaphore);
- }
- }
- var SubmissionRequests_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class SubmissionRequests {
- constructor(semaphore) {
- this._semaphore = semaphore;
- }
- static get hardLinks() {
- return {
- view: FuraffinityRequests.fullUrl + "/view/",
- fav: FuraffinityRequests.fullUrl + "/fav/",
- unfav: FuraffinityRequests.fullUrl + "/unfav/",
- journal: FuraffinityRequests.fullUrl + "/journal/"
- };
- }
- getSubmissionPage(submissionId_1, action_1) {
- return SubmissionRequests_awaiter(this, arguments, void 0, (function*(submissionId, action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(getSubmissionPageLocal, [ submissionId, this._semaphore ], action, delay);
- }));
- }
- favSubmission(submissionId_1, favKey_1, action_1) {
- return SubmissionRequests_awaiter(this, arguments, void 0, (function*(submissionId, favKey, action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(favSubmissionLocal, [ submissionId, favKey, this._semaphore ], action, delay);
- }));
- }
- unfavSubmission(submissionId_1, unfavKey_1, action_1) {
- return SubmissionRequests_awaiter(this, arguments, void 0, (function*(submissionId, unfavKey, action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(unfavSubmissionLocal, [ submissionId, unfavKey, this._semaphore ], action, delay);
- }));
- }
- getJournalPage(journalId_1, action_1) {
- return SubmissionRequests_awaiter(this, arguments, void 0, (function*(journalId, action, delay = 100) {
- return yield WaitAndCallAction.callFunctionAsync(getJournalPageLocal, [ journalId, this._semaphore ], action, delay);
- }));
- }
- }
- function getSubmissionPageLocal(submissionId, semaphore) {
- return SubmissionRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == submissionId || "" === submissionId || -1 === submissionId) {
- Logger.logError("No submissionId given");
- return;
- }
- const url = SubmissionRequests.hardLinks.view + submissionId;
- return yield FuraffinityRequests.getHTML(url, semaphore);
- }));
- }
- function favSubmissionLocal(submissionId, favKey, semaphore) {
- return SubmissionRequests_awaiter(this, void 0, void 0, (function*() {
- var _a, _b;
- if (null == submissionId || "" === submissionId || -1 === submissionId) {
- Logger.logError("No submissionId given");
- return;
- }
- if (null == favKey || "" === favKey || -1 === favKey) {
- Logger.logError("No favKey given");
- return;
- }
- const url = SubmissionRequests.hardLinks.fav + submissionId + "?key=" + favKey, resultDoc = yield FuraffinityRequests.getHTML(url, semaphore);
- if (null != resultDoc) try {
- const standardpage = resultDoc.getElementById("standardpage");
- if (standardpage) {
- const blocked = standardpage.querySelector('div[class="redirect-message"]');
- if (null !== (_b = null === (_a = null == blocked ? void 0 : blocked.textContent) || void 0 === _a ? void 0 : _a.includes("blocked")) && void 0 !== _b ? _b : false) return;
- }
- return getFavKeyLocal(resultDoc);
- } catch (_c) {}
- }));
- }
- function unfavSubmissionLocal(submissionId, unfavKey, semaphore) {
- return SubmissionRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == submissionId || "" === submissionId || -1 === submissionId) {
- Logger.logError("No submissionId given");
- return;
- }
- if (null == unfavKey || "" === unfavKey || -1 === unfavKey) {
- Logger.logError("No unfavKey given");
- return;
- }
- const url = SubmissionRequests.hardLinks.unfav + submissionId + "?key=" + unfavKey, resultDoc = yield FuraffinityRequests.getHTML(url, semaphore);
- if (resultDoc) {
- return getFavKeyLocal(resultDoc);
- }
- }));
- }
- function getJournalPageLocal(journalId, semaphore) {
- return SubmissionRequests_awaiter(this, void 0, void 0, (function*() {
- if (null == journalId || "" === journalId || -1 === journalId) {
- Logger.logError("No journalId given");
- return;
- }
- const url = SubmissionRequests.hardLinks.journal + journalId;
- return yield FuraffinityRequests.getHTML(url, semaphore);
- }));
- }
- function getFavKeyLocal(doc) {
- var _a, _b, _c;
- const columnPage = doc.getElementById("columnpage"), navbar = null == columnPage ? void 0 : columnPage.querySelector('div[class*="favorite-nav"'), buttons = null == navbar ? void 0 : navbar.querySelectorAll('a[class*="button"][href]');
- if (!buttons || 0 === buttons.length) return;
- let favButton;
- for (const button of Array.from(buttons)) if (null !== (_b = null === (_a = null == button ? void 0 : button.textContent) || void 0 === _a ? void 0 : _a.toLowerCase().includes("fav")) && void 0 !== _b ? _b : false) favButton = button;
- if (null != favButton) {
- return null === (_c = favButton.getAttribute("href")) || void 0 === _c ? void 0 : _c.split("?key=")[1];
- }
- }
- var FuraffinityRequests_awaiter = function(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))((function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : function adopt(value) {
- return value instanceof P ? value : new P((function(resolve) {
- resolve(value);
- }));
- }(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- }));
- };
- class FuraffinityRequests {
- constructor(maxAmountRequests = 2) {
- this._semaphore = new Semaphore(maxAmountRequests);
- this.UserRequests = new UserRequests(this._semaphore);
- this.PersonalUserRequests = new PersonalUserRequests(this._semaphore);
- this.SubmissionRequests = new SubmissionRequests(this._semaphore);
- }
- set maxAmountRequests(value) {
- if (this._semaphore.maxConcurrency !== value) this._semaphore.maxConcurrency = value;
- }
- get maxAmountRequests() {
- return this._semaphore.maxConcurrency;
- }
- static set useHttps(value) {
- if (FuraffinityRequests._useHttps !== value) {
- FuraffinityRequests._useHttps = value;
- if (value) FuraffinityRequests._httpsString = "https://"; else FuraffinityRequests._httpsString = "http://";
- }
- }
- static get useHttps() {
- return FuraffinityRequests._useHttps;
- }
- static get fullUrl() {
- return FuraffinityRequests._httpsString + FuraffinityRequests._domain;
- }
- static getHTML(url_1, semaphore_1, action_1) {
- return FuraffinityRequests_awaiter(this, arguments, void 0, (function*(url, semaphore, action, delay = 100) {
- if (null != url && "" !== url) return yield WaitAndCallAction.callFunctionAsync(getHTMLLocal, [ url, semaphore ], action, delay); else Logger.logError("No url given");
- }));
- }
- static postHTML(url_1, payload_1, semaphore_1, action_1) {
- return FuraffinityRequests_awaiter(this, arguments, void 0, (function*(url, payload, semaphore, action, delay = 100) {
- if (null != url && "" !== url) return yield WaitAndCallAction.callFunctionAsync(postHTMLLocal, [ url, payload, semaphore ], action, delay); else Logger.logError("No url given");
- }));
- }
- }
- FuraffinityRequests.logLevel = 1;
- FuraffinityRequests.Types = {
- BrowseOptions,
- SearchOptions
- };
- FuraffinityRequests._useHttps = true;
- FuraffinityRequests._httpsString = "https://";
- FuraffinityRequests._domain = "www.furaffinity.net";
- function getHTMLLocal(url, semaphore) {
- return FuraffinityRequests_awaiter(this, void 0, void 0, (function*() {
- Logger.logInfo(`Requesting '${url}'`);
- const semaphoreActive = null != semaphore && semaphore.maxConcurrency > 0;
- if (semaphoreActive) yield semaphore.acquire();
- try {
- const response = yield fetch(url), html = yield response.text(), parser = new DOMParser;
- return parser.parseFromString(html, "text/html");
- } catch (error) {
- Logger.logError(error);
- } finally {
- if (semaphoreActive) semaphore.release();
- }
- }));
- }
- function postHTMLLocal(url, payload, semaphore) {
- return FuraffinityRequests_awaiter(this, void 0, void 0, (function*() {
- const semaphoreActive = null != semaphore && semaphore.maxConcurrency > 0;
- if (semaphoreActive) yield semaphore.acquire();
- try {
- const response = yield fetch(url, {
- method: "POST",
- body: new URLSearchParams(payload).toString(),
- headers: {
- "Content-Type": "application/x-www-form-urlencoded"
- }
- });
- if (!response.ok) {
- Logger.logError(`HTTP error! Status: ${response.status}`);
- return;
- }
- const responseData = yield response.text();
- try {
- const parser = new DOMParser;
- return parser.parseFromString(responseData, "text/html");
- } catch (_a) {
- Logger.logError(`Failed to parse response data as HTML: ${responseData}`);
- }
- } catch (error) {
- Logger.logError(error);
- } finally {
- if (semaphoreActive) semaphore.release();
- }
- }));
- }
- Object.defineProperties(window, {
- FARequestHelper: {
- get: () => FuraffinityRequests
- }
- });
- })();