@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
JavaScript
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