Skip to the content

Korokoroコロコロ

Roll mixed dice or type notation, compare exact probabilities, keep a history and replay seeded rolls.

Korokoro describes something small rolling in Japanese. About the name

Contents

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

NameTypeDescription
storageStorageLike | undefined

Storage with getItem, setItem and removeItem, or undefined when unavailable.

keystring

The storage key to read or write.

historyreadonly 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
1

What it prints (run when this page was built)

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/korokoro 1.16.0.