import { NDKEvent, type NDKEventId, NDKKind } from '@nostr-dev-kit/ndk'; export class FolderLabel { id: NDKEventId; name: string; icon: string; constructor() { this.id = ''; this.name = ''; this.icon = ''; } static async fromDecryptedMessage( decryptedMessage: NDKEvent, encryptedMessage: NDKEvent ): Promise { if (decryptedMessage.kind !== NDKKind.Label) throw new Error('Not a label'); let labelType = decryptedMessage.tags.find((t) => t[0] === 'label-type')?.[1]; if (!labelType) throw new Error('No label type'); if (labelType !== 'folder') throw new Error('Not a folder'); let label = new FolderLabel(); label.id = encryptedMessage.id; label.name = decryptedMessage.tags.find((t) => t[0] === 'name')?.[1] ?? 'No name'; label.icon = decryptedMessage.tags.find((t) => t[0] === 'icon')?.[1] ?? ''; return label; } }