Cleanser
Cleanser is an all-in-one lightweight implementation for garbage collection.
Cleanser API
Types
interface Destroyable {
TimedDestroy(waitTime: number): boolean;
Cleanse(): void;
Destroy(): void;
}
type Object =
| never
| undefined
| ((this: defined) => void)
| ((_: defined) => void)
| ExtractKeys<defined, () => void>
| thread
| RBXScriptConnection
| Cleanser
| Cleanser.Destroyable;
Constructor
const cleanser = new Cleanser<{ never[]: T }>();
Cleanser.Is
public Is(
object?: T extends Cleanser.Object | Cleanser.Destroyable | true ? RBXScriptConnection : T | defined,
): boolean;
Returns whether or not the specified class is a valid Cleanser.
Cleanser.Grant
public Grant(object?: T extends Cleanser.Object | Cleanser.Destroyable | true ? RBXScriptConnection : T | defined,
): Cleanser;
Grant a new cleanser task.
Cleanser.TimedDestroy
public TimedDestroy(waitTime: number): boolean;
Destroy and cleanup a cleanser after a certain amount of time has elapsed.
Cleanser.Cleanse
public Cleanse(): void;
Cleanse the specified cleanser object(s).
Cleanser.Destroy
public Destroy(): void;
Destroy and cleanup a Cleanser (making it unusable).
Example
import { Workspace } from "@rbxts/services";
import { Cleanser } from "@rbxts/cleanser";
const Part = new Instance("Part");
Part.Name = "Part";
Part.Position = new Vector3(0, 5, 0);
Part.Size = new Vector3(5, 1, 5);
Part.Parent = Workspace;
const PartCleanser = new Cleanser(Part);
task.wait(3);
PartCleanser.Cleanse();