2026-07-25 08:10:48 +00:00
// Module ID: 4683
2026-07-27 11:26:19 +00:00
// Function ID: 40807
2026-07-20 16:05:17 +00:00
// Name: _createForOfIteratorHelperLoose
2026-07-25 08:10:48 +00:00
// Dependencies: [6, 7, 15, 17, 18, 5, 31, 27, 4345, 33, 477, 1553, 3, 4684, 4686, 1935, 4473, 1212, 4680, 2]
2026-07-23 10:11:24 +00:00
2026-07-25 08:10:48 +00:00
// Module 4683 (_createForOfIteratorHelperLoose)
2026-07-23 10:11:24 +00:00
import result from "result" ;
import getActivityIndicator from "get ActivityIndicator" ;
import maybeLoadBundle from "maybeLoadBundle" ;
import getSystemLocale from "getSystemLocale" ;
import NativePermissionBaseUtils from "NativePermissionBaseUtils" ;
import asyncGeneratorStep from "asyncGeneratorStep" ;
import closure_9 from "result" ;
import get_ActivityIndicator from "get ActivityIndicator" ;
import NativePermissionStatus from "NativePermissionStatus" ;
import { jsx } from "jsxProd" ;
import set from "set" ;
import isMetaQuest from "isMetaQuest" ;
import set from "set" ;
import set from "set" ;
import set from "_possibleConstructorReturn" ;
2026-07-20 16:05:17 +00:00
let NativePermissionTypes ;
2026-07-23 10:11:24 +00:00
let closure_11 ;
const require = arg1 ;
function _createForOfIteratorHelperLoose ( iterable ) {
let closure_0 = iterable ;
iterable = "undefined" !== typeof Symbol ;
if ( iterable ) {
2026-07-20 16:05:17 +00:00
const _Symbol = Symbol ;
2026-07-23 10:11:24 +00:00
iterable = iterable [ Symbol . iterator ] ;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
if ( ! iterable ) {
iterable = iterable [ Symbol . iterator ] ;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
if ( iterable ) {
const iter = iterable . call ( iterable ) ;
2026-07-20 16:05:17 +00:00
const next = iter . next ;
return next . bind ( iter ) ;
} else {
const _Array = Array ;
2026-07-23 10:11:24 +00:00
let tmp = iterable ;
if ( ! Array . isArray ( iterable ) ) {
2026-07-20 16:05:17 +00:00
let tmp2 ;
2026-07-23 10:11:24 +00:00
if ( iterable ) {
if ( "string" === typeof iterable ) {
tmp2 = _arrayLikeToArray ( iterable , undefined ) ;
2026-07-20 16:05:17 +00:00
} else {
const toString = { } . toString ;
2026-07-23 10:11:24 +00:00
const substr = toString . call ( iterable ) . slice ( 8 , - 1 ) ;
2026-07-20 16:05:17 +00:00
let name = substr ;
if ( tmp3 ) {
2026-07-23 10:11:24 +00:00
name = iterable . constructor . name ;
2026-07-20 16:05:17 +00:00
}
if ( "Map" !== name ) {
if ( "Set" !== name ) {
if ( "Arguments" === name ) {
2026-07-23 10:11:24 +00:00
let arr = _arrayLikeToArray ( iterable , undefined ) ;
2026-07-20 16:05:17 +00:00
} else {
2026-07-23 10:11:24 +00:00
let obj = /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/ ;
2026-07-20 16:05:17 +00:00
}
}
tmp2 = arr ;
}
const _Array2 = Array ;
2026-07-23 10:11:24 +00:00
arr = Array . from ( iterable ) ;
const callResult = toString . call ( iterable ) ;
tmp3 = "Object" === substr && iterable . constructor ;
2026-07-20 16:05:17 +00:00
}
}
tmp = tmp2 ;
if ( ! tmp2 ) {
const _TypeError = TypeError ;
const typeError = new TypeError ( "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ;
throw typeError ;
}
}
if ( tmp ) {
2026-07-23 10:11:24 +00:00
closure_0 = tmp ;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
let c1 = 0 ;
2026-07-20 16:05:17 +00:00
return ( ) = > {
2026-07-23 10:11:24 +00:00
if ( closure_1 >= length . length ) {
2026-07-20 16:05:17 +00:00
let obj = { done : true } ;
} else {
obj = { done : false } ;
closure_1 = tmp3 + 1 ;
2026-07-23 10:11:24 +00:00
obj . value = length [ + closure_1 ] ;
2026-07-20 16:05:17 +00:00
}
return obj ;
} ;
}
}
function _arrayLikeToArray ( arg0 , arg1 ) {
let length ;
if ( tmp ) {
length = arg0 . length ;
}
const ArrayResult = Array ( length ) ;
for ( let num = 0 ; num < length ; num = num + 1 ) {
ArrayResult [ num ] = arg0 [ num ] ;
}
return ArrayResult ;
}
function _isNativeReflectConstruct() {
let closure_0 = ! valueOf . call ( Reflect . construct ( Boolean , [ ] , ( ) = > {
} ) ) ;
function _isNativeReflectConstruct() {
return closure_0 ;
}
const result = _isNativeReflectConstruct ( ) ;
}
function combineStatuses ( items ) {
return _combineStatuses ( . . . arguments ) ;
}
async function _combineStatuses ( arg0 , arg1 ) {
2026-07-23 10:11:24 +00:00
const tmp = outer2_15 ( arg0 ) ;
2026-07-20 16:05:17 +00:00
if ( ! iter . done ) {
while ( true ) {
2026-07-23 10:11:24 +00:00
let tmp4 = outer2_11 ;
if ( tmp3 !== outer2_11 . AUTHORIZED ) {
2026-07-20 16:05:17 +00:00
break ;
} else {
let iter2 = tmp ( ) ;
let tmp2 = iter2 ;
}
}
}
2026-07-23 10:11:24 +00:00
return outer2_11 . AUTHORIZED ;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
const NativeModules = get_ActivityIndicator . NativeModules ;
( { NativePermissionTypes , NativePermissionStatus : closure_11 } = NativePermissionStatus ) ;
set = set . isAndroid ( ) ;
if ( set ) {
set = get_ActivityIndicator . Platform . constants . Version <= 28 ;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
isMetaQuest = isMetaQuest . isMetaQuest ( ) ;
if ( set ) {
let items = [ NativeModules . NativePermissionManager . requestExternalStorageAuthorization ] ;
2026-07-20 16:05:17 +00:00
let items1 = items ;
} else {
items1 = [ ] ;
}
const items2 = [ . . . items1 ] ;
const NativePermissionManager = NativeModules . NativePermissionManager ;
2026-07-23 10:11:24 +00:00
if ( isMetaQuest ) {
2026-07-20 16:05:17 +00:00
const items3 = [ NativePermissionManager . requestAvatarCameraAuthorization ] ;
let items4 = items3 ;
} else {
items4 = [ NativePermissionManager . requestCameraAuthorization ] ;
}
HermesBuiltin . arraySpread ( items4 , tmp6 ) ;
2026-07-23 10:11:24 +00:00
if ( set ) {
2026-07-20 16:05:17 +00:00
const items5 = [ NativeModules . NativePermissionManager . hasExternalStorageAuthorization ] ;
let items6 = items5 ;
} else {
items6 = [ ] ;
}
const items7 = [ . . . items6 ] ;
const NativePermissionManager2 = NativeModules . NativePermissionManager ;
2026-07-23 10:11:24 +00:00
if ( isMetaQuest ) {
2026-07-20 16:05:17 +00:00
const items8 = [ NativePermissionManager2 . hasAvatarCameraAuthorization ] ;
let items9 = items8 ;
} else {
items9 = [ NativePermissionManager2 . hasCameraAuthorization ] ;
}
HermesBuiltin . arraySpread ( items9 , tmp8 ) ;
2026-07-23 10:11:24 +00:00
let tmp10 = ( ( NativePermissionBaseUtils ) = > {
2026-07-20 16:05:17 +00:00
class NativePermissionIOSUtils {
constructor ( ) {
self = this ;
2026-07-23 10:11:24 +00:00
tmp = outer1_3 ( this , NativePermissionIOSUtils ) ;
obj = outer1_6 ( NativePermissionIOSUtils ) ;
tmp2 = outer1_5 ;
if ( outer1_17 ( ) ) {
2026-07-20 16:05:17 +00:00
tmp6 = globalThis ;
_Reflect = Reflect ;
2026-07-23 10:11:24 +00:00
tmp7 = outer1_6 ;
2026-07-20 16:05:17 +00:00
tmp8 = arguments ;
2026-07-23 10:11:24 +00:00
constructResult = Reflect . construct ( obj , arguments , outer1_6 ( self ) . constructor ) ;
2026-07-20 16:05:17 +00:00
} else {
tmp3 = arguments ;
tmp4 = arguments ;
constructResult = obj ( . . . arguments ) ;
}
return tmp2 ( self , constructResult ) ;
}
}
callback2 ( NativePermissionIOSUtils , NativePermissionBaseUtils ) ;
let obj = {
key : "requestPermissionCore" ,
value ( arg0 , arg1 ) {
return this . performRequest ( NativePermissionIOSUtils . requestPermissionLookup , arg0 , arg1 ) ;
}
} ;
const items = [ obj , , , , , ] ;
obj = {
key : "hasPermissionCore" ,
value ( arg0 , arg1 ) {
return this . performRequest ( NativePermissionIOSUtils . hasPermissionLookup , arg0 , arg1 ) ;
}
} ;
items [ 1 ] = obj ;
obj = {
key : "performRequest" ,
value ( arg0 , arg1 , arg2 ) {
const self = this ;
if ( null == arg0 [ arg1 ] ) {
2026-07-23 10:11:24 +00:00
let tmp6 = outer1_1 ( outer1_2 [ 12 ] ) ;
2026-07-20 16:05:17 +00:00
const prototype = tmp6 . prototype ;
tmp6 = new tmp6 ( "NativePermissionUtils" ) ;
const _HermesInternal = HermesInternal ;
tmp6 . error ( "Unable to locate permission type " + arg1 ) ;
let resolved = Promise . resolve ( false ) ;
} else {
resolved = self . requestAuthorization ( arg1 , tmp , arg2 ) ;
}
return resolved ;
}
} ;
items [ 2 ] = obj ;
items [ 3 ] = {
key : "didHavePermission" ,
value ( arg0 ) {
const storage = this . storage ;
return storage . hasPermission ( arg0 ) ;
}
} ;
items [ 4 ] = {
key : "openSettings" ,
value() {
2026-07-23 10:11:24 +00:00
outer1_1 ( outer1_2 [ 13 ] ) ( ) ;
2026-07-20 16:05:17 +00:00
}
} ;
items [ 5 ] = {
key : "openAlertModal" ,
value ( arg0 ) {
let body ;
let onConfirm ;
( { body , onConfirm } = arg0 ) ;
2026-07-23 10:11:24 +00:00
let obj = NativePermissionIOSUtils ( outer1_2 [ 16 ] ) ;
2026-07-20 16:05:17 +00:00
obj = { } ;
2026-07-23 10:11:24 +00:00
const intl = NativePermissionIOSUtils ( outer1_2 [ 17 ] ) . intl ;
obj . title = intl . string ( NativePermissionIOSUtils ( outer1_2 [ 17 ] ) . t . sMFVrS ) ;
2026-07-20 16:05:17 +00:00
obj . body = body ;
obj . onConfirm = onConfirm ;
2026-07-23 10:11:24 +00:00
obj . openAlert ( "permission-denied" , outer1_12 ( outer1_9 . lazy ( ( ) = > NativePermissionIOSUtils ( outer2_2 [ 15 ] ) ( outer2_2 [ 14 ] , outer2_2 . paths ) ) , obj ) ) ;
2026-07-20 16:05:17 +00:00
}
} ;
return callback ( NativePermissionIOSUtils , items ) ;
2026-07-23 10:11:24 +00:00
} ) ( require ( "NativePermissionBaseUtils" ) . NativePermissionBaseUtils ) ;
set = { [ NativePermissionTypes . CAMERA ] : ( ) = > combineStatuses ( items2 ) , [ NativePermissionTypes . HEADSET_CAMERA ] : NativeModules . NativePermissionManager . requestHeadsetCameraAuthorization } ;
if ( set . isAndroid ( ) ) {
2026-07-20 16:05:17 +00:00
let fn = ( ) = > {
const items = [ NativeModules . NativePermissionManager . requestMicrophoneAuthorization , NativeModules . NativePermissionManager . requestModifyAudioAuthorization ] ;
return combineStatuses ( items ) ;
} ;
} else {
fn = NativeModules . NativePermissionManager . requestMicrophoneAuthorization ;
}
2026-07-23 10:11:24 +00:00
set [ NativePermissionTypes . AUDIO ] = fn ;
set [ NativePermissionTypes . PHOTOS ] = NativeModules . NativePermissionManager . requestPhotoAuthorization ;
set [ NativePermissionTypes . CONTACTS ] = NativeModules . NativePermissionManager . requestContactsAuthorization ;
set [ NativePermissionTypes . INPUT_MONITORING ] = ( ) = > Promise . resolve ( constants . AUTHORIZED ) ;
tmp10 . requestPermissionLookup = set ;
set = { [ NativePermissionTypes . CAMERA ] : ( ) = > combineStatuses ( items7 ) , [ NativePermissionTypes . HEADSET_CAMERA ] : NativeModules . NativePermissionManager . hasHeadsetCameraAuthorization } ;
if ( set . isAndroid ( ) ) {
2026-07-20 16:05:17 +00:00
let fn2 = ( ) = > {
const items = [ NativeModules . NativePermissionManager . hasMicrophoneAuthorization , NativeModules . NativePermissionManager . hasModifyAudioAuthorization ] ;
return combineStatuses ( items ) ;
} ;
} else {
fn2 = NativeModules . NativePermissionManager . hasMicrophoneAuthorization ;
}
2026-07-23 10:11:24 +00:00
set [ NativePermissionTypes . AUDIO ] = fn2 ;
set [ NativePermissionTypes . INPUT_MONITORING ] = ( ) = > Promise . resolve ( constants . AUTHORIZED ) ;
tmp10 . hasPermissionLookup = set ;
2026-07-20 16:05:17 +00:00
tmp10 = new tmp10 ( ) ;
2026-07-23 10:11:24 +00:00
let result = set . fileFinishedImporting ( "modules/native_permissions/mobile/NativePermissionUtils.native.tsx" ) ;
2026-07-20 16:05:17 +00:00
export default tmp10 ;