Cleanser is a highly personalized, all-in-one, and lightweight implementation served for garbage collection.
npm i @rbxts/cleanser
yarn add @rbxts/cleanser
pnpm add @rbxts/cleanser
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;
const cleanser = new Cleanser.Cleanser<{ Instances: Array<Instance> }>();
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.
public Grant(object?: T extends Cleanser.Object | Cleanser.Destroyable | true ? RBXScriptConnection : T | defined,
): Cleanser;
Grant a new cleanser task.
public TimedDestroy(waitTime: number): boolean;
Destroy and cleanup a cleanser after a certain amount of time has elapsed.
public Cleanse(): void;
Cleanse the specified cleanser object(s).
public Destroy(): void;
Destroy and cleanup a Cleanser (making it unusable).
// Services
import { Workspace } from "@rbxts/services";
// Modules
import { Cleanser } from "@rbxts/cleanser";
// Functions
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.Cleanser(Part);
task.wait(3);
PartCleanser.Cleanse();