diff --git a/types/nodegit/index.d.ts b/types/nodegit/index.d.ts index 6aa64e9e1f..a4a90f07d2 100644 --- a/types/nodegit/index.d.ts +++ b/types/nodegit/index.d.ts @@ -34,6 +34,7 @@ export { RemoteCallbacks } from './remote-callbacks'; export { Remote } from './remote'; export { Repository } from './repository'; export { Signature } from './signature'; +export { Stash } from './stash'; export { StatusEntry } from './status-entry'; export { StatusList } from './status-list'; export { StatusOptions } from './status-options'; diff --git a/types/nodegit/stash.d.ts b/types/nodegit/stash.d.ts new file mode 100644 index 0000000000..5208fa7e5f --- /dev/null +++ b/types/nodegit/stash.d.ts @@ -0,0 +1,46 @@ +import { Repository } from './repository'; +import { Signature } from './signature'; +import { Oid } from './oid'; +import { CheckoutOptions } from './checkout-options'; + +export namespace Stash { + enum APPLY_FLAGS { + APPLY_DEFAULT = 0, + APPLY_REINSTATE_INDEX = 1 + } + + enum APPLY_PROGRESS { + NONE = 0, + LOADING_STASH = 1, + ANALYZE_INDEX = 2, + ANALYZE_MODIFIED = 3, + ANALYZE_UNTRACKED = 4, + CHECKOUT_UNTRACKED = 5, + CHECKOUT_MODIFIED = 6, + DONE = 7 + } + + enum FLAGS { + DEFAULT = 0, + KEEP_INDEX = 1, + INCLUDE_UNTRACKED = 2, + INCLUDE_IGNORED = 4 + } +} + +export interface StashApplyOptions { + version: number; + flags: number; + checkoutOptions: CheckoutOptions; + progressCb: Function; + progressPayload: void; +} + +export class Stash { + static apply(repo: Repository, index: number, options: StashApplyOptions): Promise; + static applyInitOptions(opts: StashApplyOptions, version: number): number; + static drop(repo: Repository, index: number): Promise; + static foreach(repo: Repository, callback: Function, payload: void): Promise; + static pop(repo: Repository, index: number, options: StashApplyOptions): Promise; + static save(repo: Repository, stasher: Signature, message: string, flags: number): Promise; +} diff --git a/types/nodegit/tsconfig.json b/types/nodegit/tsconfig.json index 40d020dd19..017b34314c 100644 --- a/types/nodegit/tsconfig.json +++ b/types/nodegit/tsconfig.json @@ -48,6 +48,7 @@ "remote.d.ts", "repository.d.ts", "signature.d.ts", + "stash.d.ts", "status-entry.d.ts", "status-list.d.ts", "status-options.d.ts",