permissions
Query and watch permission status via the Permissions API.
Import: @rtorcato/browser-common/permissions
๐ MDN: Permissions API ยท ๐ caniuse: permissions-api
Query only; support varies by permission name.
Browser supportโ
| API | Chrome | Edge | Firefox | Safari | iOS Safari | Baseline |
|---|---|---|---|---|---|---|
Permissions.query | โ 43+ | โ 79+ | โ 46+ | โ 16+ | โ 16+ | Widely available |
โ
supported ยท โ partial ยท โ not supported ยท [n] see note. Generated from MDN browser-compat-data and web-features. caniuse: Permissions.query
Exampleโ
import { isPermissionsApiAvailable, queryPermission, onPermissionChange } from '@rtorcato/browser-common/permissions'
if (isPermissionsApiAvailable()) {
const state = await queryPermission('geolocation')
const status = await navigator.permissions.query({ name: 'geolocation' })
const off = onPermissionChange(status, () => console.log(status.state))
off()
}
Exportsโ
isPermissionsApiAvailable()โ feature checkqueryPermission(name)โ resolves a permission's state ('granted' | 'denied' | 'prompt'), orundefinedif unsupportedonPermissionChange(status, callback)โ subscribes to aPermissionStatuschange event, returns an unsubscribe function
See the API reference for full signatures.