// Metro module 4087 (f4088). import Record from "../lib/Record"; import { $callWithNewTarget } from "../_hermes/prelude"; class GuildBoostSlotRecord extends Record { constructor(a0) { super(); this.id = a0.id; this.subscriptionId = a0.subscriptionId; this.premiumGuildSubscription = a0.premiumGuildSubscription; this.canceled = a0.canceled; this.cooldownEndsAt = a0.cooldownEndsAt; this.subscription = a0.subscription; } static createFromServer(a0, a1) { const { id, subscription_id } = a0; const premiumGuildSubscription = a0.premium_guild_subscription != null ? { id: a0.premium_guild_subscription.id, guildId: a0.premium_guild_subscription.guild_id } : null; const { canceled, cooldown_ends_at } = a0; const prototypeOf = Object.getPrototypeOf(GuildBoostSlotRecord); const r8 = Object.create(GuildBoostSlotRecord.prototype); const r23 = $callWithNewTarget(prototypeOf, r8, GuildBoostSlotRecord); const r24 = r23 instanceof Object ? r23 : r8; r24.id = id; r24.subscriptionId = subscription_id; r24.premiumGuildSubscription = premiumGuildSubscription; r24.canceled = canceled; r24.cooldownEndsAt = cooldown_ends_at; r24.subscription = a1; return r24; } isOnCooldown() { return this.cooldownEndsAt != null && new Date(this.cooldownEndsAt).getTime() >= Date.now(); } isAvailable() { return this.premiumGuildSubscription == null && !this.isOnCooldown(); } } export default GuildBoostSlotRecord;