197 lines
6.6 KiB
TypeScript
197 lines
6.6 KiB
TypeScript
// Module ID: 10427
|
|
// Function ID: 10428
|
|
// Name: trackRoundtrip
|
|
// Dependencies: [4436, 7206, 676, 7221, 6969, 698, 7183, 6972, 7222, 2]
|
|
|
|
// Module 10427 (trackRoundtrip)
|
|
import handleConnectionInfoChange from "handleConnectionInfoChange";
|
|
import initializeState from "initializeState";
|
|
import { AnalyticEvents } from "ME";
|
|
import set from "ME";
|
|
|
|
const require = arg1;
|
|
function trackRoundtrip(apiResponseTimestamp, transition_case, fetched_at) {
|
|
if (Math.random() <= 0.1) {
|
|
let diff = null;
|
|
if (null != apiResponseTimestamp.apiResponseTimestamp) {
|
|
diff = apiResponseTimestamp.apiResponseTimestamp - apiResponseTimestamp.initialSendTimestamp;
|
|
}
|
|
let obj = require(6969) /* receiveNetworkInfoformation */;
|
|
const signalStrength = obj.getSignalStrength();
|
|
obj = {};
|
|
const merged = Object.assign(importDefault(7183)());
|
|
({ endpoint: obj3.endpoint, wasSuccessful: obj3.was_successful } = apiResponseTimestamp);
|
|
obj.api_latency_ms = diff;
|
|
obj.mobile_network_type = type.getType();
|
|
let tmp10 = null != signalStrength;
|
|
if (tmp10) {
|
|
obj = { mobile_signal_strength_level: null };
|
|
obj[0] = signalStrength;
|
|
tmp10 = obj;
|
|
}
|
|
const merged1 = Object.assign(tmp10);
|
|
({ callerSource: obj3.caller_source, adRequestId: obj3.ad_request_id } = apiResponseTimestamp);
|
|
obj.fetched_at = fetched_at;
|
|
const previousAdDecision = apiResponseTimestamp.previousAdDecision;
|
|
let decision_id;
|
|
if (previousAdDecision != null) {
|
|
const adDecisionData = previousAdDecision.adDecisionData;
|
|
if (adDecisionData != null) {
|
|
decision_id = adDecisionData.decision_id;
|
|
}
|
|
}
|
|
if (decision_id == null) {
|
|
decision_id = null;
|
|
}
|
|
obj.previous_ad_request_id = decision_id;
|
|
const previousAdDecision2 = apiResponseTimestamp.previousAdDecision;
|
|
let fetchedAt;
|
|
if (previousAdDecision2 != null) {
|
|
fetchedAt = previousAdDecision2.fetchedAt;
|
|
}
|
|
if (fetchedAt == null) {
|
|
fetchedAt = null;
|
|
}
|
|
obj.previous_fetched_at = fetchedAt;
|
|
obj.transition_case = transition_case;
|
|
const obj2 = importDefault(698);
|
|
const tmp2 = require;
|
|
obj.is_foregrounded = require(6972) /* isForegrounded */.isForegrounded();
|
|
obj2.track(AnalyticEvents.QUEST_DECISION_ROUNDTRIP, obj);
|
|
const tmp2Result = require(6972) /* isForegrounded */;
|
|
}
|
|
}
|
|
class QuestDecisionRoundtripTracker {
|
|
constructor() {
|
|
obj = Object.create(new.target.prototype);
|
|
map = new Map();
|
|
obj[0] = map;
|
|
return obj;
|
|
}
|
|
}
|
|
const prototype = QuestDecisionRoundtripTracker.prototype;
|
|
prototype["recordQuestRequestAttempt"] = function recordQuestRequestAttempt(endpoint, closure_1, closure_0) {
|
|
const self = this;
|
|
closure_0 = endpoint;
|
|
let tmp = closure_0;
|
|
if (closure_0 === undefined) {
|
|
tmp = null;
|
|
}
|
|
let tmp2 = null;
|
|
if (null != tmp) {
|
|
const questAdDecisionByPlacement = obj.questAdDecisionByPlacement;
|
|
let value = questAdDecisionByPlacement.get(tmp);
|
|
if (value == null) {
|
|
value = null;
|
|
}
|
|
tmp2 = value;
|
|
}
|
|
obj = { initialSendTimestamp: Date.now(), endpoint, apiResponseTimestamp: null, wasSuccessful: false, callerSource: closure_1, adRequestId: null, previousAdDecision: tmp2, placement: tmp };
|
|
let pendingRequests = this.pendingRequests;
|
|
const result = pendingRequests.set(endpoint, obj);
|
|
const timerId = setTimeout(() => {
|
|
const pendingRequests = self.pendingRequests;
|
|
const value = pendingRequests.get(closure_0);
|
|
if (null != value) {
|
|
outer1_6(value, "timeout", null);
|
|
const pendingRequests2 = self.pendingRequests;
|
|
pendingRequests2.delete(closure_0);
|
|
}
|
|
}, 30000);
|
|
};
|
|
prototype["recordQuestRequestApiResponse"] = function recordQuestRequestApiResponse(arg0, adRequestId) {
|
|
adRequestId = adRequestId.adRequestId;
|
|
if (adRequestId === undefined) {
|
|
adRequestId = null;
|
|
}
|
|
let currentQuestId = adRequestId.currentQuestId;
|
|
if (currentQuestId === undefined) {
|
|
currentQuestId = null;
|
|
}
|
|
let currentFetchedAt = adRequestId.currentFetchedAt;
|
|
if (currentFetchedAt === undefined) {
|
|
currentFetchedAt = null;
|
|
}
|
|
let self = this;
|
|
const pendingRequests = this.pendingRequests;
|
|
let timestamp = pendingRequests.get(arg0);
|
|
let tmp5 = null;
|
|
if (null != timestamp) {
|
|
let tmp10 = null;
|
|
if (null !== currentFetchedAt) {
|
|
let tmp6 = null;
|
|
if (tmp5 != currentQuestId) {
|
|
let obj = { type: null, questId: null };
|
|
obj[0] = require(7222) /* AdCreativeType */.AdCreativeType.QUEST;
|
|
obj[1] = currentQuestId;
|
|
tmp6 = obj;
|
|
}
|
|
obj = { creative: null, fetchedAt: null, ttlMillis: 0, adDecisionData: null };
|
|
obj[0] = tmp6;
|
|
obj[1] = currentFetchedAt;
|
|
let tmp9;
|
|
if (tmp5 != adRequestId) {
|
|
obj = { decision_id: null };
|
|
obj[0] = adRequestId;
|
|
tmp9 = obj;
|
|
}
|
|
obj[3] = tmp9;
|
|
tmp10 = obj;
|
|
}
|
|
const previousAdDecision = timestamp.previousAdDecision;
|
|
let str = "null";
|
|
let str2 = "null";
|
|
if (tmp5 != previousAdDecision) {
|
|
let str3 = "quest";
|
|
if (tmp5 == obj4.getDeliveredQuestId(previousAdDecision.creative)) {
|
|
str3 = "no_serve";
|
|
}
|
|
str2 = str3;
|
|
obj4 = require(7221) /* result */;
|
|
}
|
|
if (tmp5 != tmp10) {
|
|
let str4 = "quest";
|
|
if (tmp5 == obj5.getDeliveredQuestId(tmp10.creative)) {
|
|
str4 = "no_serve";
|
|
}
|
|
str = str4;
|
|
obj5 = require(7221) /* result */;
|
|
}
|
|
if ("quest" !== str2) {
|
|
const _HermesInternal = HermesInternal;
|
|
let combined = "" + str2 + "_to_" + str;
|
|
const obj1 = {};
|
|
const merged = Object.assign(timestamp);
|
|
const _Date = Date;
|
|
timestamp = Date.now();
|
|
obj1.apiResponseTimestamp = timestamp;
|
|
obj1.wasSuccessful = adRequestId.wasSuccessful;
|
|
obj1.adRequestId = adRequestId;
|
|
tmp5 = trackRoundtrip(obj1, combined, currentFetchedAt);
|
|
const pendingRequests2 = self.pendingRequests;
|
|
self = pendingRequests2.delete(arg0);
|
|
}
|
|
let creative;
|
|
if (previousAdDecision != tmp5) {
|
|
creative = previousAdDecision.creative;
|
|
}
|
|
const deliveredQuestId = require(7221) /* result */.getDeliveredQuestId(creative);
|
|
const obj6 = require(7221) /* result */;
|
|
const tmp17 = require;
|
|
let creative1;
|
|
if (tmp10 != tmp5) {
|
|
creative1 = tmp10.creative;
|
|
}
|
|
let str8 = "different_quest";
|
|
if (deliveredQuestId === tmp17Result.getDeliveredQuestId(creative1)) {
|
|
str8 = "same_quest";
|
|
}
|
|
combined = str8;
|
|
tmp17Result = require(7221) /* result */;
|
|
}
|
|
};
|
|
let set = Object.create(QuestDecisionRoundtripTracker.prototype);
|
|
set[0] = new Map();
|
|
let result = set.fileFinishedImporting("modules/quests/QuestDecisionRoundtripTracker.tsx");
|
|
|
|
export default set;
|