UNPKG

drawio-mcp-server

Version:

Provides Draw.io services to MCP Clients

24 lines (23 loc) 880 B
import { bus_reply_stream, bus_request_stream, } from "./types.js"; export function create_bus(log) { return function (emitter) { const listeners = []; const bus = { send_to_extension: (request) => { log.debug(`[bus] sending to Extension`, request); emitter.emit(bus_request_stream, request); }, on_reply_from_extension: (event_name, reply) => { const listener = (emitter_data) => { log.debug(`[bus] received from Extension`, emitter_data); if (emitter_data && emitter_data.__event === event_name) { reply(emitter_data); } }; emitter.on(bus_reply_stream, listener); listeners.push(reply); }, }; return bus; }; }