Lightcord/modules/discord_desktop_core/core/app/BetterDiscord/loaders/modules.js

80 lines
2.2 KiB
JavaScript
Raw Normal View History

2020-05-30 15:12:10 +02:00
let req
setReq()
2020-05-16 23:24:51 +02:00
class Modules {
static get modules(){
2020-05-30 15:12:10 +02:00
if(req){
return Object.values(req.c).filter(e => e && e.exports)
}else{
setReq()
if(req){
return Object.values(req.c).filter(e => e && e.exports)
}else{
return []
}
}
2020-05-16 23:24:51 +02:00
}
static get(ids, modules){
if(typeof ids === "function"){
return (modules || this.modules).map((mdl) => {
if(mdl && typeof mdl.exports !== "undefined"){
return mdl.exports
}else{
return null
}
}).filter(e => e).filter(ids)
}else if(Array.isArray(ids)){
modules = modules || this.modules
return ids.map(id => this.get(id, modules))
}else{
modules = modules || this.modules
let module = modules.find(e => e.i === ids)
if(!module)return undefined
return module.exports
}
}
}
2020-06-14 09:34:48 +02:00
Modules.default = Modules
2020-05-16 23:24:51 +02:00
module.exports = Modules
2020-05-30 15:12:10 +02:00
global.BDModules = Modules
function setReq(){
try{
2020-06-26 21:05:09 +02:00
req = webpackJsonp.push([[], {__extra_id__: (mdl, exports, req) => mdl.exports = req}, [["__extra_id__"]]]);
2020-05-30 15:12:10 +02:00
if(req){
delete req.m.__extra_id__;
2020-06-26 21:05:09 +02:00
delete req.c.__extra_id__;/*
Object.defineProperty(req.c, "0", {
get: () => ({
i: 0,
l: true,
exports: require("react")
}),
configurable: false,
enumerable: true
})
Object.defineProperty(req.c, "856", {
get: () => ({
i: 856,
l: true,
exports: require("react")
}),
configurable: false,
enumerable: true
})
Object.defineProperty(req.c, "71", {
get: () => ({
i: 71,
l: true,
exports: require("react-dom")
}),
configurable: false,
enumerable: true
})*/
2020-05-30 15:12:10 +02:00
}
}catch(e){
req = undefined
}
}