Reimplement setup for system shutdown using runnables instead of non-OCP in index.ts

Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
This commit is contained in:
Janne SavolainenandMikko Aspiala committed 2022-05-11 08:18:36 +03:00
1 parent 2e6d54e3f9
commit 0bbc97e166
1 file changed
+28
@@ -0,0 +1,28 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
import { powerMonitor } from "electron";
import exitAppInjectable from "../../../app-paths/get-electron-app-path/electron-app/exit-app.injectable";
import { beforeApplicationIsReadyInjectionToken } from "../before-application-is-ready-injection-token";
const setupShutdownOfApplicationWhenSystemShutdownsInjectable = getInjectable({
id: "setup-shutdown-of-application-when-system-shutdowns",
instantiate: (di) => {
const exitApp = di.inject(exitAppInjectable);
return {
run: () => {
powerMonitor.on("shutdown", exitApp);
},
};
},
causesSideEffects: true,
injectionToken: beforeApplicationIsReadyInjectionToken,
});
export default setupShutdownOfApplicationWhenSystemShutdownsInjectable;