UNPKG

computers

Version:
30 lines (27 loc) 908 B
import { createTransport, call } from '../chunk-BUCQFDXC.js'; // src/transports/web.ts var MESSAGE_SOURCE_NAMESPACE = "::computers::"; function web({ target, self }, api = {}) { return createTransport({ call: (path, args) => call(api, path, args), send: (message) => { return target.postMessage({ source: MESSAGE_SOURCE_NAMESPACE, payload: message }); }, subscribe: (notify) => { const onMessage = (event) => { if (!event.data) return; if (typeof event.data !== "object" || event.data === null) return; if (!("source" in event.data) || event.data.source !== MESSAGE_SOURCE_NAMESPACE) return; notify(event.data.payload); }; self.addEventListener("message", onMessage); return () => { self.removeEventListener("message", onMessage); }; } }); } export { MESSAGE_SOURCE_NAMESPACE, web };