UNPKG

@river-build/sdk

Version:

For more details, visit the following resources:

70 lines 4.22 kB
import { PersistedSyncedStream, Snapshot } from '@river-build/proto'; import Dexie, { Table } from 'dexie'; import { ParsedMiniblock } from './types'; import { ParsedPersistedSyncedStream } from './streamUtils'; export interface LoadedStream { persistedSyncedStream: ParsedPersistedSyncedStream; miniblocks: ParsedMiniblock[]; cleartexts: Record<string, Uint8Array | string> | undefined; snapshot: Snapshot; prependedMiniblocks: ParsedMiniblock[]; prevSnapshotMiniblockNum: bigint; } export interface IPersistenceStore { saveCleartext(eventId: string, cleartext: Uint8Array | string): Promise<void>; getCleartext(eventId: string): Promise<Uint8Array | string | undefined>; getCleartexts(eventIds: string[]): Promise<Record<string, Uint8Array | string> | undefined>; getSyncedStream(streamId: string): Promise<ParsedPersistedSyncedStream | undefined>; saveSyncedStream(streamId: string, syncedStream: PersistedSyncedStream): Promise<void>; loadStream(streamId: string, inPersistedSyncedStream?: ParsedPersistedSyncedStream): Promise<LoadedStream | undefined>; loadStreams(streamIds: string[]): Promise<Record<string, LoadedStream | undefined>>; saveMiniblock(streamId: string, miniblock: ParsedMiniblock): Promise<void>; saveMiniblocks(streamId: string, miniblocks: ParsedMiniblock[], direction: 'forward' | 'backward'): Promise<void>; getMiniblock(streamId: string, miniblockNum: bigint): Promise<ParsedMiniblock | undefined>; getMiniblocks(streamId: string, rangeStart: bigint, randeEnd: bigint): Promise<ParsedMiniblock[]>; } export declare class PersistenceStore extends Dexie implements IPersistenceStore { cleartexts: Table<{ cleartext: Uint8Array | string; eventId: string; }>; syncedStreams: Table<{ streamId: string; data: Uint8Array; }>; miniblocks: Table<{ streamId: string; miniblockNum: string; data: Uint8Array; }>; constructor(databaseName: string); saveCleartext(eventId: string, cleartext: Uint8Array | string): Promise<void>; getCleartext(eventId: string): Promise<string | Uint8Array | undefined>; getCleartexts(eventIds: string[]): Promise<Record<string, string | Uint8Array> | undefined>; getSyncedStream(streamId: string): Promise<ParsedPersistedSyncedStream | undefined>; loadStream(streamId: string, inPersistedSyncedStream?: ParsedPersistedSyncedStream): Promise<LoadedStream | undefined>; loadStreams(streamIds: string[]): Promise<Record<string, LoadedStream | undefined>>; private getSyncedStreams; saveSyncedStream(streamId: string, syncedStream: PersistedSyncedStream): Promise<void>; saveMiniblock(streamId: string, miniblock: ParsedMiniblock): Promise<void>; saveMiniblocks(streamId: string, miniblocks: ParsedMiniblock[], direction: 'forward' | 'backward'): Promise<void>; getMiniblock(streamId: string, miniblockNum: bigint): Promise<ParsedMiniblock | undefined>; getMiniblocks(streamId: string, rangeStart: bigint, rangeEnd: bigint): Promise<ParsedMiniblock[]>; private requestPersistentStorage; private logPersistenceStats; private cachedScrollback; } export declare class StubPersistenceStore implements IPersistenceStore { saveCleartext(eventId: string, cleartext: Uint8Array): Promise<void>; getCleartext(eventId: string): Promise<undefined>; getCleartexts(eventIds: string[]): Promise<undefined>; getSyncedStream(streamId: string): Promise<undefined>; loadStream(streamId: string, inPersistedSyncedStream?: ParsedPersistedSyncedStream): Promise<undefined>; loadStreams(streamIds: string[]): Promise<{}>; saveSyncedStream(streamId: string, syncedStream: PersistedSyncedStream): Promise<void>; saveMiniblock(streamId: string, miniblock: ParsedMiniblock): Promise<void>; saveMiniblocks(streamId: string, miniblocks: ParsedMiniblock[], direction: 'forward' | 'backward'): Promise<void>; getMiniblock(streamId: string, miniblockNum: bigint): Promise<ParsedMiniblock | undefined>; getMiniblocks(streamId: string, rangeStart: bigint, rangeEnd: bigint): Promise<ParsedMiniblock[]>; } //# sourceMappingURL=persistenceStore.d.ts.map