1.15.7-ts.0 • Published 3 months ago

@rbxts/janitor v1.15.7-ts.0

Weekly downloads
52
License
Apache-2.0
Repository
github
Last release
3 months ago

@rbxts/janitor

NPM

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

    	```lua
    	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) => {
    task.wait(5);
    resolve(42);
  })
);

// Cleanup all connections, calling `print`, Destroying our Part, and cancelling our promise
Obliterator.Cleanup();

Changelog

See CHANGELOG.md