19 lines
647 B
Lua
19 lines
647 B
Lua
local CorePackages = game:GetService("CorePackages")
|
|
local ArgCheck = require(CorePackages.ArgCheck)
|
|
local Logging = require(CorePackages.Logging)
|
|
local UIBlox = require(CorePackages.UIBlox)
|
|
local validateTheme = UIBlox.Style.Validator.validateTheme
|
|
|
|
return function (themeName, defaultTheme, themeMap)
|
|
local mappedTheme
|
|
if themeName ~= nil and #themeName > 0 then
|
|
mappedTheme = themeMap[string.lower(themeName)]
|
|
end
|
|
|
|
if mappedTheme == nil then
|
|
mappedTheme = themeMap[defaultTheme]
|
|
Logging.warn(string.format("Unrecognized theme name: `%s`", tostring(themeName)))
|
|
end
|
|
ArgCheck.assert(validateTheme(mappedTheme))
|
|
return mappedTheme
|
|
end |