timer-db
TypeScript icon, indicating that this package has built-in type declarations

0.1.0-pre2 • Public • Published

timer-db

A JavaScript cubing timer database, with:

  • An API designed for cubing timers.
  • Fast local storage (works offline).
  • Simple server sync (using PouchDB).

Basic Usage

Install with npm install timer-db and use like this:

import { TimerDB } from "timer-db";

async function demo() {
  const timerDB = new TimerDB();
  const sessions = await timerDB.getSessions();

  // Use an existing session, or create a new one.
  const s =
    sessions[0] ?? (await timerDB.createSession("My 3x3x3 Solves", "3x3x3"));

  s.addStatListener(console.log);
  s.add({
    resultTotalMs: 7080,
    unixDate: Date.now(),
  });
}

demo();

Sync with Server

timerDB.startSync({
  username: "[username]",
  password: "[password]",
});

You can use this with any CouchDB-compatible instance. There's a test server available; Contact Lucas Garron for an account!

License

This project is licensed under the GPL license (version 3 or later). This means that this library is free to use, although you must publish any code that uses it (e.g. also put it on GitHub). See the full license for exact details.

We've selected this license in order to encourage the cubing community to work on software in a way so that everyone can contribute and extend each other's work.

Readme

Keywords

Package Sidebar

Install

npm i timer-db

Weekly Downloads

1

Version

0.1.0-pre2

License

GPL-3.0-or-later

Unpacked Size

1.74 MB

Total Files

50

Last publish

Collaborators

  • lgarron