@react-native-oh-tpl/react-native-permissions
Version:
An unified permissions API for React Native on HarmonyOS
30 lines (28 loc) • 996 B
text/typescript
import type {
LocationAccuracy,
LocationAccuracyOptions,
NotificationOption,
NotificationsResponse,
Permission,
PermissionStatus,
Rationale,
} from './types';
export type Contract = {
check(permission: Permission): Promise<PermissionStatus>;
checkLocationAccuracy(): Promise<LocationAccuracy>;
checkNotifications(): Promise<NotificationsResponse>;
openPhotoPicker(): Promise<void>;
openSettings(): Promise<void>;
request(
permission: Permission,
rationale?: Rationale | (() => Promise<boolean>),
): Promise<PermissionStatus>;
requestLocationAccuracy(options: LocationAccuracyOptions): Promise<LocationAccuracy>;
requestNotifications(options: NotificationOption[]): Promise<NotificationsResponse>;
checkMultiple<P extends Permission[]>(
permissions: P,
): Promise<Record<P[number], PermissionStatus>>;
requestMultiple<P extends Permission[]>(
permissions: P,
): Promise<Record<P[number], PermissionStatus>>;
};