UNPKG

@ayanaware/bento

Version:

Modular runtime framework designed to solve complex tasks

35 lines (34 loc) 1.21 kB
import type { PluginAPI } from '../api/PluginAPI'; import type { Component } from './Component'; import type { EntityType } from './Entity'; import { Entity } from './Entity'; export interface Plugin extends Entity { type?: EntityType.PLUGIN; api?: PluginAPI; /** Lifecycle: Called right before Component is fully loaded */ onLoad?(api?: PluginAPI): Promise<unknown>; /** * Plugin Lifecycle Hook, Plugin unload */ onUnload?(): Promise<unknown>; /** * Component Lifecycle Hook, Called prior to component onLoad * @param component Component */ onPreComponentLoad?(component: Component): Promise<unknown>; /** * Component Lifecycle Hook, Called prior to the component onUnload * @param component Component */ onPreComponentUnload?(component: Component): Promise<unknown>; /** * Component Lifecycle Hook, Called after component onLoad * @param component Component */ onPostComponentLoad?(component: Component): Promise<unknown>; /** * Component Lifecycle Hook, Called after component onUnload * @param component Component */ onPostComponentUnload?(component: Component): Promise<unknown>; }