UNPKG

@atomist/automation-client

Version:

Atomist API for software low-level client

63 lines 2.37 kB
import { Options } from "micromatch"; import { RepoRef } from "../../operations/common/RepoId"; import { File } from "../File"; import { FileStream, Project } from "../Project"; import { AbstractProject } from "../support/AbstractProject"; /** * In memory Project implementation. Primarily intended * for testing. BE WARNED: Does not correctly handle permissions and binary files! */ export declare class InMemoryProject extends AbstractProject { /** * Create a new InMemoryProject * @param id: RepoRef * @param files files to include in the project * @return {InMemoryProject} */ static from(id: RepoRef, ...files: Array<{ path: string; content: string; } | File>): InMemoryProject; /** * Create a new InMemoryProject without an id */ static of(...files: Array<{ path: string; content: string; } | File>): InMemoryProject; /** * Make an independent copy of the given project, with the same files * @param {Project} p * @return {InMemoryProject} */ static cache(p: Project): Promise<InMemoryProject>; /** * Directories added. May contain no files. Must * be included when copying to a file system. * @type {Array} */ readonly addedDirectoryPaths: string[]; private memFiles; constructor(xid?: RepoRef); get fileCount(): number; get filesSync(): File[]; findFile(path: string): Promise<File>; getFile(path: string): Promise<File>; findFileSync(path: string): File; recordAddFile(path: string, content: string): this; addFileSync(path: string, content: string): void; addFile(path: string, content: string): Promise<this>; addDirectory(path: string): Promise<this>; deleteDirectorySync(path: string): void; deleteDirectory(path: string): Promise<this>; deleteFileSync(path: string): this; deleteFile(path: string): Promise<this>; makeExecutableSync(path: string): void; directoryExistsSync(path: string): boolean; hasDirectory(path: string): Promise<boolean>; fileExistsSync(path: string): boolean; streamFilesRaw(globPatterns: string[], opts: Options): FileStream; makeExecutable(path: string): Promise<this>; } export declare function isInMemoryProject(p: Project): p is InMemoryProject; //# sourceMappingURL=InMemoryProject.d.ts.map