UNPKG

paraview-lite

Version:

Lite ParaView client for Scientific Visualization on the Web

55 lines (48 loc) 1.38 kB
import ColorManager from './ColorManager'; import FileListing from './FileListing'; import KeyValuePairStore from './KeyValuePairStore'; import MouseHandler from './MouseHandler'; import ProgressUpdate from './ProgressUpdate'; import ProxyManager from './ProxyManager'; import SaveData from './SaveData'; import TimeHandler from './TimeHandler'; import ViewPort from './ViewPort'; import ViewPortGeometryDelivery from './ViewPortGeometryDelivery'; import ViewPortImageDelivery from './ViewPortImageDelivery'; import VtkGeometryDelivery from './VtkGeometryDelivery'; import VtkImageDelivery from './VtkImageDelivery'; const protocolsMap = { ColorManager, FileListing, KeyValuePairStore, MouseHandler, ProgressUpdate, ProxyManager, SaveData, TimeHandler, ViewPort, ViewPortGeometryDelivery, ViewPortImageDelivery, VtkGeometryDelivery, VtkImageDelivery, }; export function createClient(connection, protocols = [], customProtocols = {}) { const session = connection.getSession(); const result = { connection, session, }; let count = protocols.length; while (count) { count -= 1; const name = protocols[count]; result[name] = protocolsMap[name](session); } Object.keys(customProtocols).forEach((key) => { result[key] = customProtocols[key](session); }); return result; } export default { createClient, };