@aptpod/data-viz-visual-parts-sdk
Version:
Visual Parts SDK for VM2M Data Visualizer
41 lines • 1.22 kB
JavaScript
import { createPluginsKey } from '../namespace';
import { getValue } from '../window';
import { validate } from '../plugin';
import { ScriptLoader } from './script-loader';
/** @internal */
export class Dispatcher {
constructor() {
this.dispose = () => {
this.scriptLoader.dispose();
this.plugins.length = 0;
};
this.load = async ({ scriptURL, }) => {
const loadedRes = await this.scriptLoader.load(scriptURL);
if (!loadedRes) {
return {
succeed: false,
error: new Error('load error'),
};
}
const pluginsKey = createPluginsKey();
const plugins = parsePlugins(getValue(pluginsKey));
this.plugins = plugins;
return {
succeed: true,
data: undefined,
};
};
this.getPlugins = () => {
return this.plugins;
};
this.scriptLoader = new ScriptLoader();
this.plugins = [];
}
}
const parsePlugins = (plugins) => {
if (validate(plugins)) {
return plugins;
}
return [];
};
//# sourceMappingURL=index.js.map