496 lines
26 KiB
TypeScript
496 lines
26 KiB
TypeScript
/* Metro module 8375; source: modules/content_inventory/utils.tsx; dependencies: [672, 21, 1244, 3738, 8376, 3381, 8370, 2] */
|
|
import SnowflakeUtils from '../../utils/SnowflakeUtils.tsx'; /* Metro dependency 21 */
|
|
import Durations from '../../utils/Durations.tsx'; /* Metro dependency 672 */
|
|
import defaultImport2 from '../../by-id/module-03738.js'; /* Metro dependency 3738 */
|
|
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
|
|
import * as IndexNativeModule from '../../intl/index.native.tsx'; /* Metro dependency 1244 */
|
|
import * as Module03381Module from '../../by-id/module-03381.js'; /* Metro dependency 3381 */
|
|
import * as ContentInventoryTraitTypeModule from '../../external/discord_common/js/shared/shared-constants/ContentInventoryTraitType.tsx'; /* Metro dependency 8376 */
|
|
|
|
function _fun66657(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#66657, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:6, offset: 0x01c04b56, size: 625 bytes, params: 8, frame: 27
|
|
let env0_0 = require;
|
|
const closure = function(a0, a1) {
|
|
var env0_0 = a1;
|
|
return a0.traits.find(_fun66659);
|
|
};
|
|
const isEntryActive2 = isEntryActive;
|
|
const closure3 = function(a0) {
|
|
var r0;
|
|
var Date;
|
|
var expires_at;
|
|
var value2;
|
|
var value3;
|
|
var value4;
|
|
var value = a0.expires_at != null;
|
|
if (value) {
|
|
Date = global.Date;
|
|
expires_at = a0.expires_at;
|
|
value2 = new Date();
|
|
Date = global.Date;
|
|
value3 = Object.create(Date.prototype, {constructor: {value: Date}});
|
|
value4 = new Date();
|
|
value2 = value2 < (value4 instanceof Object ? value4 : value3);
|
|
r0 = value2;
|
|
} else {
|
|
r0 = value;
|
|
}
|
|
return r0;
|
|
};
|
|
const getEntryDuration2 = getEntryDuration;
|
|
const getStreakCount2 = getStreakCount;
|
|
const Object = global.Object;
|
|
Object.defineProperty(exports, '__esModule', {value: true});
|
|
const calculateTimestampDurations2 = calculateTimestampDurations;
|
|
const calculateActiveTimestampDurations2 = calculateActiveTimestampDurations;
|
|
const formatActiveTimestamp2 = formatActiveTimestamp;
|
|
const formatTimestampToA11yLabel2 = formatTimestampToA11yLabel;
|
|
object = {secondsAgo: function(a0) {
|
|
var intl = require(dependencyMap[2]).intl;
|
|
var EOrEJl = require(dependencyMap[2]).t.EOrEJl;
|
|
return intl.formatToPlainString(EOrEJl, {count: a0});
|
|
}, minutesAgo: function(a0) {
|
|
var intl = require(dependencyMap[2]).intl;
|
|
var LRNgHp = require(dependencyMap[2]).t.LRNgHp;
|
|
return intl.formatToPlainString(LRNgHp, {count: a0});
|
|
}, hoursAgo: function(a0) {
|
|
return require(dependencyMap[2]).intl.formatToPlainString(require(dependencyMap[2]).t.raJpz3, {count: a0});
|
|
}, daysAgo: function(a0) {
|
|
var intl = require(dependencyMap[2]).intl;
|
|
var KkvKhi = require(dependencyMap[2]).t.KkvKhi;
|
|
return intl.formatToPlainString(KkvKhi, {count: a0});
|
|
}, weeksAgo: function(a0) {
|
|
return require(dependencyMap[2]).intl.formatToPlainString(require(dependencyMap[2]).t.sDtO6D, {count: a0});
|
|
}, monthsAgo: function(a0) {
|
|
var intl = require(dependencyMap[2]).intl;
|
|
var ITymou = require(dependencyMap[2]).t.ITymou;
|
|
return intl.formatToPlainString(ITymou, {count: a0});
|
|
}};
|
|
const formatEndedTimestamp2 = formatEndedTimestamp;
|
|
(FileImportTrackerModule).fileFinishedImporting('modules/content_inventory/utils.tsx');
|
|
exports.calculateTimestampDurations = calculateTimestampDurations2;
|
|
exports.calculateActiveTimestampDurations = calculateActiveTimestampDurations2;
|
|
exports.formatActiveTimestamp = formatActiveTimestamp2;
|
|
exports.formatTimestampToA11yLabel = formatTimestampToA11yLabel2;
|
|
exports.formatActiveA11yTimestamp = function(a0, a1) {
|
|
var value2 = calculateActiveTimestampDurations(a0, a1);
|
|
return formatTimestampToA11yLabel({hours: value2.hours, minutes: value2.minutes, seconds: value2.seconds});
|
|
};
|
|
exports.A11Y_FORMAT_SET = {secondsAgo: function(a0) {
|
|
return require(dependencyMap[2]).intl.formatToPlainString(require(dependencyMap[2]).t.jfUoRQ, {count: a0});
|
|
}, minutesAgo: function(a0) {
|
|
var intl = require(dependencyMap[2]).intl;
|
|
var DmvRVO = require(dependencyMap[2]).t.DmvRVO;
|
|
return intl.formatToPlainString(DmvRVO, {count: a0});
|
|
}, hoursAgo: function(a0) {
|
|
var intl = require(dependencyMap[2]).intl;
|
|
var AfXezt = require(dependencyMap[2]).t.AfXezt;
|
|
return intl.formatToPlainString(AfXezt, {count: a0});
|
|
}, daysAgo: function(a0) {
|
|
var intl = require(dependencyMap[2]).intl;
|
|
var Lru1rV = require(dependencyMap[2]).t.Lru1rV;
|
|
return intl.formatToPlainString(Lru1rV, {count: a0});
|
|
}, weeksAgo: function(a0) {
|
|
return require(dependencyMap[2]).intl.formatToPlainString(require(dependencyMap[2]).t['jovF+x'], {count: a0});
|
|
}, monthsAgo: function(a0) {
|
|
return require(dependencyMap[2]).intl.formatToPlainString(require(dependencyMap[2]).t.nmSbST, {count: a0});
|
|
}};
|
|
exports.formatEndedTimestamp = formatEndedTimestamp2;
|
|
exports.formatEntryTimestamp = formatEntryTimestamp;
|
|
exports.getTrait = closure;
|
|
exports.isEntryActive = isEntryActive2;
|
|
exports.isEntryNew = isEntryNew;
|
|
exports.isEntryRecent = isEntryRecent;
|
|
exports.isEntryExpired = closure3;
|
|
exports.isEntryLive = isEntryLive;
|
|
exports.getEntryDuration = getEntryDuration2;
|
|
exports.getAggregateRange = getAggregateRange;
|
|
exports.isEntryMarathon = isEntryMarathon;
|
|
exports.getResurrectedEntryLastPlayTime = getResurrectedEntryLastPlayTime;
|
|
exports.getFullResurrectedBadgeText = getFullResurrectedBadgeText;
|
|
exports.getEpisodeBadgeText = getEpisodeBadgeText;
|
|
exports.getRichGameStateBadgeText = getRichGameStateBadgeText;
|
|
exports.isEntryTopGame = function({content_type}) {
|
|
return content_type === require(dependencyMap[6]).ContentInventoryEntryType.TOP_GAME;
|
|
};
|
|
exports.getStreakCount = getStreakCount2;
|
|
exports.isValidStreak = isValidStreak;
|
|
exports.getMarathonDescription = getMarathonDescription;
|
|
exports.getTrendingType = getTrendingType;
|
|
function getTrait({traits}, a1) { // fn#66658, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:2759, offset: 0x01c04dc7, size: 38 bytes, params: 3, frame: 11
|
|
const env0_0 = a1;
|
|
return traits.find(function({type}) {
|
|
return type === require;
|
|
});
|
|
function _fun66659({type}) { // fn#66659, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:2804, offset: 0x0108b18c, size: 21 bytes, params: 2, frame: 2
|
|
return type === require;
|
|
}
|
|
|
|
}
|
|
|
|
function isEntryActive(a0) { // fn#66660, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:2820, offset: 0x01c04ded, size: 79 bytes, params: 2, frame: 13
|
|
const getTraitBinding = getTrait;
|
|
const value = undefined;
|
|
const ContentInventoryTraitType = (ContentInventoryTraitTypeModule).ContentInventoryTraitType;
|
|
const IS_LIVE = ContentInventoryTraitType.IS_LIVE;
|
|
const traitBinding = getTraitBinding(a0, IS_LIVE);
|
|
const is_live = traitBinding == null ? value : traitBinding.is_live;
|
|
return is_live != null && is_live;
|
|
}
|
|
|
|
function getEntryDuration(a0) { // fn#66662, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:3041, offset: 0x01c04e90, size: 67 bytes, params: 2, frame: 13
|
|
const getTraitBinding = getTrait;
|
|
const value = undefined;
|
|
const ContentInventoryTraitType = (ContentInventoryTraitTypeModule).ContentInventoryTraitType;
|
|
const DURATION_SECONDS = ContentInventoryTraitType.DURATION_SECONDS;
|
|
const traitBinding = getTraitBinding(a0, DURATION_SECONDS);
|
|
return traitBinding == null ? value : traitBinding.duration_seconds;
|
|
}
|
|
|
|
function getStreakCount(a0) { // fn#66663, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:3182, offset: 0x01c04ed3, size: 69 bytes, params: 2, frame: 13
|
|
const getTraitBinding = getTrait;
|
|
const value = undefined;
|
|
const ContentInventoryTraitType = (ContentInventoryTraitTypeModule).ContentInventoryTraitType;
|
|
const STREAK_DAYS = ContentInventoryTraitType.STREAK_DAYS;
|
|
const traitBinding = getTraitBinding(a0, STREAK_DAYS);
|
|
return traitBinding == null ? value : traitBinding.streak_count_days;
|
|
}
|
|
|
|
function calculateTimestampDurations(a0, a1) { // fn#66664, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:124, offset: 0x01c04f18, size: 286 bytes, params: 3, frame: 19
|
|
let Math = global.Math;
|
|
let value = Math.max(a0 - a1, 0);
|
|
const Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis;
|
|
const SECOND = Millis.SECOND;
|
|
value /= SECOND;
|
|
const object = {};
|
|
Math = global.Math;
|
|
let floor = Math.floor;
|
|
const value3 = Reflect.apply(floor, Math, [value]);
|
|
let Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
|
|
let MINUTE = Seconds.MINUTE;
|
|
object.seconds = value3 % MINUTE;
|
|
Math = global.Math;
|
|
floor = Math.floor;
|
|
Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
|
|
MINUTE = Seconds.MINUTE;
|
|
const value4 = Reflect.apply(floor, Math, [value / MINUTE]);
|
|
Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
|
|
MINUTE = Seconds.MINUTE;
|
|
object.minutes = value4 % MINUTE;
|
|
Math = global.Math;
|
|
floor = Math.floor;
|
|
Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
|
|
const HOUR = Seconds.HOUR;
|
|
object.hours = Reflect.apply(floor, Math, [value / HOUR]);
|
|
Math = global.Math;
|
|
floor = Math.floor;
|
|
Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
|
|
const DAY = Seconds.DAY;
|
|
object.days = Reflect.apply(floor, Math, [value / DAY]);
|
|
return object;
|
|
}
|
|
|
|
function calculateActiveTimestampDurations(a0, a1) { // fn#66665, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:412, offset: 0x01c05036, size: 192 bytes, params: 3, frame: 18
|
|
var r5;
|
|
var r4;
|
|
var defaultImport;
|
|
let value = a1;
|
|
const end = 'end' in a0 ? a0.end : undefined;
|
|
const r0 = 'isCountDown' in a0 && a0.isCountDown != null && a0.isCountDown;
|
|
if (r0) {
|
|
if (end == null) {
|
|
if ('id' in a0) {
|
|
defaultImport = importDefault(21) /* metro dependency 21: SnowflakeUtils */;
|
|
r5 = defaultImport.extractTimestamp(a0.id);
|
|
} else {
|
|
r5 = a0.start;
|
|
}
|
|
if (end == null) {
|
|
r4 = value;
|
|
} else if (r0) {
|
|
r4 = value;
|
|
} else {
|
|
value = global.Math.min(end, value);
|
|
r4 = value;
|
|
}
|
|
value = environment;
|
|
return calculateTimestampDurations(r4, r5);
|
|
}
|
|
if (end > value) {
|
|
return calculateTimestampDurations(end, value);
|
|
}
|
|
if ('id' in a0) {
|
|
defaultImport = importDefault(21) /* metro dependency 21: SnowflakeUtils */;
|
|
r5 = defaultImport.extractTimestamp(a0.id);
|
|
} else {
|
|
r5 = a0.start;
|
|
}
|
|
if (end == null) {
|
|
r4 = value;
|
|
} else if (r0) {
|
|
r4 = value;
|
|
} else {
|
|
value = global.Math.min(end, value);
|
|
r4 = value;
|
|
}
|
|
value = environment;
|
|
} else {
|
|
if ('id' in a0) {
|
|
defaultImport = importDefault(21) /* metro dependency 21: SnowflakeUtils */;
|
|
r5 = defaultImport.extractTimestamp(a0.id);
|
|
} else {
|
|
r5 = a0.start;
|
|
}
|
|
if (end == null) {
|
|
r4 = value;
|
|
} else if (r0) {
|
|
r4 = value;
|
|
} else {
|
|
value = global.Math.min(end, value);
|
|
r4 = value;
|
|
}
|
|
}
|
|
return calculateTimestampDurations(r4, r5);
|
|
}
|
|
|
|
function formatActiveTimestamp(a0, a1) { // fn#66666, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:710, offset: 0x01c050f6, size: 143 bytes, params: 3, frame: 20
|
|
const closure = function(a0) {
|
|
return (0, global.String)(a0).padStart(2, '0');
|
|
};
|
|
let value = calculateActiveTimestampDurations(a0, a1);
|
|
const seconds = value.seconds;
|
|
const minutes = value.minutes;
|
|
const hours = value.hours;
|
|
const r5 = hours > 0 ? closure(minutes) : minutes;
|
|
value = closure(seconds);
|
|
return hours > 0 ? '' + hours + ':' + r5 + ':' + value : '' + r5 + ':' + value;
|
|
}
|
|
|
|
function formatTimestampToA11yLabel({hours, minutes, seconds}) { // fn#66668, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:960, offset: 0x01c051ae, size: 267 bytes, params: 2, frame: 21
|
|
const intl = (IndexNativeModule).intl;
|
|
const t = (IndexNativeModule).t;
|
|
const items2 = [];
|
|
if (hours > 0) {
|
|
items2.push(intl.formatToPlainString(t.xCjYxK, {hours: hours}));
|
|
}
|
|
items2.push(intl.formatToPlainString(t.iXLF9W, {minutes: minutes}));
|
|
items2.push(intl.formatToPlainString(t.geSp4K, {seconds: seconds}));
|
|
return items2.join(', ');
|
|
}
|
|
|
|
function formatEndedTimestamp({id}, a1, a2) { // fn#66681, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:2156, offset: 0x01c05631, size: 661 bytes, params: 4, frame: 19
|
|
const value = a3;
|
|
const formatSet = (value !== undefined ? value : {}).formatSet;
|
|
const r2 = formatSet !== undefined ? formatSet : env0_7;
|
|
const value2 = (defaultImport2)(a2);
|
|
const defaultImport3 = SnowflakeUtils;
|
|
const value4 = value2.diff(defaultImport2(defaultImport3.extractTimestamp(id)), 's');
|
|
let Math = global.Math;
|
|
const value5 = Math.abs(value4);
|
|
let Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
|
|
const MINUTE = Seconds.MINUTE;
|
|
if (value5 < MINUTE) {
|
|
return r2.secondsAgo(value4);
|
|
}
|
|
Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
|
|
let HOUR = Seconds.HOUR;
|
|
if (value5 < HOUR) {
|
|
Math = global.Math;
|
|
return r2.minutesAgo(Math.round(value4 / (importDefault(672) /* metro dependency 672: Durations */).Seconds.MINUTE));
|
|
}
|
|
Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
|
|
HOUR = Seconds.HOUR;
|
|
if (value5 < 12 * HOUR) {
|
|
Math = global.Math;
|
|
return r2.hoursAgo(Math.round(value4 / (importDefault(672) /* metro dependency 672: Durations */).Seconds.HOUR));
|
|
}
|
|
Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
|
|
const DAY = Seconds.DAY;
|
|
if (value5 < 9 * DAY) {
|
|
Math = global.Math;
|
|
return r2.daysAgo(Math.round(value4 / (importDefault(672) /* metro dependency 672: Durations */).Seconds.DAY));
|
|
}
|
|
Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
|
|
const WEEK = Seconds.WEEK;
|
|
if (value5 < 4 * WEEK) {
|
|
Math = global.Math;
|
|
return r2.weeksAgo(Math.round(value4 / (7 * (importDefault(672) /* metro dependency 672: Durations */).Seconds.DAY)));
|
|
}
|
|
Math = global.Math;
|
|
const round = Math.round;
|
|
Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
|
|
const DAYS_30 = Seconds.DAYS_30;
|
|
return r2.monthsAgo(Reflect.apply(round, Math, [value4 / DAYS_30]));
|
|
}
|
|
|
|
function formatEntryTimestamp(a0, a1) { // fn#66683, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:3884, offset: 0x01c05909, size: 88 bytes, params: 3, frame: 18
|
|
const value = a2;
|
|
const value2 = a3;
|
|
const r3 = value !== undefined ? value : global.Date.now();
|
|
return isEntryActive(a0) ? formatActiveTimestamp(a0, r3) : formatEndedTimestamp(a0, 0, r3,
|
|
value2 !== undefined ? value2 : {});
|
|
}
|
|
|
|
function isEntryNew(a0) { // fn#66684, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:4046, offset: 0x01c05961, size: 79 bytes, params: 2, frame: 13
|
|
const getTraitBinding = getTrait;
|
|
const value = undefined;
|
|
const ContentInventoryTraitType = (ContentInventoryTraitTypeModule).ContentInventoryTraitType;
|
|
const FIRST_TIME = ContentInventoryTraitType.FIRST_TIME;
|
|
const traitBinding = getTraitBinding(a0, FIRST_TIME);
|
|
const first_time = traitBinding == null ? value : traitBinding.first_time;
|
|
return first_time != null && first_time;
|
|
}
|
|
|
|
function isEntryRecent({id}) { // fn#66685, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:4201, offset: 0x01c059b0, size: 80 bytes, params: 2, frame: 14
|
|
let value = SnowflakeUtils;
|
|
value = value.age(id);
|
|
const Millis = (Durations).Millis;
|
|
const HOUR = Millis.HOUR;
|
|
return value / HOUR < 48;
|
|
}
|
|
|
|
function isEntryLive(a0) { // fn#66686, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:4322, offset: 0x01c05a00, size: 34 bytes, params: 2, frame: 13
|
|
return isEntryActive(a0) && !isEntryExpired(a0);
|
|
}
|
|
|
|
function getAggregateRange(a0) { // fn#66687, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:4447, offset: 0x01c05a22, size: 67 bytes, params: 2, frame: 13
|
|
const getTraitBinding = getTrait;
|
|
const value = undefined;
|
|
const ContentInventoryTraitType = (ContentInventoryTraitTypeModule).ContentInventoryTraitType;
|
|
const AGGREGATE_RANGE = ContentInventoryTraitType.AGGREGATE_RANGE;
|
|
const traitBinding = getTraitBinding(a0, AGGREGATE_RANGE);
|
|
return traitBinding == null ? value : traitBinding.range;
|
|
}
|
|
|
|
function isEntryMarathon(a0) { // fn#66688, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:4596, offset: 0x01c05a65, size: 69 bytes, params: 2, frame: 13
|
|
const getTraitBinding = getTrait;
|
|
const value = undefined;
|
|
const ContentInventoryTraitType = (ContentInventoryTraitTypeModule).ContentInventoryTraitType;
|
|
const MARATHON = ContentInventoryTraitType.MARATHON;
|
|
const traitBinding = getTraitBinding(a0, MARATHON);
|
|
return traitBinding == null ? value : traitBinding.marathon;
|
|
}
|
|
|
|
function getResurrectedEntryLastPlayTime(a0) { // fn#66689, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:4755, offset: 0x01c05aaa, size: 112 bytes, params: 2, frame: 14
|
|
const getTraitBinding = getTrait;
|
|
const value = undefined;
|
|
const ContentInventoryTraitType = (ContentInventoryTraitTypeModule).ContentInventoryTraitType;
|
|
const RESURRECTED = ContentInventoryTraitType.RESURRECTED;
|
|
const traitBinding = getTraitBinding(a0, RESURRECTED);
|
|
return (traitBinding == null ? value : traitBinding.resurrected_last_played) != null ? new global.Date(traitBinding.resurrected_last_played) : value;
|
|
}
|
|
|
|
function getFullResurrectedBadgeText(a0) { // fn#66690, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:4993, offset: 0x01c05b1a, size: 234 bytes, params: 2, frame: 19
|
|
const intervalToDuration = Module03381Module.intervalToDuration;
|
|
const Date = global.Date;
|
|
const value2 = Object.create(Date.prototype, {constructor: {value: Date}});
|
|
const date = new Date();
|
|
const value4 = Reflect.apply(intervalToDuration, Module03381Module, [{start: a0,
|
|
end: date instanceof Object ? date : value2}]);
|
|
const months = value4.months;
|
|
const value5 = 0;
|
|
let r4 = months === undefined ? value5 : months;
|
|
const weeks = value4.weeks;
|
|
const r6 = weeks === undefined ? value5 : weeks;
|
|
const days = value4.days;
|
|
const r5 = days === undefined ? value5 : days;
|
|
const intl = (IndexNativeModule).intl;
|
|
const formatToPlainString = intl.formatToPlainString;
|
|
const NXBtjF = (IndexNativeModule).t.NXBtjF;
|
|
object = {months: r4};
|
|
object.weeks = r4 > value5 ? value5 : r6;
|
|
r4 = r4 > value5 || r6 > value5 ? value5 : r5;
|
|
object.days = r4;
|
|
return Reflect.apply(formatToPlainString, intl, [NXBtjF, object]);
|
|
}
|
|
|
|
function getEpisodeBadgeText(a0) { // fn#66691, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:5295, offset: 0x01c05c04, size: 142 bytes, params: 2, frame: 18
|
|
var r1;
|
|
var intl;
|
|
const value = null;
|
|
if (value == a0) {
|
|
return value;
|
|
}
|
|
if (a0 === '') {
|
|
return value;
|
|
}
|
|
const value2 = RegExp('\\w+ (\\d+), \\w+ (\\d+)', '').exec(a0);
|
|
if (value == value2) {
|
|
r1 = value;
|
|
} else {
|
|
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
|
|
r1 = intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t.ijVm6y,
|
|
{seasonNum: value2[1], episodeNum: value2[2]});
|
|
}
|
|
return r1;
|
|
}
|
|
|
|
function getRichGameStateBadgeText(a0, a1) { // fn#66692, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:5528, offset: 0x01c05c92, size: 333 bytes, params: 3, frame: 22
|
|
const intl = (IndexNativeModule).intl;
|
|
const t = (IndexNativeModule).t;
|
|
const value = a0;
|
|
const value2 = undefined;
|
|
const r8 = (a1 == null || a1.size == null ? value2 : a1.size[0]) ?? value2;
|
|
const r7 = (a1 == null || a1.size == null ? value2 : a1.size[1]) ?? value2;
|
|
const r5 = r8 == null || r7 == null ? r8 != null && r8 > 0 ? intl.formatToPlainString(t.UTYMsa,
|
|
{count: r8}) : value2 : r8 > 0 && r7 > 0 ? intl.formatToPlainString(t.wmUSiy, {count: r8,
|
|
max: r7}) : r8 != null && r8 > 0 ? intl.formatToPlainString(t.UTYMsa, {count: r8}) : value2;
|
|
return r5 == null ? value ?? r5 : value != null ? '' + value + ' (' + r5 + ')' : value ?? r5;
|
|
}
|
|
|
|
function isValidStreak(a0) { // fn#66694, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:6086, offset: 0x01c05e13, size: 134 bytes, params: 2, frame: 14
|
|
var value;
|
|
const streakCount = getStreakCount(a0);
|
|
if (streakCount == null) {
|
|
return false;
|
|
}
|
|
if (streakCount < 3) {
|
|
return false;
|
|
}
|
|
value = Reflect.apply((importDefault(21) /* metro dependency 21: SnowflakeUtils */).extractTimestamp, value,
|
|
[a0.id]);
|
|
const Date = global.Date;
|
|
value = Date.now() - value;
|
|
const Millis = (Durations).Millis;
|
|
const HOUR = Millis.HOUR;
|
|
return !(value > 48 * HOUR);
|
|
}
|
|
|
|
function getMarathonDescription(a0) { // fn#66695, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:6280, offset: 0x01c05e99, size: 250 bytes, params: 2, frame: 20
|
|
var r0;
|
|
var object;
|
|
const intl = (IndexNativeModule).intl;
|
|
const t = (IndexNativeModule).t;
|
|
const entryDuration = getEntryDuration(a0);
|
|
if (entryDuration == null) {
|
|
return {'text': null, 'tooltipText': null};
|
|
}
|
|
const Math = global.Math;
|
|
const round = Math.round;
|
|
const Seconds = (Durations).Seconds;
|
|
const HOUR = Seconds.HOUR;
|
|
const value3 = Reflect.apply(round, Math, [entryDuration / HOUR]);
|
|
if (value3 <= 0) {
|
|
r0 = {'text': null, 'tooltipText': null};
|
|
} else {
|
|
object = {};
|
|
object.text = intl.formatToPlainString(t.vZaMem, {hours: value3});
|
|
object.tooltipText = intl.formatToPlainString(t.S5F485, {hours: value3});
|
|
r0 = object;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function getTrendingType(a0) { // fn#66696, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8560:6629, offset: 0x01c05f93, size: 69 bytes, params: 2, frame: 13
|
|
const getTraitBinding = getTrait;
|
|
const value = undefined;
|
|
const ContentInventoryTraitType = (ContentInventoryTraitTypeModule).ContentInventoryTraitType;
|
|
const TRENDING_CONTENT = ContentInventoryTraitType.TRENDING_CONTENT;
|
|
const traitBinding = getTraitBinding(a0, TRENDING_CONTENT);
|
|
return traitBinding == null ? value : traitBinding.trending;
|
|
}
|
|
|
|
}
|
|
|
|
global.__d(_fun66657, 8375, [672, 21, 1244, 3738, 8376, 3381, 8370,
|
|
2]) /* metro module 8375, dependencies: [672, 21, 1244, 3738, 8376, 3381, 8370, 2] */;
|