stores.ts (1107B)
1 import type { NostrUser } from "@radroots/nostr"; 2 import type { Session, SignerLogEntry } from "@welshman/app"; 3 import { pubkey, repository, session, sessions, signer, signerLog, tracker } from "@welshman/app"; 4 import type { Repository, Tracker } from "@welshman/net"; 5 import type { ISigner } from "@welshman/signer"; 6 import type { ReadableWithGetter, WritableWithGetter } from "@welshman/store"; 7 import { derived, type Readable } from "svelte/store"; 8 9 export const nostr_pubkey: WritableWithGetter<string | undefined> = pubkey; 10 export const nostr_sessions: WritableWithGetter<Record<string, Session>> = sessions; 11 export const nostr_session: ReadableWithGetter<Session | undefined> = session; 12 export const nostr_signer: ReadableWithGetter<ISigner | undefined> = signer; 13 export const nostr_signer_log: WritableWithGetter<SignerLogEntry[]> = signerLog; 14 export const nostr_repository: Repository = repository; 15 export const nostr_tracker: Tracker = tracker; 16 17 export const nostr_user: Readable<NostrUser | undefined> = derived( 18 pubkey, 19 pubkey_val => (pubkey_val ? { pubkey: pubkey_val } : undefined), 20 );