42 lines
1.4 KiB
JavaScript
42 lines
1.4 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.taskCallback = void 0;
|
|
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}, this will no longer be available in version 3`);
|
|
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
|