UNPKG

react-native-tone-framework

Version:

TONE Telegenics is a TONE-Enabled content sharing and streaming platform for businesses to exchange marketing and mobile engagement concepts

116 lines (115 loc) 3.45 kB
"use strict"; import { NativeModules, NativeEventEmitter, Platform } from 'react-native'; import { locationPermission, microphonePermission, notificationPermission } from './permissions'; const LINKING_ERROR = `The package 'react-native-tone-framework' doesn't seem to be linked. Make sure: \n\n` + Platform.select({ ios: "- You have run 'pod install'\n", default: '' }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n'; const ToneFrameworkModule = NativeModules.ToneFrameworkModule ? NativeModules.ToneFrameworkModule : new Proxy({}, { get() { throw new Error(LINKING_ERROR); } }); const eventEmitter = new NativeEventEmitter(ToneFrameworkModule); if (!ToneFrameworkModule) { throw new Error(LINKING_ERROR); } export function initFramework(apiKey) { ToneFrameworkModule.initFramework(apiKey); } export async function requestPermission() { await locationPermission(); await microphonePermission(); await notificationPermission(); } export function setClientID(clientID) { ToneFrameworkModule.setClientID(clientID); } export function onToneDetected(response) { ToneFrameworkModule.onToneDetected(response); } export function start() { if (Platform.OS === 'ios') { ToneFrameworkModule.start(); } else { ToneFrameworkModule.start(); } } export function stop() { if (Platform.OS === 'ios') { ToneFrameworkModule.stop(); } else { ToneFrameworkModule.stop(); } } export function restart() { if (Platform.OS === 'ios') { ToneFrameworkModule.restart(); } else { ToneFrameworkModule.restart(); } } export function enableOfflineMode() { if (Platform.OS === 'ios') { ToneFrameworkModule.enableOfflineMode(); } else { ToneFrameworkModule.enableOfflineMode(); } } export function disableOfflineMode() { if (Platform.OS === 'ios') { ToneFrameworkModule.disableOfflineMode(); } else { ToneFrameworkModule.disableOfflineMode(); } } export function downloadOfflineData() { ToneFrameworkModule.downloadOfflineData(); } export function deleteOfflineData() { if (Platform.OS === 'ios') { ToneFrameworkModule.deleteOfflineData(); } else { ToneFrameworkModule.deleteOfflineData(); } } export function startReceiver() { if (Platform.OS === 'android') { ToneFrameworkModule.startReceiver(); } } export function stopReceiver() { if (Platform.OS === 'android') { ToneFrameworkModule.stopReceiver(); } } export function enableAppleExclusivePermission() { if (Platform.OS === 'ios') { ToneFrameworkModule.enableWifiDetection(); ToneFrameworkModule.enableBluetoothDetection(); ToneFrameworkModule.enableCarrierDetection(); } } export function disableAppleExclusivePermission() { if (Platform.OS === 'ios') { ToneFrameworkModule.disableWifiDetection(); ToneFrameworkModule.disableBluetoothDetection(); ToneFrameworkModule.disableCarrierDetection(); } } export function setEnableToneTagSheet(isEnable) { if (Platform.OS === 'ios') { ToneFrameworkModule.setEnableToneTagSheet(isEnable); } } export const onToneReceived = callback => { return eventEmitter.addListener('onToneReceived', callback); }; export const onToneTag = callback => { return eventEmitter.addListener('onToneTag', callback); }; export function removeListeners() { eventEmitter.removeAllListeners('onToneReceived'); eventEmitter.removeAllListeners('onToneTag'); } //# sourceMappingURL=index.js.map