{"id":"uiscript/goodsignal","name":"goodsignal","scope":"uiscript","platform":"roblox","description":"A fast Signal class implementation that has full feature parity with Roblox' RBXScriptSignal","version":"0.2.2","latest":"0.2.2","versions":["0.2.2"],"license":"MIT","licenseRating":"safe","licenseCaveats":[],"licenseVerified":true,"dependencies":{},"integrity":"5032b8ce1da97963087fbc46da4daa0d952c265927f27a72353642f66c387cbf","likes":0,"downloads":0,"install":"forest install uiscript/goodsignal","url":"https://forest.dev/p/roblox/uiscript/goodsignal","files":"https://api.forest.dev/ai/package/roblox/uiscript/goodsignal/files","readme":"# GoodSignal\r\nA Roblox Lua Signal implementation that has full API and behavioral parity with Roblox' `RBXScriptSignal` type.\r\n\r\n# Full API\r\n\r\n```lua\r\n-- Create\r\nlocal sig = Signal.new()\r\n\r\n-- Connect and Fire\r\nlocal connection = sig:Connect(function(arg1, arg2) ... end)\r\nsig:Fire(param1, param2)\r\n\r\n-- Wait on Fire\r\nlocal param1, param2 = sig:Wait()\r\n\r\n-- Disconnect\r\nconnection:Disconnect()\r\nsig:DisconnectAll()\r\n```\r\n# No Memory Leaks!\r\n`GoodSignal` is implemented in pure Lua (using the task library, rather than internally using a BindableEvent), so it does not suffer from memory leaks. Even if you don't `Disconnect` all of the connections on a GoodSignal, everything will still be GCed normally.\r\n","readmeTruncated":false}