eslint with stricter rules for better code consistency (#2525)

* added stricter eslint rules

* auto format code based on eslint

* apply lint auto format to new files from master merge

* auto-fixed lint errors
This commit is contained in:
ronny1982 2020-11-03 12:03:10 +01:00 committed by GitHub
parent 38c86c2ed1
commit 29b0a749bd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
43 changed files with 91 additions and 93 deletions

View File

@ -27,7 +27,12 @@
},
"rules": {
"semi": ["error", "always"],
"semi-spacing": "error",
"comma-spacing": "error",
"brace-style": "error",
"no-extra-parens": "error",
"space-before-blocks": "error",
//"object-curly-spacing": "error",
"indent": ["error", 4, { "SwitchCase": 1 }],
"no-trailing-spaces": "error",
"no-multiple-empty-lines": ["error", {"max": 1, "maxBOF": 0, "maxEOF": 0}],

View File

@ -44,17 +44,17 @@ export default class Asgard1team extends Connector {
let data = await this.fetchDOM(request, 'tbody > tr');
return data.map(element => {
let num = element.querySelector('td[scope="row"]').textContent.trim();
let re = new RegExp(manga.title,'i');
let re = new RegExp(manga.title, 'i');
return {
id: this.getRootRelativeOrAbsoluteLink(element.querySelector('a'), this.url),
title: `${num} ${element.querySelector('a').text.replace(re,'').replace(num,'').trim()}`
title: `${num} ${element.querySelector('a').text.replace(re, '').replace(num, '').trim()}`
};
});
}
async _getPages(chapter) {
let request = new Request(new URL(chapter.id, this.url), this.requestOptions);
let data = await this.fetchDOM(request,'div.container source');
return data.map(element => this.getAbsolutePath(element,this.url));
let data = await this.fetchDOM(request, 'div.container source');
return data.map(element => this.getAbsolutePath(element, this.url));
}
}

View File

