UNPKG

simple-git

Version:

Simple GIT interface for node.js

77 lines 2.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const git_response_error_1 = require("../errors/git-response-error"); const parse_branch_delete_1 = require("../parsers/parse-branch-delete"); const parse_branch_1 = require("../parsers/parse-branch"); function containsDeleteBranchCommand(commands) { const deleteCommands = ['-d', '-D', '--delete']; return commands.some(command => deleteCommands.includes(command)); } exports.containsDeleteBranchCommand = containsDeleteBranchCommand; function branchTask(customArgs) { const isDelete = containsDeleteBranchCommand(customArgs); const commands = ['branch', ...customArgs]; if (commands.length === 1) { commands.push('-a'); } if (!commands.includes('-v')) { commands.splice(1, 0, '-v'); } return { format: 'utf-8', commands, parser(stdOut, stdErr) { if (isDelete) { return parse_branch_delete_1.parseBranchDeletions(stdOut, stdErr).all[0]; } return parse_branch_1.parseBranchSummary(stdOut, stdErr); }, }; } exports.branchTask = branchTask; function branchLocalTask() { return { format: 'utf-8', commands: ['branch', '-v'], parser(stdOut, stdErr) { return parse_branch_1.parseBranchSummary(stdOut, stdErr); }, }; } exports.branchLocalTask = branchLocalTask; function deleteBranchesTask(branches, forceDelete = false) { return { format: 'utf-8', commands: ['branch', '-v', forceDelete ? '-D' : '-d', ...branches], parser(stdOut, stdErr) { return parse_branch_delete_1.parseBranchDeletions(stdOut, stdErr); }, onError(exitCode, error, done, fail) { if (!parse_branch_delete_1.hasBranchDeletionError(error, exitCode)) { return fail(error); } done(error); }, concatStdErr: true, }; } exports.deleteBranchesTask = deleteBranchesTask; function deleteBranchTask(branch, forceDelete = false) { const task = { format: 'utf-8', commands: ['branch', '-v', forceDelete ? '-D' : '-d', branch], parser(stdOut, stdErr) { return parse_branch_delete_1.parseBranchDeletions(stdOut, stdErr).branches[branch]; }, onError(exitCode, error, _, fail) { if (!parse_branch_delete_1.hasBranchDeletionError(error, exitCode)) { return fail(error); } throw new git_response_error_1.GitResponseError(task.parser(error, ''), error); }, concatStdErr: true, }; return task; } exports.deleteBranchTask = deleteBranchTask; //# sourceMappingURL=branch.js.map