framework4js
Version:
Framework-for-js is a better Javascript's framework
77 lines (74 loc) • 2.39 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _Exception = _interopRequireDefault(require("../spanners/Exception"));
var _Lib = _interopRequireDefault(require("../spanners/Lib"));
/**
* Class AxiosAdapter
*/
var AxiosAdapter = /*#__PURE__*/function () {
/**
* Method constructor 注入Axios
* @param {*} $function
* @returns
*/
function AxiosAdapter($function) {
(0, _classCallCheck2["default"])(this, AxiosAdapter);
(0, _defineProperty2["default"])(this, "_axios", null);
(0, _defineProperty2["default"])(this, "_method", 'POST');
(0, _defineProperty2["default"])(this, "_url", null);
(0, _defineProperty2["default"])(this, "_data", {});
(0, _defineProperty2["default"])(this, "_headers", {});
if (!_Lib["default"].isFunction($function)) {
throw new _Exception["default"]('The first argument must be a function', 'AdapterError');
}
this._axios = $function;
return this;
}
/**
* Method setConfig
* @param {*} param
*/
(0, _createClass2["default"])(AxiosAdapter, [{
key: "setConfig",
value: function setConfig(_ref) {
var method = _ref.method,
url = _ref.url,
data = _ref.data,
headers = _ref.headers;
this._method = method || this._method;
this._url = url || this._url;
this._data = data || this._data;
this._headers = headers || this._headers;
}
/**
* Method request
* @returns Promise
*/
}, {
key: "request",
value: function request() {
var _this = this;
return new Promise(function (resolve, reject) {
_this._axios({
method: _this._method,
url: _this._url,
data: _this._data,
headers: _this._headers
}).then(function (res) {
resolve(res);
})["catch"](function (err) {
reject(err);
});
});
}
}]);
return AxiosAdapter;
}();
exports["default"] = AxiosAdapter;