{ if (this.promiseIds.has(asyncId)) return this.promiseIds.delete(asyncId); inspector.asyncTaskCanceled(asyncId); }, }); hook.promiseIds = new SafeSet(); } function enable() { if (hook === undefined) lazyHookCreation(); if (config.bits < 64) { // V8 Inspector stores task ids as (void*) pointers. // async_hooks store ids as 64bit numbers. // As a result, we cannot reliably translate async_hook ids to V8 async_task // ids on 32bit platforms. process.emitWarning( 'Warning: Async stack traces in debugger are not available ' + `on ${config.bits}bit platforms. The feature is disabled.`, { code: 'INSPECTOR_ASYNC_STACK_TRACES_NOT_AVAILABLE', }); } else { hook.enable(); } } function disable() { if (hook === undefined) lazyHookCreation(); hook.disable(); } module.exports = { enable, disable };