-- 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 useInstance(creator, dependencies, discriminator) local storage = useHookState(discriminator, function(state) if state.instance then state.instance:Destroy() end return false end) if storage.instance == nil or useChange(dependencies, discriminator) then storage.instance = creator() end return storage.instance end return { useInstance = useInstance, }