Files
AFFiNE-Mirror/packages/common/nbstore/src/storage/sync.ts
T
forehalo 4125038ff8 feat(nbstore): init (#7639)
TODO

- [x] basic
- [x] storages
- [x] producer/consumer
- [x] operation pattern
- [x] events
- [x] worker
- [x] readme
- [x] peer dependencies
2024-11-22 03:13:04 +00:00

17 lines
649 B
TypeScript

import type { DocClock, DocClocks } from './doc';
import { Storage, type StorageOptions } from './storage';
export interface SyncStorageOptions extends StorageOptions {}
export abstract class SyncStorage<
Opts extends SyncStorageOptions = SyncStorageOptions,
> extends Storage<Opts> {
override readonly storageType = 'sync';
abstract getPeerClocks(peer: string): Promise<DocClocks>;
abstract setPeerClock(peer: string, clock: DocClock): Promise<void>;
abstract getPeerPushedClocks(peer: string): Promise<DocClocks>;
abstract setPeerPushedClock(peer: string, clock: DocClock): Promise<void>;
abstract clearClocks(): Promise<void>;
}