alinea
Version:
Headless git-based CMS
22 lines (21 loc) • 751 B
TypeScript
import type { ChangesBatch } from './Change.js';
import type { Source } from './Source.js';
import { ReadonlyTree } from './Tree.js';
export interface GithubSourceOptions {
authToken: string;
owner: string;
repo: string;
branch: string;
rootDir: string;
contentDir: string;
}
export declare class GithubSource implements Source {
#private;
constructor(options: GithubSourceOptions);
protected get contentLocation(): string;
getTree(): Promise<ReadonlyTree>;
shaAt(ref: string): Promise<string>;
getTreeIfDifferent(sha: string): Promise<ReadonlyTree | undefined>;
getBlobs(shas: Array<string>): AsyncGenerator<[sha: string, blob: Uint8Array]>;
applyChanges(batch: ChangesBatch): Promise<void>;
}