"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.LCDClient = void 0;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
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 _axios = _interopRequireDefault(require("axios"));
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
var LCDClient = /*#__PURE__*/function () {
function LCDClient(_ref) {
var restEndpoint = _ref.restEndpoint;
(0, _classCallCheck2["default"])(this, LCDClient);
(0, _defineProperty2["default"])(this, "restEndpoint", void 0);
(0, _defineProperty2["default"])(this, "instance", void 0);
this.restEndpoint = restEndpoint.endsWith('/') ? restEndpoint : "".concat(restEndpoint, "/");
this.instance = _axios["default"].create({
baseURL: this.restEndpoint,
timeout: 10000,
headers: {}
});
this.get = this.get.bind(this);
this.post = this.post.bind(this);
}
(0, _createClass2["default"])(LCDClient, [{
key: "get",
value: function get(endpoint) {
var _this = this;
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
return new Promise( /*#__PURE__*/function () {
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(resolve, reject) {
var response;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.prev = 0;
_context.next = 3;
return _this.instance.get(endpoint, _objectSpread({
timeout: 10000
}, opts));
case 3:
response = _context.sent;
if (response && response.data) {
resolve(response.data);
} else {
reject('no response data');
}
_context.next = 10;
break;
case 7:
_context.prev = 7;
_context.t0 = _context["catch"](0);
return _context.abrupt("return", reject(_context.t0));
case 10:
case "end":
return _context.stop();
}
}, _callee, null, [[0, 7]]);
}));
return function (_x, _x2) {
return _ref2.apply(this, arguments);
};
}());
}
}, {
key: "post",
value: function post(endpoint) {
var _this2 = this;
var body = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
return new Promise( /*#__PURE__*/function () {
var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(resolve, reject) {
var response;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.prev = 0;
_context2.next = 3;
return _this2.instance.post(endpoint, body, _objectSpread({
timeout: 10000
}, opts));
case 3:
response = _context2.sent;
if (response && response.data) {
resolve(response.data);
} else {
reject('no response data');
}
_context2.next = 10;
break;
case 7:
_context2.prev = 7;
_context2.t0 = _context2["catch"](0);
return _context2.abrupt("return", reject(_context2.t0));
case 10:
case "end":
return _context2.stop();
}
}, _callee2, null, [[0, 7]]);
}));
return function (_x3, _x4) {
return _ref3.apply(this, arguments);
};
}());
}
}]);
return LCDClient;
}();
exports.LCDClient = LCDClient;