UNPKG

@indoor-track/ibeacon

Version:

Uma biblioteca React Native que fornece APIs nativas para escanear, detectar e obter informações de dispositivos iBeacon via Bluetooth Low Energy...

33 lines (26 loc) 923 B
import { TurboModuleRegistry, NativeEventEmitter, NativeModules, Platform, } from 'react-native'; import type { TurboModule } from 'react-native'; export interface IbeaconConfig { scanDuration?: number; // em milissegundos } export interface Spec extends TurboModule { multiply(a: number, b: number): Promise<number>; startScan(config?: IbeaconConfig): Promise<string>; stopScan(): Promise<null>; checkPermissions(): Promise<boolean>; isBleSupported(): Promise<boolean>; } // TurboModule seguro const Ibeacon: Spec = TurboModuleRegistry.getEnforcing<Spec>('Ibeacon'); // ✅ NativeEventEmitter espera um objeto com `addListener/removeListener` const emitterSource = Platform.OS === 'android' ? NativeModules.Ibeacon || Ibeacon : NativeModules.Ibeacon; // iOS usa NativeModules diretamente export const IbeaconEventEmitter = new NativeEventEmitter(emitterSource); export default Ibeacon;