UNPKG

rn-wifi-p2p

Version:

React Native module for Android P2P communication using Wi-Fi Direct.

59 lines (58 loc) 1.56 kB
"use strict"; import NativeRnWifiP2P from '../NativeRnWifiP2P'; import { WifiP2PError } from "../errors/index.js"; import { subscribeOnMessageReceived } from "../events/index.js"; export const sendMessage = async message => { try { return await NativeRnWifiP2P.sendMessage(message); } catch (error) { throw WifiP2PError.fromNativeError(error); } }; export const sendMessageTo = async (message, address) => { try { return await NativeRnWifiP2P.sendMessageTo(message, address); } catch (error) { throw WifiP2PError.fromNativeError(error); } }; export const startReceivingMessage = async (props, callback, { parse, useJson } = {}) => { try { await NativeRnWifiP2P.startReceivingMessage(props); let remove; if (callback) { const subscription = subscribeOnMessageReceived(data => { let message; if (parse) { message = parse(data.message); } else if (useJson) { message = JSON.parse(data.message); } else { message = data.message; } callback({ ...data, message }); }); remove = subscription.remove; } return () => { NativeRnWifiP2P.stopReceivingMessage(); if (remove) remove(); }; } catch (error) { throw WifiP2PError.fromNativeError(error); } }; export const stopReceivingMessage = () => { try { return NativeRnWifiP2P.stopReceivingMessage(); } catch (error) { throw WifiP2PError.fromNativeError(error); } }; //# sourceMappingURL=message.js.map