{"id":"coffilhg/classnametypepairs","name":"classnametypepairs","scope":"coffilhg","platform":"roblox","description":"Useful for adding Types to Functions & Type Functions, inspired by Vide!","version":"739.0.7390687","latest":"739.0.7390687","versions":["736.0.7361342","736.0.7361346","737.0.7371584","738.0.7381393","739.0.7390687"],"license":"Unlicense","licenseRating":"safe","licenseCaveats":[],"licenseVerified":true,"dependencies":{},"integrity":"a885dea2bcc804e8f28fa08652d65347a45cb96a3c31361a3d3c1a3c129d767f","likes":0,"downloads":0,"install":"forest install coffilhg/classnametypepairs","url":"https://forest.dev/p/roblox/coffilhg/classnametypepairs","files":"https://api.forest.dev/ai/package/roblox/coffilhg/classnametypepairs/files","readme":"# ClassNameTypePairs\r\n\r\nUseful for adding Types to Functions & Type Functions, inspired by Vide!\r\n\r\n> (*[exact inspiration source](<https://github.com/centau/vide/blob/f3bfc65607834370ce84a6e16722282c4d30316c/src/create.luau#:~:text=export%20type%20Instances%20=%20{>)*)\r\n\r\nThe module version shall always be whichever it was [here](<https://raw.githubusercontent.com/MaximumADHD/Roblox-Client-Tracker/master/version.txt>) at the time [this API-Dump](<https://raw.githubusercontent.com/MaximumADHD/Roblox-Client-Tracker/roblox/API-Dump.json>) was accessed and used to generate this module.\r\n\r\n## Initial philosophy\r\n### See clarification below\r\n\r\nThis module shall NEVER have anything functional except \r\n- ~~A return value `const ClassNameTypePairs = table.freeze({})`~~\r\n- Type definition \"***ClassNameTypePairs***\" `export type ClassNameTypePairs = {`\r\n- ~~Return of the return value `return ClassNameTypePairs`~~\r\n- a nil return (`return nil`) at the end\r\n\r\n~~ONLY~~ the contents of the \"***ClassNameTypePairs***\" type definition shall be ever changed.\r\n\r\nThis is required to allow for safe usage of ANY version of this module (``@*``).\r\n\r\nTo achieve **[SemVer](<https://semver.org/>)** (i.e. **[Zer0Ver](<https://0ver.org/>)** in this case), the **Major Version** part will be removed if 0, otherwise amplified:\r\n\r\n> This is required to perform `wally publish`\r\n\r\ne.g. `0.736.0.7361342` -> `736.0.7361342`\r\n\r\nif **Major Version** ever becomes > 0, concat `its value * 1000` at the beginning, e.g. `1.736.0.7361342` -> `1000736.0.7361342`\r\n\r\n> **[More info on Version here](<https://github.com/MaximumADHD/Roblox-Client-Tracker#versiontxt>)**\r\n\r\n## Actual philosophy\r\n> The initial version was using api version of `0.736.0.7361342`\r\n> \r\n> The next release uses `0.736.0.7361346` and inroduces the following:\r\n\r\nThe contents of **[src/init.luau](src/init.luau)** are automatically generated from the **(special thanks to) [Roblox API Dump (the Roblox-Client-Tracker by MaximumADHD)](https://github.com/MaximumADHD/Roblox-Client-Tracker)** and must not be manually edited.\r\n> as of `0.736.0.7361346` release, the auto-generation script is not yet open-soruced, but is planned or will be likely converted into a GitHub actions action\r\n\r\nThat also means that this module only guarantees backwards-compatibility for three type definitions, of which one was already guaranteed initially.\r\n- `ClassNameTypePairs`\r\n> ALL CLASS NAMES (as intended initially)\r\n- `ClassNameTypePairsLeaf`\r\n> represents ALL CLASS NAMES that have no children, thus each of them is a leaf\r\n- `ClassNameTypePairsChild`\r\n> represents ALL CLASS NAMES that are roots (in other words child classes of the roblox studio hierarchy, this is just `Object`, but the auto-generator will add (detect) more if roblox ever makes such update)\r\n\r\nthese type definitions are guaranteed to be present, regardless of the module version, starting now (v`0.736.0.7361346` release), however their contents are not going to be consistent, or are, but only as much as Roblox allows them to.\r\n\r\nWhen Roblox removes a ClassName (e.g. it was deprecated and removed), that ClassName will no longer be included in releases of this module, except in the lower versions of the module, that've captured them before!\r\n\r\n---\r\n\r\n## Available Here!\r\n- **[This repository](src/init.luau) ~ [src/init.luau](src/init.luau)**\r\n- **[Wally](<https://wally.run/package/coffilhg/classnametypepairs>)**\r\n\r\n    ```toml\r\n    ClassNameTypePairs = \"coffilhg/classnametypepairs@*\"\r\n    ```\r\n- **[Rotriever](<https://github.com/Coffilhg/ClassNameTypePairs/releases/tag/v739.0.7390687>)**\r\n\r\n    ```toml\r\n    ClassNameTypePairs = \"github.com/Coffilhg/Useful-Modules@739.0.7390687\"\r\n    ```\r\n\r\n---\r\n\r\n# Dependencies\r\n- None\r\n\r\n---\r\n\r\n## License & Attribution\r\n\r\nThis module is licensed under the **Unlicense License**.\r\n\r\n> See [here](LICENSE) or [here to learn more](https://unlicense.org)\r\n\r\nStars are appreciated!\r\n","readmeTruncated":false}