decord/source/modules/quests/utils/QuestDataUtils.tsx
2026-07-24 07:16:23 +00:00

387 lines
14 KiB
TypeScript

// Module ID: 6939
// Function ID: 55344
// Name: _createForOfIteratorHelperLoose
// Dependencies: [1921, 6940, 6941, 4976, 4979, 1360, 6956, 1184, 2]
// Exports: captureQuestsException, earnedDecisionIsValid, findNextUpcomingExpirationEpochMs, findQuestOrReplacement, getAdContext, getAdDecisionData, getAdMetadataSealed, getAdTrafficMetadataSealed, getIsQuestExpiredButWithinThirtyDayLookback, getQuestForPlacement, getQuestFormattedDate, hasUnclaimedReward, isBillableQuestContent, isDismissed
// Module 6939 (_createForOfIteratorHelperLoose)
import _isNativeReflectConstruct from "_isNativeReflectConstruct";
import _createForOfIteratorHelperLoose from "_createForOfIteratorHelperLoose";
import closure_5 from "_isNativeReflectConstruct";
import QuestsExperimentLocations from "QuestsExperimentLocations";
let closure_6;
let closure_7;
let closure_8;
const require = arg1;
function _createForOfIteratorHelperLoose(iterable) {
let closure_0 = iterable;
iterable = "undefined" !== typeof Symbol;
if (iterable) {
const _Symbol = Symbol;
iterable = iterable[Symbol.iterator];
}
if (!iterable) {
iterable = iterable[Symbol.iterator];
}
if (iterable) {
const iter = iterable.call(iterable);
const next = iter.next;
return next.bind(iter);
} else {
const _Array = Array;
let tmp = iterable;
if (!Array.isArray(iterable)) {
let tmp2;
if (iterable) {
if ("string" === typeof iterable) {
tmp2 = _arrayLikeToArray(iterable, undefined);
} else {
const toString = {}.toString;
const substr = toString.call(iterable).slice(8, -1);
let name = substr;
if (tmp3) {
name = iterable.constructor.name;
}
if ("Map" !== name) {
if ("Set" !== name) {
if ("Arguments" === name) {
let arr = _arrayLikeToArray(iterable, undefined);
} else {
let obj = /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/;
}
}
tmp2 = arr;
}
const _Array2 = Array;
arr = Array.from(iterable);
const callResult = toString.call(iterable);
tmp3 = "Object" === substr && iterable.constructor;
}
}
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) {
closure_0 = tmp;
}
let c1 = 0;
return () => {
if (closure_1 >= length.length) {
let obj = { done: true };
} else {
obj = { done: false };
closure_1 = tmp3 + 1;
obj.value = length[+closure_1];
}
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 isDismissible(ACTIVITY_PANEL) {
const keys = Object.keys(closure_6);
return keys.includes(require(4979) /* QuestsVisibleMessagesChangedSource */.QuestContent[ACTIVITY_PANEL]);
}
function isQuestConfigExpired(config) {
const date = new Date(config.expiresAt);
return new Date(config.expiresAt).valueOf() <= Date.now();
}
function isQuestExpired(value) {
return isQuestConfigExpired(value.config);
}
function getQuestPlacementFromQuestContent(questContent) {
const obj = {};
obj[require(4979) /* QuestsVisibleMessagesChangedSource */.QuestContent.QUEST_BAR] = require(4979) /* QuestsVisibleMessagesChangedSource */.AdPlacement.DESKTOP_ACCOUNT_PANEL_AREA;
obj[require(4979) /* QuestsVisibleMessagesChangedSource */.QuestContent.QUEST_BAR_V2] = require(4979) /* QuestsVisibleMessagesChangedSource */.AdPlacement.DESKTOP_ACCOUNT_PANEL_AREA;
obj[require(4979) /* QuestsVisibleMessagesChangedSource */.QuestContent.QUEST_BAR_MOBILE] = require(4979) /* QuestsVisibleMessagesChangedSource */.AdPlacement.MOBILE_HOME_DOCK_AREA;
obj[require(4979) /* QuestsVisibleMessagesChangedSource */.QuestContent.QUEST_HOME_HERO] = require(4979) /* QuestsVisibleMessagesChangedSource */.AdPlacement.QUEST_HOME_BANNER_DESKTOP;
obj[require(4979) /* QuestsVisibleMessagesChangedSource */.QuestContent.QUEST_HOME_HERO_SHELF] = require(4979) /* QuestsVisibleMessagesChangedSource */.AdPlacement.QUEST_HOME_BANNER_DESKTOP;
obj[require(4979) /* QuestsVisibleMessagesChangedSource */.QuestContent.QUEST_HOME_MOBILE_CAROUSEL] = require(4979) /* QuestsVisibleMessagesChangedSource */.AdPlacement.QUEST_HOME_MOBILE_CAROUSEL;
obj[require(4979) /* QuestsVisibleMessagesChangedSource */.QuestContent.VIDEO_MODAL_MOBILE] = require(4979) /* QuestsVisibleMessagesChangedSource */.AdPlacement.VIDEO_MODAL_MOBILE;
return obj[questContent];
}
function mapQuestAdDecision(value) {
return { questId: value.questId, adCreativeId: value.adCreativeId, adDecisionData: value.adDecisionData, adContext: value.adContext, metadataSealed: value.metadataSealed, trafficMetadataSealed: value.trafficMetadataSealed };
}
function getQuestDeliveryDataForPlacement(arg0, adContentId) {
if (arg0 === require(4979) /* QuestsVisibleMessagesChangedSource */.AdPlacement.QUEST_HOME_MOBILE_CAROUSEL) {
let tmp3 = null;
if (null != adContentId) {
adDecisionByPlacementAndAdCreativeId = adDecisionByPlacementAndAdCreativeId.getAdDecisionByPlacementAndAdCreativeId(arg0, adContentId);
let tmp7 = null;
if (null != adDecisionByPlacementAndAdCreativeId) {
tmp7 = mapQuestAdDecision(adDecisionByPlacementAndAdCreativeId);
}
tmp3 = tmp7;
}
} else {
tmp3 = null;
}
if (null != tmp3) {
return tmp3;
} else {
let obj = { location: "getQuestDeliveryDataForPlacement" };
const questAdDecisionByPlacement = quest.questAdDecisionByPlacement;
let value = questAdDecisionByPlacement.get(arg0);
if (arg0 === require(4979) /* QuestsVisibleMessagesChangedSource */.AdPlacement.QUEST_HOME_BANNER_DESKTOP) {
if (null != value) {
return mapQuestAdDecision(value);
}
}
if (obj2.getConfig(obj).enableNewRequestBehavior) {
let tmp12 = null;
if (null != value) {
tmp12 = mapQuestAdDecision(value);
}
return tmp12;
} else {
const questToDeliverForPlacement = quest.questToDeliverForPlacement;
value = questToDeliverForPlacement.get(arg0);
let tmp11 = null;
if (null != value) {
obj = { questId: value.quest.id, adCreativeId: value.quest.id };
({ adDecisionData: obj.adDecisionData, adContext: obj.adContext, metadataSealed: obj.metadataSealed, trafficMetadataSealed: obj.trafficMetadataSealed } = value);
tmp11 = obj;
}
return tmp11;
}
obj2 = importDefault(6956);
}
}
({ DismissibleQuestContentFlags: closure_6, BILLABLE_PLACEMENTS: closure_7, EMPTY_AD_DECISION_DATA: closure_8 } = QuestsExperimentLocations);
const result = require("_isNativeReflectConstruct").fileFinishedImporting("modules/quests/utils/QuestDataUtils.tsx");
export const THIRTY_DAYS_MS = 2592000000;
export const earnedDecisionIsValid = function earnedDecisionIsValid(value) {
let tmp = null != value;
if (tmp) {
const _Date = Date;
const sum = value.fetchedAt + value.ttlMillis;
tmp = sum >= Date.now();
}
return tmp;
};
export const findQuestOrReplacement = function findQuestOrReplacement(scrollToQuestId, quests, excludedQuests) {
let map = quests;
if (Array.isArray(quests)) {
const _Map = Map;
map = new Map(quests.map((id) => {
const items = [id.id, id];
return items;
}));
}
let map1 = excludedQuests;
if (Array.isArray(excludedQuests)) {
const _Map2 = Map;
map1 = new Map(excludedQuests.map((id) => {
const items = [id.id, id];
return items;
}));
}
let value = map.get(scrollToQuestId);
if (null != value) {
return value;
} else {
value = map1.get(scrollToQuestId);
let replacementId;
if (null != value) {
replacementId = value.replacementId;
}
let value1;
if (null != replacementId) {
value1 = map.get(replacementId);
}
return value1;
}
};
export { isDismissible };
export const isDismissed = function isDismissed(userStatus, ACTIVITY_PANEL) {
if (isDismissible(ACTIVITY_PANEL)) {
return require(1360) /* hasFlag */.hasFlag(userStatus.dismissedQuestContent, table[require(undefined, 4979) /* QuestsVisibleMessagesChangedSource */.QuestContent[ACTIVITY_PANEL]]);
} else {
return false;
}
};
export { isQuestConfigExpired };
export { isQuestExpired };
export const getIsQuestExpiredButWithinThirtyDayLookback = function getIsQuestExpiredButWithinThirtyDayLookback(quest) {
if (isQuestExpired(quest)) {
const _Date = Date;
const _Date2 = Date;
const diff = Date.now() - 2592000000;
const date = new Date(quest.config.expiresAt);
return null != quest.config.expiresAt && date.valueOf() > diff;
} else {
return false;
}
};
export const findNextUpcomingExpirationEpochMs = function findNextUpcomingExpirationEpochMs(arg0) {
let iter3;
const timestamp = Date.now();
const tmp2 = _createForOfIteratorHelperLoose(arg0);
const iter = tmp2();
let iter2 = iter;
let tmp3 = null;
let tmp4 = null;
if (!iter.done) {
do {
let _Date = Date;
let tmp5 = new.target;
let tmp6 = new.target;
let date = new Date(iter2.value.config.expiresAt);
let tmp7 = date;
let valueOfResult = date.valueOf();
let tmp9 = tmp3;
if (valueOfResult > timestamp) {
let tmp10 = null == tmp3 || valueOfResult < tmp3;
if (tmp10) {
tmp3 = valueOfResult;
}
tmp9 = tmp3;
}
iter3 = tmp2();
tmp3 = tmp9;
iter2 = iter3;
tmp4 = tmp9;
} while (!iter3.done);
}
return tmp4;
};
export const hasUnclaimedReward = function hasUnclaimedReward(userStatus) {
return null != userStatus && null != userStatus.completedAt && null == userStatus.claimedAt;
};
export const getQuestFormattedDate = function getQuestFormattedDate(expiresAtPremium) {
let tmp = arg1;
if (arg1 === undefined) {
const obj = { dateStyle: "short" };
tmp = obj;
}
let str2 = "";
if (null != expiresAtPremium) {
const _Date = Date;
const date = new Date(expiresAtPremium);
str2 = date.toLocaleDateString(locale.locale, tmp);
}
return str2;
};
export const getQuestForPlacement = function getQuestForPlacement(quests, questToDeliverForPlacement, MOBILE_HOME_DOCK_AREA) {
let value = questToDeliverForPlacement.get(MOBILE_HOME_DOCK_AREA);
if (null != value) {
value = quests.get(value.quest.id);
let tmp3;
if (null != value) {
if (!isQuestExpired(value)) {
tmp3 = value;
}
}
return tmp3;
}
};
export { getQuestPlacementFromQuestContent };
export const isBillableQuestContent = function isBillableQuestContent(questContent) {
const tmp = getQuestPlacementFromQuestContent(questContent);
let hasItem = null != tmp;
if (hasItem) {
hasItem = set.has(tmp);
}
return hasItem;
};
export const getAdDecisionData = function getAdDecisionData(adCreativeId, questContent) {
const tmp = getQuestPlacementFromQuestContent(questContent);
if (null == tmp) {
return closure_8;
} else {
let obj = getQuestDeliveryDataForPlacement(tmp, adCreativeId);
if (null == obj) {
obj = {};
}
const adDecisionData = obj.adDecisionData;
if (null == adDecisionData) {
let tmp5 = closure_8;
} else {
tmp5 = adDecisionData;
if (tmp3 !== adCreativeId) {
tmp5 = adDecisionData;
if (tmp4 !== adCreativeId) {
tmp5 = adDecisionData;
if (adDecisionData.ad_id !== adCreativeId) {
tmp5 = closure_8;
}
}
}
}
return tmp5;
}
};
export const getAdMetadataSealed = function getAdMetadataSealed(sourceQuestContent, adCreativeId) {
const tmp = getQuestPlacementFromQuestContent(sourceQuestContent);
if (null != tmp) {
const tmp4 = getQuestDeliveryDataForPlacement(tmp, adCreativeId);
let metadataSealed;
if (null != tmp4) {
metadataSealed = tmp4.metadataSealed;
}
return metadataSealed;
}
};
export const getAdTrafficMetadataSealed = function getAdTrafficMetadataSealed(sourceQuestContent, adCreativeId, adContentId) {
const tmp = getQuestPlacementFromQuestContent(sourceQuestContent);
if (null != tmp) {
let obj = getQuestDeliveryDataForPlacement(tmp, adContentId);
if (null == obj) {
obj = {};
}
const trafficMetadataSealed = obj.trafficMetadataSealed;
if (null != trafficMetadataSealed) {
return trafficMetadataSealed;
}
}
if (null != adCreativeId) {
quest = quest.getQuest(adCreativeId);
let prop;
if (null != quest) {
prop = quest.trafficMetadataSealed;
}
return prop;
}
};
export const getAdContext = function getAdContext(questContent, adContentId) {
const tmp = getQuestPlacementFromQuestContent(questContent);
if (null != tmp) {
const tmp4 = getQuestDeliveryDataForPlacement(tmp, adContentId);
let adContext;
if (null != tmp4) {
adContext = tmp4.adContext;
}
return adContext;
}
};
export const captureQuestsException = function captureQuestsException(error, tags) {
let obj = importDefault(1184);
obj = {};
const merged = Object.assign(tags);
obj = {};
tags = undefined;
if (null != tags) {
tags = tags.tags;
}
const merged1 = Object.assign(tags);
obj["app_context"] = "quests";
obj["tags"] = obj;
obj.captureException(error, obj);
};