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.AddPromise
now will handle cancellations properly.Janitor.Cleanup
now 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.0
where 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.md
changelog.
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
__tostring
toIndicesReference
. - Added safety check to
AddPromise
. - Added
ClassName
to 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
LinkToInstances
function.
1.0.6
- Fixed the return type of
Janitor.Add
to return the object passed. - Fixed
Janitor.Add
to accepttrue
formethodName
when passing a function
1.0.5
- Fixed the imports to
Scheduler
being the wrong path
1.0.3
- Fixed
README.md
example - Changed
package.json
keywords
1.0.2
- Simplified
Add
types - Credited Validark
1.0.1
- Fixed
README.md
1.0.0
- Initial release