UNPKG

@log4brains/core

Version:

Log4brains architecture knowledge base core API

39 lines 1.54 kB
import { AdrRepository as IAdrRepository } from "@src/adr/application"; import { Adr, AdrFile, AdrSlug, PackageRef } from "@src/adr/domain"; import { Log4brainsConfig } from "@src/infrastructure/config"; import { PackageRepository } from "./PackageRepository"; declare type Deps = { config: Log4brainsConfig; workdir: string; packageRepository: PackageRepository; }; export declare class AdrRepository implements IAdrRepository { private readonly config; private readonly workdir; private readonly packageRepository; private readonly git; private gitAvailable?; private anonymousAuthor?; private readonly markdownAdrLinkResolver; constructor({ config, workdir, packageRepository }: Deps); private isGitAvailable; find(slug: AdrSlug): Promise<Adr>; findFromFile(adrFile: AdrFile): Promise<Adr | undefined>; findAll(): Promise<Adr[]>; private getGitMetadata; /** * In preview mode, we set the Anonymous author as the current Git `user.name` global config. * It should not append in CI. But if this is the case, it will appear as "Anonymous". * Response is cached. */ private getAnonymousAuthor; private getLastEditDateFromFilesystem; private findInPath; private findAllInPath; generateAvailableSlug(title: string, packageRef?: PackageRef): AdrSlug; private getPackageRef; private getAdrFolderPath; save(adr: Adr): Promise<void>; } export {}; //# sourceMappingURL=AdrRepository.d.ts.map