decord/source/modules/premium/ReferralTrialStore.tsx

448 lines
12 KiB
TypeScript
Raw Normal View History

2026-07-25 08:10:48 +00:00
// Module ID: 6158
2026-07-27 11:26:19 +00:00
// Function ID: 55205
2026-07-20 16:05:17 +00:00
// Name: _isNativeReflectConstruct
2026-07-25 08:10:48 +00:00
// Dependencies: [6, 7, 15, 17, 18, 1850, 653, 6159, 686, 663, 566, 2]
2026-07-20 16:05:17 +00:00
2026-07-25 08:10:48 +00:00
// Module 6158 (_isNativeReflectConstruct)
2026-07-23 10:11:24 +00:00
import ME from "ME";
import _createForOfIteratorHelperLoose from "_createForOfIteratorHelperLoose";
import _possibleConstructorReturn from "_possibleConstructorReturn";
import _getPrototypeOf from "_getPrototypeOf";
import _inherits from "_inherits";
import _isNativeReflectConstruct from "_isNativeReflectConstruct";
import { NOOP_NULL } from "ME";
import set from "_possibleConstructorReturn";
2026-07-20 16:05:17 +00:00
2026-07-23 10:11:24 +00:00
const require = arg1;
2026-07-20 16:05:17 +00:00
function _isNativeReflectConstruct() {
let closure_0 = !valueOf.call(Reflect.construct(Boolean, [], () => {
}));
function _isNativeReflectConstruct() {
return closure_0;
}
const result = _isNativeReflectConstruct();
}
2026-07-23 10:11:24 +00:00
function _createForOfIteratorHelperLoose(iterable) {
let closure_0 = iterable;
iterable = "undefined" !== typeof Symbol;
if (iterable) {
2026-07-20 16:05:17 +00:00
const _Symbol = Symbol;
2026-07-23 10:11:24 +00:00
iterable = iterable[Symbol.iterator];
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
if (!iterable) {
iterable = iterable[Symbol.iterator];
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
if (iterable) {
const iter = iterable.call(iterable);
2026-07-20 16:05:17 +00:00
const next = iter.next;
return next.bind(iter);
} else {
const _Array = Array;
2026-07-23 10:11:24 +00:00
let tmp = iterable;
if (!Array.isArray(iterable)) {
2026-07-20 16:05:17 +00:00
let tmp2;
2026-07-23 10:11:24 +00:00
if (iterable) {
if ("string" === typeof iterable) {
tmp2 = _arrayLikeToArray(iterable, undefined);
2026-07-20 16:05:17 +00:00
} else {
const toString = {}.toString;
2026-07-23 10:11:24 +00:00
const substr = toString.call(iterable).slice(8, -1);
2026-07-20 16:05:17 +00:00
let name = substr;
if (tmp3) {
2026-07-23 10:11:24 +00:00
name = iterable.constructor.name;
2026-07-20 16:05:17 +00:00
}
if ("Map" !== name) {
if ("Set" !== name) {
if ("Arguments" === name) {
2026-07-23 10:11:24 +00:00
let arr = _arrayLikeToArray(iterable, undefined);
2026-07-20 16:05:17 +00:00
} else {
2026-07-23 10:11:24 +00:00
let obj = /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/;
2026-07-20 16:05:17 +00:00
}
}
tmp2 = arr;
}
const _Array2 = Array;
2026-07-23 10:11:24 +00:00
arr = Array.from(iterable);
const callResult = toString.call(iterable);
tmp3 = "Object" === substr && iterable.constructor;
2026-07-20 16:05:17 +00:00
}
}
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) {
2026-07-23 10:11:24 +00:00
closure_0 = tmp;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
let c1 = 0;
2026-07-20 16:05:17 +00:00
return () => {
2026-07-23 10:11:24 +00:00
if (closure_1 >= length.length) {
2026-07-20 16:05:17 +00:00
let obj = { done: true };
} else {
obj = { done: false };
closure_1 = tmp3 + 1;
2026-07-23 10:11:24 +00:00
obj.value = length[+closure_1];
2026-07-20 16:05:17 +00:00
}
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 emitChanges() {
return true;
}
function handleReferralTrialResolve(content) {
set1.add(content);
}
function handleLoadMessages(messages) {
messages = messages.messages;
2026-07-23 10:11:24 +00:00
const item = messages.forEach((arg0) => outer1_31(arg0));
2026-07-20 16:05:17 +00:00
}
function resolveUserReferralTrialId(message) {
let content = null;
2026-07-23 10:11:24 +00:00
if (message.type === content(663).MessageTypes.PREMIUM_REFERRAL) {
2026-07-20 16:05:17 +00:00
content = message.content;
}
if (null == content) {
return false;
} else {
let hasItem = set2.has(content);
if (!hasItem) {
hasItem = set1.has(content);
}
if (!hasItem) {
handleReferralTrialResolve(content);
2026-07-23 10:11:24 +00:00
importDefault(686).wait(() => {
const referralTrialOffer = content(outer1_2[7]).resolveReferralTrialOffer(content);
return referralTrialOffer.catch(outer1_9);
2026-07-20 16:05:17 +00:00
});
2026-07-23 10:11:24 +00:00
const obj = importDefault(686);
2026-07-20 16:05:17 +00:00
}
}
}
2026-07-23 10:11:24 +00:00
let c10 = null;
let set = new Set();
let map = new Map();
let c13 = false;
let set1 = new Set();
let set2 = new Set();
let map1 = new Map();
let c17 = 0;
let c18 = null;
2026-07-20 16:05:17 +00:00
let closure_19 = [];
2026-07-23 10:11:24 +00:00
let c20 = false;
let c21 = 0;
let c22 = false;
let c23 = false;
let c24 = null;
let c25 = null;
let tmp7 = ((Store) => {
2026-07-20 16:05:17 +00:00
class ReferralTrialStore {
constructor() {
self = this;
2026-07-23 10:11:24 +00:00
tmp = outer1_3(this, ReferralTrialStore);
obj = outer1_6(ReferralTrialStore);
tmp2 = outer1_5;
if (outer1_26()) {
2026-07-20 16:05:17 +00:00
tmp6 = globalThis;
_Reflect = Reflect;
2026-07-23 10:11:24 +00:00
tmp7 = outer1_6;
2026-07-20 16:05:17 +00:00
tmp8 = arguments;
2026-07-23 10:11:24 +00:00
constructResult = Reflect.construct(obj, arguments, outer1_6(self).constructor);
2026-07-20 16:05:17 +00:00
} else {
tmp3 = arguments;
tmp4 = arguments;
constructResult = obj(...arguments);
}
return tmp2(self, constructResult);
}
}
callback2(ReferralTrialStore, Store);
let obj = {
key: "initialize",
value() {
2026-07-23 10:11:24 +00:00
this.waitFor(outer1_8);
const items = [outer1_8];
this.syncWith(items, outer1_29);
2026-07-20 16:05:17 +00:00
}
};
2026-07-23 10:11:24 +00:00
let items = [obj, , , , , , , , , , , , , , , ];
2026-07-20 16:05:17 +00:00
obj = {
key: "checkAndFetchReferralsRemaining",
value() {
2026-07-23 10:11:24 +00:00
let tmp = null == outer1_10;
2026-07-20 16:05:17 +00:00
if (tmp) {
2026-07-23 10:11:24 +00:00
tmp = !outer1_13;
2026-07-20 16:05:17 +00:00
}
if (tmp) {
2026-07-23 10:11:24 +00:00
tmp = outer1_17 < 6;
2026-07-20 16:05:17 +00:00
}
if (tmp) {
2026-07-23 10:11:24 +00:00
let tmp5 = null == outer1_18;
2026-07-20 16:05:17 +00:00
if (!tmp5) {
const _Date = Date;
2026-07-23 10:11:24 +00:00
tmp5 = outer1_18 < Date.now();
2026-07-20 16:05:17 +00:00
}
tmp = tmp5;
}
if (tmp) {
2026-07-23 10:11:24 +00:00
const referralsRemaining = ReferralTrialStore(outer1_2[7]).fetchReferralsRemaining();
const obj = ReferralTrialStore(outer1_2[7]);
2026-07-20 16:05:17 +00:00
}
}
};
items[1] = obj;
obj = {
key: "getReferralsRemaining",
value() {
let obj = arg0;
const self = this;
if (arg0 === undefined) {
obj = {};
}
let flag = obj.bypassFetch;
if (flag === undefined) {
flag = false;
}
if (!flag) {
const result = self.checkAndFetchReferralsRemaining();
}
2026-07-23 10:11:24 +00:00
return outer1_10;
2026-07-20 16:05:17 +00:00
}
};
items[2] = obj;
items[3] = {
key: "getSentUserIds",
value() {
const result = this.checkAndFetchReferralsRemaining();
2026-07-23 10:11:24 +00:00
return Array.from(outer1_11.values());
2026-07-20 16:05:17 +00:00
}
};
items[4] = {
key: "isFetchingReferralsRemaining",
value() {
2026-07-23 10:11:24 +00:00
return outer1_13;
2026-07-20 16:05:17 +00:00
}
};
items[5] = {
key: "getRelevantUserTrialOffer",
value(arg0) {
2026-07-23 10:11:24 +00:00
return outer1_16.get(arg0);
2026-07-20 16:05:17 +00:00
}
};
items[6] = {
key: "isResolving",
value(arg0) {
2026-07-23 10:11:24 +00:00
return outer1_14.has(arg0);
2026-07-20 16:05:17 +00:00
}
};
items[7] = {
key: "getEligibleUsers",
value() {
2026-07-23 10:11:24 +00:00
return outer1_19;
2026-07-20 16:05:17 +00:00
}
};
items[8] = {
key: "getFetchingEligibleUsers",
value() {
2026-07-23 10:11:24 +00:00
return outer1_20;
2026-07-20 16:05:17 +00:00
}
};
items[9] = {
key: "getNextIndexOfEligibleUsers",
value() {
2026-07-23 10:11:24 +00:00
return outer1_21;
2026-07-20 16:05:17 +00:00
}
};
items[10] = {
key: "getIsEligibleToSendReferrals",
value() {
2026-07-23 10:11:24 +00:00
return outer1_22;
2026-07-20 16:05:17 +00:00
}
};
items[11] = {
key: "getHasEligibleFriends",
value() {
2026-07-23 10:11:24 +00:00
return outer1_23;
2026-07-20 16:05:17 +00:00
}
};
items[12] = {
key: "getRefreshAt",
value() {
2026-07-23 10:11:24 +00:00
return outer1_24;
2026-07-20 16:05:17 +00:00
}
};
items[13] = {
key: "getAllRelevantReferralTrialOffers",
value() {
2026-07-23 10:11:24 +00:00
return Array.from(outer1_16.values());
2026-07-20 16:05:17 +00:00
}
};
items[14] = {
key: "getRecipientStatus",
value() {
2026-07-23 10:11:24 +00:00
return outer1_12;
2026-07-20 16:05:17 +00:00
}
};
items[15] = {
key: "getReminderStateId",
value() {
2026-07-23 10:11:24 +00:00
return outer1_25;
2026-07-20 16:05:17 +00:00
}
};
return callback(ReferralTrialStore, items);
2026-07-23 10:11:24 +00:00
})(require("initialize").Store);
2026-07-20 16:05:17 +00:00
tmp7.displayName = "ReferralTrialStore";
2026-07-23 10:11:24 +00:00
tmp7 = new tmp7(require("dispatcher"), {
2026-07-20 16:05:17 +00:00
BILLING_REFERRAL_TRIAL_OFFER_UPDATE: function handleReferralTrialOfferUpdate(userTrialOfferId) {
userTrialOfferId = userTrialOfferId.userTrialOfferId;
2026-07-23 10:11:24 +00:00
if (!c13) {
2026-07-25 08:10:48 +00:00
const referralsRemaining = userTrialOfferId(6159).fetchReferralsRemaining();
const obj = userTrialOfferId(6159);
2026-07-20 16:05:17 +00:00
}
if (!set1.has(userTrialOfferId)) {
handleReferralTrialResolve(userTrialOfferId);
2026-07-23 10:11:24 +00:00
importDefault(686).wait(() => {
const referralTrialOffer = userTrialOfferId(outer1_2[7]).resolveReferralTrialOffer(userTrialOfferId);
return referralTrialOffer.catch(outer1_9);
2026-07-20 16:05:17 +00:00
});
2026-07-23 10:11:24 +00:00
const obj2 = importDefault(686);
2026-07-20 16:05:17 +00:00
}
},
BILLING_REFERRALS_REMAINING_FETCH_START: function handleReferralsRemainingFetchStart(arg0) {
if (arg0 == null) {
HermesBuiltin.throwTypeError("Cannot destructure 'undefined' or 'null'.");
throw undefined;
} else {
2026-07-23 10:11:24 +00:00
let c24 = null;
let c13 = true;
2026-07-20 16:05:17 +00:00
}
},
BILLING_REFERRALS_REMAINING_FETCH_SUCCESS: function handleReferralsRemainingFetchSuccess(has_eligible_friends) {
let recipient_status;
let refresh_at;
let reminder_state_id;
2026-07-23 10:11:24 +00:00
let c22 = true;
2026-07-20 16:05:17 +00:00
has_eligible_friends = has_eligible_friends.has_eligible_friends;
2026-07-23 10:11:24 +00:00
let c13 = false;
2026-07-20 16:05:17 +00:00
const referrals_remaining = has_eligible_friends.referrals_remaining;
({ refresh_at, recipient_status, reminder_state_id } = has_eligible_friends);
const set = new Set(has_eligible_friends.sent_user_ids);
2026-07-23 10:11:24 +00:00
let c17 = 0;
let c18 = null;
2026-07-20 16:05:17 +00:00
},
BILLING_REFERRALS_REMAINING_FETCH_FAIL: function handleReferralsRemainingFetchFail(arg0) {
if (arg0 == null) {
HermesBuiltin.throwTypeError("Cannot destructure 'undefined' or 'null'.");
throw undefined;
} else {
2026-07-23 10:11:24 +00:00
let c22 = false;
let c23 = false;
let c24 = null;
let c13 = false;
const sum = c17 + 1;
c17 = sum;
2026-07-20 16:05:17 +00:00
if (sum <= 3) {
const _Math2 = Math;
2026-07-23 10:11:24 +00:00
let result = 1000 * Math.pow(2, c17);
2026-07-20 16:05:17 +00:00
} else {
const _Math = Math;
2026-07-23 10:11:24 +00:00
result = 8000 * Math.pow(4, c17 - 3);
2026-07-20 16:05:17 +00:00
}
const _Date = Date;
const _Math3 = Math;
const timestamp = Date.now();
let closure_18 = timestamp + Math.min(300000, result);
}
},
BILLING_CREATE_REFERRAL_SUCCESS: function handleCreateReferralSuccess(userTrialOffer) {
userTrialOffer = userTrialOffer.userTrialOffer;
2026-07-25 08:10:48 +00:00
const referralsRemaining = require(6159) /* _createForOfIteratorHelperLoose */.fetchReferralsRemaining();
2026-07-20 16:05:17 +00:00
const result = map1.set(userTrialOffer.id, userTrialOffer);
set.add(userTrialOffer.user_id);
},
CREATE_REFERRALS_SUCCESS: function handleCreateReferralsSuccess(userTrialOffers) {
let done;
2026-07-25 08:10:48 +00:00
const referralsRemaining = require(6159) /* _createForOfIteratorHelperLoose */.fetchReferralsRemaining();
2026-07-20 16:05:17 +00:00
const tmp2 = _createForOfIteratorHelperLoose(userTrialOffers.userTrialOffers);
let iter = tmp2();
if (!iter.done) {
do {
let value = iter.value;
2026-07-23 10:11:24 +00:00
let tmp3 = map1;
let result = map1.set(value.id, value);
let tmp5 = set;
let addResult = set.add(value.user_id);
2026-07-20 16:05:17 +00:00
let iter2 = tmp2();
iter = iter2;
done = iter2.done;
} while (!done);
}
},
BILLING_REFERRAL_RESOLVE_SUCCESS: function handleReferralTrialResolveSuccess(userTrialOffer) {
userTrialOffer = userTrialOffer.userTrialOffer;
if (null != userTrialOffer) {
set1.delete(userTrialOffer.id);
set2.add(userTrialOffer.id);
const result = map1.set(userTrialOffer.id, userTrialOffer);
}
},
BILLING_REFERRAL_RESOLVE_FAIL: function handleReferralTrialResolveFail(userTrialOfferId) {
userTrialOfferId = userTrialOfferId.userTrialOfferId;
set1.delete(userTrialOfferId);
set2.add(userTrialOfferId);
},
REFERRALS_FETCH_ELIGIBLE_USER_START: function handleReferralsFetchEligibleUsersStart() {
2026-07-23 10:11:24 +00:00
let c20 = true;
2026-07-20 16:05:17 +00:00
},
REFERRALS_FETCH_ELIGIBLE_USER_SUCCESS: function handleReferralsFetchEligibleUsersSuccess(arg0) {
2026-07-23 10:11:24 +00:00
let c21;
let closure_19;
let c20 = false;
({ users: closure_19, nextIndex: c21 } = arg0);
2026-07-20 16:05:17 +00:00
},
REFERRALS_FETCH_ELIGIBLE_USER_FAIL: function handleReferralsFetchEligibleUsersFail() {
2026-07-23 10:11:24 +00:00
let c20 = false;
2026-07-20 16:05:17 +00:00
},
LOAD_MESSAGES_SUCCESS: handleLoadMessages,
MESSAGE_CREATE: function handleMessage(message) {
resolveUserReferralTrialId(message.message);
},
LOAD_MESSAGES_AROUND_SUCCESS: handleLoadMessages,
LOGOUT: function handleReset() {
2026-07-23 10:11:24 +00:00
let c10 = null;
2026-07-20 16:05:17 +00:00
const set = new Set();
2026-07-23 10:11:24 +00:00
let c13 = false;
2026-07-20 16:05:17 +00:00
const set1 = new Set();
const set2 = new Set();
2026-07-23 10:11:24 +00:00
const map = new Map();
let c17 = 0;
let c18 = null;
2026-07-20 16:05:17 +00:00
let closure_19 = [];
2026-07-23 10:11:24 +00:00
let c20 = false;
let c21 = 0;
let c22 = false;
let c23 = false;
let c24 = null;
const map1 = new Map();
let c25 = null;
2026-07-20 16:05:17 +00:00
}
});
2026-07-23 10:11:24 +00:00
let result = set.fileFinishedImporting("modules/premium/ReferralTrialStore.tsx");
2026-07-20 16:05:17 +00:00
export default tmp7;