Add configurator and stinky cache

This commit is contained in:
2025-01-15 20:55:50 +01:00
parent fe37bebd2c
commit 4511ecbf0a
4 changed files with 49 additions and 0 deletions

View File

@@ -22,6 +22,7 @@ local function init()
---@field networkNodes string[]
---@field network HeimdallNetworkData
---@field networkMessenger HeimdallNetworkMessengerData
---@field stinkyCache HeimdallStinkyCacheData
---@field _L Localization
---@field VERSION string
---@field dumpTable fun(table: any, depth?: number): nil
@@ -29,6 +30,7 @@ local function init()
---@field padString fun(input: string, targetLength: number, left?: boolean): string
---@field GetOrDefault fun(table: table<any, any>, keys: string[], default: any): any
---@field Split fun(input: string, deliminer: string): string[]
---@field IsStinky fun(name: string): boolean
---@field Whoer InitTable
---@field Messenger InitTable
---@field Spotter InitTable
@@ -50,6 +52,8 @@ local function init()
---@field Noter InitTable
---@field Network InitTable
---@field NetworkMessenger InitTable
---@field StinkyCache InitTable
---@field Configurator InitTable
--- Config ---
---@class HeimdallConfig
@@ -72,6 +76,8 @@ local function init()
---@field noter HeimdallNoterConfig
---@field network HeimdallNetworkConfig
---@field networkMessenger HeimdallNetworkMessengerConfig
---@field configurator HeimdallConfiguratorConfig
---@field stinkyCache HeimdallStinkyCacheConfig
---@field whisperNotify table<string, string>
---@field addonPrefix string
---@field stinkies table<string, boolean>
@@ -232,6 +238,14 @@ local function init()
---@field debug boolean
---@field interval number
---@class HeimdallConfiguratorConfig
---@field enabled boolean
---@field debug boolean
---@class HeimdallStinkyCacheConfig
---@field enabled boolean
---@field debug boolean
--- Data ---
---@class HeimdallMessengerData
---@field queue table<string, Message>
@@ -252,6 +266,9 @@ local function init()
---@class HeimdallNetworkData
---@field ticker number?
---@class HeimdallStinkyCacheData
---@field stinkies table<string, number>
shared.GetOrDefault = function(table, keys, default)
local value = default
if not table then return value end
@@ -466,6 +483,14 @@ local function init()
debug = shared.GetOrDefault(Heimdall_Data, { "config", "networkMessenger", "debug" }, false),
interval = shared.GetOrDefault(Heimdall_Data, { "config", "networkMessenger", "interval" }, 0.01),
},
configurator = {
enabled = shared.GetOrDefault(Heimdall_Data, { "config", "configurator", "enabled" }, false),
debug = shared.GetOrDefault(Heimdall_Data, { "config", "configurator", "debug" }, false),
},
stinkyCache = {
enabled = shared.GetOrDefault(Heimdall_Data, { "config", "stinkyCache", "enabled" }, false),
debug = shared.GetOrDefault(Heimdall_Data, { "config", "stinkyCache", "debug" }, false),
},
addonPrefix = shared.GetOrDefault(Heimdall_Data, { "config", "addonPrefix" }, "HEIMDALL"),
}
@@ -584,6 +609,8 @@ local function init()
shared.Noter.Init()
shared.Network.Init()
shared.NetworkMessenger.Init()
shared.Configurator.Init()
shared.StinkyCache.Init()
print("Heimdall loaded!")
end