-
Notifications
You must be signed in to change notification settings - Fork 202
Expand file tree
/
Copy pathModuleScanner.lua
More file actions
34 lines (28 loc) · 825 Bytes
/
Copy pathModuleScanner.lua
File metadata and controls
34 lines (28 loc) · 825 Bytes
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
local ModuleScanner = {}
local ModuleScript = import("objects/ModuleScript")
local getMenv = getmenv or getsenv
local getProtos = getprotos
local getConstants = getconstants
local getScriptClosure = getscriptclosure
local getLoadedModules = getloadedmodules
local pairs = pairs
local requiredMethods = {
["getMenv"] = true,
["getProtos"] = true,
["getConstants"] = true,
["getScriptClosure"] = true,
["getLoadedModules"] = true
}
local function scan(query)
local modules = {}
query = query or ""
for _i, module in pairs(getLoadedModules()) do
if module.Name:lower():find(query) then
modules[module] = ModuleScript.new(module)
end
end
return modules
end
ModuleScanner.Scan = scan
ModuleScanner.RequiredMethods = requiredMethods
return ModuleScanner