1 Refreshable
4n0n edited this page 3 years ago

Refreshable objects are helper modules similar to Cacheable that allow for classes to self refresh. However unlike Cacheable's they are not cached and evaluate every access.

function Refreshable:__index(k)
function Refreshable:__tostring()
function Refreshable:New(value, cb)
function Refreshable:TryUpdate()
function Refreshable:Update()
function Refreshable:Set(value)
function Refreshable:SetCallback(cb)
    return Bastion.Refreshable:New(self.objects[tguid], function()
        local tguid = ObjectGUID(token)
        if self.objects[tguid] == nil then
            if token == 'none' then
                self.objects[tguid] = Unit:New(token)
            else
                self.objects[tguid] = Unit:New(Object(tguid))
            end
        end
        return self.objects[tguid]
    end)

Cacheable