All checks were successful
ci/woodpecker/push/ci Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com> Co-committed-by: Jason Woltje <jason@diversecanvas.com>
21 lines
587 B
TypeScript
21 lines
587 B
TypeScript
export interface MosaicPlugin {
|
|
/** Called when the plugin is loaded/reloaded */
|
|
onLoad(): Promise<void>;
|
|
|
|
/** Called before the plugin is unloaded during reload */
|
|
onUnload(): Promise<void>;
|
|
|
|
/** Plugin identifier for registry */
|
|
readonly pluginName: string;
|
|
}
|
|
|
|
export function isMosaicPlugin(obj: unknown): obj is MosaicPlugin {
|
|
return (
|
|
typeof obj === 'object' &&
|
|
obj !== null &&
|
|
typeof (obj as MosaicPlugin).onLoad === 'function' &&
|
|
typeof (obj as MosaicPlugin).onUnload === 'function' &&
|
|
typeof (obj as MosaicPlugin).pluginName === 'string'
|
|
);
|
|
}
|