@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
26 lines (25 loc) • 1.17 kB
TypeScript
import { PolyEngine } from '../../../Poly';
import { PolyPluginData, PolyPluginInterface } from './Plugin';
import { BaseNodeConstructor, BaseOperationConstructor } from '../nodes/NodesRegister';
import { PolyDictionary } from '../../../../types/GlobalTypes';
export interface PluginsRegisterData {
plugins: PolyDictionary<PolyPluginData>;
nodes: PolyDictionary<PolyDictionary<string>>;
operations: PolyDictionary<PolyDictionary<string>>;
}
export type WrapConfigurePolygonjsCallback = () => void | Promise<void>;
export declare class PluginsRegister {
private poly;
private _configurePolygonjsPlugin;
private _currentPlugin;
private _pluginsByName;
private _pluginNameByNodeContextByType;
private _pluginNameByOperationContextByType;
constructor(poly: PolyEngine);
wrapConfigurePolygonjs(callback: WrapConfigurePolygonjsCallback): Promise<void>;
register(plugin: PolyPluginInterface): void;
pluginByName(pluginName: string): PolyPluginInterface | undefined;
registerNode(node: BaseNodeConstructor): void;
registerOperation(operation: BaseOperationConstructor): void;
toJson(): PluginsRegisterData;
}