Add parameter validation
Co-Authored-By: SirAiedail <SirAiedail@users.noreply.github.com>
This commit is contained in:
parent
d0d0d5ef91
commit
f6dce4984a
1 changed files with 18 additions and 0 deletions
|
@ -5,6 +5,12 @@ local _loading_package = nil
|
||||||
local _loaded_packages = {}
|
local _loaded_packages = {}
|
||||||
|
|
||||||
function VMFMod:load_package(package_name, callback)
|
function VMFMod:load_package(package_name, callback)
|
||||||
|
if vmf.check_wrong_argument_type(self, "load_package", "package_name", package_name, "string") or
|
||||||
|
vmf.check_wrong_argument_type(self, "load_package", "callback", callback, "function", "nil")
|
||||||
|
then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
if self:has_package_loaded(package_name) then
|
if self:has_package_loaded(package_name) then
|
||||||
self:error("Package '%s' has already been loaded", package_name)
|
self:error("Package '%s' has already been loaded", package_name)
|
||||||
return
|
return
|
||||||
|
@ -54,6 +60,10 @@ function VMFMod:load_package(package_name, callback)
|
||||||
end
|
end
|
||||||
|
|
||||||
function VMFMod:unload_package(package_name)
|
function VMFMod:unload_package(package_name)
|
||||||
|
if vmf.check_wrong_argument_type(self, "unload_package", "package_name", package_name, "string") then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
if not self:has_package_loaded(package_name) then
|
if not self:has_package_loaded(package_name) then
|
||||||
self:error("Package '%s' has not been loaded", package_name)
|
self:error("Package '%s' has not been loaded", package_name)
|
||||||
return
|
return
|
||||||
|
@ -67,6 +77,10 @@ function VMFMod:unload_package(package_name)
|
||||||
end
|
end
|
||||||
|
|
||||||
function VMFMod:is_package_loading(package_name)
|
function VMFMod:is_package_loading(package_name)
|
||||||
|
if vmf.check_wrong_argument_type(self, "is_package_loading", "package_name", package_name, "string") then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
if _loading_package and _loading_package.mod == self and _loading_package.package_name == package_name then
|
if _loading_package and _loading_package.mod == self and _loading_package.package_name == package_name then
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
@ -81,6 +95,10 @@ function VMFMod:is_package_loading(package_name)
|
||||||
end
|
end
|
||||||
|
|
||||||
function VMFMod:has_package_loaded(package_name)
|
function VMFMod:has_package_loaded(package_name)
|
||||||
|
if vmf.check_wrong_argument_type(self, "has_package_loaded", "package_name", package_name, "string") then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
local loaded_packages = _loaded_packages[self]
|
local loaded_packages = _loaded_packages[self]
|
||||||
return loaded_packages and loaded_packages[package_name] ~= nil
|
return loaded_packages and loaded_packages[package_name] ~= nil
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue