diff --git a/README.md b/README.md index 460f926..b4778b3 100644 --- a/README.md +++ b/README.md @@ -21,17 +21,32 @@ gitDiffParser.parse(gitDiffText); ### API ```ts -export interface Change { +export interface InsertChange { + type: 'insert'; content: string; - type: 'insert' | 'delete' | 'normal'; - isInsert?: boolean; - isDelete?: boolean; - isNormal?: boolean; - lineNumber?: number; - oldLineNumber?: number; - newLineNumber?: number; + lineNumber: number; + isInsert: true; } +export interface DeleteChange { + type: 'delete'; + content: string; + lineNumber: number; + isDelete: true; +} + +export interface NormalChange { + type: 'normal'; + content: string; + isNormal: true; + oldLineNumber: number; + newLineNumber: number; +} + +export type Change = InsertChange | DeleteChange | NormalChange; + +export type ChangeType = Change['type']; + export interface Hunk { content: string; oldStart: number; @@ -41,6 +56,8 @@ export interface Hunk { changes: Change[]; } +export type FileType = 'add' | 'delete' | 'modify' | 'rename' | 'copy'; + export interface File { hunks: Hunk[]; oldEndingNewLine: boolean; @@ -53,10 +70,10 @@ export interface File { oldPath: string; newPath: string; isBinary?: boolean; - type: 'add' | 'delete' | 'modify' | 'rename'; + type: FileType; } -export default { - parse(source: string): File[]; -}; +export function parse(source: string): File[]; + +export as namespace gitDiffParser; ``` diff --git a/index.d.ts b/index.d.ts index ba78dd7..11d6842 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1,5 +1,3 @@ -export type ChangeType = 'insert' | 'delete' | 'normal'; - export interface InsertChange { type: 'insert'; content: string; @@ -24,6 +22,8 @@ export interface NormalChange { export type Change = InsertChange | DeleteChange | NormalChange; +export type ChangeType = Change['type']; + export interface Hunk { content: string; oldStart: number; @@ -50,6 +50,6 @@ export interface File { type: FileType; } -export default { - parse(source: string): File[]; -}; +export function parse(source: string): File[]; + +export as namespace gitDiffParser;