UNPKG

@reactant/types

Version:
38 lines (37 loc) 1.21 kB
import { ActionResult, Api, Context, Config, Logger } from '.'; export declare type PluginAction = (context: Context, logger: Logger, platformApi: Api) => Promise<ActionResult>; export interface PluginActions { [key: string]: PluginAction; } export interface Plugin { actions?: PluginActions; config?: ModifyPluginConfigFunction; defaultOptions?: Partial<PluginOptions>; disabledPlatforms?: string[] | Set<string>; name?: string; supportedPlatforms?: string[] | Set<string>; } export interface LoadedPlugin { actions: PluginActions; config: ModifyPluginConfigFunction; disabledPlatforms: Set<string>; moduleName: string; name: string; options: PluginOptions; path: string; supportedPlatforms: Set<string>; } export interface LoadedPlugins { [key: string]: LoadedPlugin; } export interface Plugins { [key: string]: Plugin; } export declare type PluginOption = any; export interface PluginOptions { [key: string]: PluginOption; } export interface PluginsOptions { [key: string]: PluginOptions; } export declare type ModifyPluginConfigFunction = (config: Partial<Config>, context: Context, options: PluginOptions) => Partial<Config>;