let getModules; //check for hummus //TODO: nested conditional so we can *maybe* work with RN? //TODO: account for different versions of webpackJsonp, ie ones that aren't a function (if/when hummus-like things come out) if (!window.webpackChunkdiscord_app) { let modules = webpackJsonp( [], [ (mod, _exports, req) => { mod.exports = req; } ] ); getModules = () => modules.c; } else { let modules = {}; window.webpackChunkdiscord_app.push([ [Math.random().toString(36)], {}, (e) => { modules = e; } ]); getModules = () => modules.c; } function filter(filter, moduleList) { let modules = []; for (const mod in moduleList) { const module = moduleList[mod].exports; if (module) { if (module.default && module.__esModule && filter(module.default)) { modules.push(module.default); } else if (filter(module)) { modules.push(module); } } } return modules; } let webpack = { modules: getModules(), getModules, filter: filter, find: (filter) => webpack.filter(filter, webpack.modules)[0], findAll: (filter) => webpack.filter(filter, webpack.modules), findByProps: (...props) => { return webpack.find((module) => { return props.every((prop) => module[prop] !== undefined); }); }, findByPropsAll: (...props) => { return webpack.findAll((module) => props.every((prop) => module[prop] !== undefined) ); }, findByDisplayName: (prop) => { return webpack.find((m) => m?.displayName === prop); }, findByDisplayNameAll: (prop) => { return webpack.findAll((m) => m?.displayName === prop); }, findByStrings: (...props) => { return webpack.find((module) => props.every((prop) => module.toString().contains(prop)) ); }, reloadModules: () => { //NOTE: i have no idea why this could even feasibly need to be used, but i'm adding it anyways webpack.modules = getModules(); } }; export default webpack;