mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
- Bundled extensions are always enabled, and are always compatible - Have bundled extensions be loaded asyncronously to support typescript dynamic import (which is typed) as opposed to require Signed-off-by: Sebastian Malton <sebastian@malton.name>
18 lines
838 B
TypeScript
18 lines
838 B
TypeScript
/**
|
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
|
*/
|
|
|
|
import { getInjectionToken } from "@ogre-tools/injectable";
|
|
import type { BundledInstalledExtension, ExternalInstalledExtension } from "../extension-discovery/extension-discovery";
|
|
import type { BundledLensExtensionContructor, LensExtension, LensExtensionConstructor } from "../lens-extension";
|
|
|
|
export interface CreateExtensionInstance {
|
|
(ExtensionClass: LensExtensionConstructor, extension: ExternalInstalledExtension): LensExtension;
|
|
(ExtensionClass: BundledLensExtensionContructor, extension: BundledInstalledExtension): LensExtension;
|
|
}
|
|
|
|
export const createExtensionInstanceInjectionToken = getInjectionToken<CreateExtensionInstance>({
|
|
id: "create-extension-instance-token",
|
|
});
|