@agent/walkie-talkie

0.1.0 • Public • Published

Walkie Talkie

Communicate Between React Native Web Views and Mobile Web Apps

npm i @agent/walkie-talkie

Usage in Native

import { NativeWalkieTalkie } from '@agent/walkie-talkie'

const walkieTalkie = new NativeWalkieTalkie({ logs: true })

walkieTalkie.onMessages(async (message) => {
    switch (message.type) {
        case 'NATIVE/ALERT': {
            return await new Promise((resolve, reject) => {
                Alert.alert(
                    message.message,
                    '',
                    [
                        {text: 'Yes', onPress: () => resolve(message)},
                        {text: 'No', onPress: reject},
                    ]
                )
            })
        }
        default:
            return message
    }

})

Usage in Web

import { WebWalkieTalkie } from '@agent/walkie-talkie'

const walkieTalkie = new WebWalkieTalkie({ logs: true })

walkieTalkie.onReady(() => {
    walkieTalkie.send({ type: 'NATIVE/ALERT', message: 'Hello from Web' })
        .then(() => walkieTalkie.sendLog('accepted alert'))
        .catch(() => walkieTalkie.sendLog('rejected alert'))
})

// This will be inside a middleware so it can dispatch.
walkieTalkie.onMessages((message) => {
    switch (message.type) {
        case 'NOTIFICATION':

            dispatch(actions.showNotification({ message }))

            return {
                ...message,
                testing: 123,
            }
        default:
            return message
    }

})

Methods

  • onReady(cb) callback fires when each bridge is ready
  • onMessages(cb) callback fires whenever there is a message from the other bridge
  • send(action) send an action to the other bridge

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
0.1.00latest

Version History

VersionDownloads (Last 7 Days)Published
0.1.00

Package Sidebar

Install

npm i @agent/walkie-talkie

Weekly Downloads

0

Version

0.1.0

License

MIT

Unpacked Size

1.12 MB

Total Files

308

Last publish

Collaborators

  • case
  • agent-owner