diff --git a/_template_.js b/_template_.js index 0cb54ff..aa7e7bf 100644 --- a/_template_.js +++ b/_template_.js @@ -334,6 +334,18 @@ class NewComicSource extends ComicSource { */ }, + /** + * load search result with next page token. + * The field will be ignored if `load` function is implemented. + * @param keyword {string} + * @param options {(string)[]} - options from optionList + * @param next {string | null} + * @returns {Promise<{comics: Comic[], maxPage: number}>} + */ + loadNext: async (keyword, options, next) => { + + }, + // provide options for search optionList: [ { diff --git a/ehentai.js b/ehentai.js index 2b9215e..4d317a3 100644 --- a/ehentai.js +++ b/ehentai.js @@ -397,13 +397,13 @@ class Ehentai extends ComicSource { /// search related search = { /** - * load search result + * load search result with next page token * @param keyword {string} * @param options {(string)[]} - options from optionList - * @param page {number} + * @param next {string | null} * @returns {Promise<{comics: Comic[], maxPage: number}>} */ - load: async (keyword, options, page) => { + loadNext: async (keyword, options, next) => { let category = JSON.parse(options[0]); let stars = options[1]; let language = options[2]; @@ -421,7 +421,7 @@ class Ehentai extends ComicSource { if(stars) { url += `&f_srdd=${stars}` } - return this.getGalleries(url, false); + return this.getGalleries(next ?? url, false); }, // provide options for search