Skip to main content
Glama
README.md1.28 kB
# on-exit-leak-free This module helps dispose of an object gracefully when the Node.js process exits. It executes a function with a given parameter on [`'exit'`](https://nodejs.org/api/process.html#event-exit) without leaking memory, cleaning things up appropriately if the object is garbage collected. Requires `WeakRef` and `FinalizationRegistry`, i.e. use Node v14+. ## Install ```bash npm i on-exit-leak-free ``` ## Example ```js 'use strict' const { register, unregister } = require('on-exit-leak-free') const assert = require('assert') function setup () { // This object can be safely garbage collected, // and the resulting shutdown function will not be called. // There are no leaks. const obj = { foo: 'bar' } register(obj, shutdown) // use registerBeforeExit(obj, shutdown) to execute the function only // on beforeExit // call unregister(obj) to remove } let shutdownCalled = false // Please make sure that the function passed to register() // does not create a closure around unnecessary objects. function shutdown (obj, eventName) { console.log(eventName) // beforeExit shutdownCalled = true assert.strictEqual(obj.foo, 'bar') } setup() process.on('exit', function () { assert.strictEqual(shutdownCalled, true) }) ``` ## License MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/krtw00/search-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server