Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
code / usr / share / code / resources / app / node_modules / gc-signals
  ..
  build
  src
  tsconfig.json
  package.json
  README.md
  License.txt
Size: Mime:

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;