/* Metro module 9137; source: modules/guild_scheduled_events/useGuildEventRecurrences.tsx; dependencies: [57, 31, 4117, 566, 8819, 9039, 22, 21, 672, 9036, 2] */ import Module00057 from '../../by-id/module-00057.js'; /* Metro dependency 57 */ import GuildScheduledEventStore from './GuildScheduledEventStore.tsx'; /* Metro dependency 4117 */ import UsePrevValue from '../../hooks/usePrevValue.tsx'; /* Metro dependency 8819 */ import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactModule from '../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as FluxModule from '../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */ import * as ScheduleUtilsModule from './utils/ScheduleUtils.tsx'; /* Metro dependency 9039 */ function _fun71573(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#71573, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9322:6, offset: 0x01d25005, size: 153 bytes, params: 8, frame: 19 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); (FileImportTrackerModule).fileFinishedImporting('modules/guild_scheduled_events/useGuildEventRecurrences.tsx'); exports.default = useGuildEventRecurrences; function useGuildEventRecurrences(a0, a1, a2) { // fn#71574, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9322:230, offset: 0x01d2509e, size: 414 bytes, params: 4, frame: 29 var r3; var scheduled_start_time; var moduleValue2; var generateNextRecurrences; var rRule; var Date; var value5; var date; const env0_0 = a0; const env0_1 = a1; const env0_2 = a2; const value2 = undefined; const guildScheduledEvent = (FluxModule).useStateFromStores([GuildScheduledEventStore], _fun71575); const guildScheduledEvent2 = guildScheduledEvent; const value3 = (UsePrevValue)(a2); const env0_4 = value3; let binding = env0_4; const useState = binding.useState; if (a2 == null) { r3 = []; } else if (guildScheduledEvent != null) { moduleValue2 = require(9039) /* metro dependency 9039: ScheduleUtils */; generateNextRecurrences = moduleValue2.generateNextRecurrences; rRule = (require(9039) /* metro dependency 9039: ScheduleUtils */).getRRule(a2); Date = global.Date; scheduled_start_time = guildScheduledEvent.scheduled_start_time; value5 = Object.create(Date.prototype, {constructor: {value: Date}}); date = new Date(); r3 = Reflect.apply(generateNextRecurrences, moduleValue2, [4, rRule, date instanceof Object ? date : value5]); } else { r3 = []; } const value9 = guildScheduledEvent2(Reflect.apply(useState, binding, [r3]), 2); const property = value9[0]; const env0_6 = value9[1]; binding = env0_4; const useEffect = binding.useEffect; object = [a2]; object[1] = property.length; object[2] = guildScheduledEvent; object[3] = value3; Reflect.apply(useEffect, binding, [_fun71576, object]); binding.useEffect(_fun71577, [a0, a1, property]); const useMemo = binding.useMemo; [a2, property][2] = guildScheduledEvent == null ? value2 : guildScheduledEvent.scheduled_start_time; object = {recurrenceStartTimes: property, canViewMoreRecurrences: Reflect.apply(useMemo, binding, [_fun71579, object]), updateRecurrenceStartTimes: updateRecurrenceStartTimes}; return object; function _fun71575() { // fn#71575, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9322:309, offset: 0x01d2523c, size: 27 bytes, params: 1, frame: 11 return GuildScheduledEventStore.getGuildScheduledEvent(env0_0); } function _fun71576() { // fn#71576, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9322:514, offset: 0x01d25257, size: 203 bytes, params: 1, frame: 19 var value2; var defaultImport; var isEqual; var binding; var rRule; var moduleValue2; var generateNextRecurrences; var length; var Date; var scheduled_start_time; if (env0_4 != null) { if (importDefault != null) { if (guildScheduledEvent != null) { value2 = environment.__proto__; defaultImport = importDefault(22) /* metro dependency 22 */; isEqual = defaultImport.isEqual; binding = env0_4; if (!Reflect.apply(isEqual, defaultImport, [binding, importDefault])) { rRule = (require(9039) /* metro dependency 9039: ScheduleUtils */).getRRule(importDefault); binding = env0_6; moduleValue2 = require(9039) /* metro dependency 9039: ScheduleUtils */; generateNextRecurrences = moduleValue2.generateNextRecurrences; length = env0_5.length; Date = global.Date; scheduled_start_time = guildScheduledEvent.scheduled_start_time; binding(Reflect.apply(generateNextRecurrences, moduleValue2, [length, rRule, new Date()])); } } } } } function _fun71577() { // fn#71577, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9322:712, offset: 0x01d25322, size: 86 bytes, params: 1, frame: 15 var environment; var value2; var value3; if (require != null) { value2 = env0_5.map(_fun71578); value3 = environment.__proto__; (importDefault(9036) /* metro dependency 9036: GuildScheduledEventManager */).getGuildEventUserCounts(require, env0_0, value2); } function _fun71578(a0) { // fn#71578, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9322:742, offset: 0x01d25378, size: 123 bytes, params: 2, frame: 18 let value = environment.__proto__.__proto__; value = importDefault(21) /* metro dependency 21: SnowflakeUtils */; const fromTimestamp = value.fromTimestamp; const Math = global.Math; const floor = Math.floor; const time = a0.getTime(); let Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis; let SECOND = Millis.SECOND; const value3 = Reflect.apply(floor, Math, [time / SECOND]); Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis; SECOND = Millis.SECOND; return Reflect.apply(fromTimestamp, value, [value3 * SECOND]); } } function _fun71579() { // fn#71579, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9322:906, offset: 0x01d253f3, size: 220 bytes, params: 1, frame: 18 if (importDefault == null) { return false; } if (env0_5.length === 0) { return false; } if (guildScheduledEvent?.scheduled_start_time == null) { return false; } const Date = global.Date; const date = new Date(); const setFullYear = date.setFullYear; const fullYear = date.getFullYear(); const MAX_YEARS_AHEAD_RECURRING_EVENT = (ScheduleUtilsModule).MAX_YEARS_AHEAD_RECURRING_EVENT; Reflect.apply(setFullYear, date, [fullYear + MAX_YEARS_AHEAD_RECURRING_EVENT]); const binding = env0_5; const property = binding[binding.length - 1]; let value = (ScheduleUtilsModule).getRRule(importDefault); value = value.after(property); return value != null && value <= date; } function updateRecurrenceStartTimes() { // fn#71580, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9322:1279, owner: useGuildEventRecurrences.updateRecurrenceStartTimes, offset: 0x01d254cf, size: 160 bytes, params: 1, frame: 21 var value2; var rRule; var binding; var property; var binding2; var items2; var moduleValue2; var value; if (importDefault != null) { if (guildScheduledEvent != null) { value2 = environment.__proto__; rRule = (require(9039) /* metro dependency 9039: ScheduleUtils */).getRRule(importDefault); binding = env0_5; property = binding[binding.length - 1]; binding = env0_6; binding2 = env0_5; items2 = []; value = arraySpread(items2, binding2, 0, undefined); moduleValue2 = require(9039) /* metro dependency 9039: ScheduleUtils */; arraySpread(items2, moduleValue2.generateNextRecurrences(4, rRule, property, true), value, true); binding(items2); } } } } } global.__d(_fun71573, 9137, [57, 31, 4117, 566, 8819, 9039, 22, 21, 672, 9036, 2]) /* metro module 9137, dependencies: [57, 31, 4117, 566, 8819, 9039, 22, 21, 672, 9036, 2] */;