import { ActionedDetails , CommittedFile , LogEntry , Status } from '../../types' ; export const IFileStatParser = 'IFileStatParser' ; export interface IFileStatParser { parse ( gitRootPath , filesWithNumStat , filesWithStats ) : CommittedFile [ ] ; } export const IFileStatStatusParser = Symbol . for ( 'IFileStatStatusParser' ) ; export interface IFileStatStatusParser { canParse ( status ) : boolean ; parse ( status ) : Status | undefined ; } export const IActionDetailsParser = Symbol . for ( 'IActionDetailsParser' ) ; export interface IActionDetailsParser { parse ( name , email , unixTime ) : ActionedDetails | undefined ; } export const ILogParser = Symbol . for ( 'ILogParser' ) ; export interface ILogParser { parse ( gitRepoPath , summaryEntry , itemEntrySeparator , logFormatArgs , filesWithNumStat ? , filesWithNameStatus ? ) : LogEntry ; }