react-use-navigator-permissions
Version:
[](https://github.com/JamesIves/react-use-navigator-permissions/actions) [ • 1.49 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var react = require('react');
function _extends() {
_extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
return _extends.apply(this, arguments);
}
var useNavigatorPermissions = function useNavigatorPermissions(
/** The name of the API you'd like to query. */
name,
/** Reference: https://developer.mozilla.org/en-US/docs/Web/API/Permissions/query */
configuration) {
var _useState = react.useState(false),
error = _useState[0],
setError = _useState[1];
var _useState2 = react.useState(''),
permitted = _useState2[0],
setPermitted = _useState2[1];
react.useEffect(function () {
if (typeof window === 'undefined') {
return;
}
if (window.navigator && window.navigator.permissions) {
window.navigator.permissions.query(_extends({
name: name
}, configuration)).then(function (status) {
setPermitted(status.state);
});
} else {
setError(true);
}
}, [name, configuration]);
return {
status: permitted,
error: error
};
};
exports.default = useNavigatorPermissions;
//# sourceMappingURL=react-use-navigator-permissions.cjs.development.js.map