From b494eff7673d9d59d89a3136cb11c6681a168ad4 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Tue, 25 Apr 2023 12:05:12 -0400 Subject: [PATCH 1/2] chore: Add support for using injectionTokens in global overrides Signed-off-by: Sebastian Malton --- packages/core/src/main/getDiForUnitTesting.ts | 2 +- .../core/src/renderer/getDiForUnitTesting.tsx | 2 +- ...equest-channel-listener-injection-token.ts | 11 +++--- .../test-utils/src/get-global-override.ts | 37 +++++++++++++------ 4 files changed, 33 insertions(+), 19 deletions(-) diff --git a/packages/core/src/main/getDiForUnitTesting.ts b/packages/core/src/main/getDiForUnitTesting.ts index d128bb901c93..e6df09fdf5d4 100644 --- a/packages/core/src/main/getDiForUnitTesting.ts +++ b/packages/core/src/main/getDiForUnitTesting.ts @@ -57,7 +57,7 @@ export function getDiForUnitTesting() { }); for (const globalOverridePath of global.injectablePaths.main.globalOverridePaths) { - const globalOverride = require(globalOverridePath).default as GlobalOverride; + const globalOverride = require(globalOverridePath).default as GlobalOverride; di.override(globalOverride.injectable, globalOverride.overridingInstantiate); } diff --git a/packages/core/src/renderer/getDiForUnitTesting.tsx b/packages/core/src/renderer/getDiForUnitTesting.tsx index ff87ceafbd60..3e29b2939f4a 100644 --- a/packages/core/src/renderer/getDiForUnitTesting.tsx +++ b/packages/core/src/renderer/getDiForUnitTesting.tsx @@ -48,7 +48,7 @@ export const getDiForUnitTesting = () => { }); for (const globalOverridePath of global.injectablePaths.renderer.globalOverridePaths) { - const globalOverride = require(globalOverridePath).default as GlobalOverride; + const globalOverride = require(globalOverridePath).default as GlobalOverride; di.override(globalOverride.injectable, globalOverride.overridingInstantiate); } diff --git a/packages/technical-features/messaging/agnostic/src/features/actual/request/request-channel-listener-injection-token.ts b/packages/technical-features/messaging/agnostic/src/features/actual/request/request-channel-listener-injection-token.ts index 4491b14fe148..6caa95cc37b5 100644 --- a/packages/technical-features/messaging/agnostic/src/features/actual/request/request-channel-listener-injection-token.ts +++ b/packages/technical-features/messaging/agnostic/src/features/actual/request/request-channel-listener-injection-token.ts @@ -43,11 +43,12 @@ export const getRequestChannelListenerInjectable = < getInjectable({ id: `${info.channel.id}-request-listener-${info.id}`, - instantiate: (di) => ({ - id: `${info.channel.id}-request-listener-${info.id}`, - channel: info.channel, - handler: info.getHandler(di), - }), + instantiate: (di) => + ({ + id: `${info.channel.id}-request-listener-${info.id}`, + channel: info.channel, + handler: info.getHandler(di), + } as RequestChannelListener), injectionToken: requestChannelListenerInjectionToken, }); diff --git a/packages/utility-features/test-utils/src/get-global-override.ts b/packages/utility-features/test-utils/src/get-global-override.ts index c1902d60d71a..609e49ea7291 100644 --- a/packages/utility-features/test-utils/src/get-global-override.ts +++ b/packages/utility-features/test-utils/src/get-global-override.ts @@ -2,17 +2,30 @@ * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ -import type { Injectable, Instantiate } from "@ogre-tools/injectable"; +import type { Injectable, InjectionToken, Instantiate } from "@ogre-tools/injectable"; -export interface GlobalOverride { - injectable: Injectable; - overridingInstantiate: Instantiate; -} +export type GlobalOverride< + InjectionInstance extends InjectionTokenInstance, + InjectionTokenInstance, + InstantiationParam, +> = ReturnType>; -export const getGlobalOverride = ( - injectable: Injectable, - overridingInstantiate: (typeof injectable)["instantiate"], -) => ({ - injectable, - overridingInstantiate, -}); +export function getGlobalOverride< + InjectionInstance extends InjectionTokenInstance, + InjectionTokenInstance, + InstantiationParam, +>( + injectable: + | InjectionToken + | Injectable< + InjectionInstance, + InjectionTokenInstance, + InstantiationParam + >, + overridingInstantiate: Instantiate, +) { + return { + injectable, + overridingInstantiate, + }; +} From 493ccd68c9ff8380362e379cee77fa35408412d8 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Tue, 25 Apr 2023 14:03:01 -0400 Subject: [PATCH 2/2] chore: Update lock file Signed-off-by: Sebastian Malton --- package-lock.json | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1d7dcababffa..1ee3d18cb512 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35937,22 +35937,6 @@ "url": "https://github.com/sponsors/colinhacks" } }, - "packages/bump-version-for-cron": { - "name": "@k8slens/bump-version-for-cron", - "version": "6.5.0-alpha.4", - "license": "MIT", - "dependencies": { - "arg": "^5.0.2", - "semver": "^7.3.8" - }, - "devDependencies": { - "@swc/cli": "^0.1.62", - "@swc/core": "^1.3.53", - "@types/node": "^16.18.24", - "@types/semver": "^7.3.13", - "rimraf": "^4.4.1" - } - }, "packages/business-features/keyboard-shortcuts": { "name": "@k8slens/keyboard-shortcuts", "version": "1.0.0-alpha.3",