mirror of
https://github.com/DocNR/POWR.git
synced 2025-04-19 10:51:19 +00:00
30 lines
837 B
TypeScript
30 lines
837 B
TypeScript
![]() |
// utils/nostr-utils.ts
|
||
|
import { NostrEvent } from '@/types/nostr';
|
||
|
|
||
|
/**
|
||
|
* Helper function to find a tag value in a Nostr event
|
||
|
*/
|
||
|
export function findTagValue(tags: string[][], name: string): string | null {
|
||
|
const tag = tags.find(t => t[0] === name);
|
||
|
return tag && tag.length > 1 ? tag[1] : null;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Get all values for a specific tag name
|
||
|
*/
|
||
|
export function getTagValues(tags: string[][], name: string): string[] {
|
||
|
return tags.filter(t => t[0] === name).map(t => t[1]);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Get template tag information
|
||
|
*/
|
||
|
export function getTemplateTag(tags: string[][]): { reference: string, relay: string } | undefined {
|
||
|
const templateTag = tags.find(t => t[0] === 'template');
|
||
|
if (!templateTag || templateTag.length < 3) return undefined;
|
||
|
|
||
|
return {
|
||
|
reference: templateTag[1],
|
||
|
relay: templateTag[2] || ''
|
||
|
};
|
||
|
}
|