// Metro module 5992 (f5993). import { match } from "../../../_bundle/Module4389"; import { questFromServerV2, questCosponsorMetadataFromServer } from "../types/v2/Quest"; import { QuestRewardTypes } from "../../../_bundle/Module5990"; let getSimpleRewardFromServer, _questsEntitlementFromServer, $mk77581 = function() { return (a0) => questFromServerV2(a0); }; const progressFromServer = function progressFromServer(progress) { const r0 = {}; for (const item of Object.entries(progress)) { const [r35, r10] = item; const heartbeat = r10.heartbeat; const r42 = heartbeat == null; let heartbeat2 = null; if (!r42) { heartbeat2 = { lastBeatAt: heartbeat.last_beat_at, expiresAt: heartbeat.expires_at }; } r0[r35] = { eventName: r10.event_name, value: r10.value, updatedAt: r10.updated_at, completedAt: r10.completed_at, heartbeat: heartbeat2 }; } return r0; }; getSimpleRewardFromServer = function getSimpleRewardFromServer(a0) { return a0.type === QuestRewardTypes.VIRTUAL_CURRENCY ? { skuId: a0.sku_id, type: a0.type, name: a0.name, nameWithArticle: a0.name_with_article, collectibleProduct: a0.collectible_product, orbQuantity: a0.orb_quantity } : { skuId: a0.sku_id, type: a0.type, name: a0.name, nameWithArticle: a0.name_with_article, asset: a0.asset, assetVideo: a0.asset_video, collectibleProduct: a0.collectible_product }; }; _questsEntitlementFromServer = function _questsEntitlementFromServer(a0) { const tenant_metadata = a0.tenant_metadata; const r13 = tenant_metadata?.quest_rewards == null; let tenantMetadata = null; if (!r13) { const quest_rewards = tenant_metadata.quest_rewards; const tag = quest_rewards.reward.tag; if (QuestRewardTypes.IN_GAME === tag) { tenantMetadata = { questRewards: { reward: { tag: quest_rewards.reward.tag } } }; } else { const REWARD_CODE = QuestRewardTypes.REWARD_CODE; tenantMetadata = void 0; if (REWARD_CODE === tag) { const reward_code = quest_rewards.reward.reward_code; let tier = reward_code.tier; if (tier == null) { tier = null; } tenantMetadata = { questRewards: { reward: { tag: quest_rewards.reward.tag, rewardCode: { userId: reward_code.user_id, questId: reward_code.quest_id, code: reward_code.code, platform: reward_code.platform, claimedAt: reward_code.claimed_at, tier } } } }; } } } return { skuId: a0.sku_id, tenantMetadata, consumed: a0.consumed }; }; export function isQuestWithKnownConfigVersion(a0) { let r15; try { r15 = match(a0.config).with({ config_version: 2 }, () => true).exhaustive(); } catch ($e) { return false; } return r15; } export function questConfigFromServer(a0) { return match(a0).with({ config_version: 2 }, $mk77581()).exhaustive(); } export function questUserStatusFromServer(a0) { let claimed_tier = a0.claimed_tier; if (claimed_tier == null) { claimed_tier = null; } let orb_quantity_claimed = a0.orb_quantity_claimed; if (orb_quantity_claimed == null) { orb_quantity_claimed = null; } return { userId: a0.user_id, questId: a0.quest_id, enrolledAt: a0.enrolled_at, completedAt: a0.completed_at, claimedAt: a0.claimed_at, claimedTier: claimed_tier, orbQuantityClaimed: orb_quantity_claimed, lastStreamHeartbeatAt: a0.last_stream_heartbeat_at, streamProgressSeconds: a0.stream_progress_seconds, dismissedQuestContent: a0.dismissed_quest_content, progress: progressFromServer(a0.progress) }; } export function questWithUserStatusFromServer(a0) { const r3 = { id: a0.id, preview: a0.preview, config: match(a0.config).with({ config_version: 2 }, $mk77581()).exhaustive(), userStatus: null, targetedContent: null, trafficMetadataSealed: null }; const r2 = a0.user_status == null; let userStatus = null; if (!r2) { const user_status = a0.user_status; let claimed_tier = user_status.claimed_tier; if (claimed_tier == null) { claimed_tier = null; } let orb_quantity_claimed = user_status.orb_quantity_claimed; if (orb_quantity_claimed == null) { orb_quantity_claimed = null; } userStatus = { userId: user_status.user_id, questId: user_status.quest_id, enrolledAt: user_status.enrolled_at, completedAt: user_status.completed_at, claimedAt: user_status.claimed_at, claimedTier: claimed_tier, orbQuantityClaimed: orb_quantity_claimed, lastStreamHeartbeatAt: user_status.last_stream_heartbeat_at, streamProgressSeconds: user_status.stream_progress_seconds, dismissedQuestContent: user_status.dismissed_quest_content, progress: progressFromServer(user_status.progress) }; } r3.userStatus = userStatus; r3.targetedContent = a0.targeted_content; r3.trafficMetadataSealed = a0.traffic_metadata_sealed; return r3; } export function excludedQuestFromServer(a0) { return { id: a0.id, replacementId: a0.replacement_id }; } export function getClaimedQuestWithUserStatusFromServer(a0) { const config = a0.config; const r3 = { id: a0.id, config: { id: config.id, startsAt: config.starts_at, expiresAt: config.expires_at, features: config.features, messages: { questName: config.messages.quest_name, gamePublisher: config.messages.game_publisher, gameTitle: config.messages.game_title }, assets: { hero: config.assets.hero, heroVideo: config.assets.hero_video, questBarHero: config.assets.quest_bar_hero, questBarHeroVideo: config.assets.quest_bar_hero_video, gameTile: config.assets.game_tile, logotype: config.assets.logotype, logotypeLight: config.assets.logotype_light, logotypeDark: config.assets.logotype_dark, gameTileLight: config.assets.game_tile_light, gameTileDark: config.assets.game_tile_dark }, colors: { primary: config.colors.primary, secondary: config.colors.secondary }, rewards: config.rewards.map(getSimpleRewardFromServer), cosponsorMetadata: questCosponsorMetadataFromServer(config.cosponsor_metadata) }, userStatus: null }; const r2 = a0.user_status == null; let userStatus = null; if (!r2) { const user_status = a0.user_status; let claimed_tier = user_status.claimed_tier; if (claimed_tier == null) { claimed_tier = null; } let orb_quantity_claimed = user_status.orb_quantity_claimed; if (orb_quantity_claimed == null) { orb_quantity_claimed = null; } userStatus = { userId: user_status.user_id, questId: user_status.quest_id, enrolledAt: user_status.enrolled_at, completedAt: user_status.completed_at, claimedAt: user_status.claimed_at, claimedTier: claimed_tier, orbQuantityClaimed: orb_quantity_claimed, lastStreamHeartbeatAt: user_status.last_stream_heartbeat_at, streamProgressSeconds: user_status.stream_progress_seconds, dismissedQuestContent: user_status.dismissed_quest_content, progress: progressFromServer(user_status.progress) }; } r3.userStatus = userStatus; return r3; } export function questsRewardCodeFromServer(a0) { let tier = a0.tier; if (tier == null) { tier = null; } return { userId: a0.user_id, questId: a0.quest_id, code: a0.code, platform: a0.platform, claimedAt: a0.claimed_at, tier }; } export function questsEntitlementsFromServer(a0) { return { claimedAt: a0.claimed_at, items: a0.entitlements.map(_questsEntitlementFromServer), errors: a0.errors }; }