UNPKG

@foxpage/foxpage-types

Version:

foxpage sdk types

23 lines (22 loc) 1.24 kB
import { FoxpageHooks } from '../../hook'; import { ManagerBase } from '../main'; import { FPPackage, FPPackageResponse, PackageFetchOption, PackageFreshOption, PackageNamedVersion, PrePackage } from '../package'; export interface PluginManager { loadPlugins(): void; getPlugins(): string[]; hasPlugin(name: string): boolean; getHooks(mode?: number): FoxpageHooks | undefined; destroy(): void; } export interface CSRPluginManager<T = FPPackage> extends ManagerBase<T> { addPlugin(content: FPPackage): PrePackage | null; removePlugins(names: string[]): void; getPlugin(name: string, version?: string): Promise<PrePackage | undefined>; getPlugins(names: string[]): Promise<PrePackage[]>; getPluginsById(ids: string[]): Promise<PrePackage[]>; getPluginSync(name: string, version?: string): PrePackage | null; getLocalPlugin(name: string, version?: string): Promise<PrePackage | null>; freshPlugins(params?: PackageFreshOption): Promise<PrePackage[]>; fetchPlugins(packageIds?: string[], opt?: Pick<PackageFreshOption, 'strategy'>): Promise<FPPackage[]>; fetchPluginsByNamedVersions(nameVersions: PackageNamedVersion[], opt?: PackageFetchOption): Promise<FPPackageResponse[]>; }