{"id":"stackyzdev/goodsignal","name":"goodsignal","scope":"stackyzdev","platform":"roblox","description":"A fast Signal class implementation that has full feature parity with Roblox' RBXScriptSignal. Modified to use deferred signal behavior instead of immediate mode.","version":"0.4.1","latest":"0.4.1","versions":["0.3.2","0.3.3","0.4.0","0.4.1"],"license":"MIT","licenseRating":"safe","licenseCaveats":["The package archive does not include its license text; the license is declared in its manifest metadata."],"licenseVerified":false,"dependencies":{},"integrity":"9213a72c6fc50d2815b28eb360f1de0d5f9ca2e04c15c3664a00a5e6f2b2931c","likes":0,"downloads":0,"install":"forest install stackyzdev/goodsignal","url":"https://forest.dev/p/roblox/stackyzdev/goodsignal","files":"https://api.forest.dev/ai/package/roblox/stackyzdev/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","readmeBorrowedFrom":{"version":"0.3.2","source":"wally"},"readmeTruncated":false}