@react-native-oh-tpl/react-native-permissions
Version:
An unified permissions API for React Native on HarmonyOS
28 lines (22 loc) • 964 B
text/typescript
import {TurboModule, TurboModuleRegistry} from 'react-native';
type NotificationsResponse = {
status: Object;
settings: Object;
};
export interface Spec extends TurboModule {
check(permission: string): Promise<string>;
checkNotifications(): Promise<NotificationsResponse>;
getConstants(): {available?: string[]};
openSettings(): Promise<void>;
request(permission: string): Promise<string>;
requestNotifications(options: string[]): Promise<NotificationsResponse>;
// Android only part
checkMultiple(permissions: string[]): Promise<Object>;
requestMultiple(permissions: string[]): Promise<Object>;
shouldShowRequestRationale(permission: string): Promise<boolean>;
// iOS only part
checkLocationAccuracy(): Promise<string>;
openPhotoPicker(): Promise<boolean>;
requestLocationAccuracy(purposeKey: string): Promise<string>;
}
export default TurboModuleRegistry.getEnforcing<Spec>('RNPermissionsModule');