JSPM

  • Created
  • Published
  • Downloads 456
  • Score
    100M100P100Q94134F
  • License Apache-2.0

A port of howmanysmall's janitor module.

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@rbxts/janitor) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    @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 rather than using wally package-esque import

    • Returns

      return table.freeze({
          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