UNPKG

react-native-permissions

Version:

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

77 lines (76 loc) 2.43 kB
"use strict"; import { PERMISSIONS as PERMISSIONS_ANDROID } from "../permissions.android.js"; import { PERMISSIONS as PERMISSIONS_IOS } from "../permissions.ios.js"; import { PERMISSIONS as PERMISSIONS_WINDOWS } from "../permissions.windows.js"; import { RESULTS } from "../results.js"; export { RESULTS } from "../results.js"; export const PERMISSIONS = { ANDROID: PERMISSIONS_ANDROID.ANDROID, IOS: PERMISSIONS_IOS.IOS, WINDOWS: PERMISSIONS_WINDOWS.WINDOWS }; export const canScheduleExactAlarms = jest.fn(async () => true); export const canUseFullScreenIntent = jest.fn(async () => true); export const check = jest.fn(async () => RESULTS.GRANTED); export const checkLocationAccuracy = jest.fn(async () => 'full'); export const openPhotoPicker = jest.fn(async () => {}); export const openSettings = jest.fn(async () => {}); export const request = jest.fn(async () => RESULTS.GRANTED); export const requestLocationAccuracy = jest.fn(async () => 'full'); const notificationOptions = new Set(['alert', 'badge', 'sound', 'carPlay', 'criticalAlert', 'provisional', 'providesAppSettings']); const notificationSettings = { alert: true, badge: true, sound: true, carPlay: true, criticalAlert: true, provisional: true, providesAppSettings: true, lockScreen: true, notificationCenter: true }; export const checkNotifications = jest.fn(async () => ({ status: RESULTS.GRANTED, settings: notificationSettings })); export const requestNotifications = jest.fn(async (options = []) => ({ status: RESULTS.GRANTED, settings: options.filter(option => notificationOptions.has(option)).reduce((acc, option) => ({ ...acc, [option]: true }), { lockScreen: true, notificationCenter: true }) })); export const checkMultiple = jest.fn(async permissions => { const output = {}; for (const permission of permissions) { output[permission] = RESULTS.GRANTED; } return output; }); export const requestMultiple = jest.fn(async permissions => { const output = {}; for (const permission of permissions) { output[permission] = RESULTS.GRANTED; } return output; }); export default { PERMISSIONS, RESULTS, canScheduleExactAlarms, canUseFullScreenIntent, check, checkLocationAccuracy, checkMultiple, checkNotifications, openPhotoPicker, openSettings, request, requestLocationAccuracy, requestMultiple, requestNotifications }; //# sourceMappingURL=mock.js.map