UNPKG

timer-db

Version:

A library for cubing timer results storage with CouchDB-based synchronization.

50 lines (34 loc) 1.36 kB
# `timer-db` A JavaScript cubing timer database, with: - An API designed for cubing timers. - Fast local storage (works offline). - Simple server sync (using [PouchDB](https://pouchdb.com/)). # Basic Usage Install with `npm install timer-db` and use like this: ```js 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 ```js timerDB.startSync({ username: "[username]", password: "[password]", }); ``` You can use this with any CouchDB-compatible instance. There's a test server available; Contact [Lucas Garron](https://garron.net/) 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](./LICENSE.md) 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.