"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var react_1 = require("react"); var isVibrationApiSupported = typeof navigator === 'object' && 'vibrate' in navigator; var useVibrateMock = function () { }; function useVibrate(enabled, pattern, loop) { if (enabled === void 0) { enabled = true; } if (pattern === void 0) { pattern = [1000, 1000]; } if (loop === void 0) { loop = true; } react_1.useEffect(function () { var interval; if (enabled) { navigator.vibrate(pattern); if (loop) { var duration = pattern instanceof Array ? pattern.reduce(function (a, b) { return a + b; }) : pattern; interval = setInterval(function () { navigator.vibrate(pattern); }, duration); } } return function () { if (enabled) { navigator.vibrate(0); if (loop) { clearInterval(interval); } } }; }, [enabled]); } exports.default = isVibrationApiSupported ? useVibrate : useVibrateMock;