/** * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable"; import { AppPaths, appPathsInjectionToken, appPathsIpcChannel } from "../../common/app-paths/app-path-injection-token"; import getValueFromRegisteredChannelInjectable from "./get-value-from-registered-channel/get-value-from-registered-channel.injectable"; let syncAppPaths: AppPaths; const appPathsInjectable = getInjectable({ setup: async (di) => { const getValueFromRegisteredChannel = di.inject( getValueFromRegisteredChannelInjectable, ); syncAppPaths = await getValueFromRegisteredChannel(appPathsIpcChannel); }, instantiate: () => syncAppPaths, injectionToken: appPathsInjectionToken, lifecycle: lifecycleEnum.singleton, }); export default appPathsInjectable;