react-native-turbo-haptics
Version:
Fast, worklet-compatible haptic feedback for React Native
48 lines (45 loc) • 1.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.internalTrigger = exports.initTurboHaptics = void 0;
var _reactNative = require("react-native");
var _NativeTurboHaptics = _interopRequireDefault(require("./NativeTurboHaptics"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const noop = () => {
'worklet';
return;
};
const initTurboHaptics = () => {
// Check if already initialized
if (globalThis.createHapticFeedback == null) {
try {
let success = false;
const nativeModule = _reactNative.NativeModules.TurboHaptics;
if (_NativeTurboHaptics.default && typeof _NativeTurboHaptics.default.install === 'function') {
success = _NativeTurboHaptics.default.install();
} else if (nativeModule && typeof nativeModule.install === 'function') {
success = nativeModule.install();
}
if (!success) {
console.warn('TurboHaptics: Failed to initialize');
return null;
}
if (globalThis.createHapticFeedback == null) {
console.warn('TurboHaptics: Failed to create haptic feedback');
return null;
}
} catch (e) {
console.warn('TurboHaptics: Initialization failed:', e);
return null;
}
}
return globalThis.createHapticFeedback ? globalThis.createHapticFeedback() : null;
};
// Initialize module
exports.initTurboHaptics = initTurboHaptics;
const haptics = initTurboHaptics() || {
trigger: noop
};
const internalTrigger = exports.internalTrigger = haptics.trigger;
//# sourceMappingURL=initModule.js.map