'use strict'; // This tests that AsyncHooks throws an error if bad parameters are passed. require('../common'); const assert = require('assert'); const async_hooks = require('async_hooks'); const nonFunctionArray = [null, -1, 1, {}, []]; ['init', 'before', 'after', 'destroy', 'promiseResolve'].forEach( (functionName) => { nonFunctionArray.forEach((nonFunction) => { assert.throws(() => { async_hooks.createHook({ [functionName]: nonFunction }); }, { code: 'ERR_ASYNC_CALLBACK', name: 'TypeError', message: `hook.${functionName} must be a function`, }); }); });