Derived
This commit is contained in:
@@ -167,6 +167,8 @@ local function registerFunctionEvent(self, data, event, renderContext)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local effectStack = {}
|
||||||
|
|
||||||
local clearEffectDependencies = function(effect)
|
local clearEffectDependencies = function(effect)
|
||||||
for _, dependency in ipairs(effect.dependencies) do
|
for _, dependency in ipairs(effect.dependencies) do
|
||||||
for index, backlink in ipairs(dependency) do
|
for index, backlink in ipairs(dependency) do
|
||||||
@@ -178,10 +180,8 @@ local clearEffectDependencies = function(effect)
|
|||||||
effect.dependencies = {};
|
effect.dependencies = {};
|
||||||
end
|
end
|
||||||
|
|
||||||
local effectStack = {}
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
basalt = function()
|
basalt = function(basalt)
|
||||||
local object = {
|
local object = {
|
||||||
reactive = function(initialValue)
|
reactive = function(initialValue)
|
||||||
local value = initialValue
|
local value = initialValue
|
||||||
@@ -217,6 +217,14 @@ return {
|
|||||||
end
|
end
|
||||||
effect.execute = execute
|
effect.execute = execute
|
||||||
effect.execute()
|
effect.execute()
|
||||||
|
end,
|
||||||
|
|
||||||
|
derived = function(computeFn)
|
||||||
|
local getValue, setValue = basalt.reactive();
|
||||||
|
basalt.effect(function()
|
||||||
|
setValue(computeFn())
|
||||||
|
end)
|
||||||
|
return getValue;
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
return object
|
return object
|
||||||
|
|||||||
Reference in New Issue
Block a user