Comparing version 0.1.2 to 0.2.0
118
chain-xhr.js
@@ -735,13 +735,51 @@ function createCommonjsModule(fn, module) { | ||
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); | ||
}); | ||
}; | ||
} | ||
var asyncToGenerator = _asyncToGenerator; | ||
var _typeof_1 = createCommonjsModule(function (module) { | ||
function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); } | ||
function _typeof(obj) { | ||
"@babel/helpers - typeof"; | ||
function _typeof(obj) { | ||
if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") { | ||
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { | ||
module.exports = _typeof = function _typeof(obj) { | ||
return _typeof2(obj); | ||
return typeof obj; | ||
}; | ||
} else { | ||
module.exports = _typeof = function _typeof(obj) { | ||
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj); | ||
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; | ||
}; | ||
@@ -883,3 +921,3 @@ } | ||
if (!this.METHODS[methodNormalized]) throw new Error('An unsupported http request method was chosen'); | ||
if (!this.METHODS.hasOwnProperty(methodNormalized)) throw new Error('An unsupported http request method was chosen'); | ||
this._request.method = methodNormalized; | ||
@@ -1043,41 +1081,51 @@ return this; | ||
key: "send", | ||
value: function send() { | ||
var _this = this; | ||
value: function () { | ||
var _send = asyncToGenerator( | ||
/*#__PURE__*/ | ||
regenerator.mark(function _callee() { | ||
var _this = this; | ||
return regenerator.async(function send$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
return _context.abrupt("return", new Promise(function (resolve, reject) { | ||
_this._request.queryParams.map(function (queryParam) { | ||
return _this._request.url.searchParams.append(queryParam.key, queryParam.value); | ||
}); | ||
return regenerator.wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
return _context.abrupt("return", new Promise(function (resolve, reject) { | ||
_this._request.queryParams.map(function (queryParam) { | ||
return _this._request.url.searchParams.append(queryParam.key, queryParam.value); | ||
}); | ||
_this._XHR = new XMLHttpRequest(); | ||
_this._XHR = new XMLHttpRequest(); | ||
_this._XHR.addEventListener('readystatechange', function () { | ||
if (_this._XHR.readyState === 4 && _this._XHR.status >= 200) resolve(_this._XHR.response);else if (_this._XHR.status >= 400 && _this._XHR.status <= 600) reject(); | ||
}); | ||
_this._XHR.addEventListener('readystatechange', function () { | ||
if (_this._XHR.readyState === 4 && _this._XHR.status >= 200) resolve(_this._XHR.response);else if (_this._XHR.status >= 400 && _this._XHR.status <= 600) reject(); | ||
}); | ||
_this._XHR.addEventListener('error', function (err) { | ||
return reject(err); | ||
}); | ||
_this._XHR.addEventListener('error', function (err) { | ||
return reject(err); | ||
}); | ||
_this._XHR.open(_this._request.method, _this._request.url.href, true); | ||
_this._XHR.open(_this._request.method, _this._request.url.href, true); | ||
_this._XHR.responseType = _this._request.responseType; | ||
_this._XHR.withCredentials = _this._request.withCredentials; | ||
_this._XHR.responseType = _this._request.responseType; | ||
_this._XHR.withCredentials = _this._request.withCredentials; | ||
_this._XHR.setRequestHeader('Content-Type', _this._request.contentType); | ||
_this._XHR.setRequestHeader('Content-Type', _this._request.contentType); | ||
_this._XHR.send(_this._request.data); | ||
})); | ||
_this._XHR.send(_this._request.data); | ||
})); | ||
case 1: | ||
case "end": | ||
return _context.stop(); | ||
case 1: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
} | ||
} | ||
}); | ||
} | ||
}, _callee); | ||
})); | ||
function send() { | ||
return _send.apply(this, arguments); | ||
} | ||
return send; | ||
}() | ||
}]); | ||
@@ -1084,0 +1132,0 @@ |
@@ -0,1 +1,15 @@ | ||
0.2.0 / 2019-02-02 | ||
================== | ||
* [FEATURE] Defined the Methods interface more clearly. | ||
* [TEST] Changed the test setup to use require instead of import. | ||
* [TEST] Added @ava/babel due to problems using import in tests. | ||
* [MISC] Updated dependencies to their latest versions. | ||
* [MISC] Updated license year to reflect year change. | ||
* [MISC] Removed unnecessary spacing. | ||
0.1.3 / 2019-12-19 | ||
================== | ||
* [MISC] Updated dependencies to their latest versions. | ||
* [MISC] Added more badges to README. | ||
0.1.2 / 2019-11-10 | ||
@@ -13,2 +27,2 @@ ================== | ||
================== | ||
* Initial release | ||
* Initial release |
export {}; |
@@ -7,2 +7,4 @@ 'use strict'; | ||
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); | ||
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); | ||
@@ -97,3 +99,3 @@ | ||
if (!this.METHODS[methodNormalized]) throw new Error('An unsupported http request method was chosen'); | ||
if (!this.METHODS.hasOwnProperty(methodNormalized)) throw new Error('An unsupported http request method was chosen'); | ||
this._request.method = methodNormalized; | ||
@@ -257,44 +259,54 @@ return this; | ||
key: "send", | ||
value: function send() { | ||
var _this = this; | ||
value: function () { | ||
var _send = (0, _asyncToGenerator2["default"])( | ||
/*#__PURE__*/ | ||
_regenerator["default"].mark(function _callee() { | ||
var _this = this; | ||
return _regenerator["default"].async(function send$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
return _context.abrupt("return", new Promise(function (resolve, reject) { | ||
_this._request.queryParams.map(function (queryParam) { | ||
return _this._request.url.searchParams.append(queryParam.key, queryParam.value); | ||
}); | ||
return _regenerator["default"].wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
return _context.abrupt("return", new Promise(function (resolve, reject) { | ||
_this._request.queryParams.map(function (queryParam) { | ||
return _this._request.url.searchParams.append(queryParam.key, queryParam.value); | ||
}); | ||
_this._XHR = new XMLHttpRequest(); | ||
_this._XHR = new XMLHttpRequest(); | ||
_this._XHR.addEventListener('readystatechange', function () { | ||
if (_this._XHR.readyState === 4 && _this._XHR.status >= 200) resolve(_this._XHR.response);else if (_this._XHR.status >= 400 && _this._XHR.status <= 600) reject(); | ||
}); | ||
_this._XHR.addEventListener('readystatechange', function () { | ||
if (_this._XHR.readyState === 4 && _this._XHR.status >= 200) resolve(_this._XHR.response);else if (_this._XHR.status >= 400 && _this._XHR.status <= 600) reject(); | ||
}); | ||
_this._XHR.addEventListener('error', function (err) { | ||
return reject(err); | ||
}); | ||
_this._XHR.addEventListener('error', function (err) { | ||
return reject(err); | ||
}); | ||
_this._XHR.open(_this._request.method, _this._request.url.href, true); | ||
_this._XHR.open(_this._request.method, _this._request.url.href, true); | ||
_this._XHR.responseType = _this._request.responseType; | ||
_this._XHR.withCredentials = _this._request.withCredentials; | ||
_this._XHR.responseType = _this._request.responseType; | ||
_this._XHR.withCredentials = _this._request.withCredentials; | ||
_this._XHR.setRequestHeader('Content-Type', _this._request.contentType); | ||
_this._XHR.setRequestHeader('Content-Type', _this._request.contentType); | ||
_this._XHR.send(_this._request.data); | ||
})); | ||
_this._XHR.send(_this._request.data); | ||
})); | ||
case 1: | ||
case "end": | ||
return _context.stop(); | ||
case 1: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
} | ||
} | ||
}); | ||
} | ||
}, _callee); | ||
})); | ||
function send() { | ||
return _send.apply(this, arguments); | ||
} | ||
return send; | ||
}() | ||
}]); | ||
return ChainXHR; | ||
}(), _temp); | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiR0VUIiwiUE9TVCIsIlBVVCIsIkRFTEVURSIsIm1ldGhvZCIsIk1FVEhPRFMiLCJ3aXRoQ3JlZGVudGlhbHMiLCJjb250ZW50VHlwZSIsInF1ZXJ5UGFyYW1zIiwicmVzcG9uc2VUeXBlIiwidXJsIiwiX3JlcXVlc3QiLCJVUkwiLCJtZXRob2ROb3JtYWxpemVkIiwidG9VcHBlckNhc2UiLCJFcnJvciIsImtleSIsInZhbHVlIiwidmFsdWVOb3JtYWxpemVkIiwidG9TdHJpbmciLCJwdXNoIiwiZGF0YSIsIkZvcm1EYXRhIiwiSlNPTiIsInN0cmluZ2lmeSIsIl9YSFIiLCJhYm9ydCIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwibWFwIiwicXVlcnlQYXJhbSIsInNlYXJjaFBhcmFtcyIsImFwcGVuZCIsIlhNTEh0dHBSZXF1ZXN0IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlYWR5U3RhdGUiLCJzdGF0dXMiLCJyZXNwb25zZSIsImVyciIsIm9wZW4iLCJocmVmIiwic2V0UmVxdWVzdEhlYWRlciIsInNlbmQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7O0FBS0E7OztBQUdBQSxNQUFNLENBQUNDLE9BQVA7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHNEQVVxQjtBQUNqQkMsTUFBQUEsR0FBRyxFQUFFLEtBRFk7QUFFakJDLE1BQUFBLElBQUksRUFBRSxNQUZXO0FBR2pCQyxNQUFBQSxHQUFHLEVBQUUsS0FIWTtBQUlqQkMsTUFBQUEsTUFBTSxFQUFFO0FBSlMsS0FWckI7QUFBQSx1REF3QjhCO0FBQzFCQyxNQUFBQSxNQUFNLEVBQUUsS0FBS0MsT0FBTCxDQUFhTCxHQURLO0FBRTFCTSxNQUFBQSxlQUFlLEVBQUUsS0FGUztBQUcxQkMsTUFBQUEsV0FBVyxFQUFFLGtCQUhhO0FBSTFCQyxNQUFBQSxXQUFXLEVBQUUsRUFKYTtBQUsxQkMsTUFBQUEs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XHJcblxyXG5pbXBvcnQgTWV0aG9kcyBmcm9tICcuL2ludGVyZmFjZXMvTWV0aG9kcyc7XHJcbmltcG9ydCBSZXF1ZXN0IGZyb20gJy4vaW50ZXJmYWNlcy9SZXF1ZXN0JztcclxuXHJcbi8qKlxyXG4gKiBjaGFpbi14aHIgcHJvdmlkZXMgYW4gZWFzeSB0byB1c2UgcHJvbWlzZSBiYmFzZWQgY2hhaW5hYmxlIEFQSSB0aGF0IG1ha2VzIGl0IHNpbXBsZSB0byBjcmVhdGUgYW55IGtpbmQgb2YgWEhSIHJlcXVlc3QuXHJcbiAqL1xyXG5tb2R1bGUuZXhwb3J0cyA9IGNsYXNzIENoYWluWEhSIHtcclxuXHJcbiAgLyoqXHJcbiAgICogQSBjb25zdGFudCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlbGVjdCB0aGUgcmVxdWVzdGVkIGh0dHAgcmVxdWVzdCBtZXRob2QgZnJvbS5cclxuICAgKiBcclxuICAgKiBFdmVuIGlmIGEgcmVxdWVzdCBtZXRob2QgaXMgcHJvdmlkZWQgYnkgaGFuZCwgaXQgd2lsbCBiZSBkb3VibGUgY2hlY2tlZCBhZ2FpbnN0IHRoZSBvbmVzIGRlZmluZWQgaGVyZSB0byBtYWtlIHN1cmUgdGhhdCBpdFxyXG4gICAqIGlzIGEgdmFsaWQgcmVxdWVzdCBtZXRob2QuXHJcbiAgICogXHJcbiAgICogQHByb3BlcnR5IHtPYmplY3R9XHJcbiAgICovXHJcbiAgTUVUSE9EUzogTWV0aG9kcyA9IHtcclxuICAgIEdFVDogJ0dFVCcsXHJcbiAgICBQT1NUOiAnUE9TVCcsXHJcbiAgICBQVVQ6ICdQVVQnLFxyXG4gICAgREVMRVRFOiAnREVMRVRFJ1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIEEgcmVmZXJlbmNlIHRvIHRoZSByZXF1ZXN0IG9iamVjdCB0aGF0IHdpbGwgYmUgdXNlZCB0byBidWlsZCBhbmQgc2VuZCB0aGUgZmluYWwgcmVxdWVzdC5cclxuICAgKiBcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqIFxyXG4gICAqIEBwcm9wZXJ0eSB7UmVxdWVzdH1cclxuICAgKi9cclxuICBwcml2YXRlIF9yZXF1ZXN0OiBSZXF1ZXN0ID0ge1xyXG4gICAgbWV0aG9kOiB0aGlzLk1FVEhPRFMuR0VULFxyXG4gICAgd2l0aENyZWRlbnRpYWxzOiBmYWxzZSxcclxuICAgIGNvbnRlbnRUeXBlOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICBxdWVyeVBhcmFtczogW10sXHJcbiAgICByZXNwb25zZVR5cGU6ICd0ZXh0J1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIEEgcmVmZXJlbmNlIHRvIHRoZSBhY3R1YWwgWE1MSHR0cFJlcXVlc3QuXHJcbiAgICogXHJcbiAgICogQHByaXZhdGVcclxuICAgKiBcclxuICAgKiBAcHJvcGVydHkge1hNTEh0dHBSZXF1ZXN0fVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX1hIUiE6IFhNTEh0dHBSZXF1ZXN0O1xyXG5cclxuICAvKipcclxuICAgKiBTZXQgdGhlIFVSTCB0aGF0IHRoaXMgcmVxdWVzdCBzaG91bGQgYmUgc2VudCB0by5cclxuICAgKiBcclxuICAgKiBUaGlzIHJlcXVlc3QgY2FuIGZhaWwgaWYgYW4gaW52YWxpZCB1cmwgaXMgcHJvdmlkZWQgc28gaXQgaXMgcmVjb21tZW5kZWQgdG8gd3JhcCBpdCBpbiBhIHRyeS4uY2F0Y2ggaWYgeW91IGJlbGlldmUgdGhlcmUgaXMgYW55XHJcbiAgICogY2hhbmNlIG9mIHRoYXQgaGFwcGVuaW5nLlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgVGhlIHVybCB0byBzZW5kIHRoaXMgcmVxdWVzdCB0by5cclxuICAgKiBcclxuICAgKiBAcmV0dXJucyB7Q2hhaW5YSFJ9IFJldHVybnMgdGhpcyBmb3IgY2hhaW5pbmcuXHJcbiAgICogXHJcbiAgICogQGV4YW1wbGVcclxuICAgKiBcclxuICAgKiBjb25zdCByZXF1ZXN0ID0gbmV3IENoYWluWEhSKCk7XHJcbiAgICogXHJcbiAgICogcmVxdWVzdFxyXG4gICAqICAudXJsKCdodHRwczovL2V4YW1wbGUuY29tJyk7XHJcbiAgICovXHJcbiAgdXJsKHVybDogc3RyaW5nKTogQ2hhaW5YSFIge1xyXG5cclxuICAgIHRoaXMuX3JlcXVlc3QudXJsID0gbmV3IFVSTCh1cmwpO1xyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG5cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGh0dHAgcmVxdWVzdCBtZXRob2QgdG8gYmUgdXNlZCBieSB0aGlzIFhIUiByZXF1ZXN0LlxyXG4gICAqIFxyXG4gICAqIEJ5IGRlZmF1bHQgdGhpcyBwcm9wZXJ0eSBpcyBzZXQgdG8gJ0dFVCcuXHJcbiAgICogXHJcbiAgICogWW91IGNhbiBjaG9vc2UgdG8gdHlwZSBpbiBhIHN0cmluZyBkaXJlY3RseSBzdWNoIGFzICdHRVQnIG9yICdnZXQnIG9yIHlvdSBjYW4gdXNlIHRoZSBSRVFVRVNUIGNvbnN0YW50IG9mIENoYWluWEhSIHRvIHNldCB0aGlzLlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2QgVGhlIGh0dHAgcmVxdWVzdCBtZXRob2QgdG8gdXNlIGZvciB0aGlzIFhIUiByZXF1ZXN0LlxyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIHtDaGFpblhIUn0gUmV0dXJucyB0aGlzIGZvciBjaGFpbmluZy5cclxuICAgKiBcclxuICAgKiBAZXhhbXBsZVxyXG4gICAqIFxyXG4gICAqIGNvbnN0IHJlcXVlc3QgPSBuZXcgQ2hhaW5YSFIoKTtcclxuICAgKiBcclxuICAgKiAvLyBVc2luZyBhIHN0cmluZyBkaXJlY3RseTpcclxuICAgKiByZXF1ZXN0XHJcbiAgICogIC51cmwoJ2h0dHBzOi8vZXhhbXBsZS5jb20nKVxyXG4gICAqICAubWV0aG9kKCdHRVQnKTtcclxuICAgKiBcclxuICAgKiAvLyBVc2luZyB0aGUgY29uc3RhbnQ6XHJcbiAgICogcmVxdWVzdFxyXG4gICAqICAudXJsKCdodHRwczovL2V4YW1wbGUuY29tJyk7XHJcbiAgICogIC5tZXRob2QocmVxdWVzdC5NRVRIT0QuR0VUKTtcclxuICAgKi9cclxuICBtZXRob2QobWV0aG9kOiBzdHJpbmcpOiBDaGFpblhIUiB7XHJcblxyXG4gICAgY29uc3QgbWV0aG9kTm9ybWFsaXplZCA9IG1ldGhvZC50b1VwcGVyQ2FzZSgpO1xyXG5cclxuICAgIGlmICghdGhpcy5NRVRIT0RTW21ldGhvZE5vcm1hbGl6ZWRdKSB0aHJvdyBuZXcgRXJyb3IoJ0FuIHVuc3VwcG9ydGVkIGh0dHAgcmVxdWVzdCBtZXRob2Qgd2FzIGNob3NlbicpO1xyXG5cclxuICAgIHRoaXMuX3JlcXVlc3QubWV0aG9kID0gbWV0aG9kTm9ybWFsaXplZDtcclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoaXMgcmVxdWVzdCB0byBiZSBtYWRlIHdpdGggY3JlZGVudGlhbHMgc3VjaCBhcyBjb29raWVzLCBhdXRob3JpemF0aW9uIGhlYWRlcnMsIG9yIFRMUyBjZXJ0aWZpY2F0ZXMuXHJcbiAgICogXHJcbiAgICogQnkgZGVmYXVsdCB0aGlzIHByb3BlcnR5IGlzIHNldCB0byBmYWxzZS5cclxuICAgKiBcclxuICAgKiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gc2FtZS1zaXRlIHJlcXVlc3RzLlxyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIHtDaGFpblhIUn0gUmV0dXJucyB0aGlzIGZvciBjaGFpbmluZy5cclxuICAgKiBcclxuICAgKiBAZXhhbXBsZVxyXG4gICAqIFxyXG4gICAqIGNvbnN0IHJlcXVlc3QgPSBuZXcgQ2hhaW5YSFIoKTtcclxuICAgKiBcclxuICAgKiByZXF1ZXN0XHJcbiAgICogIC53aXRoQ3JlZGVudGlhbHMoKTtcclxuICAgKi9cclxuICB3aXRoQ3JlZGVudGlhbHMoKTogQ2hhaW5YSFIge1xyXG5cclxuICAgIHRoaXMuX3JlcXVlc3Qud2l0aENyZWRlbnRpYWxzID0gdHJ1ZTtcclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBjb250ZW50IHR5cGUgaGVhZGVyIHdoaWNoIGluZGljYXRlcyB3aGF0IHR5cGUgb2YgY29udGVudCBpcyBiZWluZyBzZW5kIHRvIHRoZSBlbmRwb2ludC5cclxuICAgKiBcclxuICAgKiBCeSBkZWZhdWx0IHRoaXMgaXMgc2V0IHRvICdhcHBsaWNhdGlvbi9qc29uJy5cclxuICAgKiBcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29udGVudFR5cGUgVGhlIHR5cGUgb2YgY29udGVudCB0aGF0IGlzIGJlaW5nIHNlbnQgdG8gdGhlIHNlcnZlci5cclxuICAgKiBcclxuICAgKiBAcmV0dXJucyB7Q2hhaW5YSFJ9XHJcbiAgICogXHJcbiAgICogQGV4YW1wbGVcclxuICAgKiBcclxuICAgKiBjb25zdCByZXF1ZXN0ID0gbmV3IENoYWluWEhSKCk7XHJcbiAgICogXHJcbiAgICogcmVxdWVzdFxyXG4gICAqICAuY29udGVudFR5cGUoJ3gtd3d3LWZvcm1kYXRhJyk7XHJcbiAgICovXHJcbiAgY29udGVudFR5cGUoY29udGVudFR5cGU6IHN0cmluZyk6IENoYWluWEhSIHtcclxuXHJcbiAgICB0aGlzLl9yZXF1ZXN0LmNvbnRlbnRUeXBlID0gY29udGVudFR5cGU7XHJcblxyXG4gICAgcmV0dXJuIHRoaXM7XHJcblxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcyBhIHF1ZXJ5IHBhcmFtZXRlciB0byBzZW5kIHdpdGggdGhlIHJlcXVlc3QuXHJcbiAgICogXHJcbiAgICogVGhpcyBzaG91bGQgYmUgY2hhaW5lZCBtdWx0aXBsZSB0aW1lcyB0byBhZGQgbXVsdGlwbGUgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKiBcclxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHF1ZXJ5IHBhcmFtZXRlciB0byBhZGQuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd8bnVtYmVyfGJvb2xlYW59IHZhbHVlIFRoZSB2YWx1ZSBvZiB0aGUga2V5IGFkZGVkLlxyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIHtDaGFpblhIUn1cclxuICAgKiBcclxuICAgKiBAZXhhbXBsZVxyXG4gICAqIFxyXG4gICAqIGNvbnN0IHJlcXVlc3QgPSBuZXcgQ2hhaW5YSFIoKTtcclxuICAgKiBcclxuICAgKiByZXF1ZXN0XHJcbiAgICogIC5xdWVyeVBhcmFtKCdoZWxsbycsICd3b3JsZCcpXHJcbiAgICogIC5xdWVyeVBhcmFtKCdjb3VudCcsIDUpO1xyXG4gICAqL1xyXG4gIHF1ZXJ5UGFyYW0oa2V5OiBzdHJpbmcsIHZhbHVlOiAoc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbikpOiBDaGFpblhIUiB7XHJcblxyXG4gICAgY29uc3QgdmFsdWVOb3JtYWxpemVkOiBzdHJpbmcgPSB2YWx1ZS50b1N0cmluZygpO1xyXG5cclxuICAgIHRoaXMuX3JlcXVlc3QucXVlcnlQYXJhbXMucHVzaCh7IGtleToga2V5LCB2YWx1ZTogdmFsdWVOb3JtYWxpemVkIH0pO1xyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG5cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGRhdGEgdG8gc2VuZCB0aHJvdWdoIHdpdGggdGhlIHJlcXVlc3QuXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHsqfSBkYXRhIFRoZSBkYXRhIHRvIHNlbmQgdGhyb3VnaCB3aXRoIHRoZSByZXF1ZXN0LlxyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIHtDaGFpblhIUn1cclxuICAgKiBcclxuICAgKiBAZXhhbXBsZVxyXG4gICAqIFxyXG4gICAqIGNvbnN0IHJlcXVlc3QgPSBuZXcgQ2hhaW5YSFIoKTtcclxuICAgKiBcclxuICAgKiAvLyBTZW5kaW5nIGFuIG9iamVjdC5cclxuICAgKiBjb25zdCBvYmogPSB7IGhlbGxvOiAnd29ybGQnLCB5ZWFyOiAyMDE5IH07XHJcbiAgICogXHJcbiAgICogcmVxdWVzdFxyXG4gICAqICAuZGF0YShvYmopO1xyXG4gICAqIFxyXG4gICAqIC8vIFNlbmRpbmcga2V5IHZhbHVlIHBhaXJzIGluZGl2aWR1YWxseS5cclxuICAgKiByZXF1ZXN0XHJcbiAgICogIC5kYXRhKCdoZWxsbycsICd3b3JsZCcpXHJcbiAgICogIC5kYXRhKCd5ZWFyJywgMjAxOSk7XHJcbiAgICovXHJcbiAgZGF0YShkYXRhOiAoT2JqZWN0IHwgc3RyaW5nKSk6IENoYWluWEhSIHtcclxuXHJcbiAgICBpZiAodHlwZW9mIGRhdGEgPT09ICdvYmplY3QnICYmICgoZGF0YSBpbnN0YW5jZW9mIEZvcm1EYXRhKSA9PT0gZmFsc2UpKSBkYXRhID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XHJcblxyXG4gICAgdGhpcy5fcmVxdWVzdC5kYXRhID0gZGF0YTtcclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTcGVjaWZpZXMgdGhhdCB0aGUgZGF0YSByZXR1cm5lZCBzaG91bGQgYmUgSlNPTiBwYXJzZWQuXHJcbiAgICogXHJcbiAgICogQHJldHVybnMge0NoYWluWEhSfVxyXG4gICAqL1xyXG4gIGpzb24oKTogQ2hhaW5YSFIge1xyXG5cclxuICAgIHRoaXMuX3JlcXVlc3QucmVzcG9uc2VUeXBlID0gJ2pzb24nO1xyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG5cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFib3J0cyB0aGUgcmVxdWVzdCBpZiBpdCBhbHJlYWR5IGhhcyBiZWVuIHNlbnQuXHJcbiAgICogXHJcbiAgICogV2hlbiBhIHJlcXVlc3QgaXMgYWJvcnRlZCwgaXRzIHJlYWR5c3RhdGUgaXMgY2hhbmdlZCB0byAwIGFuZCB0aGUgc3RhdHVzIGNvZGUgaXMgc2V0IHRvIDAgYWxzby5cclxuICAgKiBcclxuICAgKiBAcmV0dXJucyB7Q2hhaW5YSFJ9XHJcbiAgICovXHJcbiAgYWJvcnQoKTogQ2hhaW5YSFIge1xyXG5cclxuICAgIHRoaXMuX1hIUi5hYm9ydCgpO1xyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gICAgXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgWEhSIHJlcXVlc3QgaXMgZmluaXNoZWQgYmVpbmcgYnVpbHQgYW5kIGlzIHJlYWR5IHRvIGJlIHNlbnQuXHJcbiAgICogXHJcbiAgICogVGhpcyBzaG91bGQgYWx3YXlzIGJlIHRoZSBmaW5hbCBtZXRob2QgdXNlZCBpbiBhbGwgcmVxdWVzdHMuXHJcbiAgICogXHJcbiAgICogQGFzeW5jXHJcbiAgICogXHJcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cclxuICAgKiBcclxuICAgKiBAZXhhbXBsZVxyXG4gICAqIFxyXG4gICAqIGNvbnN0IHJlcXVlc3QgPSBuZXcgQ2hhaW5YSFIoKTtcclxuICAgKiBcclxuICAgKiByZXF1ZXN0XHJcbiAgICogIC51cmwoJ2h0dHBzOi8vZXhhbXBsZS5jb20nKVxyXG4gICAqICAubWV0aG9kKCdHRVQnKVxyXG4gICAqICAuc2VuZCgpO1xyXG4gICAqL1xyXG4gIGFzeW5jIHNlbmQoKTogUHJvbWlzZTxhbnk+IHtcclxuXHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG5cclxuICAgICAgdGhpcy5fcmVxdWVzdC5xdWVyeVBhcmFtcy5tYXAocXVlcnlQYXJhbSA9PiB0aGlzLl9yZXF1ZXN0LnVybCEuc2VhcmNoUGFyYW1zLmFwcGVuZChxdWVyeVBhcmFtLmtleSwgcXVlcnlQYXJhbS52YWx1ZSkpO1xyXG5cclxuICAgICAgdGhpcy5fWEhSID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XHJcblxyXG4gICAgICB0aGlzLl9YSFIuYWRkRXZlbnRMaXN0ZW5lcigncmVhZHlzdGF0ZWNoYW5nZScsICgpID0+IHtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX1hIUi5yZWFkeVN0YXRlID09PSA0ICYmIHRoaXMuX1hIUi5zdGF0dXMgPj0gMjAwKSByZXNvbHZlKHRoaXMuX1hIUi5yZXNwb25zZSk7XHJcblxyXG4gICAgICAgIGVsc2UgaWYgKHRoaXMuX1hIUi5zdGF0dXMgPj0gNDAwICYmIHRoaXMuX1hIUi5zdGF0dXMgPD0gNjAwKSByZWplY3QoKTtcclxuXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5fWEhSLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKGVycjogRXZlbnQpID0+IHJlamVjdChlcnIpKTtcclxuXHJcbiAgICAgIHRoaXMuX1hIUi5vcGVuKHRoaXMuX3JlcXVlc3QubWV0aG9kLCB0aGlzLl9yZXF1ZXN0LnVybCEuaHJlZiwgdHJ1ZSk7XHJcblxyXG4gICAgICB0aGlzLl9YSFIucmVzcG9uc2VUeXBlID0gPFhNTEh0dHBSZXF1ZXN0UmVzcG9uc2VUeXBlPnRoaXMuX3JlcXVlc3QucmVzcG9uc2VUeXBlO1xyXG5cclxuICAgICAgdGhpcy5fWEhSLndpdGhDcmVkZW50aWFscyA9IHRoaXMuX3JlcXVlc3Qud2l0aENyZWRlbnRpYWxzO1xyXG5cclxuICAgICAgdGhpcy5fWEhSLnNldFJlcXVlc3RIZWFkZXIoJ0NvbnRlbnQtVHlwZScsIHRoaXMuX3JlcXVlc3QuY29udGVudFR5cGUpO1xyXG5cclxuICAgICAgdGhpcy5fWEhSLnNlbmQodGhpcy5fcmVxdWVzdC5kYXRhISk7XHJcblxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbn07Il19 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiR0VUIiwiUE9TVCIsIlBVVCIsIkRFTEVURSIsIm1ldGhvZCIsIk1FVEhPRFMiLCJ3aXRoQ3JlZGVudGlhbHMiLCJjb250ZW50VHlwZSIsInF1ZXJ5UGFyYW1zIiwicmVzcG9uc2VUeXBlIiwidXJsIiwiX3JlcXVlc3QiLCJVUkwiLCJtZXRob2ROb3JtYWxpemVkIiwidG9VcHBlckNhc2UiLCJoYXNPd25Qcm9wZXJ0eSIsIkVycm9yIiwia2V5IiwidmFsdWUiLCJ2YWx1ZU5vcm1hbGl6ZWQiLCJ0b1N0cmluZyIsInB1c2giLCJkYXRhIiwiRm9ybURhdGEiLCJKU09OIiwic3RyaW5naWZ5IiwiX1hIUiIsImFib3J0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJtYXAiLCJxdWVyeVBhcmFtIiwic2VhcmNoUGFyYW1zIiwiYXBwZW5kIiwiWE1MSHR0cFJlcXVlc3QiLCJhZGRFdmVudExpc3RlbmVyIiwicmVhZHlTdGF0ZSIsInN0YXR1cyIsInJlc3BvbnNlIiwiZXJyIiwib3BlbiIsImhyZWYiLCJzZXRSZXF1ZXN0SGVhZGVyIiwic2VuZCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUtBOzs7QUFHQUEsTUFBTSxDQUFDQyxPQUFQO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxzREFPcUI7QUFDakJDLE1BQUFBLEdBQUcsRUFBRSxLQURZO0FBRWpCQyxNQUFBQSxJQUFJLEVBQUUsTUFGVztBQUdqQkMsTUFBQUEsR0FBRyxFQUFFLEtBSFk7QUFJakJDLE1BQUFBLE1BQU0sRUFBRTtBQUpTLEtBUHJCO0FBQUEsdURBcUI4QjtBQUMxQkMsTUFBQUEsTUFBTSxFQUFFLEtBQUtDLE9BQUwsQ0FBYUwsR0FESztBQUUxQk0sTUFBQUEsZUFBZSxFQUFFLEtBRlM7QUFHMUJDLE1BQUFBLFdBQVcsRUFBRSxrQkFIYTtBQUkxQkMsTUFBQUEsV0FBVyxFQUFF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OztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnXG5cbmltcG9ydCBNZXRob2RzIGZyb20gJy4vaW50ZXJmYWNlcy9NZXRob2RzJztcbmltcG9ydCBSZXF1ZXN0IGZyb20gJy4vaW50ZXJmYWNlcy9SZXF1ZXN0JztcblxuLyoqXG4gKiBjaGFpbi14aHIgcHJvdmlkZXMgYW4gZWFzeSB0byB1c2UgcHJvbWlzZSBiYmFzZWQgY2hhaW5hYmxlIEFQSSB0aGF0IG1ha2VzIGl0IHNpbXBsZSB0byBjcmVhdGUgYW55IGtpbmQgb2YgWEhSIHJlcXVlc3QuXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gY2xhc3MgQ2hhaW5YSFIge1xuICAvKiogKiBBIGNvbnN0YW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VsZWN0IHRoZSByZXF1ZXN0ZWQgaHR0cCByZXF1ZXN0IG1ldGhvZCBmcm9tLiAgKiBcbiAgICogRXZlbiBpZiBhIHJlcXVlc3QgbWV0aG9kIGlzIHByb3ZpZGVkIGJ5IGhhbmQsIGl0IHdpbGwgYmUgZG91YmxlIGNoZWNrZWQgYWdhaW5zdCB0aGUgb25lcyBkZWZpbmVkIGhlcmUgdG8gbWFrZSBzdXJlIHRoYXQgaXRcbiAgICogaXMgYSB2YWxpZCByZXF1ZXN0IG1ldGhvZC5cbiAgICogXG4gICAqIEBwcm9wZXJ0eSB7T2JqZWN0fVxuICAgKi9cbiAgTUVUSE9EUzogTWV0aG9kcyA9IHtcbiAgICBHRVQ6ICdHRVQnLFxuICAgIFBPU1Q6ICdQT1NUJyxcbiAgICBQVVQ6ICdQVVQnLFxuICAgIERFTEVURTogJ0RFTEVURSdcbiAgfTtcblxuICAvKipcbiAgICogQSByZWZlcmVuY2UgdG8gdGhlIHJlcXVlc3Qgb2JqZWN0IHRoYXQgd2lsbCBiZSB1c2VkIHRvIGJ1aWxkIGFuZCBzZW5kIHRoZSBmaW5hbCByZXF1ZXN0LlxuICAgKiBcbiAgICogQHByaXZhdGVcbiAgICogXG4gICAqIEBwcm9wZXJ0eSB7UmVxdWVzdH1cbiAgICovXG4gIHByaXZhdGUgX3JlcXVlc3Q6IFJlcXVlc3QgPSB7XG4gICAgbWV0aG9kOiB0aGlzLk1FVEhPRFMuR0VULFxuICAgIHdpdGhDcmVkZW50aWFsczogZmFsc2UsXG4gICAgY29udGVudFR5cGU6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICBxdWVyeVBhcmFtczogW10sXG4gICAgcmVzcG9uc2VUeXBlOiAndGV4dCdcbiAgfTtcblxuICAvKipcbiAgICogQSByZWZlcmVuY2UgdG8gdGhlIGFjdHVhbCBYTUxIdHRwUmVxdWVzdC5cbiAgICogXG4gICAqIEBwcml2YXRlXG4gICAqIFxuICAgKiBAcHJvcGVydHkge1hNTEh0dHBSZXF1ZXN0fVxuICAgKi9cbiAgcHJpdmF0ZSBfWEhSITogWE1MSHR0cFJlcXVlc3Q7XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgVVJMIHRoYXQgdGhpcyByZXF1ZXN0IHNob3VsZCBiZSBzZW50IHRvLlxuICAgKiBcbiAgICogVGhpcyByZXF1ZXN0IGNhbiBmYWlsIGlmIGFuIGludmFsaWQgdXJsIGlzIHByb3ZpZGVkIHNvIGl0IGlzIHJlY29tbWVuZGVkIHRvIHdyYXAgaXQgaW4gYSB0cnkuLmNhdGNoIGlmIHlvdSBiZWxpZXZlIHRoZXJlIGlzIGFueVxuICAgKiBjaGFuY2Ugb2YgdGhhdCBoYXBwZW5pbmcuXG4gICAqIFxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsIFRoZSB1cmwgdG8gc2VuZCB0aGlzIHJlcXVlc3QgdG8uXG4gICAqIFxuICAgKiBAcmV0dXJucyB7Q2hhaW5YSFJ9IFJldHVybnMgdGhpcyBmb3IgY2hhaW5pbmcuXG4gICAqIFxuICAgKiBAZXhhbXBsZVxuICAgKiBcbiAgICogY29uc3QgcmVxdWVzdCA9IG5ldyBDaGFpblhIUigpO1xuICAgKiBcbiAgICogcmVxdWVzdFxuICAgKiAgLnVybCgnaHR0cHM6Ly9leGFtcGxlLmNvbScpO1xuICAgKi9cbiAgdXJsKHVybDogc3RyaW5nKTogQ2hhaW5YSFIge1xuICAgIHRoaXMuX3JlcXVlc3QudXJsID0gbmV3IFVSTCh1cmwpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgaHR0cCByZXF1ZXN0IG1ldGhvZCB0byBiZSB1c2VkIGJ5IHRoaXMgWEhSIHJlcXVlc3QuXG4gICAqIFxuICAgKiBCeSBkZWZhdWx0IHRoaXMgcHJvcGVydHkgaXMgc2V0IHRvICdHRVQnLlxuICAgKiBcbiAgICogWW91IGNhbiBjaG9vc2UgdG8gdHlwZSBpbiBhIHN0cmluZyBkaXJlY3RseSBzdWNoIGFzICdHRVQnIG9yICdnZXQnIG9yIHlvdSBjYW4gdXNlIHRoZSBSRVFVRVNUIGNvbnN0YW50IG9mIENoYWluWEhSIHRvIHNldCB0aGlzLlxuICAgKiBcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1ldGhvZCBUaGUgaHR0cCByZXF1ZXN0IG1ldGhvZCB0byB1c2UgZm9yIHRoaXMgWEhSIHJlcXVlc3QuXG4gICAqIFxuICAgKiBAcmV0dXJucyB7Q2hhaW5YSFJ9IFJldHVybnMgdGhpcyBmb3IgY2hhaW5pbmcuXG4gICAqIFxuICAgKiBAZXhhbXBsZVxuICAgKiBcbiAgICogY29uc3QgcmVxdWVzdCA9IG5ldyBDaGFpblhIUigpO1xuICAgKiBcbiAgICogLy8gVXNpbmcgYSBzdHJpbmcgZGlyZWN0bHk6XG4gICAqIHJlcXVlc3RcbiAgICogIC51cmwoJ2h0dHBzOi8vZXhhbXBsZS5jb20nKVxuICAgKiAgLm1ldGhvZCgnR0VUJyk7XG4gICAqIFxuICAgKiAvLyBVc2luZyB0aGUgY29uc3RhbnQ6XG4gICAqIHJlcXVlc3RcbiAgICogIC51cmwoJ2h0dHBzOi8vZXhhbXBsZS5jb20nKTtcbiAgICogIC5tZXRob2QocmVxdWVzdC5NRVRIT0QuR0VUKTtcbiAgICovXG4gIG1ldGhvZChtZXRob2Q6IHN0cmluZyk6IENoYWluWEhSIHtcbiAgICBjb25zdCBtZXRob2ROb3JtYWxpemVkID0gbWV0aG9kLnRvVXBwZXJDYXNlKCk7XG5cbiAgICBpZiAoIXRoaXMuTUVUSE9EUy5oYXNPd25Qcm9wZXJ0eShtZXRob2ROb3JtYWxpemVkKSkgdGhyb3cgbmV3IEVycm9yKCdBbiB1bnN1cHBvcnRlZCBodHRwIHJlcXVlc3QgbWV0aG9kIHdhcyBjaG9zZW4nKTtcblxuICAgIHRoaXMuX3JlcXVlc3QubWV0aG9kID0gbWV0aG9kTm9ybWFsaXplZDtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhpcyByZXF1ZXN0IHRvIGJlIG1hZGUgd2l0aCBjcmVkZW50aWFscyBzdWNoIGFzIGNvb2tpZXMsIGF1dGhvcml6YXRpb24gaGVhZGVycywgb3IgVExTIGNlcnRpZmljYXRlcy5cbiAgICogXG4gICAqIEJ5IGRlZmF1bHQgdGhpcyBwcm9wZXJ0eSBpcyBzZXQgdG8gZmFsc2UuXG4gICAqIFxuICAgKiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gc2FtZS1zaXRlIHJlcXVlc3RzLlxuICAgKiBcbiAgICogQHJldHVybnMge0NoYWluWEhSfSBSZXR1cm5zIHRoaXMgZm9yIGNoYWluaW5nLlxuICAgKiBcbiAgICogQGV4YW1wbGVcbiAgICogXG4gICAqIGNvbnN0IHJlcXVlc3QgPSBuZXcgQ2hhaW5YSFIoKTtcbiAgICogXG4gICAqIHJlcXVlc3RcbiAgICogIC53aXRoQ3JlZGVudGlhbHMoKTtcbiAgICovXG4gIHdpdGhDcmVkZW50aWFscygpOiBDaGFpblhIUiB7XG4gICAgdGhpcy5fcmVxdWVzdC53aXRoQ3JlZGVudGlhbHMgPSB0cnVlO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY29udGVudCB0eXBlIGhlYWRlciB3aGljaCBpbmRpY2F0ZXMgd2hhdCB0eXBlIG9mIGNvbnRlbnQgaXMgYmVpbmcgc2VuZCB0byB0aGUgZW5kcG9pbnQuXG4gICAqIFxuICAgKiBCeSBkZWZhdWx0IHRoaXMgaXMgc2V0IHRvICdhcHBsaWNhdGlvbi9qc29uJy5cbiAgICogXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZW50VHlwZSBUaGUgdHlwZSBvZiBjb250ZW50IHRoYXQgaXMgYmVpbmcgc2VudCB0byB0aGUgc2VydmVyLlxuICAgKiBcbiAgICogQHJldHVybnMge0NoYWluWEhSfVxuICAgKiBcbiAgICogQGV4YW1wbGVcbiAgICogXG4gICAqIGNvbnN0IHJlcXVlc3QgPSBuZXcgQ2hhaW5YSFIoKTtcbiAgICogXG4gICAqIHJlcXVlc3RcbiAgICogIC5jb250ZW50VHlwZSgneC13d3ctZm9ybWRhdGEnKTtcbiAgICovXG4gIGNvbnRlbnRUeXBlKGNvbnRlbnRUeXBlOiBzdHJpbmcpOiBDaGFpblhIUiB7XG4gICAgdGhpcy5fcmVxdWVzdC5jb250ZW50VHlwZSA9IGNvbnRlbnRUeXBlO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHF1ZXJ5IHBhcmFtZXRlciB0byBzZW5kIHdpdGggdGhlIHJlcXVlc3QuXG4gICAqIFxuICAgKiBUaGlzIHNob3VsZCBiZSBjaGFpbmVkIG11bHRpcGxlIHRpbWVzIHRvIGFkZCBtdWx0aXBsZSBxdWVyeSBwYXJhbWV0ZXJzLlxuICAgKiBcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBxdWVyeSBwYXJhbWV0ZXIgdG8gYWRkLlxuICAgKiBAcGFyYW0ge3N0cmluZ3xudW1iZXJ8Ym9vbGVhbn0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBrZXkgYWRkZWQuXG4gICAqIFxuICAgKiBAcmV0dXJucyB7Q2hhaW5YSFJ9XG4gICAqIFxuICAgKiBAZXhhbXBsZVxuICAgKiBcbiAgICogY29uc3QgcmVxdWVzdCA9IG5ldyBDaGFpblhIUigpO1xuICAgKiBcbiAgICogcmVxdWVzdFxuICAgKiAgLnF1ZXJ5UGFyYW0oJ2hlbGxvJywgJ3dvcmxkJylcbiAgICogIC5xdWVyeVBhcmFtKCdjb3VudCcsIDUpO1xuICAgKi9cbiAgcXVlcnlQYXJhbShrZXk6IHN0cmluZywgdmFsdWU6IChzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuKSk6IENoYWluWEhSIHtcbiAgICBjb25zdCB2YWx1ZU5vcm1hbGl6ZWQ6IHN0cmluZyA9IHZhbHVlLnRvU3RyaW5nKCk7XG5cbiAgICB0aGlzLl9yZXF1ZXN0LnF1ZXJ5UGFyYW1zLnB1c2goeyBrZXk6IGtleSwgdmFsdWU6IHZhbHVlTm9ybWFsaXplZCB9KTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGRhdGEgdG8gc2VuZCB0aHJvdWdoIHdpdGggdGhlIHJlcXVlc3QuXG4gICAqIFxuICAgKiBAcGFyYW0geyp9IGRhdGEgVGhlIGRhdGEgdG8gc2VuZCB0aHJvdWdoIHdpdGggdGhlIHJlcXVlc3QuXG4gICAqIFxuICAgKiBAcmV0dXJucyB7Q2hhaW5YSFJ9XG4gICAqIFxuICAgKiBAZXhhbXBsZVxuICAgKiBcbiAgICogY29uc3QgcmVxdWVzdCA9IG5ldyBDaGFpblhIUigpO1xuICAgKiBcbiAgICogLy8gU2VuZGluZyBhbiBvYmplY3QuXG4gICAqIGNvbnN0IG9iaiA9IHsgaGVsbG86ICd3b3JsZCcsIHllYXI6IDIwMTkgfTtcbiAgICogXG4gICAqIHJlcXVlc3RcbiAgICogIC5kYXRhKG9iaik7XG4gICAqIFxuICAgKiAvLyBTZW5kaW5nIGtleSB2YWx1ZSBwYWlycyBpbmRpdmlkdWFsbHkuXG4gICAqIHJlcXVlc3RcbiAgICogIC5kYXRhKCdoZWxsbycsICd3b3JsZCcpXG4gICAqICAuZGF0YSgneWVhcicsIDIwMTkpO1xuICAgKi9cbiAgZGF0YShkYXRhOiAoT2JqZWN0IHwgc3RyaW5nKSk6IENoYWluWEhSIHtcbiAgICBpZiAodHlwZW9mIGRhdGEgPT09ICdvYmplY3QnICYmICgoZGF0YSBpbnN0YW5jZW9mIEZvcm1EYXRhKSA9PT0gZmFsc2UpKSBkYXRhID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG5cbiAgICB0aGlzLl9yZXF1ZXN0LmRhdGEgPSBkYXRhO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoYXQgdGhlIGRhdGEgcmV0dXJuZWQgc2hvdWxkIGJlIEpTT04gcGFyc2VkLlxuICAgKiBcbiAgICogQHJldHVybnMge0NoYWluWEhSfVxuICAgKi9cbiAganNvbigpOiBDaGFpblhIUiB7XG4gICAgdGhpcy5fcmVxdWVzdC5yZXNwb25zZVR5cGUgPSAnanNvbic7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBYm9ydHMgdGhlIHJlcXVlc3QgaWYgaXQgYWxyZWFkeSBoYXMgYmVlbiBzZW50LlxuICAgKiBcbiAgICogV2hlbiBhIHJlcXVlc3QgaXMgYWJvcnRlZCwgaXRzIHJlYWR5c3RhdGUgaXMgY2hhbmdlZCB0byAwIGFuZCB0aGUgc3RhdHVzIGNvZGUgaXMgc2V0IHRvIDAgYWxzby5cbiAgICogXG4gICAqIEByZXR1cm5zIHtDaGFpblhIUn1cbiAgICovXG4gIGFib3J0KCk6IENoYWluWEhSIHtcbiAgICB0aGlzLl9YSFIuYWJvcnQoKTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBYSFIgcmVxdWVzdCBpcyBmaW5pc2hlZCBiZWluZyBidWlsdCBhbmQgaXMgcmVhZHkgdG8gYmUgc2VudC5cbiAgICogXG4gICAqIFRoaXMgc2hvdWxkIGFsd2F5cyBiZSB0aGUgZmluYWwgbWV0aG9kIHVzZWQgaW4gYWxsIHJlcXVlc3RzLlxuICAgKiBcbiAgICogQGFzeW5jXG4gICAqIFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fVxuICAgKiBcbiAgICogQGV4YW1wbGVcbiAgICogXG4gICAqIGNvbnN0IHJlcXVlc3QgPSBuZXcgQ2hhaW5YSFIoKTtcbiAgICogXG4gICAqIHJlcXVlc3RcbiAgICogIC51cmwoJ2h0dHBzOi8vZXhhbXBsZS5jb20nKVxuICAgKiAgLm1ldGhvZCgnR0VUJylcbiAgICogIC5zZW5kKCk7XG4gICAqL1xuICBhc3luYyBzZW5kKCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuX3JlcXVlc3QucXVlcnlQYXJhbXMubWFwKHF1ZXJ5UGFyYW0gPT4gdGhpcy5fcmVxdWVzdC51cmwhLnNlYXJjaFBhcmFtcy5hcHBlbmQocXVlcnlQYXJhbS5rZXksIHF1ZXJ5UGFyYW0udmFsdWUpKTtcblxuICAgICAgdGhpcy5fWEhSID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG5cbiAgICAgIHRoaXMuX1hIUi5hZGRFdmVudExpc3RlbmVyKCdyZWFkeXN0YXRlY2hhbmdlJywgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fWEhSLnJlYWR5U3RhdGUgPT09IDQgJiYgdGhpcy5fWEhSLnN0YXR1cyA+PSAyMDApIHJlc29sdmUodGhpcy5fWEhSLnJlc3BvbnNlKTtcbiAgICAgICAgZWxzZSBpZiAodGhpcy5fWEhSLnN0YXR1cyA+PSA0MDAgJiYgdGhpcy5fWEhSLnN0YXR1cyA8PSA2MDApIHJlamVjdCgpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuX1hIUi5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIChlcnI6IEV2ZW50KSA9PiByZWplY3QoZXJyKSk7XG5cbiAgICAgIHRoaXMuX1hIUi5vcGVuKHRoaXMuX3JlcXVlc3QubWV0aG9kLCB0aGlzLl9yZXF1ZXN0LnVybCEuaHJlZiwgdHJ1ZSk7XG5cbiAgICAgIHRoaXMuX1hIUi5yZXNwb25zZVR5cGUgPSA8WE1MSHR0cFJlcXVlc3RSZXNwb25zZVR5cGU+dGhpcy5fcmVxdWVzdC5yZXNwb25zZVR5cGU7XG5cbiAgICAgIHRoaXMuX1hIUi53aXRoQ3JlZGVudGlhbHMgPSB0aGlzLl9yZXF1ZXN0LndpdGhDcmVkZW50aWFscztcblxuICAgICAgdGhpcy5fWEhSLnNldFJlcXVlc3RIZWFkZXIoJ0NvbnRlbnQtVHlwZScsIHRoaXMuX3JlcXVlc3QuY29udGVudFR5cGUpO1xuXG4gICAgICB0aGlzLl9YSFIuc2VuZCh0aGlzLl9yZXF1ZXN0LmRhdGEhKTtcbiAgICB9KTtcbiAgfVxufTtcbiJdfQ== |
@@ -5,3 +5,6 @@ /** | ||
export default interface Methods { | ||
[method: string]: string; | ||
GET: string; | ||
POST: string; | ||
PUT: string; | ||
DELETE: string; | ||
} |
@@ -7,2 +7,2 @@ 'use strict'; | ||
; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlcmZhY2VzL01ldGhvZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFFQTs7OztBQU9DIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnXHJcblxyXG4vKipcclxuICogRGVmaW5lcyB0aGUgc3RydWN0dXJlIG9mIHRoZSBNRVRIT0RTIGNvbnN0YW50IE9iamVjdC5cclxuICovXHJcbmV4cG9ydCBkZWZhdWx0IGludGVyZmFjZSBNZXRob2RzIHtcclxuXHJcbiAgW21ldGhvZDogc3RyaW5nXTogc3RyaW5nO1xyXG5cclxufTsiXX0= | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlcmZhY2VzL01ldGhvZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFFQTs7OztBQVFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnXG5cbi8qKlxuICogRGVmaW5lcyB0aGUgc3RydWN0dXJlIG9mIHRoZSBNRVRIT0RTIGNvbnN0YW50IE9iamVjdC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgaW50ZXJmYWNlIE1ldGhvZHMge1xuICBHRVQ6IHN0cmluZztcbiAgUE9TVDogc3RyaW5nO1xuICBQVVQ6IHN0cmluZztcbiAgREVMRVRFOiBzdHJpbmc7XG59O1xuIl19 |
@@ -0,0 +0,0 @@ /** |
@@ -7,2 +7,2 @@ 'use strict'; | ||
; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlcmZhY2VzL1JlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFFQTs7OztBQXdDQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0J1xyXG5cclxuLyoqXHJcbiAqIERlZmluZXMgdGhlIHN0cnVjdHVyZSBvZiBhIFhIUiByZXF1ZXN0LlxyXG4gKi9cclxuZXhwb3J0IGRlZmF1bHQgaW50ZXJmYWNlIFJlcXVlc3Qge1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgVVJMIHRoYXQgdGhlIHJlcXVlc3Qgc2hvdWxkIGJlIHNlbnQgdG8uXHJcbiAgICovXHJcbiAgdXJsPzogVVJMO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgaHR0cCByZXF1ZXN0IG1ldGhvZCB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGlzIHJlcXVlc3QuXHJcbiAgICovXHJcbiAgbWV0aG9kOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoaXMgcmVxdWVzdCB3aWxsIGJlIG1hZGUgd2l0aCBjcmVkZW50aWFscyBvciBub3QuXHJcbiAgICovXHJcbiAgd2l0aENyZWRlbnRpYWxzOiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgY29udGVudCB0eXBlIG9mIHRoZSBjb250ZW50IGJlaW5nIHNlbnQgdG8gdGhlIGVuZHBvaW50LlxyXG4gICAqL1xyXG4gIGNvbnRlbnRUeXBlOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHRvIGFkZCB0byB0aGUgZW5kIG9mIHRoZSByZXF1ZXN0IHVybC5cclxuICAgKi9cclxuICBxdWVyeVBhcmFtczogQXJyYXk8YW55PjtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHR5cGUgb2YgZGF0YSB0aGF0IHRoZSByZXNwb25zZSBzaG91bGQgYmUuXHJcbiAgICovXHJcbiAgcmVzcG9uc2VUeXBlOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBkYXRhIHRvIHNlbmQgd2l0aCB0aGUgcmVxdWVzdC5cclxuICAgKi9cclxuICBkYXRhPzogYW55O1xyXG5cclxufTsiXX0= | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlcmZhY2VzL1JlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFFQTs7OztBQXNDQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0J1xuXG4vKipcbiAqIERlZmluZXMgdGhlIHN0cnVjdHVyZSBvZiBhIFhIUiByZXF1ZXN0LlxuICovXG5leHBvcnQgZGVmYXVsdCBpbnRlcmZhY2UgUmVxdWVzdCB7XG4gIC8qKlxuICAgKiBUaGUgVVJMIHRoYXQgdGhlIHJlcXVlc3Qgc2hvdWxkIGJlIHNlbnQgdG8uXG4gICAqL1xuICB1cmw/OiBVUkw7XG5cbiAgLyoqXG4gICAqIFRoZSBodHRwIHJlcXVlc3QgbWV0aG9kIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoaXMgcmVxdWVzdC5cbiAgICovXG4gIG1ldGhvZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGlzIHJlcXVlc3Qgd2lsbCBiZSBtYWRlIHdpdGggY3JlZGVudGlhbHMgb3Igbm90LlxuICAgKi9cbiAgd2l0aENyZWRlbnRpYWxzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGVudCB0eXBlIG9mIHRoZSBjb250ZW50IGJlaW5nIHNlbnQgdG8gdGhlIGVuZHBvaW50LlxuICAgKi9cbiAgY29udGVudFR5cGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gYWRkIHRvIHRoZSBlbmQgb2YgdGhlIHJlcXVlc3QgdXJsLlxuICAgKi9cbiAgcXVlcnlQYXJhbXM6IEFycmF5PGFueT47XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGRhdGEgdGhhdCB0aGUgcmVzcG9uc2Ugc2hvdWxkIGJlLlxuICAgKi9cbiAgcmVzcG9uc2VUeXBlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkYXRhIHRvIHNlbmQgd2l0aCB0aGUgcmVxdWVzdC5cbiAgICovXG4gIGRhdGE/OiBhbnk7XG59O1xuIl19 |
{ | ||
"name": "chain-xhr", | ||
"version": "0.1.2", | ||
"description": "As stated in the MDN docs, a XMLHttpRequest is the safest and most reliable way to make HTTP requests. chain-xhr aims to make making XHR requests as simple as possible through a chainable API", | ||
"version": "0.2.0", | ||
"description": "A XMLHttpRequest is the safest and most reliable way to make HTTP requests and chain-xhr aims to make making XHR requests as simple as possible through a chainable API", | ||
"main": "chain-xhr.js", | ||
@@ -20,3 +20,4 @@ "scripts": { | ||
"./test/_setup-browser-env.js" | ||
] | ||
], | ||
"babel": true | ||
}, | ||
@@ -41,21 +42,22 @@ "repository": { | ||
"devDependencies": { | ||
"@babel/cli": "^7.7.0", | ||
"@babel/core": "^7.7.2", | ||
"@babel/plugin-proposal-class-properties": "^7.7.0", | ||
"@babel/plugin-proposal-numeric-separator": "^7.2.0", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.6.2", | ||
"@babel/plugin-transform-runtime": "^7.6.2", | ||
"@babel/preset-env": "^7.7.1", | ||
"@babel/preset-typescript": "^7.7.2", | ||
"ava": "^2.4.0", | ||
"@ava/babel": "^1.0.0", | ||
"@babel/cli": "^7.8.4", | ||
"@babel/core": "^7.8.4", | ||
"@babel/plugin-proposal-class-properties": "^7.8.3", | ||
"@babel/plugin-proposal-numeric-separator": "^7.8.3", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.8.3", | ||
"@babel/plugin-transform-runtime": "^7.8.3", | ||
"@babel/preset-env": "^7.8.4", | ||
"@babel/preset-typescript": "^7.8.3", | ||
"ava": "^3.2.0", | ||
"browser-env": "^3.3.0", | ||
"rollup": "^1.26.4", | ||
"rollup": "^1.31.0", | ||
"rollup-plugin-babel": "^4.3.3", | ||
"rollup-plugin-commonjs": "^10.1.0", | ||
"rollup-plugin-node-resolve": "^5.2.0", | ||
"typescript": "^3.7.2" | ||
"typescript": "^3.7.5" | ||
}, | ||
"dependencies": { | ||
"@babel/runtime": "^7.7.2" | ||
"@babel/runtime": "^7.8.4" | ||
} | ||
} |
@@ -13,8 +13,9 @@ <div align="center"> | ||
[![NPM version](https://img.shields.io/npm/v/chain-xhr.svg?style=flat)](https://www.npmjs.com/package/chain-xhr) | ||
[![Known Vulnerabilities](https://snyk.io/test/github/robertcorponoi/chain-xhr/badge.svg)](https://snyk.io/test/github/robertcorponoi/chain-xhr) | ||
[![NPM downloads](https://img.shields.io/npm/dm/chain-xhr.svg?style=flat)](https://www.npmjs.com/package/chain-xhr) | ||
<a href="https://badge.fury.io/js/chain-xhr"><img src="https://img.shields.io/github/issues/robertcorponoi/chain-xhr.svg" alt="issues" height="18"></a> | ||
<a href="https://badge.fury.io/js/chain-xhr"><img src="https://img.shields.io/github/license/robertcorponoi/chain-xhr.svg" alt="license" height="18"></a> | ||
[![Gitter](https://badges.gitter.im/gitterHQ/gitter.svg)](https://gitter.im/robertcorponoi) | ||
[![NPM version](https://img.shields.io/npm/v/chain-xhr.svg?style=flat)](https://www.npmjs.com/package/chain-xhr) | ||
[![Known Vulnerabilities](https://snyk.io/test/github/robertcorponoi/chain-xhr/badge.svg)](https://snyk.io/test/github/robertcorponoi/chain-xhr) | ||
![npm](https://img.shields.io/npm/dt/chain-xhr) | ||
[![NPM downloads](https://img.shields.io/npm/dm/chain-xhr.svg?style=flat)](https://www.npmjs.com/package/chain-xhr) | ||
<a href="https://badge.fury.io/js/chain-xhr"><img src="https://img.shields.io/github/issues/robertcorponoi/chain-xhr.svg" alt="issues" height="18"></a> | ||
<a href="https://badge.fury.io/js/chain-xhr"><img src="https://img.shields.io/github/license/robertcorponoi/chain-xhr.svg" alt="license" height="18"></a> | ||
[![Gitter](https://badges.gitter.im/gitterHQ/gitter.svg)](https://gitter.im/robertcorponoi) | ||
@@ -21,0 +22,0 @@ </div> |
@@ -0,0 +0,0 @@ 'use strict' |
@@ -10,6 +10,3 @@ 'use strict' | ||
module.exports = class ChainXHR { | ||
/** | ||
* A constant that can be used to select the requested http request method from. | ||
* | ||
/** * A constant that can be used to select the requested http request method from. * | ||
* Even if a request method is provided by hand, it will be double checked against the ones defined here to make sure that it | ||
@@ -69,7 +66,5 @@ * is a valid request method. | ||
url(url: string): ChainXHR { | ||
this._request.url = new URL(url); | ||
return this; | ||
} | ||
@@ -103,6 +98,5 @@ | ||
method(method: string): ChainXHR { | ||
const methodNormalized = method.toUpperCase(); | ||
if (!this.METHODS[methodNormalized]) throw new Error('An unsupported http request method was chosen'); | ||
if (!this.METHODS.hasOwnProperty(methodNormalized)) throw new Error('An unsupported http request method was chosen'); | ||
@@ -112,3 +106,2 @@ this._request.method = methodNormalized; | ||
return this; | ||
} | ||
@@ -133,7 +126,5 @@ | ||
withCredentials(): ChainXHR { | ||
this._request.withCredentials = true; | ||
return this; | ||
} | ||
@@ -158,7 +149,5 @@ | ||
contentType(contentType: string): ChainXHR { | ||
this._request.contentType = contentType; | ||
return this; | ||
} | ||
@@ -185,3 +174,2 @@ | ||
queryParam(key: string, value: (string | number | boolean)): ChainXHR { | ||
const valueNormalized: string = value.toString(); | ||
@@ -192,3 +180,2 @@ | ||
return this; | ||
} | ||
@@ -219,3 +206,2 @@ | ||
data(data: (Object | string)): ChainXHR { | ||
if (typeof data === 'object' && ((data instanceof FormData) === false)) data = JSON.stringify(data); | ||
@@ -226,3 +212,2 @@ | ||
return this; | ||
} | ||
@@ -236,7 +221,5 @@ | ||
json(): ChainXHR { | ||
this._request.responseType = 'json'; | ||
return this; | ||
} | ||
@@ -252,7 +235,5 @@ | ||
abort(): ChainXHR { | ||
this._XHR.abort(); | ||
return this; | ||
} | ||
@@ -279,5 +260,3 @@ | ||
async send(): Promise<any> { | ||
return new Promise((resolve, reject) => { | ||
this._request.queryParams.map(queryParam => this._request.url!.searchParams.append(queryParam.key, queryParam.value)); | ||
@@ -288,7 +267,4 @@ | ||
this._XHR.addEventListener('readystatechange', () => { | ||
if (this._XHR.readyState === 4 && this._XHR.status >= 200) resolve(this._XHR.response); | ||
else if (this._XHR.status >= 400 && this._XHR.status <= 600) reject(); | ||
}); | ||
@@ -307,7 +283,4 @@ | ||
this._XHR.send(this._request.data!); | ||
}); | ||
} | ||
}; | ||
}; |
@@ -7,5 +7,6 @@ 'use strict' | ||
export default interface Methods { | ||
[method: string]: string; | ||
}; | ||
GET: string; | ||
POST: string; | ||
PUT: string; | ||
DELETE: string; | ||
}; |
@@ -7,3 +7,2 @@ 'use strict' | ||
export default interface Request { | ||
/** | ||
@@ -43,3 +42,2 @@ * The URL that the request should be sent to. | ||
data?: any; | ||
}; | ||
}; |
'use strict'; | ||
import browserEnv from 'browser-env'; | ||
const browserEnv = require('browser-env'); | ||
browserEnv(); | ||
browserEnv(); |
@@ -0,0 +0,0 @@ 'use strict' |
@@ -0,0 +0,0 @@ { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1723
326
88147
16
Updated@babel/runtime@^7.8.4