@apistudio/apim-cli
Version:
CLI for API Management Products
29 lines • 1.6 kB
TypeScript
/**
* Copyright Super iPaaS Integration LLC, an IBM Company 2024
*/
import { Project } from "../../lfs/models/project.model.js";
import { VCSProject } from "../../vcs/models/vcs-project.model.js";
import { ActionType } from "../models/action-type.model.js";
import { FileEntry } from "../models/file-entry.model.js";
import { FileExplorerNode } from "../models/file-explorer.model.js";
export interface IFileEntryManager {
/**
* Given a project it generates unique fileName based on files in the project folder
* for both local and VCS projects
* @param project Local or VCSProject object
* @param fileName Base name for generating a unique file name
* @returns a unique file name in the given project folder
*/
generateUniqueFileName(project: Project | VCSProject, fileName: string): Promise<string>;
/**
* @deprecated Use the generateUniqueFileName instead.
*/
generateCreateFilename(existingNames: string[], baseName: string): string;
sortFiles(subEntries: FileEntry[]): void;
getVCSSubEntries(repoNameWithOwner: string, itemName: string): Promise<FileExplorerNode[]>;
generateUniqueName(baseName: string, isDirectory: boolean, directory?: FileSystemDirectoryHandle | null, entries?: FileEntry[], index?: number): Promise<string>;
validateAction(actionType: ActionType, name: string, entries: FileEntry[]): string | null;
getAction(actionType: ActionType): void;
getSubEntries(dirHandle: FileSystemDirectoryHandle, idFocus?: string): Promise<FileEntry[]>;
}
//# sourceMappingURL=file-entry-manager.interface.d.ts.map