UNPKG

@vector-im/matrix-bot-sdk

Version:

TypeScript/JavaScript SDK for Matrix bots and appservices

54 lines (47 loc) 1.96 kB
import { IFilterInfo } from "../IFilter"; /** * Represents a storage provider for the matrix client * @category Storage providers */ export interface IStorageProvider { /** * Sets the sync token, saving it for later retrieval * @param {string} token The token to save * @returns {Promise<any>|void} Resolves when complete. */ setSyncToken(token: string | null): Promise<any> | void; /** * Gets the last saved sync token, or null if none has been persisted. * @returns {String|Promise<String>} The last sync token, or null. This can * also be a promise for the value. */ getSyncToken(): string | Promise<string | null> | null; /** * Sets the filter to be used by future clients * @param {IFilterInfo} filter The filter to store * @returns {Promise<any>|void} Resolves when complete. */ setFilter(filter: IFilterInfo): Promise<any> | void; /** * Gets the last preferred filter for this client * @returns {IFilterInfo|Promise<IFilterInfo>} The last saved filter, or null. * This can also be a promise for the filter. */ getFilter(): IFilterInfo | Promise<IFilterInfo>; /** * Store a simple string value into the provided key. * @param {string} key The key to store the value under. * @param {string} value The value to store. * @returns {Promise<any> | void} Resolves when complete. */ storeValue(key: string, value: string): Promise<any> | void; /** * Reads a previously stored value under the given key. If the * key does not exist, null or undefined is returned. * @param {string} key The key to read. * @returns {string|Promise<string|null|undefined>|null|undefined} The * value, or null/undefined if not found. This may also return a promise * of those same values. */ readValue(key: string): string | Promise<string | null | undefined> | null | undefined; }