Refactor Heimdall module fields for improved organization and clarity

This commit is contained in:
2025-05-18 11:36:40 +02:00
parent e3eefadb75
commit 6cb918c13c
3 changed files with 91 additions and 89 deletions

View File

@@ -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>