Interface for managing account data on the server.

A subset of MatrixClient.

interface AccountDataClient {
    getAccountDataFromServer: <T extends Record<string, any>>(
        eventType: string,
    ) => Promise<null | T>;
    setAccountData: (eventType: string, content: any) => Promise<{}>;
    addListener<T extends EventEmitterEvents | AccountData>(
        event: T,
        listener: Listener<AccountData, ClientEventHandlerMap, T>,
    ): this;
    emit<T extends AccountData>(
        event: T,
        ...args: Parameters<ClientEventHandlerMap[T]>,
    ): boolean;
    emit<T extends AccountData>(
        event: T,
        ...args: Parameters<ClientEventHandlerMap[T]>,
    ): boolean;
    emitPromised<T extends AccountData>(
        event: T,
        ...args: Parameters<ClientEventHandlerMap[T]>,
    ): Promise<boolean>;
    emitPromised<T extends AccountData>(
        event: T,
        ...args: Parameters<ClientEventHandlerMap[T]>,
    ): Promise<boolean>;
    listenerCount(event: EventEmitterEvents | AccountData): number;
    listeners(event: EventEmitterEvents | AccountData): Function[];
    off<T extends EventEmitterEvents | AccountData>(
        event: T,
        listener: Listener<AccountData, ClientEventHandlerMap, T>,
    ): this;
    on<T extends EventEmitterEvents | AccountData>(
        event: T,
        listener: Listener<AccountData, ClientEventHandlerMap, T>,
    ): this;
    once<T extends EventEmitterEvents | AccountData>(
        event: T,
        listener: Listener<AccountData, ClientEventHandlerMap, T>,
    ): this;
    prependListener<T extends EventEmitterEvents | AccountData>(
        event: T,
        listener: Listener<AccountData, ClientEventHandlerMap, T>,
    ): this;
    prependOnceListener<T extends EventEmitterEvents | AccountData>(
        event: T,
        listener: Listener<AccountData, ClientEventHandlerMap, T>,
    ): this;
    rawListeners(event: EventEmitterEvents | AccountData): Function[];
    removeAllListeners(event?: EventEmitterEvents | AccountData): this;
    removeListener<T extends EventEmitterEvents | AccountData>(
        event: T,
        listener: Listener<AccountData, ClientEventHandlerMap, T>,
    ): this;
}

Hierarchy (View Summary)

Properties

getAccountDataFromServer: <T extends Record<string, any>>(
    eventType: string,
) => Promise<null | T>

Get account data event of given type for the current user. This variant gets account data directly from the homeserver if the local store is not ready, which can be useful very early in startup before the initial sync.

Type declaration

    • <T extends Record<string, any>>(eventType: string): Promise<null | T>
    • Type Parameters

      Parameters

      • eventType: string

        The type of account data

      Returns Promise<null | T>

      The contents of the given account data event, or null if the event is not found

setAccountData: (eventType: string, content: any) => Promise<{}>

Set account data event for the current user, with retries

Type declaration

    • (eventType: string, content: any): Promise<{}>
    • Parameters

      • eventType: string

        The type of account data

      • content: any

        the content object to be set

      Returns Promise<{}>

      an empty object

Methods