rxdb
Version:
A local-first realtime NoSQL Database for JavaScript applications - https://rxdb.info/
25 lines (24 loc) • 1.77 kB
TypeScript
import { RxReplicationWriteToMasterRow, WithDeletedAndAttachments } from '../../index.ts';
import type { GoogleDriveOptionsWithDefaults } from './google-drive-types';
import { DriveStructure } from './init.ts';
export declare const WAL_FILE_NAME = "rxdb-wal.json";
export declare function fetchConflicts<RxDocType>(googleDriveOptions: GoogleDriveOptionsWithDefaults, init: DriveStructure, primaryPath: keyof WithDeletedAndAttachments<RxDocType>, writeRows: RxReplicationWriteToMasterRow<RxDocType>[]): Promise<{
conflicts: WithDeletedAndAttachments<RxDocType>[];
nonConflicts: RxReplicationWriteToMasterRow<RxDocType>[];
}>;
export declare function writeToWal<RxDocType>(googleDriveOptions: GoogleDriveOptionsWithDefaults, init: DriveStructure, writeRows?: RxReplicationWriteToMasterRow<RxDocType>[]): Promise<void>;
export declare function readWalContent<RxDocType>(googleDriveOptions: GoogleDriveOptionsWithDefaults, init: DriveStructure): Promise<{
etag: string;
rows: RxReplicationWriteToMasterRow<RxDocType>[] | undefined;
}>;
/**
* Here we read the WAL file content
* and sort the content into the actual
* document files.
* Notice that when the JavaScript process
* exists at any point here, we need to have
* a recoverable state on the next run. So this
* must be idempotent.
*/
export declare function processWalFile<RxDocType>(googleDriveOptions: GoogleDriveOptionsWithDefaults, init: DriveStructure, primaryPath: keyof RxDocType): Promise<void>;
export declare function handleUpstreamBatch<RxDocType>(googleDriveOptions: GoogleDriveOptionsWithDefaults, init: DriveStructure, primaryPath: keyof WithDeletedAndAttachments<RxDocType>, writeRows: RxReplicationWriteToMasterRow<RxDocType>[]): Promise<WithDeletedAndAttachments<RxDocType>[]>;