From 2e5dd0bef8797dad82e5a908c30bc126cb924033 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 24 Jan 2023 13:42:55 +0100 Subject: [PATCH] Handle hook with Promise as result --- client/src/root-helpers/plugins-manager.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/client/src/root-helpers/plugins-manager.ts b/client/src/root-helpers/plugins-manager.ts index 6c64e2b01..31510d4e6 100644 --- a/client/src/root-helpers/plugins-manager.ts +++ b/client/src/root-helpers/plugins-manager.ts @@ -105,11 +105,16 @@ class PluginsManager { } } - async runHook (hookName: ClientHookName, result?: T, params?: any) { - if (!this.hooks[hookName]) return result + async runHook (hookName: ClientHookName, resultArg?: T | Promise, params?: any) { + if (!this.hooks[hookName]) { + // eslint-disable-next-line no-return-await + return await resultArg + } const hookType = getHookType(hookName) + let result = await resultArg + for (const hook of this.hooks[hookName]) { logger.info(`Running hook ${hookName} of plugin ${hook.plugin.name}`)