New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

node-disposable

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-disposable

IDisposable for Node.js

latest
Source
npmnpm
Version
0.2.3
Version published
Maintainers
1
Created
Source

node-disposable

Overview

This module provides an object with finalizer and IDisposable interface via .Net for NodeJS.

Usage

Create a class with finalizer

// TypeScript
import Disposable = require('node-disposable');

class Object extends Disposable.Object {
	public invoke() {
		this.__throwIfDisposed();
		
		console.log('invoke');
	}
	
	public __finalize(disposing) {
		console.log('finalize: ' + (disposing ? 'dispose' : 'exit'));
	}
}

export = Object;
  • Import 'node-disposable' module.
  • Extend 'node-disposable'.Object class.
  • Override __finalize method and implement resource disposing codes in it.

__finalize method is called on either calling dispose method, object is GC'd or process.exit event is fired.

Dispose

var obj = new Object();
obj.dispose(); // __finalize will be called.

Using

import Disposable = require('node-disposable');

Disposable.using(new Object(), obj => {
	// codes using Object
});
// Object is disposed.

Note

Finalizer won't run when the node process is terminated by SIGINT. To handle this problem, call finalize method on SIGINT.

import Disposable = require('node-disposable');
process.on('SIGINT', function(){
	Disposable.finalize();
	process.exit(-1);
});

API

class Object

function dispose

Dispose object.

function __finalize(disposing: boolean)

Finalizer method.

disposing:true Dispose method called. disposing:false process.exit.

function __throwIfDisposed

Throws an error if object is disposed.

property isDisposed: boolean

ture if object is disposed.

function using(obj: IDisposable, callback: obj => any)

Execute callback with an obj. The obj will be disposed after the callback.

function finalize()

Execute finalizers of all objects allocated.

function register(obj:IDisposable)

Register IDisposable object that will be handled as a disposable object.

interface IDisposable

function dispose

Changelog

0.2.3

  • Fix bugs on finalize.

0.2.2

  • Fix bugs.

0.2.1

  • Fix npm repositry

0.2.0

  • Add register function.

0.1.0

  • Finalizer will be called when the object is GC'd.
  • Add finalize function.

0.0.0

  • initial release.

Keywords

util

FAQs

Package last updated on 28 Jul 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts