UNPKG

react-native-permissions

Version:

An unified permissions API for React Native on iOS, Android and Windows

30 lines (24 loc) 1.16 kB
import {TurboModule, TurboModuleRegistry} from 'react-native'; type NotificationsResponse = { status: Object; settings: Object; }; export interface Spec extends TurboModule { checkNotifications(): Promise<NotificationsResponse>; openSettings(): Promise<void>; // Android only part checkMultiplePermissions(permissions: string[]): Promise<Object>; checkPermission(permission: string): Promise<string>; requestMultiplePermissions(permissions: string[]): Promise<Object>; requestPermission(permission: string): Promise<string>; shouldShowRequestPermissionRationale(permission: string): Promise<boolean>; // iOS only part check(permission: string): Promise<string>; // TODO: should be number prolly checkLocationAccuracy(): Promise<string>; getConstants(): {available?: string[]}; openLimitedPhotoLibraryPicker(): Promise<boolean>; request(permission: string): Promise<string>; // TODO: should be number prolly requestLocationAccuracy(purposeKey: string): Promise<string>; requestNotifications(options: string[]): Promise<NotificationsResponse>; } export default TurboModuleRegistry.getEnforcing<Spec>('RNPermissionsModule');