@dxos/client
    Preparing search index...

    Interface EchoDatabase

    ECHO Database interface.

    interface EchoDatabase {
        coreDatabase: CoreDatabase;
        pendingBatch: ReadOnlyEvent<unknown>;
        query: QueryFn;
        saveStateChanged: ReadOnlyEvent<SaveStateChangedEvent>;
        get graph(): Hypergraph;
        get schemaRegistry(): DatabaseSchemaRegistry;
        get spaceId(): SpaceId;
        get spaceKey(): PublicKey;
        add<T extends Unknown = Unknown>(obj: T, opts?: AddOptions): T;
        flush(opts?: FlushOptions): Promise<void>;
        getObjectById<T extends Any = Obj<AnyProperties>>(
            id: string,
            opts?: GetObjectByIdOptions,
        ): undefined | T;
        getSyncState(): Promise<SpaceSyncState>;
        insert(data: unknown): Promise<unknown>;
        makeRef<T extends Unknown = Unknown>(dxn: DXN): Ref<T>;
        remove(obj: Unknown): void;
        runMigrations(migrations: ObjectMigration[]): Promise<void>;
        subscribeToSyncState(
            ctx: Context,
            callback: (state: SpaceSyncState) => void,
        ): CleanupFn;
        toJSON(): object;
        update(filter: Filter.Any, operation: unknown): Promise<void>;
    }

    Hierarchy (View Summary)

    Index

    Properties

    coreDatabase: CoreDatabase
    pendingBatch: ReadOnlyEvent<unknown>
    query: QueryFn

    Query objects.

    saveStateChanged: ReadOnlyEvent<SaveStateChangedEvent>

    Get notification about the data being saved to disk.

    Accessors

    • get graph(): Hypergraph

      Returns Hypergraph

    • get schemaRegistry(): DatabaseSchemaRegistry

      Returns DatabaseSchemaRegistry

    • get spaceId(): SpaceId

      Returns SpaceId

    • get spaceKey(): PublicKey

      Returns PublicKey

    Methods

    • Wait for all pending changes to be saved to disk.

      Parameters

      • Optionalopts: FlushOptions

      Returns Promise<void>

    • Type Parameters

      • T extends Any = Obj<AnyProperties>

      Parameters

      Returns undefined | T

      Use ref instead.

    • Get the current sync state.

      Returns Promise<SpaceSyncState>

    • Insert new objects.

      Parameters

      • data: unknown

      Returns Promise<unknown>

      Use add instead.

    • Creates a reference to an existing object in the database.

      NOTE: The reference may be dangling if the object is not present in the database. NOTE: Difference from Ref.fromDXN Ref.fromDXN(dxn) returns an unhydrated reference. The .load and .target APIs will not work. db.makeRef(dxn) is preferable in cases with access to the database.

      Type Parameters

      Parameters

      • dxn: DXN

      Returns Ref<T>

    • Removes object from the database.

      Parameters

      Returns void

    • Run migrations.

      Parameters

      Returns Promise<void>

    • Get notification about the sync progress with other peers.

      Parameters

      Returns CleanupFn

    • Returns object

    • Update objects.

      Parameters

      Returns Promise<void>

      Directly mutate the object.