Refactor Heimdall module fields for improved organization and clarity
This commit is contained in:
@@ -2,13 +2,6 @@ local _, shared = ...
|
||||
---@cast shared HeimdallShared
|
||||
local ModuleName = "AgentTracker"
|
||||
|
||||
---@class AgentTracker
|
||||
---@field Init fun(): nil
|
||||
---@field Track fun(name: string): boolean
|
||||
---@field IsAgent fun(name: string): boolean
|
||||
---@field OnChange fun(callback: fun(name: string)): nil
|
||||
---@field ForEach fun(callback: fun(name: string)): nil
|
||||
|
||||
---@class AgentTrackerData
|
||||
---@field agents ReactiveValue<table<string, string>>
|
||||
|
||||
@@ -16,6 +9,8 @@ shared.agentTracker.agents = ReactiveValue(Heimdall_Data.config.agents)
|
||||
|
||||
---@class AgentTracker
|
||||
shared.AgentTracker = {
|
||||
---@param name string
|
||||
---@return boolean
|
||||
Track = function(name)
|
||||
if not name then return false end
|
||||
local exists = shared.AgentTracker.IsAgent(name)
|
||||
@@ -28,11 +23,15 @@ shared.AgentTracker = {
|
||||
end
|
||||
return true
|
||||
end,
|
||||
---@param name string
|
||||
---@return boolean
|
||||
IsAgent = function(name)
|
||||
if not name then return false end
|
||||
return shared.agentTracker.agents[name] ~= nil
|
||||
end,
|
||||
---@param callback fun(agent: string)
|
||||
OnChange = function(callback) shared.agentTracker.agents:onChange(callback) end,
|
||||
---@param callback fun(agent: string)
|
||||
ForEach = function(callback)
|
||||
---@type table<string, string>
|
||||
local agents = shared.agentTracker.agents:get()
|
||||
@@ -40,6 +39,7 @@ shared.AgentTracker = {
|
||||
callback(name)
|
||||
end
|
||||
end,
|
||||
---@return nil
|
||||
Init = function()
|
||||
--/run Heimdall_Data.config.agents["Cyheuraeth"]=date("%Y-%m-%dT%H:%M:%S")
|
||||
---@type table<string, boolean>
|
||||
|
||||
Reference in New Issue
Block a user