MCPcopy Index your code
hub / github.com/hoothin/UserScripts / getLinkByPage

Method getLinkByPage

Pagetual/pagetual.user.js:6651–6676  ·  view source on GitHub ↗
(url, pageNum)

Source from the content-addressed store, hash-verified

6649 }
6650
6651 getLinkByPage(url, pageNum) {
6652 if (!url) return null;
6653 if (this.curSiteRule.pageNum) {
6654 let result = this.curSiteRule.pageNum;
6655 let strMatch = result.match(/\{.*?}/);
6656 if (!strMatch) return null;
6657 let urlReg = new RegExp("(" + result.replace(strMatch[0], ")\\d+(") + ")", "i");
6658 let code = strMatch[0].replace(/^{/, "").replace(/}$/, "").replace(/\$p/g, pageNum);
6659 if (code === pageNum) {
6660 result = url.replace(urlReg, "$1" + code + "$2");
6661 } else {
6662 try {
6663 code = Function('"use strict";return ' + code)();
6664 if (code && code % 1 == 0) {
6665 result = url.replace(urlReg, "$1" + code + "$2");
6666 } else return null;
6667 } catch(e) {
6668 debug(e);
6669 }
6670 }
6671 if (result != url) {
6672 return result;
6673 }
6674 }
6675 return url.replace(/([&\/\?](p=|page[=\/_-]?))\d+/i, "$1" + pageNum).replace(/([_-])\d+\./i, "$1" + pageNum + ".");
6676 }
6677
6678 getPageNumFromUrl(url, defaultPage) {
6679 if (!url) return defaultPage;

Callers 1

createPageBarFunction · 0.80

Calls 1

debugFunction · 0.85

Tested by

no test coverage detected