Skip to content

⬅️ 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'
  }
  • Return Type: void

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>>;