@ -20,7 +20,7 @@ export default class Bx117 extends Connector {
async _getChapters(manga) {
const request = new Request(this.url + manga.id, this.requestOptions);
const data = await this.fetchDOM(request, 'a.d-nowrap',3);
const data = await this.fetchDOM(request, 'a.d-nowrap', 3);
return data.map(element => {
return {
id: this.getRootRelativeOrAbsoluteLink(element, this.url),
@ -41,16 +41,16 @@ export default class Bx117 extends Connector {
async _getMangas() {
let mangaList = [];
for(let i = 1; i <= 2 ; i++) {
for(let i = 1; i <= 2; i++) {
for(let page = 1, run = true; run; page++) {
let mangas = await this._getMangasFromPage(page,i);
let mangas = await this._getMangasFromPage(page, i);
mangas.length > 0 ? mangaList.push(...mangas) : run = false;
}
}
return mangaList;
}
async _getMangasFromPage(page,serial) {
async _getMangasFromPage(page, serial) {
const request = new Request('http://m.bx117.com/statics/qingtiancms.ashx', {
method: 'POST',
body: new URLSearchParams({
@ -68,7 +68,7 @@ export default class Bx117 extends Connector {
'X-Requested-With': 'XMLHttpRequest',
}
});
const data = await this.fetchDOM(request, 'li' ,3);
const data = await this.fetchDOM(request, 'li', 3);
return data.map(element => {
return {
id: this.getRootRelativeOrAbsoluteLink(element.querySelector('a'), this.url),

View File

@ -56,14 +56,14 @@ export default class ComicFire extends SpeedBinb {
title: chapter.title,
language: chapter.language
};
if(chapter.id.includes("SWF")){ //legacy format; older chapters may use this
ch.id = "http://tachiyomi.yomeru-hj.net/comic/" + ch.id.substr(17).replace("_SWF_Window.html","");
if(chapter.id.includes("SWF")) { //legacy format; older chapters may use this
ch.id = "http://tachiyomi.yomeru-hj.net/comic/" + ch.id.substr(17).replace("_SWF_Window.html", "");
let request = new Request(ch.id + 'books/db/book.xml', this.requestOptions);
this.fetchDOM(request, 'total:first-of-type')
.then((element) => {
let total = parseInt(element[0].textContent);
let pageList = [];
for(let i = 1; i <= total; i++){
for(let i = 1; i <= total; i++) {
pageList.push(ch.id + "books/images/3.5/" + i + ".jpg");
}
callback(undefined, pageList);

View File

@ -9,7 +9,7 @@ export default class ComicZenon extends CoreView {
this.tags = [ 'manga', 'japanese' ];
this.url = 'https://comic-zenon.com';
this.path = [ '/series/zenon', '/series/zenyon', '/series/tatan' ,'/series/oneshot' ];
this.path = [ '/series/zenon', '/series/zenyon', '/series/tatan', '/series/oneshot' ];
this.queryManga = 'div.serial-contents section div.series-item h4 > a';
this.queryMangaTitle = undefined;

View File

@ -18,7 +18,7 @@ export default class CrunchyManga extends Crunchyroll {
return data.map(manga => {
return {
id: manga.series_id,
title: manga.locale && manga.locale.enUS ? manga.locale.enUS.name : manga.url.replace(/^\// , '')
title: manga.locale && manga.locale.enUS ? manga.locale.enUS.name : manga.url.replace(/^\//, '')
};
});
}

View File

@ -83,7 +83,7 @@ export default class DigitalTeam extends Connector {
return response.json();
} )
.then( data => {
data = typeof data === 'string' ? JSON.parse( data ) : data ;
data = typeof data === 'string' ? JSON.parse( data ) : data;
let pageList = data[0].map( ( file, index ) => {
if( external ) {
return data[1][index] + file.name + file.ex;

View File

@ -67,7 +67,7 @@ export default class DynastyScans extends Connector {
// do not change the command order!
let duplicateCount = titleStack.filter( t => t === chapter.title ).length;
titleStack.push( chapter.title );
chapter.title += duplicateCount > 0 ? ' #' + duplicateCount : '' ;
chapter.title += duplicateCount > 0 ? ' #' + duplicateCount : '';
}
callback( null, chapterList );
} catch(error) {

View File

@ -64,8 +64,8 @@ export default class GManga extends Connector {
data = data['isCompact'] ? this._unpack(data) : data;
return data.releases.map(chapter => {
let title = 'Vol.' + chapter.volume + ' Ch.' + chapter.chapter;
title += chapter.title ? ' - ' + chapter.title : '' ;
title += chapter.team_name ? ' [' + chapter.team_name + ']' : '' ;
title += chapter.title ? ' - ' + chapter.title : '';
title += chapter.team_name ? ' [' + chapter.team_name + ']' : '';
return {
id: manga.id + '/chapter/' + chapter.chapter + '/' + chapter.team_name,
title: title,

View File

@ -36,7 +36,7 @@ export default class MangaAy extends Connector {
return data.map(element => {
return {
id: this.getRootRelativeOrAbsoluteLink(element, request.url),
title: element.text.replace(manga.title,'').trim(),
title: element.text.replace(manga.title, '').trim(),
};
});
}

View File

@ -38,7 +38,7 @@ export default class MangaCruzers extends Connector {
let seasons = page.match(/season-(\d+)$/);
if(seasons) {
let count = parseInt(seasons[1]);
seasons = [...new Array(count).keys()].map(p => page.replace(/season-(\d+)$/ ,`season-${p+1}`));
seasons = [...new Array(count).keys()].map(p => page.replace(/season-(\d+)$/, `season-${p+1}`));
return [ ...accumulator, ...seasons.reverse() ];
} else {
return [ ...accumulator, page ];

View File

@ -17,7 +17,7 @@ export default class MangaIndoWeb extends Connector {
this.querMangaTitleFromURI = 'div#main article div.title h2';
}
async _getMangas(){
async _getMangas() {
const uri = new URL(this.path, this.url);
const request = new Request(uri, this.requestOptions);
let data = await this.fetchDOM(request, this.queryMangas);
@ -30,7 +30,7 @@ export default class MangaIndoWeb extends Connector {
});
}
async _getChapters(manga){
async _getChapters(manga) {
const uri = new URL(manga.id, this.url);
const request = new Request( uri, this.requestOptions );
let data = await this.fetchDOM(request, this.queryChapters);
@ -43,7 +43,7 @@ export default class MangaIndoWeb extends Connector {
});
}
async _getPages(chapter){
async _getPages(chapter) {
const uri = new URL(chapter.id, this.url);
const request = new Request(uri, this.requestOptions);
let data = await this.fetchDOM(request, this.queryPages);
@ -51,7 +51,7 @@ export default class MangaIndoWeb extends Connector {
return data.map(element => this.getAbsolutePath( element, request.url ));
}
async _getMangaFromURI(uri){
async _getMangaFromURI(uri) {
const request = new Request(new URL(uri), this.requestOptions);
const data = await this.fetchDOM(request, this.querMangaTitleFromURI);
const title = data[0].textContent.trim();

View File

@ -7,7 +7,7 @@ export default class MangaJar extends Connector {
super();
super.id = 'mangajar';
super.label = 'MangaJar';
this.tags = [ 'manga', 'english', 'scanlation' , 'webtoon' ];
this.tags = [ 'manga', 'english', 'scanlation', 'webtoon' ];
this.url = 'https://mangajar.com';
}

View File

@ -13,7 +13,7 @@ export default class MangaLink extends Connector {
async _getMangas() {
let mangaList = [];
let request = new Request(new URL('/mangas',this.url), this.requestOptions);
let request = new Request(new URL('/mangas', this.url), this.requestOptions);
let data = await this.fetchDOM(request, 'li:last-of-type > a');
let pageCount = parseInt(data[0].href.match(/(\d*)$/)[1]);
for(let page = 1; page <= pageCount; page++) {
@ -24,7 +24,7 @@ export default class MangaLink extends Connector {
}
async _getMangasFromPage(page) {
let request = new Request(new URL(`/mangas?page=${page}`,this.url), this.requestOptions);
let request = new Request(new URL(`/mangas?page=${page}`, this.url), this.requestOptions);
let data = await this.fetchDOM(request, 'div.d-flex > div > a');
return data.map(element => {
return {
@ -55,8 +55,8 @@ export default class MangaLink extends Connector {
async _getPages(chapter) {
let request = new Request(new URL(chapter.id, this.url), this.requestOptions);
let data = await this.fetchDOM(request,'#images source');
return data.map(element => this.getAbsolutePath(element.dataset.src,this.url));
let data = await this.fetchDOM(request, '#images source');
return data.map(element => this.getAbsolutePath(element.dataset.src, this.url));
}
}

View File

@ -26,7 +26,7 @@ export default class MangaRaw extends Connector {
async _getMangasFromPage(page) {
let request = new Request(`${this.url}/browse/?results=${page}`, this.requestOptions);
let data = await this.fetchDOM(request, '.novel-item a',3);
let data = await this.fetchDOM(request, '.novel-item a', 3);
return data.map(element => {
return {
id: this.getRootRelativeOrAbsoluteLink(element, this.url),

View File

@ -34,7 +34,7 @@ export default class MangaShip extends Connector {
async _getChapters(manga) {
let uri = new URL(manga.id, this.url);
let request = new Request(uri , this.requestOptions);
let request = new Request(uri, this.requestOptions);
let data = await this.fetchDOM(request, 'div.plylist-single-content > a:first-of-type');
return data.map(element => {
return {

View File

@ -54,7 +54,7 @@ export default class MangaTube extends Connector {
.then( data => {
let mangaList = data.success.map( entry => {
return {
id: entry.manga_slug,//entry.manga_id,
id: entry.manga_slug, //entry.manga_id,
title: entry.manga_title
};
} );
@ -86,9 +86,9 @@ export default class MangaTube extends Connector {
let volume = card.querySelector( 'a.btn' ).text.trim();
let chapters = [...card.querySelectorAll( 'ul.chapter-list li > a:nth-of-type(2)' )].map( element => {
let number = element.querySelector( 'b' );
number = number ? number.textContent.trim() : '' ;
number = number ? number.textContent.trim() : '';
let description = element.querySelector( 'span.chapter-name' );
description = description ? description.textContent.trim() : '' ;
description = description ? description.textContent.trim() : '';
let title = volume;
title += ( title && number ? ' ' : '' ) + number;
title += ( title && description ? ' - ' : '' ) + description;

View File

@ -6,7 +6,7 @@ export default class MartialScans extends WordPressMadara {
super();
super.id = 'martialscans';
super.label = 'Martial Scans';
this.tags = [ 'manga', 'webtoon' ,'english' ];
this.tags = [ 'manga', 'webtoon', 'english' ];
this.url = 'https://martialscans.com';
this.queryMangas = 'div.post-title h3 a:not([target]), div.post-title h5 a:not([target])';

View File

@ -39,7 +39,7 @@ export default class Novelgo extends Connector {
return mangaList;
}
async _getChaptersFromJSON(page, id){
async _getChaptersFromJSON(page, id) {
const uri = new URL('/wp-json/noveils/v1/chapters', this.url);
uri.searchParams.set('paged', page);
uri.searchParams.set('perpage', 250);
@ -57,7 +57,7 @@ export default class Novelgo extends Connector {
async _getChapters(manga) {
const mangaId = manga.id.slice(7, -1);
let chapterList = [];
for (let page = 1, run = true; run; page++){
for (let page = 1, run = true; run; page++) {
let chapters = await this._getChaptersFromJSON(page, mangaId);
chapters.length > 0 ? chapterList.push(...chapters) : run = false;
}

View File

@ -49,12 +49,9 @@ export default class Ohtabooks extends SpeedBinb {
partId = partId.match(/\d+/);
let title = element.querySelector( '.title' );
if( title )
{
if( title ) {
title = title.textContent;
}
else if( element.classList.contains( 'btnMini' ) )
{
} else if( element.classList.contains( 'btnMini' ) ) {
title = element.textContent;
}

View File

@ -44,7 +44,7 @@ export default class Qimiaomh extends Connector {
let mangaList = [];
for(let page = 1, run = true; run; page++) {
let result = await this._getMangasFromPage(page);
!result.check ? mangaList.push(...result.data) : run = false ;
!result.check ? mangaList.push(...result.data) : run = false;
}
return mangaList;
}

View File

@ -35,7 +35,7 @@ export default class Sa3i9a extends Connector {
return data.map(element => {
return {
id: this.getRootRelativeOrAbsoluteLink(element, this.url),
title: element.text.replace('مانجا','').trim()
title: element.text.replace('مانجا', '').trim()
};
});
}
@ -46,16 +46,18 @@ export default class Sa3i9a extends Connector {
const request = new Request(new URL(manga.id, this.url), this.requestOptions);
const data = await this.fetchDOM(request, '#post-nav > div > a:last-child');
for(let page = 1, run = true; run; page++) {
if (data.length == 0){
if (data.length == 0) {
req = manga.id;
run = false;
} else {req = data[0].href.replace(/page\/(\d+)/,`page/${page}`);}
} else {
req = data[0].href.replace(/page\/(\d+)/, `page/${page}`);
}
let chapters = await this._getChaptersFromPage(req);
chapters.length > 0 ? chaptersList.push(...chapters) : run = false;
}
return chaptersList;
}
async _getChaptersFromPage(req){
async _getChaptersFromPage(req) {
const data = await this.fetchDOM(new Request(new URL(req, this.url), this.requestOptions), 'div.ft-ctbox h2 > a');
return data.map(element => {
return {

View File

@ -25,7 +25,7 @@ export default class ScantradUnion extends Connector {
mangas.push( ...data.map(element => {
return {
id: this.getRootRelativeOrAbsoluteLink(element.href, this.url),
title: element.text.trim().replace(/^(\[Partenaire\])/,"")
title: element.text.trim().replace(/^(\[Partenaire\])/, "")
};
}));
}
@ -68,6 +68,6 @@ export default class ScantradUnion extends Connector {
async _getMangaFromURI(uri) {
let request = new Request(new URL(uri.href), this.requestOptions);
let data = await this.fetchDOM(request, 'div.projet-description > h2');
return new Manga(this, uri.pathname, data[0].textContent.trim().replace(/^(\[Partenaire\])/,""));
return new Manga(this, uri.pathname, data[0].textContent.trim().replace(/^(\[Partenaire\])/, ""));
}
}

View File

@ -14,7 +14,7 @@ export default class Sukima extends Connector {
}
async _getMangas() {
let categorys = await this._fetchPOST('/api/book/v1/free/','{"store":false,"genre":"0"}');
let categorys = await this._fetchPOST('/api/book/v1/free/', '{"store":false,"genre":"0"}');
let uri;
let pages;
@ -52,7 +52,7 @@ export default class Sukima extends Connector {
}
async _getChapters(manga) {
let books = await this._fetchPOST('/api/book/v1/title/'+manga.id+'/','{}');
let books = await this._fetchPOST('/api/book/v1/title/'+manga.id+'/', '{}');
let chapters = [];
for (const book of books.contents) {
@ -145,7 +145,7 @@ export default class Sukima extends Connector {
async _getMangaFromURI(uri) {
let id = uri.pathname.match(/\/(\w+)\/?$/)[1];
let data = await this._fetchPOST('/api/book/v1/title/'+id+'/','{}');
let data = await this._fetchPOST('/api/book/v1/title/'+id+'/', '{}');
return new Manga(this, id, data.title);
}

View File

@ -26,8 +26,7 @@ export default class Tapread extends Connector {
async _getMangaList(callback) {
try {
let mangaList = [];
for(let page = 1; page < 99; page++)
{
for(let page = 1; page < 99; page++) {
let request = new Request(this.url + '/comic/moredetail?pageNo=' + page, this.requestOptions);
let data = await this.fetchJSON(request);
if(!data.result) {

View File

@ -6,7 +6,7 @@ export default class TurkceManga extends WordPressMadara {
super();
super.id = 'turkcemanga';
super.label = 'Turkce Manga';
this.tags = [ 'manga', 'webtoon' ,'turkish' ];
this.tags = [ 'manga', 'webtoon', 'turkish' ];
this.url = 'https://www.turkcemanga.com';
this.requestOptions.headers.set('x-referer', this.url);

View File

@ -81,7 +81,7 @@ export default class UnionMangas extends Connector {
return uri.href;
} );
pageList = pageList.filter( page => {
return page.indexOf( 'banner' ) < 0 ;
return page.indexOf( 'banner' ) < 0;
} );
callback( null, pageList );
} )

View File

@ -77,7 +77,7 @@ export default class UraSunday extends Connector {
}
try {
images = await this._extractWebarenaNew(data, request.url);
} catch(error){
} catch(error) {
//
}
try {

View File

@ -6,7 +6,7 @@ export default class VerComicsPorno extends Connector {
super();
super.id = 'vercomicsporno';
super.label = 'VerComicsPorno';
this.tags = ['porn' ,'spanish'];
this.tags = ['porn', 'spanish'];
this.url = 'https://vercomicsporno.com';
this.path = '/page/';
@ -22,14 +22,14 @@ export default class VerComicsPorno extends Connector {
this.cfMailDecrypt(element);
return {
id: this.getRootRelativeOrAbsoluteLink(element, request.url),
title: element.href.split('/')[3].replace(/(-)/g,' ')
title: element.href.split('/')[3].replace(/(-)/g, ' ')
};
});
}
async _getMangas() {
let mangaList = [];
let request = new Request(this.url + this.path + '1' , this.requestOptions);
let request = new Request(this.url + this.path + '1', this.requestOptions);
let data = await this.fetchDOM(request, this.pager);
let pageCount = parseInt(data[0].href.match(/\d+$/));
for(let page = 1; page <= pageCount; page++) {

View File

@ -8,7 +8,7 @@ export default class Webmangatr extends Connector {
super();
super.id = 'webmangatr';
super.label = 'WEBMANGATR';
this.tags = ['turkish' ,'webtoon','hentai'];
this.tags = ['turkish', 'webtoon', 'hentai'];
this.url = 'https://webmangatr.com';
}

View File

@ -5,7 +5,7 @@ export default class jpm1234 extends SinMH {
super();
super.id = 'jpm1234';
super.label = 'jpm1234';
this.tags = [ 'manga','webtoon','chinese' ];
this.tags = [ 'manga', 'webtoon', 'chinese' ];
this.url = 'http://jpm1234.com';
this.requestOptions.headers.set('x-referer', this.url);

View File

@ -24,7 +24,7 @@ export default class RawMangatop extends Connector {
async _getMangas() {
let mangaList = [];
let request = new Request(this.url + '/directory', this.requestOptions);
let data = await this.fetchDOM(request, 'div.content ul.pagination li:nth-last-of-type(2) a.page-link' , 3);
let data = await this.fetchDOM(request, 'div.content ul.pagination li:nth-last-of-type(2) a.page-link', 3);
let pageCount = parseInt(data[0].textContent);
for(let page = 1; page <= pageCount; page++) {
let mangas = await this._getMangasFromPage(page);
@ -35,7 +35,7 @@ export default class RawMangatop extends Connector {
async _getMangasFromPage(page) {
let request = new Request(this.url + '/directory?page=' + page, this.requestOptions);
let data = await this.fetchDOM(request, 'div.content ul.directory li.series div.details p.title a' , 3);
let data = await this.fetchDOM(request, 'div.content ul.directory li.series div.details p.title a', 3);
return data.map(element => {
return {
id: this.getRootRelativeOrAbsoluteLink(element, request.url),
@ -46,7 +46,7 @@ export default class RawMangatop extends Connector {
async _getChapters(manga) {
let request = new Request(this.url + manga.id, this.requestOptions);
let data = await this.fetchDOM(request, 'div.tab-pane ul.list-group li.list-group-item a' , 3);
let data = await this.fetchDOM(request, 'div.tab-pane ul.list-group li.list-group-item a', 3);
return data.map(element => {
return {
id: this.getRootRelativeOrAbsoluteLink(element, request.url),
@ -58,7 +58,7 @@ export default class RawMangatop extends Connector {
async _getPages(chapter) {
let request = new Request(this.url + chapter.id, this.requestOptions);
let data = (await this.fetchDOM(request, 'select.custom-select option:last-of-type' , 3))[1];
let data = (await this.fetchDOM(request, 'select.custom-select option:last-of-type', 3))[1];
return new Array(Number(data.value)).fill().map((_, page) => `${this.url}/viewer${chapter.id}/${page + 1}`);
}

View File

@ -6,7 +6,7 @@ export default class wuqimh extends SinMH {
super();
super.id = 'wuqimh';
super.label = 'wuqimh';
this.tags = [ 'manga','hentai','chinese' ];
this.tags = [ 'manga', 'hentai', 'chinese' ];
this.url = 'http://www.wuqimh.com';
this.requestOptions.headers.set('x-referer', this.url);

View File

@ -147,7 +147,7 @@ export default class BookmarkImporter {
*/
_mapFMDConnectorID( connectorFMD ) {
let connectorID = this._connectorMap[connectorFMD];
return connectorID ? connectorID : connectorFMD ;
return connectorID ? connectorID : connectorFMD;
}
/**
@ -155,6 +155,6 @@ export default class BookmarkImporter {
*/
_mapFMDMangaID( connectorID, mangaFMD ) {
let mangaConvert = this._mangaMap[connectorID];
return mangaConvert ? mangaConvert( mangaFMD ) : mangaFMD ;
return mangaConvert ? mangaConvert( mangaFMD ) : mangaFMD;
}
}

View File

@ -176,7 +176,7 @@ export default class BookmarkManager extends EventTarget {
return false;
}
let index = this.bookmarks.findIndex( ( bookmark ) => {
return bookmark.key.manga === manga.id && bookmark.key.connector === manga.connector.id ;
return bookmark.key.manga === manga.id && bookmark.key.connector === manga.connector.id;
});
if( index < 0 ) {
let bookmark = new Bookmark( manga );
@ -194,7 +194,7 @@ export default class BookmarkManager extends EventTarget {
*/
deleteBookmark( bookmark ) {
let index = this.bookmarks.findIndex( ( b ) => {
return b.key.manga === bookmark.key.manga && b.key.connector === bookmark.key.connector ;
return b.key.manga === bookmark.key.manga && b.key.connector === bookmark.key.connector;
});
if( index > -1 ) {
this.bookmarks.splice( index, 1 );
@ -209,6 +209,6 @@ export default class BookmarkManager extends EventTarget {
* Helper function for sorting
*/
compareBookmarks( a, b ) {
return a.title.manga.toLowerCase() < b.title.manga.toLowerCase() ? -1 : 1 ;
return a.title.manga.toLowerCase() < b.title.manga.toLowerCase() ? -1 : 1;
}
}

View File

@ -20,7 +20,7 @@ export default class Chapter extends EventTarget {
this.manga = manga;
this.id = id;
this.title = title;
this.file = status === statusDefinitions.offline ? this._getRawFileName( title ) : this._getSanatizedFileName( title ) ;
this.file = status === statusDefinitions.offline ? this._getRawFileName( title ) : this._getSanatizedFileName( title );
this.language = language;
this.status = status;
this.pageProcess = false;

View File

@ -57,7 +57,7 @@ export default class ChaptermarkManager extends EventTarget {
_getChapterIdentifier( chapter ) {
// some chapters are using objects as ID, these will provide a hash as identifier
return chapter.id.hash || chapter.id ;
return chapter.id.hash || chapter.id;
}
isChapterMarked( chapter, mark ) {
@ -104,7 +104,7 @@ export default class ChaptermarkManager extends EventTarget {
let chaptermark = undefined;
if( manga ) {
chaptermark = this.chaptermarks.find( mark => {
return mark.mangaID === manga.id && mark.connectorID === manga.connector.id ;
return mark.mangaID === manga.id && mark.connectorID === manga.connector.id;
} );
// backward compatibility (old chaptermarks don't have a title)
if( chaptermark ) {

View File

@ -114,7 +114,7 @@ export default class Connector {
} );
// sort by title
mangas.sort( ( a, b ) => {
return a.title.toLowerCase() < b.title.toLowerCase() ? -1 : 1 ;
return a.title.toLowerCase() < b.title.toLowerCase() ? -1 : 1;
} );
this.mangaCache = undefined;
@ -153,7 +153,7 @@ export default class Connector {
.then( existingMangaTitles => {
this.existingManga = existingMangaTitles;
// check if manga list is cached
return this.mangaCache && this.mangaCache.length ? this._getUpdatedMangasFromCache() : this._getUpdatedMangasFromFile() ;
return this.mangaCache && this.mangaCache.length ? this._getUpdatedMangasFromCache() : this._getUpdatedMangasFromFile();
} )
.then( mangas => {
callback( null, mangas );
@ -408,8 +408,8 @@ export default class Connector {
* => do not forget to remove this prefix from the links!
*/
createDOM( content, replaceImageTags, clearIframettributes ) {
replaceImageTags = replaceImageTags !== undefined ? replaceImageTags : true ;
clearIframettributes = clearIframettributes !== undefined ? clearIframettributes : true ;
replaceImageTags = replaceImageTags !== undefined ? replaceImageTags : true;
clearIframettributes = clearIframettributes !== undefined ? clearIframettributes : true;
if( replaceImageTags ) {
content = content.replace( /<img/g, '<source');
content = content.replace( /<\/img/g, '</source');

View File

@ -27,7 +27,7 @@ export default class DownloadJob extends EventTarget {
this.requestOptions = chapter.manga.connector.requestOptions || {};
// TODO: initialize requestOptions.headers = new Headers() if not set
this.chunkSize = 8388608; // 8 MB
this.throttle = chapter.manga.connector.config && chapter.manga.connector.config['throttle'] ? chapter.manga.connector.config['throttle'].value : 50 ;
this.throttle = chapter.manga.connector.config && chapter.manga.connector.config['throttle'] ? chapter.manga.connector.config['throttle'].value : 50;
this.status = undefined;
this.progress = 0;
this.errors = [];

View File

@ -76,7 +76,7 @@ export default class Manga extends EventTarget {
return fileName === chapter.file.full
|| fileName === chapter.file.name + extensions.mp4
|| fileName === chapter.file.name + extensions.mkv
|| fileName === chapter.file.name + extensions.m3u8 ;
|| fileName === chapter.file.name + extensions.m3u8;
} );
}
@ -173,7 +173,7 @@ export default class Manga extends EventTarget {
// extract volume number
let volume = name.match( reVol );
if( volume && volume.length > 1 ) {
volume = volume[1] ? volume[1] : '' ;
volume = volume[1] ? volume[1] : '';
} else {
volume = '';
}
@ -183,7 +183,7 @@ export default class Manga extends EventTarget {
// extract chapter number
let chapter = name.match( reCh );
if( chapter && chapter.length > 1 ) {
chapter = chapter[1] ? chapter[1] : '' ;
chapter = chapter[1] ? chapter[1] : '';
} else {
chapter = '';
}
@ -206,7 +206,7 @@ export default class Manga extends EventTarget {
*/
_padNumberPrefixWithZeros( text, digits ) {
let prefix = text.toString().match( /^\d+/ );
let count = prefix && prefix.length > 0 ? prefix[0].length : 0 ;
let count = prefix && prefix.length > 0 ? prefix[0].length : 0;
count = Math.min( digits, count );
return '0'.repeat( digits - count ) + text;
}

View File

@ -417,12 +417,9 @@ export default class Request {
* NEVER overwrite the referer for cloudflare's DDoS protection to prevent infinite redirects!
*/
if( !uri.pathname.includes( 'chk_jschl' ) ) {
// Priority 1: Force referer for certain hosts
if( uri.hostname.includes( '.mcloud.to' ) ) {
details.requestHeaders['Referer'] = uri.href;
}
// Priority 2: Use referer provided by connector
else if( details.requestHeaders['x-referer'] ) {
} else if( details.requestHeaders['x-referer'] ) {
details.requestHeaders['Referer'] = details.requestHeaders['x-referer'];
}
}

View File

@ -292,8 +292,7 @@ export default class Settings extends EventTarget {
&& data[key] !== undefined
&& this[key]
&& this[key].input
&& this[key].input !== types.disabled)
{
&& this[key].input !== types.disabled) {
this[key].value = this._getDecryptedValue(this[key].input, data[key]);
this[key].value = this._getValidValue('General', this[key]);
}
@ -306,8 +305,7 @@ export default class Settings extends EventTarget {
&& data.connectors[connector.id]
&& data.connectors[connector.id][key] !== undefined
&& connector.config[key]
&& connector.config[key].input)
{
&& connector.config[key].input) {
connector.config[key].value = this._getDecryptedValue(connector.config[key].input, data.connectors[connector.id][key]);
connector.config[key].value = this._getValidValue(connector.label, connector.config[key], true);
}

View File

@ -19,7 +19,7 @@ export default class UserAgent {
let $ = UserAgent;
let sep = ['_', '.'];
let major = ['10'];
let minor = ['8','9', '10', '11', '12', '13'];
let minor = ['8', '9', '10', '11', '12', '13'];
let patch = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'];
let version = [ $._rd( major ), $._rd( minor ), $._rd( patch ) ].join( $._rd( sep ) );
return 'Macintosh; Intel Mac OS X ' + version;