2026-07-28 08:39:19 +00:00
// Module ID: 16146
// Function ID: 124802
2026-07-20 16:05:17 +00:00
// Name: _isNativeReflectConstruct
2026-07-28 08:39:19 +00:00
// Dependencies: [6, 7, 15, 17, 18, 5632, 4237, 16147, 9497, 5631, 3838, 587, 22, 16148, 5112, 2]
2026-07-23 10:11:24 +00:00
2026-07-28 08:39:19 +00:00
// Module 16146 (_isNativeReflectConstruct)
2026-07-23 10:11:24 +00:00
import _isNativeReflectConstruct from "_isNativeReflectConstruct" ;
import closure_3 from "_isNativeReflectConstruct" ;
import set from "set" ;
import _getPrototypeOf from "_getPrototypeOf" ;
import _inherits from "_inherits" ;
import closure_7 from "_isNativeReflectConstruct" ;
import closure_8 from "_isNativeReflectConstruct" ;
import closure_9 from "_isNativeReflectConstruct" ;
import FeedbackRating from "FeedbackRating" ;
import tmp7 from "AutomaticLifecycleManager" ;
2026-07-20 16:05:17 +00:00
let FeedbackGroup ;
let FeedbackType ;
2026-07-23 10:11:24 +00:00
let closure_10 ;
let closure_11 ;
const require = arg1 ;
2026-07-20 16:05:17 +00:00
function _isNativeReflectConstruct() {
let closure_0 = ! valueOf . call ( Reflect . construct ( Boolean , [ ] , ( ) = > {
} ) ) ;
function _isNativeReflectConstruct() {
return closure_0 ;
}
const result = _isNativeReflectConstruct ( ) ;
}
2026-07-23 10:11:24 +00:00
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 optOutEligibilityCheck ( hotspot ) {
2026-07-23 10:11:24 +00:00
const _require = hotspot ;
2026-07-28 08:39:19 +00:00
const InAppFeedbackStates = _require ( 3838 ) . InAppFeedbackStates ;
2026-07-20 16:05:17 +00:00
const tmp = InAppFeedbackStates . getSetting ( ) [ hotspot . feedbackType ] ;
let optOutExpiryTime ;
if ( null != tmp ) {
optOutExpiryTime = tmp . optOutExpiryTime ;
}
let tmp3 = null != optOutExpiryTime ;
if ( tmp3 ) {
const _Number = Number ;
tmp3 = ! Number . isNaN ( optOutExpiryTime ) ;
}
if ( tmp3 ) {
const _Date = Date ;
tmp3 = Date . now ( ) < optOutExpiryTime ;
}
const tmp6 = ! closure_7 . hasHotspot ( hotspot . hotspot ) ;
let tmp7 = tmp6 ;
if ( tmp6 ) {
tmp7 = ! tmp3 ;
}
if ( tmp7 ) {
2026-07-28 08:39:19 +00:00
const InAppFeedbackStates2 = _require ( 3838 ) . InAppFeedbackStates ;
2026-07-20 16:05:17 +00:00
InAppFeedbackStates2 . updateSetting ( ( arg0 ) = > {
let obj = { } ;
const merged = Object . assign ( arg0 ) ;
obj = { } ;
2026-07-23 10:11:24 +00:00
const merged1 = Object . assign ( arg0 [ hotspot . feedbackType ] ) ;
obj [ "optOutExpiryTime" ] = outer1_11 ;
obj [ hotspot . feedbackType ] = obj ;
2026-07-20 16:05:17 +00:00
return obj ;
} ) ;
}
let tmp11 = ! tmp3 ;
if ( ! tmp3 ) {
tmp11 = ! tmp6 ;
}
return tmp11 ;
}
function triggerRateEligibilityCheck ( chance ) {
return Math . random ( ) < chance . chance ;
}
function recencyEligibilityCheck ( cooldown , value ) {
2026-07-23 10:11:24 +00:00
const _require = value ;
2026-07-28 08:39:19 +00:00
const InAppFeedbackStates = _require ( 3838 ) . InAppFeedbackStates ;
2026-07-20 16:05:17 +00:00
const tmp = InAppFeedbackStates . getSetting ( ) [ value . feedbackType ] ;
let lastImpressionTime ;
if ( null != tmp ) {
lastImpressionTime = tmp . lastImpressionTime ;
}
let dependencyMap ;
let tmp3 = null != lastImpressionTime ;
if ( tmp3 ) {
const _Number = Number ;
tmp3 = ! Number . isNaN ( lastImpressionTime ) ;
}
if ( ! tmp3 ) {
tmp3 = null == value . storageKey ;
}
let tmp5 ;
if ( ! tmp3 ) {
2026-07-23 10:11:24 +00:00
const Storage = _require ( 587 ) . Storage ;
2026-07-20 16:05:17 +00:00
value = Storage . get ( value . storageKey ) ;
let tmp9 ;
if ( null != value ) {
tmp9 = value ;
}
dependencyMap = tmp9 ;
let isNaNResult = null == tmp9 ;
if ( ! isNaNResult ) {
const _Number2 = Number ;
isNaNResult = Number . isNaN ( tmp9 ) ;
}
tmp5 = tmp9 ;
if ( ! isNaNResult ) {
2026-07-28 08:39:19 +00:00
const InAppFeedbackStates2 = _require ( 3838 ) . InAppFeedbackStates ;
2026-07-20 16:05:17 +00:00
InAppFeedbackStates2 . updateSetting ( ( arg0 ) = > {
let obj = { } ;
const merged = Object . assign ( arg0 ) ;
obj = { } ;
2026-07-23 10:11:24 +00:00
const merged1 = Object . assign ( arg0 [ value . feedbackType ] ) ;
obj [ "lastImpressionTime" ] = c1 ;
obj [ value . feedbackType ] = obj ;
2026-07-20 16:05:17 +00:00
return obj ;
} ) ;
tmp5 = tmp9 ;
}
}
const items = [ lastImpressionTime , tmp5 ] ;
2026-07-23 10:11:24 +00:00
const maxResult = _require ( 22 ) . max ( items ) ;
2026-07-20 16:05:17 +00:00
let num2 = 0 ;
if ( null != maxResult ) {
num2 = maxResult ;
}
const sum = num2 + cooldown . cooldown ;
return sum < Date . now ( ) ;
}
function groupRecencyEligibilityCheck ( cooldown ) {
2026-07-23 10:11:24 +00:00
let closure_0 = cooldown ;
2026-07-20 16:05:17 +00:00
const values = Object . values ( obj ) ;
const tmp = _createForOfIteratorHelperLoose ( values . filter ( ( group ) = > group . group === group . group ) ) ;
let iter = tmp ( ) ;
if ( ! iter . done ) {
while ( recencyEligibilityCheck ( cooldown , iter . value ) ) {
let iter2 = tmp ( ) ;
iter = iter2 ;
}
return false ;
}
return true ;
}
2026-07-23 10:11:24 +00:00
( { FeedbackGroup , FeedbackType , FeedbackTypePrecedence : closure_10 , MAX_REPRESENTABLE_DATE : closure_11 } = FeedbackRating ) ;
let obj = { chance : 0.2 , cooldown : 86400000 } ;
2026-07-20 16:05:17 +00:00
obj = { } ;
obj = { } ;
2026-07-23 10:11:24 +00:00
let merged = Object . assign ( obj ) ;
2026-07-20 16:05:17 +00:00
obj [ "group" ] = FeedbackGroup . AV ;
2026-07-23 10:11:24 +00:00
obj [ "hotspot" ] = require ( "HotspotStore" ) . HotspotLocations . VOICE_CALL_FEEDBACK ;
2026-07-20 16:05:17 +00:00
obj [ "storageKey" ] = "lastVoiceFeedback" ;
obj [ "feedbackType" ] = FeedbackType . VOICE ;
2026-07-23 10:11:24 +00:00
let items = [
2026-07-20 16:05:17 +00:00
function voiceEligibilityCheck() {
if ( store . getWasEverRtcConnected ( ) ) {
return store . getWasEverMultiParticipant ( ) ;
} else {
return true ;
}
}
] ;
obj [ "eligibilityChecks" ] = items ;
obj [ FeedbackType . VOICE ] = obj ;
const obj1 = { } ;
2026-07-23 10:11:24 +00:00
let merged1 = Object . assign ( obj ) ;
2026-07-20 16:05:17 +00:00
obj1 [ "group" ] = FeedbackGroup . AV ;
2026-07-23 10:11:24 +00:00
obj1 [ "hotspot" ] = require ( "HotspotStore" ) . HotspotLocations . REPORT_PROBLEM_POST_STREAM ;
2026-07-20 16:05:17 +00:00
obj1 [ "storageKey" ] = "lastStreamFeedback" ;
obj1 [ "feedbackType" ] = FeedbackType . STREAM ;
obj [ FeedbackType . STREAM ] = obj1 ;
const obj2 = { } ;
const merged2 = Object . assign ( obj ) ;
obj2 [ "group" ] = FeedbackGroup . AV ;
2026-07-23 10:11:24 +00:00
obj2 [ "hotspot" ] = require ( "HotspotStore" ) . HotspotLocations . VIDEO_BACKGROUND_FEEDBACK ;
2026-07-20 16:05:17 +00:00
obj2 [ "storageKey" ] = "lastVideoBackgroundFeedback" ;
obj2 [ "feedbackType" ] = FeedbackType . VIDEO_BACKGROUND ;
obj [ FeedbackType . VIDEO_BACKGROUND ] = obj2 ;
2026-07-23 10:11:24 +00:00
const obj3 = { cooldown : 0 , chance : 0.5 , group : FeedbackGroup.AV , hotspot : require ( "HotspotStore" ) . HotspotLocations . POST_ACTIVITY_FEEDBACK , storageKey : "lastActivityFeedback" , feedbackType : FeedbackType.ACTIVITY } ;
obj [ FeedbackType . ACTIVITY ] = obj3 ;
const obj4 = { cooldown : 172800000 , chance : 0.5 , group : FeedbackGroup.SAFETY , hotspot : require ( "HotspotStore" ) . HotspotLocations . IN_APP_REPORTS_FEEDBACK , storageKey : "inAppReportsFeedback" , feedbackType : FeedbackType.IN_APP_REPORTS } ;
obj [ FeedbackType . IN_APP_REPORTS ] = obj4 ;
2026-07-20 16:05:17 +00:00
const obj5 = { } ;
const merged3 = Object . assign ( obj ) ;
obj5 [ "group" ] = FeedbackGroup . SEARCH ;
2026-07-23 10:11:24 +00:00
obj5 [ "hotspot" ] = require ( "HotspotStore" ) . HotspotLocations . SEARCH_RESULTS_FEEDBACK ;
2026-07-20 16:05:17 +00:00
obj5 [ "storageKey" ] = "searchResultsFeedback" ;
obj5 [ "feedbackType" ] = FeedbackType . SEARCH_RESULTS ;
2026-07-23 10:11:24 +00:00
let items1 = [
2026-07-20 16:05:17 +00:00
function searchResultsEligibilityCheck() {
2026-07-28 08:39:19 +00:00
return require ( 16148 ) /* useIsSearchResultsFeedbackExperimentEnabled */ . getIsSearchResultsFeedbackExperimentEnabled ( { location : "FeedbackManager" } ) ;
2026-07-20 16:05:17 +00:00
}
] ;
obj5 [ "eligibilityChecks" ] = items1 ;
obj [ FeedbackType . SEARCH_RESULTS ] = obj5 ;
2026-07-23 10:11:24 +00:00
let result = require ( "_possibleConstructorReturn" ) . fileFinishedImporting ( "modules/feedback/FeedbackManager.tsx" ) ;
2026-07-20 16:05:17 +00:00
export default tmp7 ;
export const FeedbackConfig = obj ;