Skip to main content

@exodus/window-rpc-transport

This package creates a bidirectional multiplexed transport that works over Window's postMessage.

Supports:

  • window.postMessage(...)
  • window.ReactNativeWebView.postMessage(...)

Usage

const { createWindowRpcTransport } = require('@exodus/window-rpc-transport')

// Create transport.
const transport = createWindowRpcTransport({
name: 'provider-window', // sender name, used to filter messages
target: 'provider', // intended recipient channel called 'provider'
})

// Send a message to the target 'provider'
transport.write({ hi: 'there' })

// Only emits when a message is for the recipient 'provider-window'
// eventName is not supported in this context.
transport.on(null, (data) => {
console.log(data)
})