MemoryDBProvider.getTable()method
Get (or lazily create) the MemoryTable backing a collection.
getTable(collection: Collection<string, II, TT>): MemoryTable<II, TT>
new MemoryDBProvider<I, T>()
| Return | |
|---|---|
MemoryDBProvider<I, T> | Synchronous in-memory database provider, storing each collection in a MemoryTable. |
Synchronous in-memory database provider, storing each collection in a MemoryTable.
CacheDBProvider!), but does not persist data after the process or browser window closes.getItem() etc. return the exact same object instance that was passed into setItem().ItemStore / QueryStore reads.A fully in-memory DBProvider. MemoryDBProvider stores every collection in plain memory — fast, with no persistence. It is ideal for tests and prototypes, and it is also the mirror layer that CacheDBProvider keeps in sync.
Unlike the SQL providers, MemoryDBProvider supports realtime sequences (getItemSequence, getQuerySequence).
import { MemoryDBProvider } from "shelving/db";
const provider = new MemoryDBProvider();
const id = await provider.addItem(POSTS, { title: "Hello", body: "First post.", published: false });
const post = await provider.getItem(POSTS, id);
// Realtime — emits whenever the item changes.
for await (const next of provider.getItemSequence(POSTS, id)) {
console.log(next);
}const provider = new MemoryDBProvider();
const id = await provider.addItem(users, { name: "Dave" });Get (or lazily create) the MemoryTable backing a collection.
getTable(collection: Collection<string, II, TT>): MemoryTable<II, TT>
Set (insert or overwrite) several whole items in a collection at once.
setItems(collection: Collection<string, II, TT>, items: Items<II, TT>): void