GithubHelp home page GithubHelp logo

node-gc-signals's Introduction

GC Signals

A primitive way to know when an object got garbage collected. It works by creating an object holding onto a numeric identifier. On de-construction that identifer is put into a list which can be consumed to learn whether an object was been gc'ed or not.


const {GCSignal, consumeSignals} = require('gc-signals');

new GCSignal(1);
new GCSignal(2);
new GCSignal(3);

// gc happens...

consumeSignals() // [1,2,3];

API

export interface GCSignal {
}
/**
 * Create a new GC signal. When being garbage collected the passed
 * value is stored for later consumption.
 */
export declare const GCSignal: {
    new (id: number): GCSignal;
};
/**
 * Consume ids of garbage collected signals.
 */
export declare function consumeSignals(): number[];
/**
 * Get called when any call to `consumeSignals` yielded in a result.
 */
export declare function onDidGarbageCollectSignals(callback: (ids: number[]) => any): {
    dispose(): void;
};
/**
 * Utility method to store a weak reference of an object
 * along with an identifier. The id will be used to track
 * garbage collection of the object.
 */
export declare function trackGarbageCollection(obj: any, id: number): number;

node-gc-signals's People

Contributors

jrieken avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.