UNPKG

piral-base

Version:

The base library for creating a Piral instance.

58 lines (54 loc) 1.56 kB
/** * Gets fired when a pilet gets unloaded. */ export interface PiralUnloadPiletEvent { /** * The name of the pilet to be unloaded. */ name: string; } /** * The map of known Piral app shell events. */ export interface PiralEventMap { 'unload-pilet': PiralUnloadPiletEvent; [custom: string]: any; } /** * Listener for Piral app shell events. */ export interface Listener<T> { /** * Receives an event of type T. */ (arg: T): void; } /** * The emitter for Piral app shell events. */ export interface EventEmitter { /** * Attaches a new event listener. * @param type The type of the event to listen for. * @param callback The callback to trigger. */ on<K extends keyof PiralEventMap>(type: K, callback: Listener<PiralEventMap[K]>): EventEmitter; /** * Attaches a new event listener that is removed once the event fired. * @param type The type of the event to listen for. * @param callback The callback to trigger. */ once<K extends keyof PiralEventMap>(type: K, callback: Listener<PiralEventMap[K]>): EventEmitter; /** * Detaches an existing event listener. * @param type The type of the event to listen for. * @param callback The callback to trigger. */ off<K extends keyof PiralEventMap>(type: K, callback: Listener<PiralEventMap[K]>): EventEmitter; /** * Emits a new event with the given type. * @param type The type of the event to emit. * @param arg The payload of the event. */ emit<K extends keyof PiralEventMap>(type: K, arg: PiralEventMap[K]): EventEmitter; }