simple-git
Version:
Simple GIT interface for node.js
21 lines • 1.04 kB
TypeScript
import type { EmptyTask } from '../tasks/task';
import type { GitExecutorResult, SimpleGitExecutor } from './index';
export type TaskResponseFormat = Buffer | string;
export interface TaskParser<INPUT extends TaskResponseFormat, RESPONSE> {
(stdOut: INPUT, stdErr: INPUT): RESPONSE;
}
export interface EmptyTaskParser {
(executor: SimpleGitExecutor): void;
}
export interface SimpleGitTaskConfiguration<RESPONSE, FORMAT, INPUT extends TaskResponseFormat> {
commands: string[];
format: FORMAT;
parser: TaskParser<INPUT, RESPONSE>;
input?: string | Buffer;
onError?: (result: GitExecutorResult, error: Error, done: (result: Buffer | Buffer[]) => void, fail: (error: string | Error) => void) => void;
}
export type StringTask<R> = SimpleGitTaskConfiguration<R, 'utf-8', string>;
export type BufferTask<R> = SimpleGitTaskConfiguration<R, 'buffer', Buffer>;
export type RunnableTask<R> = StringTask<R> | BufferTask<R>;
export type SimpleGitTask<R> = RunnableTask<R> | EmptyTask;
//# sourceMappingURL=tasks.d.ts.map