Skip to content

Focused on developing a TypeScript-compatible solution to @robloxiandemo/roblox-modules/cleanser!

License

Notifications You must be signed in to change notification settings

rbxts-libraries/rbxts-cleanser

Repository files navigation

Cleanser

Cleanser is a highly personalized, all-in-one, and lightweight implementation served for garbage collection.

Installation

📦 — NPM:

npm i @rbxts/cleanser

🧶 — Yarn:

yarn add @rbxts/cleanser

📀 — pnPM:

pnpm add @rbxts/cleanser

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.Cleanser<{ Instances: Array<Instance> }>();

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

// 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();

About

Focused on developing a TypeScript-compatible solution to @robloxiandemo/roblox-modules/cleanser!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages