UNPKG

simple-git

Version:

Simple GIT interface for node.js

41 lines 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const api_1 = require("./api"); const utils_1 = require("./utils"); function taskCallback(task, response, callback = utils_1.NOOP) { const onSuccess = (data) => { callback(null, data); }; const onError = (err) => { if ((err === null || err === void 0 ? void 0 : err.task) === task) { if (err instanceof api_1.GitResponseError) { return callback(addDeprecationNoticeToError(err)); } callback(err); } }; response.then(onSuccess, onError); } exports.taskCallback = taskCallback; function addDeprecationNoticeToError(err) { let log = (name) => { console.warn(`simple-git deprecation notice: accessing GitResponseError.${name} should be GitResponseError.git.${name}`); log = utils_1.NOOP; }; return Object.create(err, Object.getOwnPropertyNames(err.git).reduce(descriptorReducer, {})); function descriptorReducer(all, name) { if (name in err) { return all; } all[name] = { enumerable: false, configurable: false, get() { log(name); return err.git[name]; }, }; return all; } } //# sourceMappingURL=task-callback.js.map