This repository has no description
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435// SPDX-License-Identifier: AGPL-3.0-or-later
import type {EmojiID} from '../BrandedTypes';import type {CustomStatus} from '../database/types/UserTypes';
export class UserCustomStatus { readonly text: string | null; readonly emojiId: EmojiID | null; readonly emojiName: string | null; readonly emojiAnimated: boolean; readonly expiresAt: Date | null;
constructor(status: CustomStatus) { this.text = status.text ?? null; this.emojiId = status.emoji_id ?? null; this.emojiName = status.emoji_name ?? null; this.emojiAnimated = status.emoji_animated ?? false; this.expiresAt = status.expires_at ?? null; }
toCustomStatus(): CustomStatus { return { text: this.text, emoji_id: this.emojiId, emoji_name: this.emojiName, emoji_animated: this.emojiAnimated, expires_at: this.expiresAt, }; }
isExpired(referenceTime: Date = new Date()): boolean { return this.expiresAt !== null && this.expiresAt.getTime() <= referenceTime.getTime(); }}