{"id":"ffrostfall/luausignal","name":"luausignal","scope":"ffrostfall","platform":"roblox","description":"Mirrored from the Wally registry.","version":"0.7.0","latest":"0.7.0","versions":["0.1.0","0.1.1","0.1.2","0.2.0","0.2.1","0.3.0","0.4.0","0.5.0","0.6.0","0.6.1","0.7.0","0.8.0-rc.1","0.8.0-rc.2","0.8.0-rc.3"],"license":"MIT","licenseRating":"safe","licenseCaveats":["License identified from the packaged LICENSE file; the manifest declared none."],"licenseVerified":true,"dependencies":{},"integrity":"33ae8cab877297668e8df40558862a77bb089b224d3a0d52970d3136c545a5c6","likes":0,"downloads":0,"install":"forest install ffrostfall/luausignal","url":"https://forest.dev/p/roblox/ffrostfall/luausignal","files":"https://api.forest.dev/ai/package/roblox/ffrostfall/luausignal/files","readme":"# luausignal\n\n[Documentation](https://ffrostfall.github.io/luausignal/docs/intro)\n\n---\n\nluausignal is a signal implementation written for modern Luau, with modern best practices.\n\n```lua\nlocal signal = require(path.to.signal)\n\nlocal tookDamage: signal.Identity<Player, number> = signal()\n\ntookDamage:connect(function(player, amount)\n\tprint(`player { player.Name } took { amount } damage!`)\nend)\n\ntookDamage:fire(Players.theReader101, 50)\n```\n\n## It's a table. Don't worry about memory leaks.\n\nluausignal is just a table, with a metatable. The connections are just functions in an array. This means that it will be garbage collected.\n","readmeTruncated":false}