UNPKG

@sv-use/core

Version:

A collection of Svelte 5 utilities.

17 lines (16 loc) 1.12 kB
type ExtendedPermissionName = PermissionName | 'accelerometer' | 'accessibility-events' | 'ambient-light-sensor' | 'background-sync' | 'camera' | 'clipboard-read' | 'clipboard-write' | 'gyroscope' | 'magnetometer' | 'microphone' | 'payment-handler' | 'speaker' | 'local-fonts'; export type ExtendedPermissionDescriptor = PermissionDescriptor | { name: ExtendedPermissionName; }; type GetPermissionOptions<ExposeControls extends boolean> = { exposeControls?: ExposeControls; }; type GetPermissionReturn = Readonly<PermissionState>; type GetPermissionReturnWithControls = { readonly isSupported: boolean; readonly current: PermissionState; query: () => Promise<PermissionStatus>; }; export declare function getPermission(nameOrDesc: ExtendedPermissionName | ExtendedPermissionDescriptor): GetPermissionReturn; export declare function getPermission<ExposeControls extends boolean = false>(nameOrDesc: ExtendedPermissionName | ExtendedPermissionDescriptor, options: GetPermissionOptions<ExposeControls>): ExposeControls extends true ? GetPermissionReturnWithControls : GetPermissionReturn; export {};