tangle_indexer


git clone https://radroots.dev/git/tangle_indexer.git
Log | Files | Refs | Submodules | LICENSE

lib.ts (882B)


      1 import { writable } from "svelte/store";
      2 import { NostrSession } from "./nostr-session.svelte";
      3 
      4 export const home_menu_visible = (() => {
      5     const { subscribe, set, update } = writable<boolean>(false);
      6     return {
      7         subscribe,
      8         set,
      9         toggle: () => update(value => !value),
     10     };
     11 })();
     12 
     13 export const nostr_session = (() => {
     14     const { subscribe, set, update: _update } = writable<NostrSession | null>(null);
     15 
     16     return {
     17         subscribe,
     18         get: (): NostrSession | null => {
     19             let value: NostrSession | null;
     20             const unsubscribe = subscribe(v => (value = v));
     21             unsubscribe();
     22             return value!;
     23         },
     24         set: (npub: string | null): NostrSession | null => {
     25             const profile = npub ? new NostrSession(npub) : null;
     26             set(profile);
     27             return profile;
     28         },
     29     };
     30 })();