-- Compiled with roblox-ts v3.0.0 local TS = _G[script] local useHookState = TS.import(script, script.Parent.Parent, "topo").useHookState local useChange = TS.import(script, script.Parent, "use-change").useChange local function useEffect(effect, dependencies, discriminator) local storage = useHookState(discriminator, function(state) local _value = state.cleanup if _value ~= nil then _value = _value() end local value = _value return if value == nil then false else value end) if not dependencies or useChange(dependencies, storage) then if storage.cleanup then storage.cleanup() end storage.dependencies = dependencies local cleanup = effect() if cleanup then storage.cleanup = cleanup end end end return { useEffect = useEffect, }