Reference · Rolls and exact odds
saveHistoryfunction
Keep a history. Returns false when the storage refused, so a caller can say so.
Import it
import { saveHistory } from "@johnmorrisdotca/korokoro";
Definition
function saveHistory(storage: StorageLike | undefined, key: string, history: readonly Roll[]): boolean
Parameters
| Name | Type | Description |
|---|---|---|
storage | StorageLike | undefined | Storage with getItem, setItem and removeItem, or undefined when unavailable. |
key | string | The storage key to read or write. |
history | readonly Roll[] | Completed rolls, newest first where the history API requires it. |
Returns
boolean
Keep a history. Returns false when the storage refused, so a caller can say so.
Examples
import { saveHistory } from "@johnmorrisdotca/korokoro";
import { normalizeSpec, parseHistory, rollFrom } from "@johnmorrisdotca/korokoro";
const values = new Map<string, string>();
const storage = {
getItem: (key: string) => values.get(key) ?? null,
setItem: (key: string, value: string) => { values.set(key, value); },
removeItem: (key: string) => { values.delete(key); },
};
const spec = normalizeSpec({ count: 2, sides: 6 });
const sample = rollFrom(spec, [2, 5], "saved", 0, null)!;
console.log(saveHistory(storage, "history", [sample]));
console.log(parseHistory(storage.getItem("history")).length);true
1What it prints (run when this page was built)