alinea
Version:
Headless git-based CMS
40 lines (39 loc) • 1.65 kB
TypeScript
import type { Config } from '../Config.js';
import type { SyncApi, UploadResponse } from '../Connection.js';
import type { AnyQueryResult, GraphQuery } from '../Graph.js';
import type { ChangesBatch } from '../source/Change.js';
import type { Source } from '../source/Source.js';
import { type CommitRequest } from './CommitRequest.js';
import { EntryIndex } from './EntryIndex.js';
import type { Mutation } from './Mutation.js';
import { WriteableGraph } from './WriteableGraph.js';
export declare class LocalDB extends WriteableGraph {
#private;
config: Config;
index: EntryIndex;
source: Source;
constructor(config: Config, source?: Source);
resolve<Query extends GraphQuery>(query: Query): Promise<AnyQueryResult<Query>>;
get sha(): string;
indexChanges(batch: ChangesBatch): Promise<string>;
applyChanges(batch: ChangesBatch): Promise<void>;
getTreeIfDifferent(sha: string): Promise<import("../source/Tree.js").ReadonlyTree | undefined>;
getBlobs(shas: Array<string>): AsyncGenerator<[sha: string, blob: Uint8Array], any, any>;
sync(): Promise<string>;
syncWith(remote: SyncApi): Promise<string>;
logEntries(): Promise<void>;
request(mutations: Array<Mutation>): Promise<{
fromSha: string;
intoSha: string;
description: string;
checks: [path: string, sha: string][];
changes: import("./CommitRequest.js").CommitChange[];
}>;
mutate(mutations: Array<Mutation>): Promise<{
sha: string;
}>;
write(request: CommitRequest): Promise<{
sha: string;
}>;
prepareUpload(file: string): Promise<UploadResponse>;
}