{"id":"cometahn142/janitor","name":"janitor","scope":"cometahn142","platform":"roblox","description":"Janitor For Roblox","version":"0.2.0","latest":"0.2.0","versions":["0.1.0","0.1.1","0.1.2","0.2.0"],"license":"MIT","licenseRating":"safe","licenseCaveats":[],"licenseVerified":true,"dependencies":{"cometahn142/promise":{"version":"^0.1.0","alias":"Promise"}},"integrity":"d08a2f67389dde1374f257570b2aecab43548d0bb8d3da02e01b8cb0f385c2bc","likes":0,"downloads":0,"install":"forest install cometahn142/janitor","url":"https://forest.dev/p/roblox/cometahn142/janitor","files":"https://api.forest.dev/ai/package/roblox/cometahn142/janitor/files","readme":"# Janitor\r\n\r\nJanitor is a cleanup utility for Roblox/Luau. It tracks resources and cleans\r\nthem in one call.\r\n\r\nIt is useful for managing:\r\n\r\n- RBXScriptConnections\r\n- Instances\r\n- Threads\r\n- Functions\r\n- Custom objects with cleanup methods\r\n- Pending Promises\r\n\r\nIt is especially useful for objects with a clear lifecycle, such as UI\r\ncontrollers, character systems, tools, and service-level subscriptions.\r\n\r\n## Installation\r\n\r\n```toml\r\n[dependencies]\r\nJanitor = \"cometahn142/janitor@^0.1\"\r\n```\r\n\r\n## Quick Example\r\n\r\n```luau\r\nlocal Janitor = require(Packages.Janitor)\r\n\r\nlocal janitor = Janitor.new()\r\njanitor:Add(workspace.ChildAdded:Connect(function() end), \"Disconnect\")\r\njanitor:Add(function()\r\n\tprint(\"custom cleanup\")\r\nend, true)\r\n\r\njanitor:Cleanup()\r\n```\r\n\r\n## Documentation\r\n\r\n- [Installation](./docs/installation.md)\r\n- [Usage Patterns](./docs/usage-patterns.md)\r\n- [Janitor API](./docs/janitor.md)\r\n\r\n## License\r\n\r\nMIT. See `LICENSE`.\r\n","readmeBorrowedFrom":{"version":"0.1.2","source":"wally"},"readmeTruncated":false}