UNPKG

timer-db

Version:

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

48 lines 1.83 kB
import { Attempt, StoredAttempt, EventName } from "./data/Attempt"; import { StoredSessionMetadata, SessionMetadata } from "./data/SessionMetadata"; import { SessionUUID } from "./UUID"; import { Storage } from "./storage/Storage"; export interface StatSnapshot { latest100: StoredAttempt[]; mean3: number | null; avg5: number | null; avg12: number | null; avg100: number | null; best100: number | null; worst100: number | null; avg1000?: number; best1000?: number; worst1000?: number; } export declare type StatListener = (statsSnapshot: StatSnapshot) => void; interface StubSessionMetadata extends SessionMetadata { _id: SessionUUID; } export interface SessionCreationOptions { stub?: boolean; } export declare class Session implements SessionMetadata { #private; constructor(storage: Storage, metadata: StubSessionMetadata | StoredSessionMetadata, options?: SessionCreationOptions); static create(storage: Storage, name: string, event: EventName, options?: SessionCreationOptions): Promise<Session>; get _id(): SessionUUID; get name(): SessionUUID; get eventID(): SessionUUID; private onSyncChange; getStatSnapshot(): Promise<StatSnapshot>; addStatListener(listener: StatListener): void; removeStatListener(listener: StatListener): void; private fireStatListeners; private ensurePersisted; add(attempt: Attempt): Promise<StoredAttempt>; update(storedAttempt: StoredAttempt): Promise<void>; delete(storedAttempt: StoredAttempt): Promise<void>; kthMostRecent(k: number): Promise<StoredAttempt | null>; nMostRecent(n: number): Promise<StoredAttempt[]>; numAttempts(): Promise<number>; /******** Debug ********/ private debugPouch; private debugCache; } export {}; //# sourceMappingURL=Session.d.ts.map