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
-
Transport
-
MessageTransport
-
IFrameMainTransport
-
IFrameInternalTransport
-
SharedWorkerMainTransport
-
SharedWorkerInternalTransport
-
ServiceWorkerClientTransport
-
ServiceWorkerServiceTransport
-
WorkerMainTransport
-
WorkerInternalTransport
-
BrowserExtensionsGenericTransport
-
BrowserExtensionsMainTransport
-
BrowserExtensionsClientTransport
-
ElectronMainTransport
-
ElectronRendererTransport
-
WebRTCTransport
-
BroadcastTransport
-
MainProcessTransport
-
ChildProcessTransport