@codecovevienna/gittt-cli
Version:
Tracking time with CLI into a git repository
41 lines (40 loc) • 1.79 kB
TypeScript
import { IProject, IProjectMeta, IRecord } from "../interfaces";
import { FileHelper, GitHelper } from "./";
export declare class ProjectHelper {
/**
* Extracts the domain from a IProjectMetaData object
*
* @param projectMeta - MetaData object
* @returns Domain of the meta data as formatted string
*/
static projectMetaToDomain: (projectMeta: IProjectMeta) => string;
/**
* Constructs a meta data object from a formatted domain string
*
* @param domain - formatted domain string
* @returns Meta data object based on the formatted string
*/
static domainToProjectMeta: (domain: string) => IProjectMeta;
/**
* @param project - IProject object
* @returns Filename of the project file
*/
static projectToProjectFilename: (project: IProject) => string;
/**
* @param project - IProject object
* @returns Path of the project file
*/
static getProjectPath: (project: IProject) => string;
private fileHelper;
private gitHelper;
constructor(gitHelper: GitHelper, fileHelper: FileHelper);
getGitttProject: () => Promise<IProject>;
initProject: () => Promise<IProject>;
addRecordsToProject: (records: IRecord[], project?: IProject | undefined, uniqueOnly?: boolean | undefined, nonOverlappingOnly?: boolean | undefined) => Promise<void>;
addRecordToProject: (record: IRecord, project?: IProject | undefined, uniqueOnly?: boolean | undefined, nonOverlappingOnly?: boolean | undefined) => Promise<void>;
getTotalHours: (projectName: string) => Promise<number>;
getProjectByName: (name: string) => Promise<IProject>;
getAllProjects: () => Promise<IProject[]>;
getProjectFromGit: () => IProject;
getOrAskForProjectFromGit: () => Promise<IProject>;
}