From 815651e3adf834246c785c259ca57503c5be04c3 Mon Sep 17 00:00:00 2001 From: Janne Savolainen Date: Tue, 29 Mar 2022 11:04:41 +0300 Subject: [PATCH] Switch to using competition for setupping IPC channel listeners Co-authored-by: Mikko Aspiala Signed-off-by: Janne Savolainen --- ...gister-ipc-channel-listeners.injectable.ts | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/renderer/ipc-channel-listeners/register-ipc-channel-listeners.injectable.ts b/src/renderer/ipc-channel-listeners/register-ipc-channel-listeners.injectable.ts index 9ce36a787b..10d6d0e26f 100644 --- a/src/renderer/ipc-channel-listeners/register-ipc-channel-listeners.injectable.ts +++ b/src/renderer/ipc-channel-listeners/register-ipc-channel-listeners.injectable.ts @@ -3,25 +3,26 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable } from "@ogre-tools/injectable"; -import { noop } from "lodash/fp"; import { ipcChannelListenerInjectionToken } from "./ipc-channel-listener-injection-token"; -import registerIpcChannelListenerInjectable - from "../app-paths/get-value-from-registered-channel/register-ipc-channel-listener.injectable"; +import registerIpcChannelListenerInjectable from "../app-paths/get-value-from-registered-channel/register-ipc-channel-listener.injectable"; +import { setupableInjectionToken } from "../../common/setupable-injection-token/setupable-injection-token"; const registerIpcChannelListenersInjectable = getInjectable({ id: "register-ipc-channel-listeners", - setup: async di => { - const registerIpcChannelListener = await di.inject(registerIpcChannelListenerInjectable); + instantiate: di => ({ + doSetup: async () => { + const registerIpcChannelListener = di.inject(registerIpcChannelListenerInjectable); - const listeners = await di.injectMany(ipcChannelListenerInjectionToken); + const listeners = di.injectMany(ipcChannelListenerInjectionToken); - listeners.forEach(listener => { - registerIpcChannelListener(listener); - }); - }, + listeners.forEach(listener => { + registerIpcChannelListener(listener); + }); + }, + }), - instantiate: () => noop, + injectionToken: setupableInjectionToken, }); export default registerIpcChannelListenersInjectable;