finalize-addon
Version:
Object finalization based on N-API for Node.js v8.6.0+
28 lines (23 loc) • 693 B
JavaScript
const finalize = require('.')
const assert = require('assert')
assert.throws(() => finalize())
assert.throws(() => finalize({}))
assert.throws(() => finalize({}, () => {}, {}))
assert.throws(() => finalize('', () => {}))
assert.throws(() => finalize(0, () => {}))
assert.throws(() => finalize(true, () => {}))
assert.throws(() => finalize(null, () => {}))
assert.throws(() => finalize(undefined, () => {}))
assert.throws(() => finalize(Symbol(), () => {}))
const handle = setTimeout(() => {
assert.fail('finalizer not called')
}, 5000)
function finalizer () {
clearTimeout(handle)
}
function run () {
const obj = {key: 'value'}
finalize(obj, finalizer)
}
run()
gc() // --expose-gc