UNPKG

react-native-turbo-haptics

Version:
48 lines (45 loc) 1.51 kB
import { NativeModules } from 'react-native'; import TurboHapticsModule from './NativeTurboHaptics'; const noop = () => { 'worklet'; return; }; export const initTurboHaptics = () => { // Check if already initialized if (global.createHapticFeedback == null) { try { let success = false; const module = NativeModules.TurboHaptics; // [Pre-0.74] Check for JSI environment and install bindings if (global.nativeCallSyncHook != null && module !== null && module !== void 0 && module.install) { success = module.install(); } // [RN 0.74+] Check for JSI environment and install bindings else if (global.__turboModuleProxy != null && TurboHapticsModule !== null) { try { success = TurboHapticsModule.install(); } catch (e) { console.warn('TurboHaptics: TurboModule not available:', e); } } if (!success) { console.warn('TurboHaptics: Failed to initialize'); return null; } if (global.createHapticFeedback == null) { console.warn('TurboHaptics: Failed to create haptic feedback'); return null; } } catch (e) { console.warn('TurboHaptics: Initialization failed:', e); return null; } } return global.createHapticFeedback ? global.createHapticFeedback() : null; }; // Initialize module const haptics = initTurboHaptics() || { trigger: noop }; export const internalTrigger = haptics.trigger; //# sourceMappingURL=initModule.js.map