Stop all extensions before quitting app (#7450)

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton authored and GitHub committed 2023-03-31 13:37:29 -04:00
1 parent 37c92c8fd1
commit a0fea20300
2 files changed
+29 -1

No files matched your search

@@ -0,0 +1,25 @@
/**
* 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 extensionInjectable from "../../../../extensions/extension-loader/extension/extension.injectable";
import extensionsInjectable from "../../../../extensions/extensions.injectable";
const stopAllExtensionsInjectable = getInjectable({
id: "stop-all-extensions",
instantiate: (di) => {
const extensionInstances = di.inject(extensionsInjectable);
return async () => {
for (const instance of extensionInstances.get()) {
const extension = di.inject(extensionInjectable, instance);
await instance.disable();
extension.deregister();
}
};
},
});
export default stopAllExtensionsInjectable;