This repository was archived by the owner on Apr 2, 2024. It is now read-only.
forked from pedroslopez/moduleRaid
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathmoduleraid.js
More file actions
86 lines (73 loc) · 2.1 KB
/
moduleraid.js
File metadata and controls
86 lines (73 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/*
* moduleRaid v6
* https://github.com/wwebjs/moduleRaid
*
* Copyright pixeldesu, pedroslopez, purpshell and other contributors
* Licensed under the MIT License
* https://github.com/wwebjs/moduleRaid/blob/master/LICENSE
*/
const moduleRaid = function () {
moduleRaid.mID = Math.random().toString(36).substring(7);
moduleRaid.mObj = {};
const isComet = parseInt(window.Debug?.VERSION?.split(".")?.[1]) >= 3000;
fillModuleArray = function() {
if (isComet) {
const moduleKeys = Object.keys(require("__debug").modulesMap);
for (const moduleKey of moduleKeys) {
const module = require(moduleKey);
if (module) {
moduleRaid.mObj[moduleKey] = module;
}
};
return;
};
(window.webpackChunkbuild || window.webpackChunkwhatsapp_web_client).push([
[moduleRaid.mID], {}, function(e) {
Object.keys(e.m).forEach(function(mod) {
moduleRaid.mObj[mod] = e(mod);
})
}
]);
}
fillModuleArray();
get = function get (id) {
return moduleRaid.mObj[id]
}
findModule = function findModule (query) {
results = [];
modules = Object.keys(moduleRaid.mObj);
modules.forEach(function(mKey) {
mod = moduleRaid.mObj[mKey];
if (typeof mod !== 'undefined') {
if (typeof query === 'string') {
if (typeof mod.default === 'object') {
for (key in mod.default) {
if (key == query) results.push(mod);
}
}
for (key in mod) {
if (key == query) results.push(mod);
}
} else if (typeof query === 'function') {
if (query(mod)) {
results.push(mod);
}
} else {
throw new TypeError('findModule can only find via string and function, ' + (typeof query) + ' was passed');
}
}
})
return results;
}
return {
modules: moduleRaid.mObj,
constructors: moduleRaid.cArr,
findModule: findModule,
get: get
}
}
if (typeof module === 'object' && module.exports) {
module.exports = moduleRaid;
} else {
window.mR = moduleRaid();
}