AppleSauce
    Preparing search index...

    Module applesauce-core

    applesauce-core

    AppleSauce is a collection of utilities for building reactive nostr applications. The core package provides an in-memory event database and reactive models to help you build nostr UIs with less code.

    • Helpers: Core utility methods for parsing and extracting data from nostr events
    • EventStore: In-memory database for storing and subscribing to nostr events
    • Models: Complex subscriptions for common nostr data patterns

    For detailed documentation and guides, visit:

    import { EventStore } from "applesauce-core";
    import { ProfileModel, TimelineModel } from "applesauce-core/models";
    import { Relay } from "nostr-tools/relay";

    // Create a single EventStore instance for your app
    const eventStore = new EventStore();

    // Use any nostr library for relay connections (nostr-tools, ndk, nostrify, etc...)
    const relay = await Relay.connect("wss://relay.example.com");

    // Subscribe to events and add them to the store
    const sub = relay.subscribe([{ authors: ["3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d"] }], {
    onevent(event) {
    eventStore.add(event);
    },
    });

    // Subscribe to profile changes using ProfileModel
    const profile = eventStore.model(ProfileModel, "3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d");

    profile.subscribe((parsed) => {
    if (parsed) console.log(parsed);
    });

    // Subscribe to a timeline of events
    const timeline = eventStore.model(TimelineModel, { kinds: [1] });

    timeline.subscribe((events) => {
    console.log(events);
    });

    Namespaces

    Helpers
    Models

    Classes

    EventSet
    EventStore
    TimeoutError

    Interfaces

    IEventClaims
    IEventSet
    IEventStore
    IEventStoreActions
    IEventStoreModels
    IEventStoreRead
    IEventStoreStreams

    Type Aliases

    Model
    ModelConstructor

    Variables

    EventStoreSymbol
    logger

    Functions

    defined
    firstValueFrom
    getObservableValue
    lastValueFrom
    mapEventsToStore
    mapEventsToTimeline
    simpleTimeout
    watchEventsUpdates
    watchEventUpdates
    withImmediateValueOrDefault