// Metro module 6212 (f6213). import UserStore from "../../stores/UserStore"; import { NOOP_NULL } from "../../Constants"; import { fetchReferralsRemaining, resolveReferralTrialOffer } from "./ReferralTrialActionCreators"; import Dispatcher from "../../Dispatcher"; import { MessageTypes } from "../../_bundle/Module686"; import Module589 from "../../_bundle/Module589"; import { HermesBuiltin } from "../../_hermes/prelude"; function $mk78008($env) { return () => { const r1 = $env.$parent; return (0, r1[0])(r1[2][2]).resolveReferralTrialOffer($env[0]).catch(r1[4]); }; } let c3940_22; let env3940 = {}; const emitChanges = function emitChanges() { return true; }; const handleLoadMessages = function handleLoadMessages(a0) { a0.messages.forEach((message) => { const r13 = message.type === MessageTypes.PREMIUM_REFERRAL ? message.content : null; let env25744; const r14 = env25744 = { $parent: env3940 }; env25744[0] = r13; const r2 = r13 == null; let r15 = false; if (!r2) { const r18 = env3940[10].has(r13) || env3940[9].has(r13); r15 = void 0; if (!r18) { env3940[9].add(r13); Dispatcher.wait($mk78008(r14)); r15 = void 0; } } return r15; }); }; env3940[5] = null; env3940[6] = new Set(); env3940[7] = new Map(); env3940[8] = false; env3940[9] = new Set(); env3940[10] = new Set(); env3940[11] = new Map(); env3940[12] = 0; env3940[13] = null; env3940[14] = []; env3940[15] = false; env3940[16] = 0; env3940[17] = false; env3940[18] = false; env3940[19] = null; env3940[20] = null; class ReferralTrialStore extends Module589.Store { static displayName = "ReferralTrialStore"; constructor() { super(...arguments); } initialize() { this.waitFor(UserStore); this.syncWith([UserStore], emitChanges); } checkAndFetchReferralsRemaining() { let r1 = env3940[5] == null && !env3940[8] && env3940[12] < 6; if (r1) { const r6 = env3940[13]; r1 = r6 == null || r6 < Date.now(); } if (r1) { fetchReferralsRemaining(); } } getReferralsRemaining(r1 = {}) { let bypassFetch = r1.bypassFetch; if (bypassFetch === void 0) { bypassFetch = false; } if (!bypassFetch) { this.checkAndFetchReferralsRemaining(); } return env3940[5]; } getSentUserIds() { this.checkAndFetchReferralsRemaining(); return Array.from(env3940[6].values()); } isFetchingReferralsRemaining() { return env3940[8]; } getRelevantUserTrialOffer(a0) { return env3940[11].get(a0); } isResolving(a0) { return env3940[9].has(a0); } getEligibleUsers() { return env3940[14]; } getFetchingEligibleUsers() { return env3940[15]; } getNextIndexOfEligibleUsers() { return env3940[16]; } getIsEligibleToSendReferrals() { return env3940[17]; } getHasEligibleFriends() { return env3940[18]; } getRefreshAt() { return env3940[19]; } getAllRelevantReferralTrialOffers() { return Array.from(env3940[11].values()); } getRecipientStatus() { return env3940[7]; } getReminderStateId() { return env3940[20]; } } c3940_22 = ReferralTrialStore; const r106 = new ReferralTrialStore(Dispatcher, { BILLING_REFERRAL_TRIAL_OFFER_UPDATE: function handleReferralTrialOfferUpdate({ userTrialOfferId }) { if (!env3940[8]) { fetchReferralsRemaining(); } if (!env3940[9].has(userTrialOfferId)) { env3940[9].add(userTrialOfferId); Dispatcher.wait(() => resolveReferralTrialOffer(userTrialOfferId).catch(NOOP_NULL)); } }, BILLING_REFERRALS_REMAINING_FETCH_START: function handleReferralsRemainingFetchStart(a0) { if (a0 == null) { HermesBuiltin.throwTypeError("Cannot destructure 'undefined' or 'null'."); throw new Error("unreachable"); } env3940[19] = null; env3940[8] = true; }, BILLING_REFERRALS_REMAINING_FETCH_SUCCESS: function handleReferralsRemainingFetchSuccess({ referrals_remaining, sent_user_ids, refresh_at, recipient_status, has_eligible_friends, reminder_state_id }) { env3940[17] = true; env3940[18] = has_eligible_friends; env3940[8] = false; env3940[5] = referrals_remaining; env3940[6] = new Set(sent_user_ids); env3940[19] = refresh_at; env3940[7] = recipient_status; env3940[20] = reminder_state_id; env3940[12] = 0; env3940[13] = null; }, BILLING_REFERRALS_REMAINING_FETCH_FAIL: function handleReferralsRemainingFetchFail(a0) { if (a0 == null) { HermesBuiltin.throwTypeError("Cannot destructure 'undefined' or 'null'."); throw new Error("unreachable"); } env3940[17] = false; env3940[18] = false; env3940[19] = null; env3940[8] = false; const r1 = env3940[12] + 1; env3940[12] = r1; const r19 = r1 <= 3 ? 1000 * Math.pow(2, env3940[12]) : 8000 * Math.pow(4, env3940[12] - 3); env3940[13] = Date.now() + Math.min(300000, r19); }, BILLING_CREATE_REFERRAL_SUCCESS: function handleCreateReferralSuccess({ userTrialOffer }) { fetchReferralsRemaining(); env3940[11].set(userTrialOffer.id, userTrialOffer); env3940[6].add(userTrialOffer.user_id); }, CREATE_REFERRALS_SUCCESS: function handleCreateReferralsSuccess({ userTrialOffers }) { fetchReferralsRemaining(); for (const item of userTrialOffers) { env3940[11].set(item.id, item); env3940[6].add(item.user_id); } }, BILLING_REFERRAL_RESOLVE_SUCCESS: function handleReferralTrialResolveSuccess({ userTrialOffer }) { if (userTrialOffer != null) { env3940[9].delete(userTrialOffer.id); env3940[10].add(userTrialOffer.id); env3940[11].set(userTrialOffer.id, userTrialOffer); } }, BILLING_REFERRAL_RESOLVE_FAIL: function handleReferralTrialResolveFail({ userTrialOfferId: userTrialOfferId2 }) { env3940[9].delete(userTrialOfferId2); env3940[10].add(userTrialOfferId2); }, REFERRALS_FETCH_ELIGIBLE_USER_START: function handleReferralsFetchEligibleUsersStart() { env3940[15] = true; }, REFERRALS_FETCH_ELIGIBLE_USER_SUCCESS: function handleReferralsFetchEligibleUsersSuccess({ users, nextIndex }) { env3940[15] = false; env3940[14] = users; env3940[16] = nextIndex; }, REFERRALS_FETCH_ELIGIBLE_USER_FAIL: function handleReferralsFetchEligibleUsersFail() { env3940[15] = false; }, LOAD_MESSAGES_SUCCESS: handleLoadMessages, MESSAGE_CREATE: function handleMessage({ message }) { let env15585; const r9 = env15585 = { $parent: env3940 }; env15585[0] = void 0; const r13 = message.type === MessageTypes.PREMIUM_REFERRAL ? message.content : null; env15585[0] = r13; if (r13 != null && !(env3940[10].has(r13) || env3940[9].has(r13))) { env3940[9].add(r13); Dispatcher.wait($mk78008(r9)); } }, LOAD_MESSAGES_AROUND_SUCCESS: handleLoadMessages, LOGOUT: function handleReset() { env3940[5] = null; env3940[6] = new Set(); env3940[8] = false; env3940[9] = new Set(); env3940[10] = new Set(); env3940[11] = new Map(); env3940[12] = 0; env3940[13] = null; env3940[14] = []; env3940[15] = false; env3940[16] = 0; env3940[17] = false; env3940[18] = false; env3940[19] = null; env3940[7] = new Map(); env3940[20] = null; } }); export default r106;