⬅️ Back to Table of Contents
📄 index.ts
📊 Analysis Summary
Metric |
Count |
🔧 Functions |
2 |
📦 Imports |
9 |
📊 Variables & Constants |
1 |
📐 Interfaces |
2 |
📑 Type Aliases |
3 |
📚 Table of Contents
🛠️ File Location:
📂 packages/core/usePermission/index.ts
📦 Imports
Name |
Source |
ComputedRef |
vue |
ShallowRef |
vue |
ConfigurableNavigator |
../_configurable |
createSingletonPromise |
@vueuse/shared |
shallowRef |
vue |
toRaw |
vue |
defaultNavigator |
../_configurable |
useEventListener |
../useEventListener |
useSupported |
../useSupported |
Variables & Constants
Name |
Type |
Kind |
Value |
Exported |
desc |
PermissionDescriptor |
const |
`typeof permissionDesc === 'string' |
|
? { name: permissionDesc } as PermissionDescriptor |
|
|
|
|
: permissionDesc as PermissionDescriptor` |
✗ |
|
|
|
Functions
usePermission(permissionDesc: GeneralPermissionDescriptor | GeneralPermissionDescriptor['name'], options: UsePermissionOptions<false>): UsePermissionReturn
Code
export function usePermission(
permissionDesc: GeneralPermissionDescriptor | GeneralPermissionDescriptor['name'],
options?: UsePermissionOptions<false>
): UsePermissionReturn
-
JSDoc:
/**
* Reactive Permissions API.
*
* @see https://vueuse.org/usePermission
*/
-
Parameters:
permissionDesc: GeneralPermissionDescriptor | GeneralPermissionDescriptor['name']
options: UsePermissionOptions<false>
- Return Type:
UsePermissionReturn
update(): void
Code
() => {
state.value = permissionStatus.value?.state ?? 'prompt'
}
Interfaces
UsePermissionOptions<Controls extends boolean>
Interface Code
export interface UsePermissionOptions<Controls extends boolean> extends ConfigurableNavigator {
/**
* Expose more controls
*
* @default false
*/
controls?: Controls
}
Properties
Name |
Type |
Optional |
Description |
controls |
Controls |
✓ |
|
UsePermissionReturnWithControls
Interface Code
export interface UsePermissionReturnWithControls {
state: UsePermissionReturn
isSupported: ComputedRef<boolean>
query: () => Promise<PermissionStatus | undefined>
}
Properties
Name |
Type |
Optional |
Description |
state |
UsePermissionReturn |
✗ |
|
isSupported |
ComputedRef<boolean> |
✗ |
|
query |
() => Promise<PermissionStatus | undefined> |
✗ |
|
Type Aliases
DescriptorNamePolyfill
type DescriptorNamePolyfill = 'accelerometer' |
'accessibility-events' |
'ambient-light-sensor' |
'background-sync' |
'camera' |
'clipboard-read' |
'clipboard-write' |
'gyroscope' |
'magnetometer' |
'microphone' |
'notifications' |
'payment-handler' |
'persistent-storage' |
'push' |
'speaker' |
'local-fonts';
GeneralPermissionDescriptor
type GeneralPermissionDescriptor = | PermissionDescriptor
| { name: DescriptorNamePolyfill };
UsePermissionReturn
type UsePermissionReturn = Readonly<ShallowRef<PermissionState | undefined>>;