1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/packages/utility-features/test-utils/src/get-global-override.ts
Sebastian Malton 6ae078c91d chore: Add support for using injectionTokens in global overrides
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-04-25 14:27:30 -04:00

32 lines
936 B
TypeScript

/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import type { Injectable, InjectionToken, Instantiate } from "@ogre-tools/injectable";
export type GlobalOverride<
InjectionInstance extends InjectionTokenInstance,
InjectionTokenInstance,
InstantiationParam,
> = ReturnType<typeof getGlobalOverride<InjectionInstance, InjectionTokenInstance, InstantiationParam>>;
export function getGlobalOverride<
InjectionInstance extends InjectionTokenInstance,
InjectionTokenInstance,
InstantiationParam,
>(
injectable:
| InjectionToken<InjectionInstance, InstantiationParam>
| Injectable<
InjectionInstance,
InjectionTokenInstance,
InstantiationParam
>,
overridingInstantiate: Instantiate<InjectionInstance, InstantiationParam>,
) {
return {
injectable,
overridingInstantiate,
};
}