{"id":"tabthedev/signally","name":"signally","scope":"tabthedev","platform":"roblox","description":"A luau library which can generate class like RBXScriptSignal but custom event and more methods","version":"0.2.0","latest":"0.2.0","versions":["0.1.9","0.2.0"],"license":"MIT","licenseRating":"safe","licenseCaveats":[],"licenseVerified":true,"dependencies":{},"integrity":"3c5f2044b82739ba0a45ad8f781780a6da4d845d811960c46714f550a33b945e","likes":0,"downloads":0,"install":"forest install tabthedev/signally","url":"https://forest.dev/p/roblox/tabthedev/signally","files":"https://api.forest.dev/ai/package/roblox/tabthedev/signally/files","readme":"# Signally\r\nA luau library which can generate class like RBXScriptSignal but custom event and more methods\r\n<br><br>\r\nInspired by [typed-remote](https://github.com/Sleitnick/RbxUtil/blob/main/modules/typed-remote/init.luau) from [Sleitnick/RbxUtil](https://github.com/Sleitnick/RbxUtil)\r\n\r\n## Install\r\n### In Wally\r\nAdd dependency in wally.toml as\r\n```bash\r\nsignally = \"tabthedev/signally@0.2.0\"\r\n```\r\n### In Pesde\r\n```bash\r\npesde add tabthedev/signally\r\n\r\npesde install\r\n```\r\n\r\n## Types\r\n\r\n(private) connectionCallback<V...>\r\n```luau\r\ntype connectionCallback<V...> = (V...)->()\r\n```\r\n\r\n(public) Connection<V...>\r\n```luau\r\ntype Connection<V...> = {\r\n\tConnected: boolean,\r\n    \r\n\tDisconnect: (self: Connection<V...>)->()\r\n}\r\n```\r\n\r\n(public) Signal<V...>\r\n```luau\r\ntype Signal<V...> = {\r\n\tConnections: { Connection<V...> },\r\n\tYields: { thread },\r\n\r\n    Connect: (self: Signal<V...>, callback: connectionCallback<V...>)->Connection<V...>,\r\n\tOnce: (self: Signal<V...>, callback: connectionCallback<V...>)->Connection<V...>,\r\n\tWait: (self: Signal<V...>)->V...,\r\n\r\n\tDisconnectAll: (self: Signal<V...>)->(),\r\n\tCloseAllYields: (self: Signal<V...>)->(),\r\n\tKillAllEffects: (self: Signal<V...>)->(),\r\n\r\n\tFire: (self: Signal<V...>, V...)->()\r\n}\r\n```\r\n\r\n\r\n## Usage\r\n\r\nNo Argument Signal\r\n\r\n```luau\r\nlocal signal = signally.new() :: Signal<>\r\n```\r\n\r\nArgument(s) Signal\r\n\r\n```luau\r\nlocal signal = signally.new() :: Signal<number, string>\r\n```\r\n\r\nOverload Agrument(s) Signal\r\n\r\n```luau\r\nlocal signal = signally.new() :: Signal<number, string> & Signal<boolean>\r\n```\r\n\r\n\r\n","readmeTruncated":false}