README
@rbxts/janitor
Typings for howmanysmall's forked janitor module
View the Janitor docs!
Credits to Validark for the original module, see RoStrap's Janitor docs for more information.
Installation:
npm i @rbxts/janitor
Changes
- Gets the Promise lib by using _G
- Returns
return {
Janitor = Janitor
}
instead of just returning the Janitor namespace.
Example Usage
import { Janitor } from "@rbxts/janitor";
const Obliterator = new Janitor<{ Instances: Instance }>();
print(Obliterator.Add(new Instance("Part")));
// Queue the Part to be Destroyed at Cleanup time
Obliterator.Add(new Instance("Part"), "Destroy");
// Queue function to be called with `true` MethodName
Obliterator.Add(print, true);
// By passing an Index, the Object will occupy a namespace
// If "Instances" already exists, it will call :Remove("Instances") before writing
Obliterator.Add(new Instance("Part"), "Destroy", "Instances");
// Queue a promise to be cancelled when the Janitor is cleaned
// `result` is of type Promise<number>
const result = Obliterator.AddPromise(
new Promise<number>((resolve, reject) => {
wait(5);
resolve(42);
})
);
// Cleanup all connections, calling `print`, Destroying our Part, and cancelling our promise
Obliterator.Cleanup();
Changelog
Unreleased Changes
1.13.15-ts.0
Janitor.AddPromisenow will handle cancellations properly.Janitor.Cleanupnow uses a while loop instead of a for loop when cleaning up to fix adding other janitors during cleanup.
1.13.12-ts.1
- Fixed Janitor loading bug
1.13.12-ts.0
- Removes the change from
1.13.6-ts.0where cleanup tasks were no longer called synchronously.- Janitor now calls the cleanup tasks one-by-one, synchronously.
1.13.6-ts.0
- Added thread safety
1.13.5-ts.2
- Fixed
README.mdchangelog.
1.13.5-ts.1
- Removed unused types.
1.13.5-ts.0
- Updated TS package to match Luau package (release).
1.1.3
- Fixed LinkToInstance for deferred Signal type. This does slightly worsen stack traces, but it shouldn't be as bad as it breaking.
1.1.2
- Fixed major bug where destroyed Janitors added to a Janitor do not clean up nicely. See official release page for example code.
- Reduced the size of Scheduler.
- Added
__tostringtoIndicesReference. - Added safety check to
AddPromise. - Added
ClassNameto Janitor object. - Changed version to match the official release.
- Fixed link to Janitor repository in README.md.
1.0.7
- Removed the usage of global state.
- Optimized the
LinkToInstancesfunction.
1.0.6
- Fixed the return type of
Janitor.Addto return the object passed. - Fixed
Janitor.Addto accepttrueformethodNamewhen passing a function
1.0.5
- Fixed the imports to
Schedulerbeing the wrong path
1.0.3
- Fixed
README.mdexample - Changed
package.jsonkeywords
1.0.2
- Simplified
Addtypes - Credited Validark
1.0.1
- Fixed
README.md
1.0.0
- Initial release
