nostr-tools
Version:
Tools for making a Nostr client.
35 lines (34 loc) • 1.01 kB
TypeScript
import { AddressPointer, EventPointer, ProfilePointer } from './nip19.ts';
/** Nostr URI regex, eg `nostr:npub1...` */
export declare const NOSTR_URI_REGEX: RegExp;
/** Test whether the value is a Nostr URI. */
export declare function test(value: unknown): value is `nostr:${string}`;
/** Parsed Nostr URI data. */
export interface NostrURI {
/** Full URI including the `nostr:` protocol. */
uri: `nostr:${string}`;
/** The bech32-encoded data (eg `npub1...`). */
value: string;
/** Decoded bech32 string, according to NIP-19. */
decoded: {
type: 'nevent';
data: EventPointer;
} | {
type: 'nprofile';
data: ProfilePointer;
} | {
type: 'naddr';
data: AddressPointer;
} | {
type: 'npub';
data: string;
} | {
type: 'nsec';
data: Uint8Array;
} | {
type: 'note';
data: string;
};
}
/** Parse and decode a Nostr URI. */
export declare function parse(uri: string): NostrURI;