UNPKG

@oieduardorabelo/use-user-agent

Version:

React Hooks to detect browsers user-agent using ua-parser-js as main dependency.

45 lines (37 loc) 945 B
import { useState, useEffect } from 'react'; import { UAParser } from 'ua-parser-js'; function useUserAgent(uastring) { if (uastring === void 0) { uastring = window.navigator.userAgent; } var _React$useState = useState(null), state = _React$useState[0], setState = _React$useState[1]; useEffect(function () { var didRun = true; try { var uaParser = new UAParser(); uaParser.setUA(uastring); var payload = { os: uaParser.getOS(), browser: uaParser.getBrowser(), cpu: uaParser.getCPU(), device: uaParser.getDevice(), engine: uaParser.getEngine() }; if (didRun) { setState(payload); } } catch (err) { if (didRun) { setState(null); } } return function () { didRun = false; }; }, [uastring]); return state; } export { useUserAgent }; //# sourceMappingURL=use-user-agent.esm.js.map