From c1400707cd6ed822a063cdb1471a21d1e5deda6a Mon Sep 17 00:00:00 2001 From: Dolan Date: Sun, 4 Jun 2017 23:02:39 +0100 Subject: [PATCH] Status typings --- types/nodegit/index.d.ts | 4 +++ types/nodegit/status-entry.d.ts | 7 ++++ types/nodegit/status-list.d.ts | 11 ++++++ types/nodegit/status-options.d.ts | 8 +++++ types/nodegit/status.d.ts | 56 +++++++++++++++++++++++++++++++ types/nodegit/tsconfig.json | 4 +++ 6 files changed, 90 insertions(+) create mode 100644 types/nodegit/status-entry.d.ts create mode 100644 types/nodegit/status-list.d.ts create mode 100644 types/nodegit/status-options.d.ts create mode 100644 types/nodegit/status.d.ts diff --git a/types/nodegit/index.d.ts b/types/nodegit/index.d.ts index 11d274425f..6aa64e9e1f 100644 --- a/types/nodegit/index.d.ts +++ b/types/nodegit/index.d.ts @@ -34,6 +34,10 @@ export { RemoteCallbacks } from './remote-callbacks'; export { Remote } from './remote'; export { Repository } from './repository'; export { Signature } from './signature'; +export { StatusEntry } from './status-entry'; +export { StatusList } from './status-list'; +export { StatusOptions } from './status-options'; +export { Status } from './status'; export { Strarray } from './str-array'; export { SubmoduleUpdateOptions } from './submodule-update-options'; export { Submodule } from './submodule'; diff --git a/types/nodegit/status-entry.d.ts b/types/nodegit/status-entry.d.ts new file mode 100644 index 0000000000..bc2ab62a12 --- /dev/null +++ b/types/nodegit/status-entry.d.ts @@ -0,0 +1,7 @@ +import { DiffDelta } from './diff-delta'; + +export class StatusEntry { + status: number; + headToIndex: DiffDelta; + indexToWorkdir: DiffDelta; +} diff --git a/types/nodegit/status-list.d.ts b/types/nodegit/status-list.d.ts new file mode 100644 index 0000000000..6d83044801 --- /dev/null +++ b/types/nodegit/status-list.d.ts @@ -0,0 +1,11 @@ +import { Repository } from './repository'; +import { DiffPerfdata } from './diff-perf-data'; +import { StatusOptions } from './status-options'; + +export class StatusList { + static create(repo: Repository, opts: StatusOptions): Promise; + + entrycount(): number; + free(): void; + getPerfdata(): Promise; +} diff --git a/types/nodegit/status-options.d.ts b/types/nodegit/status-options.d.ts new file mode 100644 index 0000000000..c4296a5b92 --- /dev/null +++ b/types/nodegit/status-options.d.ts @@ -0,0 +1,8 @@ +import { Strarray } from './str-array'; + +export interface StatusOptions { + version: number; + show: number; + flags: number; + pathspec: Strarray; +} diff --git a/types/nodegit/status.d.ts b/types/nodegit/status.d.ts new file mode 100644 index 0000000000..92bbe564f3 --- /dev/null +++ b/types/nodegit/status.d.ts @@ -0,0 +1,56 @@ +import { Repository } from './repository'; +import { StatusList } from './status-list'; +import { StatusEntry } from './status-entry'; +import { StatusOptions } from './status-options'; + +export namespace Status { + enum STATUS { + CURRENT = 0, + INDEX_NEW = 1, + INDEX_MODIFIED = 2, + INDEX_DELETED = 4, + INDEX_RENAMED = 8, + INDEX_TYPECHANGE = 16, + WT_NEW = 128, + WT_MODIFIED = 256, + WT_DELETED = 512, + WT_TYPECHANGE = 1024, + WT_RENAMED = 2048, + WT_UNREADABLE = 4096, + IGNORED = 16384, + CONFLICTED = 32768 + } + + enum OPT { + INCLUDE_UNTRACKED = 1, + INCLUDE_IGNORED = 2, + INCLUDE_UNMODIFIED = 4, + EXCLUDE_SUBMODULES = 8, + RECURSE_UNTRACKED_DIRS = 16, + DISABLE_PATHSPEC_MATCH = 32, + RECURSE_IGNORED_DIRS = 64, + RENAMES_HEAD_TO_INDEX = 128, + RENAMES_INDEX_TO_WORKDIR = 256, + SORT_CASE_SENSITIVELY = 512, + SORT_CASE_INSENSITIVELY = 1024, + RENAMES_FROM_REWRITES = 2048, + NO_REFRESH = 4096, + UPDATE_INDEX = 8192, + INCLUDE_UNREADABLE = 16384, + INCLUDE_UNREADABLE_AS_UNTRACKED = 32768 + } + + enum SHOW { + INDEX_AND_WORKDIR = 0, + INDEX_ONLY = 1, + WORKDIR_ONLY = 2 + } +} + +export class Status { + static byIndex(statuslist: StatusList, idx: number): StatusEntry; + static file(repo: Repository, path: string): number; + static foreach(repo: Repository, callback: Function, payload: void): Promise; + static foreachExt(repo: Repository, opts: StatusOptions, callback: Function, payload: void): Promise; + static shouldIgnore(ignored: number, repo: Repository, path: string): number; +} diff --git a/types/nodegit/tsconfig.json b/types/nodegit/tsconfig.json index 483f995a50..40d020dd19 100644 --- a/types/nodegit/tsconfig.json +++ b/types/nodegit/tsconfig.json @@ -48,6 +48,10 @@ "remote.d.ts", "repository.d.ts", "signature.d.ts", + "status-entry.d.ts", + "status-list.d.ts", + "status-options.d.ts", + "status.d.ts", "str-array.d.ts", "submodule-update-options.d.ts", "submodule.d.ts",