disposer
TypeScript icon, indicating that this package has built-in type declarations

0.1.1 • Public • Published

Disposer

an async disposer and abstract disposable class

Class: Disposable

import { Disposable, using, Disposer } from "disposer";

class Foo extends Disposable {
  
  constructor(){
    super();

    this.addDisposer(()=>{
      console.log("clean up something");
    })
  }
}

let foo = new Foo();

foo.on("disposing", ()=>console.log("disposing"));
foo.on("disposed", ()=>console.log("disposed"));

async function main(){
  await foo.dispose();
}

main().catch(console.log);

Class: Disposer

let foo = new Disposer();

foo.addDisposer(()=>{
  console.log("clean up something");
})

Function: using

async function main(){
  await using(new Foo(), (foo)=>{
    //do something 
  });
  //foo disposed
}

Dependencies (0)

    Dev Dependencies (9)

    Package Sidebar

    Install

    npm i disposer

    Weekly Downloads

    2

    Version

    0.1.1

    License

    MIT

    Last publish

    Collaborators

    • meirionhughes