data-transport
data-transport copied to clipboard
A simple and responsible universal transport
data-transport
A simple and responsible transport
Support Transport
data-transport is a generic and responsible communication transporter
- iframe
- Broadcast
- Web Worker
- Service Worker
- Shared Worker
- Browser Extension
- Node.js
- WebRTC
- Electron
- More transport port
Usage
- Installation
yarn add data-transport
- Create transport in main page
import { createTransport } from 'data-transport';
const external = createTransport('IFrameMain');
external.listen('hello', async (num) => ({ text: `hello ${num}` }));
- Create transport in the iframe
import { createTransport } from 'data-transport'
const internal = createTransport('IFrameInternal');
expect(await internal.emit('hello', 42).toEqual({ text: 'hello 42' });
APIs
-
createTransport()Create a transport instance by transport options. -
mockPorts()Mock ports for testing. -
merge()Merge multiple transports into one transport.
Transport class
TransportMessageTransportIFrameMainTransportIFrameInternalTransportSharedWorkerMainTransportSharedWorkerInternalTransportServiceWorkerClientTransportServiceWorkerServiceTransportWorkerMainTransportWorkerInternalTransportBrowserExtensionsGenericTransportBrowserExtensionsMainTransportBrowserExtensionsClientTransportElectronMainTransportElectronRendererTransportWebRTCTransportBroadcastTransportMainProcessTransportChildProcessTransport