UNPKG

react-use-navigator-permissions

Version:

[![Build Status](https://github.com/JamesIves/react-use-navigator-permissions/workflows/unit-tests/badge.svg)](https://github.com/JamesIves/react-use-navigator-permissions/actions) [![Codecov Coverage](https://codecov.io/gh/JamesIves/react-use-navigator-p

61 lines (49 loc) 1.49 kB
'use strict'; 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