{"id":"stravant/goodsignal","name":"goodsignal","scope":"stravant","platform":"roblox","description":"A fast Signal class implementation that has full feature parity with Roblox' RBXScriptSignal","version":"0.3.1","latest":"0.3.1","versions":["0.1.0","0.1.1","0.2.1","0.3.0","0.3.1"],"license":"MIT","licenseRating":"safe","licenseCaveats":[],"licenseVerified":true,"dependencies":{},"integrity":"7dcf9df28f5a1444be21a081dbc3093cf38a94fcb93d43afdad98b865545e6cf","likes":0,"downloads":1,"install":"forest install stravant/goodsignal","url":"https://forest.dev/p/roblox/stravant/goodsignal","files":"https://api.forest.dev/ai/package/roblox/stravant/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}