From 46899ccadb3eb8045da634f579a2ab4828fe0293 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Fri, 30 Apr 2021 11:23:01 -0400 Subject: [PATCH] feat: add _hooks metadata object to all hooks that have object-type params --- src/plugins/hooks.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/plugins/hooks.js b/src/plugins/hooks.js index 59f904d186..b7dc59742f 100644 --- a/src/plugins/hooks.js +++ b/src/plugins/hooks.js @@ -96,6 +96,17 @@ Hooks.fire = async function (hook, params) { winston.warn(`[plugins] Unknown hookType: ${hookType}, hook : ${hook}`); return; } + + if (params === undefined) { // can't be simpler falsy check, empty strings can be passed e.g. filter:parse.raw + params = {}; + } + if (typeof params === 'object') { + params._hook = Object.freeze({ + name: hook, + type: hookType, + listeners: hookList && Array.isArray(hookList) ? hookList.length : 0, + }); + } const result = await hookTypeToMethod[hookType](hook, hookList, params); if (hook !== 'action:plugins.firehook' && hook !== 'filter:plugins.firehook') {