This is build 5.1.2 of pixeld###'s moduleraid, patched to target unsafeWindow to work consistently within userscripts
สคริปต์นี้ไม่ควรถูกติดตั้งโดยตรง มันเป็นคลังสำหรับสคริปต์อื่น ๆ เพื่อบรรจุด้วยคำสั่งเมทา // @require https://update.greasyfork.org/scripts/470991/1221077/ModuleRaid%20with%20unsafeWindow.js
// ==UserScript== // @name ModuleRaid with unsafeWindow // @namespace Itsnotlupus Industries // @version 5.1.2 // @description This is build 5.1.2 of pixeld###'s moduleraid, patched to target unsafeWindow to work consistently within userscripts // @author pixeld### // @license MIT // ==/UserScript== // source: https://unpkg.com/[email protected]/dist/moduleraid.umd.js // tweak: s/window/unsafeWindow/g ! function(t, e) { "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : (t || self).moduleraid = e() }(this, function() { function t() { return (t = Object.assign || function(t) { for (var e = 1; e < arguments.length; e++) { var o = arguments[e]; for (var n in o) Object.prototype.hasOwnProperty.call(o, n) && (t[n] = o[n]) } return t }).apply(this, arguments) } return function() { function e(e) { var o, n = this; this.entrypoint = void 0, this.debug = void 0, this.moduleID = Math.random().toString(36).substring(7), this.functionArguments = [ [ [0], [function(t, e, o) { var r = o.c; Object.keys(r).forEach(function(t) { n.modules[t] = r[t].exports }), n.constructors = o.m, n.get = o }] ], [ [1e3], (o = {}, o[this.moduleID] = function(t, e, o) { var r = o.c; Object.keys(r).forEach(function(t) { n.modules[t] = r[t].exports }), n.constructors = o.m, n.get = o }, o), [ [this.moduleID] ] ] ], this.arrayArguments = [this.functionArguments[1], [ [this.moduleID], {}, function(t) { Object.keys(t.m).forEach(function(e) { try { n.modules[e] = t(e) } catch (t) { n.log("[arrayArguments/1] Failed to require(" + e + ") with error:\n" + t + "\n" + t.stack) } }), n.get = t } ] ], this.modules = {}, this.constructors = [], this.get = null; var r = { entrypoint: "webpackJsonp", debug: !1 }; "object" == typeof e ? r = t({}, r, e) : "boolean" == typeof e && (console.warn("[moduleRaid] Using a single boolean argument is deprecated, please use 'new ModuleRaid({ debug: true })'"), r.debug = e), this.entrypoint = r.entrypoint, this.debug = r.debug, this.fillModules(), this.replaceGet() } var o = e.prototype; return o.log = function(t) { this.debug && console.warn("[moduleRaid] " + t) }, o.replaceGet = function() { var t = this; null === this.get && (this.get = function(e) { return t.modules[e] }) }, o.fillModules = function() { var t = this; if ("function" == typeof webpackJsonp ? this.functionArguments.forEach(function(e, o) { try { var n; (n = unsafeWindow)[t.entrypoint].apply(n, e) } catch (e) { t.log("moduleRaid.functionArguments[" + o + "] failed:\n" + e + "\n" + e.stack) } }) : this.arrayArguments.forEach(function(e, o) { try { if (unsafeWindow[t.entrypoint].push(e), t.modules && Object.keys(t.modules).length > 0) return } catch (e) { t.log("Pushing moduleRaid.arrayArguments[" + o + "] into " + t.entrypoint + " failed:\n" + e + "\n" + e.stack) } }), this.modules && 0 == Object.keys(this.modules).length) { var e = !1, o = 0; if (!unsafeWindow[this.entrypoint]([], [], [o])) throw Error("Unknown Webpack structure"); for (; !e;) try { this.modules[o] = unsafeWindow[this.entrypoint]([], [], [o]), o++ } catch (t) { e = !0 } } }, o.findModule = function(t) { var e = this, o = [], n = Object.keys(this.modules); if (0 === n.length) throw new Error("There are no modules to search through!"); return n.forEach(function(n) { var r = e.modules[n]; try { if ("string" == typeof t) switch (t = t.toLowerCase(), typeof r) { case "string": r.includes(t) && o.push(r); break; case "function": r.toString().toLowerCase().includes(t) && o.push(r); break; case "object": if ("object" == typeof r.default) for (n in r.default) n.toLowerCase() === t && o.push(r); for (n in r) n.toLowerCase() === t && o.push(r) } else { if ("function" != typeof t) throw new TypeError("findModule can only find via string and function, " + typeof t + " was passed"); t(r) && o.push(r) } } catch (t) { e.log("There was an error while searching through module '" + n + "':\n" + t + "\n" + t.stack) } }), o }, o.findConstructor = function(t) { var e = this, o = [], n = Object.keys(this.constructors); if (0 === n.length) throw new Error("There are no constructors to search through!"); return n.forEach(function(n) { var r = e.constructors[n]; try { "string" == typeof t ? (t = t.toLowerCase(), r.toString().toLowerCase().includes(t) && o.push([e.constructors[n], e.modules[n]])) : "function" == typeof t && t(r) && o.push([e.constructors[n], e.modules[n]]) } catch (t) { e.log("There was an error while searching through constructor '" + n + "':\n" + t + "\n" + t.stack) } }), o }, e }() });