264 lines
9.1 KiB
JavaScript
264 lines
9.1 KiB
JavaScript
// Module ID: 7442
|
|
// Function ID: 59699
|
|
// Name: _createForOfIteratorHelperLoose
|
|
// Dependencies: []
|
|
// Exports: claimOutboundPromotion, getClaimedEndedOutboundPromotions, getClaimedOutboundPromotionCodeMap, getOutboundPromotionRedemptionUrl, getPromotionImageURL, shouldShowOutboundPromotionNotice
|
|
|
|
// Module 7442 (_createForOfIteratorHelperLoose)
|
|
function _createForOfIteratorHelperLoose(@@iterator) {
|
|
let arg1 = Symbol_iterator;
|
|
@@iterator = "undefined" !== typeof Symbol;
|
|
if (Symbol_iterator) {
|
|
const _Symbol = Symbol;
|
|
@@iterator = Symbol_iterator[Symbol.iterator];
|
|
}
|
|
if (!Symbol_iterator) {
|
|
@@iterator = Symbol_iterator[Symbol.iterator];
|
|
}
|
|
if (Symbol_iterator) {
|
|
const iter = Symbol_iterator.call(Symbol_iterator);
|
|
const next = iter.next;
|
|
return next.bind(iter);
|
|
} else {
|
|
const _Array = Array;
|
|
let tmp = Symbol_iterator;
|
|
if (!Array.isArray(Symbol_iterator)) {
|
|
let tmp2;
|
|
if (Symbol_iterator) {
|
|
if ("string" === typeof Symbol_iterator) {
|
|
tmp2 = _arrayLikeToArray(Symbol_iterator, undefined);
|
|
} else {
|
|
const toString = {}.toString;
|
|
const substr = toString.call(Symbol_iterator).slice(8, -1);
|
|
let name = substr;
|
|
if (tmp3) {
|
|
name = Symbol_iterator.constructor.name;
|
|
}
|
|
if ("Map" !== name) {
|
|
if ("Set" !== name) {
|
|
if ("Arguments" === name) {
|
|
let arr = _arrayLikeToArray(Symbol_iterator, undefined);
|
|
} else {
|
|
const obj = /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/;
|
|
}
|
|
}
|
|
tmp2 = arr;
|
|
}
|
|
const _Array2 = Array;
|
|
arr = Array.from(Symbol_iterator);
|
|
const callResult = toString.call(Symbol_iterator);
|
|
const tmp3 = "Object" === substr && Symbol_iterator.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) {
|
|
arg1 = tmp;
|
|
}
|
|
let closure_1 = 0;
|
|
return () => {
|
|
if (closure_1 >= tmp.length) {
|
|
let obj = { done: true };
|
|
} else {
|
|
obj = { done: false };
|
|
closure_1 = tmp3 + 1;
|
|
obj.value = tmp[+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 claimedOutboundPromotionCodeFromServer(code) {
|
|
return { code: code.code, userId: code.user_id, claimedAt: code.claimed_at, promotion: closure_5.createFromServer(code.promotion) };
|
|
}
|
|
async function _claimOutboundPromotion(arg0, arg1) {
|
|
const fn = function*(arg0) {
|
|
let analyticsLocations;
|
|
let partnerId;
|
|
let promotionId;
|
|
let promotionTitle;
|
|
({ promotionId, promotionTitle, partnerId, analyticsLocations } = arg0);
|
|
yield undefined;
|
|
const HTTP = callback(closure_2[8]).HTTP;
|
|
let obj = { url: closure_9.CLAIM_OUTBOUND_PROMOTION_CODE(promotionId), rejectWithError: callback(closure_2[8]).rejectWithMigratedError() };
|
|
const tmp2 = yield HTTP.post(obj);
|
|
const obj2 = callback(closure_2[8]);
|
|
const obj3 = callback(closure_2[9]);
|
|
const tmp4 = callback(closure_2[9]).isIOS() ? closure_10.IOS : closure_10.ANDROID;
|
|
obj = { platform: tmp4, status: tmp2.status, location_stack: analyticsLocations, promotion_id: promotionId };
|
|
let tmp5 = null;
|
|
if (null != promotionTitle) {
|
|
tmp5 = promotionTitle;
|
|
}
|
|
obj.name = tmp5;
|
|
let tmp6 = null;
|
|
if (null != partnerId) {
|
|
tmp6 = partnerId;
|
|
}
|
|
obj.partner = tmp6;
|
|
callback2(closure_2[10]).track(constants.OUTBOUND_PROMOTION_CLAIMED, obj);
|
|
return callback3(tmp2.body);
|
|
};
|
|
fn.next();
|
|
return fn;
|
|
}
|
|
function getNextUnseenOutboundPromotionId() {
|
|
const outboundPromotions = closure_6.outboundPromotions;
|
|
let closure_0 = closure_6.consumedInboundPromotionId;
|
|
const found = outboundPromotions.filter((id) => {
|
|
let tmp = id.id !== callback;
|
|
if (tmp) {
|
|
tmp = !callback(closure_2[11]).hasFlag(id.flags, constants.SUPPRESS_NOTIFICATION);
|
|
const obj = callback(closure_2[11]);
|
|
}
|
|
if (tmp) {
|
|
tmp = !callback2(id);
|
|
}
|
|
return tmp;
|
|
});
|
|
const userContent = settings.settings.userContent;
|
|
let prop;
|
|
if (null != userContent) {
|
|
if (null != userContent.recurringDismissibleContentStates[closure_0(undefined, closure_2[12]).DismissibleContent.THIRD_PARTY_OUTBOUND_PROMO_NAGBAR]) {
|
|
prop = tmp4.lastDismissedObjectId;
|
|
}
|
|
}
|
|
const importDefault = prop;
|
|
let found1 = found;
|
|
if (null != prop) {
|
|
found1 = found.filter((id) => 1 === prop(closure_2[13]).compare(id.id, prop));
|
|
}
|
|
let id = null;
|
|
if (0 !== found1.length) {
|
|
id = found1.sort((startDate, startDate2) => {
|
|
const date = new Date(startDate.startDate);
|
|
let num = 1;
|
|
if (date < date1) {
|
|
num = -1;
|
|
}
|
|
return num;
|
|
})[0].id;
|
|
}
|
|
return id;
|
|
}
|
|
function isLogitechPromotion(promotion) {
|
|
return promotion.partnerId === arg1(dependencyMap[15]).LOGITECH_PARTNER_ID;
|
|
}
|
|
function shouldShowOutboundPromotionOnPlatform(promotion) {
|
|
let tmp = !arg1(dependencyMap[9]).isIOS();
|
|
if (!tmp) {
|
|
tmp = !promotion.hasFlag(PromotionFlags.IS_BLOCKED_IOS);
|
|
}
|
|
return tmp;
|
|
}
|
|
function isRecurringPromotion(promotionType) {
|
|
return promotionType.promotionType === arg1(dependencyMap[15]).PromotionTypes.THIRD_PARTY_OUTBOUND_RECURRING;
|
|
}
|
|
let closure_3 = importDefault(dependencyMap[0]);
|
|
let closure_4 = importDefault(dependencyMap[1]);
|
|
let closure_5 = importDefault(dependencyMap[2]);
|
|
let closure_6 = importDefault(dependencyMap[3]);
|
|
const PromotionFlags = arg1(dependencyMap[4]).PromotionFlags;
|
|
({ AnalyticEvents: closure_8, Endpoints: closure_9, Platforms: closure_10 } = arg1(dependencyMap[5]));
|
|
const ActivityPlatform = arg1(dependencyMap[6]).ActivityPlatform;
|
|
const tmp2 = arg1(dependencyMap[5]);
|
|
const result = arg1(dependencyMap[16]).fileFinishedImporting("modules/premium/promotions/PromotionUtils.tsx");
|
|
|
|
export const getPromotionImageURL = function getPromotionImageURL(id, arg1) {
|
|
let str = "logo-light";
|
|
if (obj.isThemeDark(arg1)) {
|
|
str = "logo-dark";
|
|
}
|
|
if (null != CDN_HOST) {
|
|
const _HermesInternal2 = HermesInternal;
|
|
let combined = "https://" + CDN_HOST + "/promotions/" + id + "/" + str + "?size=256";
|
|
} else {
|
|
const _location = location;
|
|
const _window = window;
|
|
const _HermesInternal = HermesInternal;
|
|
combined = "" + location.protocol + window.GLOBAL_ENV.API_ENDPOINT + "/promotions/" + id + "/" + str + "?size=256";
|
|
}
|
|
return combined;
|
|
};
|
|
export { claimedOutboundPromotionCodeFromServer };
|
|
export const claimOutboundPromotion = function claimOutboundPromotion(arg0) {
|
|
return _claimOutboundPromotion(...arguments);
|
|
};
|
|
export const getOutboundPromotionRedemptionUrl = function getOutboundPromotionRedemptionUrl(code, outboundPromotion) {
|
|
if (null != outboundPromotion.outboundRedemptionUrlFormat) {
|
|
if ("" !== outboundPromotion.outboundRedemptionUrlFormat) {
|
|
const _encodeURIComponent = encodeURIComponent;
|
|
let str2 = outboundPromotion.outboundRedemptionUrlFormat.replace("{code}", encodeURIComponent(code));
|
|
const str3 = outboundPromotion.outboundRedemptionUrlFormat;
|
|
}
|
|
return str2;
|
|
}
|
|
const outboundRedemptionPageLink = outboundPromotion.outboundRedemptionPageLink;
|
|
str2 = "";
|
|
if (null != outboundRedemptionPageLink) {
|
|
str2 = outboundRedemptionPageLink;
|
|
}
|
|
};
|
|
export { getNextUnseenOutboundPromotionId };
|
|
export const shouldShowOutboundPromotionNotice = function shouldShowOutboundPromotionNotice() {
|
|
const tmp = getNextUnseenOutboundPromotionId();
|
|
let tmp2 = null != tmp;
|
|
if (tmp2) {
|
|
let obj = arg1(dependencyMap[14]);
|
|
obj = { cooldownDurationMs: 259200000 };
|
|
tmp2 = !obj.isTimeRecurringSnowflakeBoundDismissibleContentDismissed(arg1(dependencyMap[12]).DismissibleContent.THIRD_PARTY_OUTBOUND_PROMO_NAGBAR, tmp, obj);
|
|
}
|
|
return tmp2;
|
|
};
|
|
export { isLogitechPromotion };
|
|
export { shouldShowOutboundPromotionOnPlatform };
|
|
export const getClaimedOutboundPromotionCodeMap = function getClaimedOutboundPromotionCodeMap(stateFromStores2) {
|
|
let done;
|
|
const obj = {};
|
|
const tmp = _createForOfIteratorHelperLoose(stateFromStores2);
|
|
let iter = tmp();
|
|
if (!iter.done) {
|
|
do {
|
|
let value = iter.value;
|
|
obj[value.promotion.id] = value.code;
|
|
let iter2 = tmp();
|
|
iter = iter2;
|
|
done = iter2.done;
|
|
} while (!done);
|
|
}
|
|
return obj;
|
|
};
|
|
export const getClaimedEndedOutboundPromotions = function getClaimedEndedOutboundPromotions(arr, arr2) {
|
|
arr2 = new Set(arr2.map((id) => id.id));
|
|
return arr.filter((promotion) => {
|
|
promotion = promotion.promotion;
|
|
let tmp = !set.has(promotion.id);
|
|
if (tmp) {
|
|
tmp = !callback3(promotion);
|
|
}
|
|
if (tmp) {
|
|
tmp = !callback(promotion);
|
|
}
|
|
if (tmp) {
|
|
tmp = callback2(promotion);
|
|
}
|
|
return tmp;
|
|
});
|
|
};
|
|
export { isRecurringPromotion };
|