coveralls-api
Version:
API client for coveralls.io
115 lines (85 loc) • 3.97 kB
JavaScript
;
exports.__esModule = true;
exports["default"] = void 0;
var _crossFetchJson = _interopRequireDefault(require("cross-fetch-json"));
var _parseJsonObject = require("parse-json-object");
var _formData = _interopRequireDefault(require("form-data"));
var _stringifyJsonObject = _interopRequireDefault(require("stringify-json-object"));
var _repo = require("./repo");
exports.CreateRepoArgs = _repo.CreateRepoArgs;
exports.CreateRepoResponse = _repo.CreateRepoResponse;
exports.GetRepoResponse = _repo.GetRepoResponse;
exports.UpdateRepoArgs = _repo.UpdateRepoArgs;
exports.UpdateRepoReponse = _repo.UpdateRepoReponse;
var _jobs = require("./jobs");
exports.PostJobArgs = _jobs.PostJobArgs;
exports.PostJobFromLCOVArgs = _jobs.PostJobFromLCOVArgs;
exports.PostJobResponse = _jobs.PostJobResponse;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var Coveralls = /*#__PURE__*/function () {
function Coveralls(token, hostname) {
if (hostname === void 0) {
hostname = "coveralls.io";
}
_defineProperty(this, "token", void 0);
_defineProperty(this, "hostname", void 0);
this.token = token;
this.hostname = hostname;
}
var _proto = Coveralls.prototype;
_proto.getPath = function getPath(path) {
return "https://" + this.hostname + "/api" + path;
};
_proto.fetch = function fetch(path, method, args) {
return (0, _crossFetchJson["default"])(this.getPath(path), {
method: method,
headers: {
authorization: "token " + this.token
},
body: args ? (0, _stringifyJsonObject["default"])(args) : undefined
});
};
_proto.createRepo = function createRepo(repo) {
return this.fetch("/repos", "POST", {
repo: repo
});
};
_proto.getRepo = function getRepo(service, user, name) {
return this.fetch("/repos/" + service + "/" + user + "/" + name, "GET");
};
_proto.updateRepo = function updateRepo(service, user, name, args) {
return this.fetch("/repos/" + service + "/" + user + "/" + name, "PUT", args);
};
_proto.postJob = /*#__PURE__*/function () {
var _postJob = _asyncToGenerator(function* (service, user, name, args) {
var _this = this;
return (0, _jobs.getJobBody)(service, user, name, args, this).then(function (body) {
var form = new _formData["default"]();
form.append("json", (0, _stringifyJsonObject["default"])(body));
return new Promise(function (resolve) {
form.submit(_this.getPath("/v1/jobs"), function (err, res) {
if (err) {
console.error(err);
}
var data = "";
res.on("data", function (chunk) {
data += chunk;
});
res.on("end", function () {
resolve((0, _parseJsonObject.parseJSONObject)(data));
});
});
});
});
});
function postJob(_x, _x2, _x3, _x4) {
return _postJob.apply(this, arguments);
}
return postJob;
}();
return Coveralls;
}();
exports["default"] = Coveralls;