rn-wifi-p2p
Version:
React Native module for Android P2P communication using Wi-Fi Direct.
59 lines (58 loc) • 1.56 kB
JavaScript
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
;