mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Adapt to changes in injectable
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com> Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
This commit is contained in:
1 parent
8a78c73e19
commit
6f0686e9a4
31 files changed
+237
-325
No files matched your search
@@ -18,24 +18,20 @@
|
||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
import { Injectable, lifecycleEnum } from "@ogre-tools/injectable";
|
||||
import { computed, IComputedValue } from "mobx";
|
||||
import type { LensMainExtension } from "../../extensions/lens-main-extension";
|
||||
import extensionsInjectable from "../../extensions/extensions.injectable";
|
||||
import type { MenuRegistration } from "./menu-registration";
|
||||
import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable";
|
||||
import { computed } from "mobx";
|
||||
import mainExtensionsInjectable from "../../extensions/main-extensions.injectable";
|
||||
|
||||
const electronMenuItemsInjectable: Injectable<
|
||||
IComputedValue<MenuRegistration[]>,
|
||||
{ extensions: IComputedValue<LensMainExtension[]> }
|
||||
> = {
|
||||
const electronMenuItemsInjectable = getInjectable({
|
||||
lifecycle: lifecycleEnum.singleton,
|
||||
|
||||
getDependencies: di => ({
|
||||
extensions: di.inject(extensionsInjectable),
|
||||
}),
|
||||
instantiate: (di) => {
|
||||
const extensions = di.inject(mainExtensionsInjectable);
|
||||
|
||||
instantiate: ({ extensions }) =>
|
||||
computed(() => extensions.get().flatMap(extension => extension.appMenus)),
|
||||
};
|
||||
return computed(() =>
|
||||
extensions.get().flatMap((extension) => extension.appMenus),
|
||||
);
|
||||
},
|
||||
});
|
||||
|
||||
export default electronMenuItemsInjectable;
|
||||
@@ -24,8 +24,8 @@ import electronMenuItemsInjectable from "./electron-menu-items.injectable";
|
||||
import type { IComputedValue } from "mobx";
|
||||
import { computed, ObservableMap, runInAction } from "mobx";
|
||||
import type { MenuRegistration } from "./menu-registration";
|
||||
import extensionsInjectable from "../../extensions/extensions.injectable";
|
||||
import { getDiForUnitTesting } from "../getDiForUnitTesting";
|
||||
import mainExtensionsInjectable from "../../extensions/main-extensions.injectable";
|
||||
|
||||
describe("electron-menu-items", () => {
|
||||
let di: ConfigurableDependencyInjectionContainer;
|
||||
@@ -38,8 +38,8 @@ describe("electron-menu-items", () => {
|
||||
extensionsStub = new ObservableMap();
|
||||
|
||||
di.override(
|
||||
extensionsInjectable,
|
||||
computed(() => [...extensionsStub.values()]),
|
||||
mainExtensionsInjectable,
|
||||
() => computed(() => [...extensionsStub.values()]),
|
||||
);
|
||||
|
||||
electronMenuItems = di.inject(electronMenuItemsInjectable);
|
||||
|
||||
+7
-13
@@ -18,23 +18,17 @@
|
||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
import type { Injectable } from "@ogre-tools/injectable";
|
||||
import { lifecycleEnum } from "@ogre-tools/injectable";
|
||||
import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable";
|
||||
import extensionLoaderInjectable from "../../../extensions/extension-loader/extension-loader.injectable";
|
||||
import type { Dependencies } from "./lens-protocol-router-main";
|
||||
import { LensProtocolRouterMain } from "./lens-protocol-router-main";
|
||||
|
||||
const lensProtocolRouterMainInjectable: Injectable<
|
||||
LensProtocolRouterMain,
|
||||
Dependencies
|
||||
> = {
|
||||
getDependencies: di => ({
|
||||
extensionLoader: di.inject(extensionLoaderInjectable),
|
||||
}),
|
||||
|
||||
instantiate: dependencies => new LensProtocolRouterMain(dependencies),
|
||||
const lensProtocolRouterMainInjectable = getInjectable({
|
||||
instantiate: (di) =>
|
||||
new LensProtocolRouterMain({
|
||||
extensionLoader: di.inject(extensionLoaderInjectable),
|
||||
}),
|
||||
|
||||
lifecycle: lifecycleEnum.singleton,
|
||||
};
|
||||
});
|
||||
|
||||
export default lensProtocolRouterMainInjectable;
|
||||
Reference in new issue
Block a user