User:Suffusion of Yellow/FilterDebugger.js

// /* jshint esversion: 11, esnext: false */ /******/ ( => { // webpackBootstrap /******/ 	"use strict"; var __webpack_exports__ = {}; /* globals $, mw */

switch (mw.config.get('wgCanonicalSpecialPageName')) { case 'Blankpage': if (mw.config.get('wgPageName').match(/^[^/]+\/filterdebug(?:\/|$)/i)) { let supported = false, error;

try { supported = (new Function("return null?.x ?? (/(?<=\\p{L})a/u).test('ba')")); } catch (e) { error = e;		}

if (!supported) { $('#mw-content-text') .text(`Sorry, but your browser (${navigator.userAgent}) is too old to support FilterDebugger: ${error ? error : "unknown error"}`);

break; }

Promise.all([			 false ?				0 :				mw.loader.getScript("https://en.wikipedia.org/w/index.php?title=User:Suffusion_of_Yellow/fdb-core.js&action=raw&ctype=text/javascript"),			mw.loader.using([ 'mediawiki.util', 'mediawiki.api', 'mediawiki.language.months', 'ext.codeEditor.ace', 'ext.abuseFilter.ace', 'vue', ]),			$.ready		]).then(r => ( false ? 0 : window.FilterDebugger.setup)); }	break; case 'AbuseLog': $(async => {		if ($('[name=wpSearchFilter]').length) {			let params = {				filter: $('[name=wpSearchFilter]').val,				user: $('[name=wpSearchUser]').val,				title: $('[name=wpSearchTitle]').val,				start: $('[name=wpSearchPeriodStart]').val,				end: $('[name=wpSearchPeriodEnd]').val			};			let url = "/wiki/Special:BlankPage/FilterDebug/mode/abuselog";

for (let [key, value] of Object.entries(params)) { if (typeof value == 'string' && value.trim.length) url += `/${key}/${mw.util.wikiUrlencode(value.trim)}`; }

mw.util.addPortletLink('p-cactions', url, "Debug"); }

let localized = "Special:AbuseFilter";

if (mw.config.get('wgContentLanguage') != 'en') { await mw.loader.using(['mediawiki.api']);

let response = await (new mw.Api).get({				action: "query",				titles: localized,				maxage: 86400 // Not likely to change very often			});

localized = mw.util.wikiUrlencode(response.query.normalized[0].to); }

let idRegexp = new RegExp(localized + "\\/examine\\/log\\/(\\d+)$");

for (let link of $('a[href*="' + localized + '/examine/log"]')) { let id = link.href.match(idRegexp); if (id) { $(link).after(" | ", $("", { text: "debug", href: "/wiki/Special:BlankPage/FilterDebug/logid/" + id[1] }));			}		}	});	break; case 'AbuseFilter':	$( => { let id = mw.config.get('wgPageName').match(/\/(\d+)/); if (id) mw.util.addPortletLink(				'p-cactions',				"/wiki/Special:BlankPage/FilterDebug/filter/" + id[1],				"Debug"			);

$(".mw-abusefilter-navigation a").last.after(" | ", $("", { text: "More debugging tools", href: "/wiki/Special:BlankPage/FilterDebug" }));	});	break; }

/******/ })