@oieduardorabelo/use-user-agent
Version:
React Hooks to detect browsers user-agent using ua-parser-js as main dependency.
49 lines (39 loc) • 1.05 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
var UAParser = require('ua-parser-js');
function useUserAgent(uastring) {
if (uastring === void 0) {
uastring = window.navigator.userAgent;
}
var _React$useState = React.useState(null),
state = _React$useState[0],
setState = _React$useState[1];
React.useEffect(function () {
var didRun = true;
try {
var uaParser = new UAParser.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;
}
exports.useUserAgent = useUserAgent;
//# sourceMappingURL=use-user-agent.cjs.development.js.map