Skip to main content
The Deno 2 Release Candidate is here
Learn more
Module

x/prevalence/mod.ts>KvPersister

Prevalence for Deno, like Prevayler.
Latest
class KvPersister
implements Persister<M>
import { KvPersister } from "https://deno.land/x/prevalence@0.1.2/mod.ts";

Stores data in Deno.Kv.

Constructors

new
KvPersister(
marshaller: Marshaller<M, D>,
kv?: Deno.Kv | Returns<Promise<Deno.Kv>>,
prefix?: Deno.KvKey,
)

Type Parameters

M extends Model<M>

The type of the model.

D extends KvValue<D>

The type of the data.

Properties

private
readonly
journalEntriesKey: Deno.KvKey
private
readonly
journalLastAppliedTimestampKey: Deno.KvKey
private
readonly
kv: Promise<Deno.Kv>
private
readonly
modelKey: Deno.KvKey

Methods

appendToJournal(journalEntry: JournalEntry<M>): Promise<Action<M>>
loadJournal(): Promise<JournalEntry<M>[]>
loadLastAppliedTimestamp(): Promise<number | null>
loadModel(defaultInitialModel: M): Promise<M>
saveModelAndClearJournal(model: M, lastAppliedTimestamp: LastAppliedTimestamp): Promise<void>