A storage adapter represents some way of storing binary data for a Repo

Remarks

StorageAdapters provide a key/value storage interface. The keys are arrays of strings (StorageKey) and the values are binary blobs.

interface StorageAdapterInterface {
    load(key): Promise<undefined | Uint8Array>;
    loadRange(keyPrefix): Promise<Chunk[]>;
    remove(key): Promise<void>;
    removeRange(keyPrefix): Promise<void>;
    save(key, data): Promise<void>;
}

Implemented by

Methods

  • Load all values with keys that start with keyPrefix.

    Parameters

    Returns Promise<Chunk[]>

    Remarks

    The keyprefix will match any key that starts with the given array. For example:

    • [documentId, "incremental"] will match all incremental saves
    • [documentId] will match all data for a given document.

    Be careful! [documentId] would also match something like [documentId, "syncState"]! We aren't using this yet but keep it in mind.)