UNPKG

simple-git

Version:

Simple GIT interface for node.js

39 lines 1.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const PullSummary_1 = require("../responses/PullSummary"); const utils_1 = require("../utils"); const parse_remote_messages_1 = require("./parse-remote-messages"); const FILE_UPDATE_REGEX = /^\s*(.+?)\s+\|\s+\d+\s*(\+*)(-*)/; const SUMMARY_REGEX = /(\d+)\D+((\d+)\D+\(\+\))?(\D+(\d+)\D+\(-\))?/; const ACTION_REGEX = /^(create|delete) mode \d+ (.+)/; const parsers = [ new utils_1.LineParser(FILE_UPDATE_REGEX, (result, [file, insertions, deletions]) => { result.files.push(file); if (insertions) { result.insertions[file] = insertions.length; } if (deletions) { result.deletions[file] = deletions.length; } }), new utils_1.LineParser(SUMMARY_REGEX, (result, [changes, , insertions, , deletions]) => { if (insertions !== undefined || deletions !== undefined) { result.summary.changes = +changes || 0; result.summary.insertions = +insertions || 0; result.summary.deletions = +deletions || 0; return true; } return false; }), new utils_1.LineParser(ACTION_REGEX, (result, [action, file]) => { utils_1.append(result.files, file); utils_1.append((action === 'create') ? result.created : result.deleted, file); }), ]; exports.parsePullDetail = (stdOut, stdErr) => { return utils_1.parseStringResponse(new PullSummary_1.PullSummary(), parsers, `${stdOut}\n${stdErr}`); }; exports.parsePullResult = (stdOut, stdErr) => { return Object.assign(new PullSummary_1.PullSummary(), exports.parsePullDetail(stdOut, stdErr), parse_remote_messages_1.parseRemoteMessages(stdOut, stdErr)); }; //# sourceMappingURL=parse-pull.js.map