UNPKG

computers

Version:
33 lines (29 loc) 993 B
'use strict'; var chunkS3XPJ4DD_cjs = require('../chunk-S3XPJ4DD.cjs'); // src/transports/web.ts var MESSAGE_SOURCE_NAMESPACE = "::computers::"; function web({ target, self }, api = {}) { return chunkS3XPJ4DD_cjs.createTransport({ call: (path, args) => chunkS3XPJ4DD_cjs.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); }; } }); } exports.MESSAGE_SOURCE_NAMESPACE = MESSAGE_SOURCE_NAMESPACE; exports.web = web;