{"id":"marssquirrel/toolbox","name":"toolbox","scope":"marssquirrel","platform":"roblox","description":"A collection of reusable, type-safe Roblox Luau utility functions designed to simplify common development tasks.","version":"1.1.1","latest":"1.1.1","versions":["1.0.0","1.0.1","1.1.0","1.1.1"],"license":"MIT","licenseRating":"safe","licenseCaveats":[],"licenseVerified":true,"dependencies":{},"integrity":"80b5eb2998e3a69e37e67ebd818cecd673810ec9c84491d09517a954eedb568a","likes":0,"downloads":0,"install":"forest install marssquirrel/toolbox","url":"https://forest.dev/p/roblox/marssquirrel/toolbox","files":"https://api.forest.dev/ai/package/roblox/marssquirrel/toolbox/files","readme":"# Toolbox\n\nA collection of reusable, type-safe Roblox Luau utility functions designed to simplify common development tasks.\n\nToolbox provides commonly needed helpers while keeping a clean and consistent API.\n\n## Features\n\nToolbox includes utilities for:\n\n- Instance management\n- Player and character handling\n- Tool management\n- String manipulation\n- Debugging and inspection\n\nAll functions are written in typed Luau and documented for automatic documentation generation using Moonwave.\n\n## Installation\n\nInstall Toolbox using Wally:\n\n```toml\n[dependencies]\nToolbox = \"marssquirrel/toolbox@^1.1.1\"\n```\n\n## Usage\n\nToolbox exposes all utilities through a single flattened API.\n\n```luau\nlocal Toolbox = require(path.to.Toolbox)\n\nlocal humanoid = Toolbox.GetHumanoid(player)\n\nif humanoid then\n\tprint(`{player.Name} has a humanoid yay.`)\nend\n```\n\nDebugging example:\n\n```luau\nToolbox.DumpPlayer(player)\n```\n\nString example:\n\n```luau\nlocal formatted = Toolbox.ToPascalCase(\"hello world\")\n\nprint(formatted)\n-- HelloWorld\n```\n\n## Contributing\n\nContributions are welcome and appreciated!\n\nWhen adding new utilities:\n\n* Keep functions type-safe.\n* Add Moonwave documentation comments.\n* Place utilities in the appropriate module.\n* Avoid adding highly specific game logic.\n\nOpen a PR to submit a new function or utility.\n\n## API\n\n### Debug Utilities\n`PrintTable`  \n`PrintInstanceTree`  \n`DumpPlayer`  \n\n---\n\n### Instance Utilities\n`WaitForDescendantOfClass`  \n`GetChildrenOfClass`  \n`GetDescendantsOfClass`  \n`SafeDestroy`  \n`SetProperties`  \n`RemoveInstancesOfClass`  \n`RemoveInstancesByName`  \n`CountDescendants`  \n`CountChildren`  \n`CountDescendantsOfClass`  \n`CountChildrenOfClass`  \n\n---\n\n### Player Utilities\n`WaitForCharacter`  \n`GetHumanoid`  \n`WaitForHumanoid`  \n`GetRoot`  \n`WaitForRoot`  \n`GetHead`  \n`WaitForHead`  \n`IsAlive`  \n`GetPosition`  \n`GetDistance`  \n`GetPlayersInRadius`  \n`GetPlayerByPartialName`  \n`GetAnimator`  \n`LoadAnimation`  \n`GetTools`  \n`GetEquippedTool`  \n`GetLeaderstats`  \n`Respawn`  \n\n---\n\n### String Utilities\n`Trim`  \n`StartsWith`  \n`EndsWith`  \n`Contains`  \n`Capitalize`  \n`ToPascalCase`  \n`ToCamelCase`  \n`ToSnakeCase`  \n`ToKebabCase`  \n`RemoveWhitespace`  \n`Shorten`  \n`IsEmpty`  \n`IsBlank`  \n`PadLeft`  \n`PadRight`","readmeTruncated":false}