269 lines
7.9 KiB
TypeScript
269 lines
7.9 KiB
TypeScript
// 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
|
|
};
|
|
}
|