Skip to content

Instantly share code, notes, and snippets.

@verekia
Last active November 14, 2018 10:42
Show Gist options
  • Save verekia/0ca155bd6853aa4b251e5202e370a5be to your computer and use it in GitHub Desktop.
Save verekia/0ca155bd6853aa4b251e5202e370a5be to your computer and use it in GitHub Desktop.
"use strict";
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/objectSpread"));
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
var _spread = _interopRequireDefault(require("@sharyn/util/spread"));
var _call = _interopRequireDefault(require("./call"));
// flow-disable-next-line
var graphqlCall =
/*#__PURE__*/
function () {
var _ref2 = (0, _asyncToGenerator2.default)(
/*#__PURE__*/
_regenerator.default.mark(function _callee(_ref) {
var _callResp3, _callResp3$data;
var urlBase, urlPath, authorizationBearer, cookie, _ref$variables, variables, query, mapRespData, _ref$extraBody, extraBody, callResp, formData, _err$response, _err$response$data, dataResp, _callResp, _callResp$data, _callResp2, _callResp2$data;
return _regenerator.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
urlBase = _ref.urlBase, urlPath = _ref.urlPath, authorizationBearer = _ref.authorizationBearer, cookie = _ref.cookie, _ref$variables = _ref.variables, variables = _ref$variables === void 0 ? {} : _ref$variables, query = _ref.query, mapRespData = _ref.mapRespData, _ref$extraBody = _ref.extraBody, extraBody = _ref$extraBody === void 0 ? {} : _ref$extraBody;
formData = new FormData();
formData.append('query', query);
formData.append('variables', (0, _stringify.default)(variables));
(0, _keys.default)(extraBody).forEach(function (key) {
return formData.append(key, extraBody[key]);
});
_context.prev = 5;
_context.next = 8;
return (0, _call.default)({
urlBase: urlBase,
urlPath: urlPath,
authorizationBearer: authorizationBearer,
cookie: cookie,
body: formData
});
case 8:
callResp = _context.sent;
_context.next = 14;
break;
case 11:
_context.prev = 11;
_context.t0 = _context["catch"](5);
throw ((_err$response = _context.t0.response) === null || _err$response === void 0 ? void 0 : (_err$response$data = _err$response.data) === null || _err$response$data === void 0 ? void 0 : _err$response$data.errors) ? _context.t0.response.data.errors[0] : _context.t0;
case 14:
dataResp = {};
try {
dataResp = mapRespData ? mapRespData((_callResp = callResp) === null || _callResp === void 0 ? void 0 : (_callResp$data = _callResp.data) === null || _callResp$data === void 0 ? void 0 : _callResp$data.data) : (_callResp2 = callResp) === null || _callResp2 === void 0 ? void 0 : (_callResp2$data = _callResp2.data) === null || _callResp2$data === void 0 ? void 0 : _callResp2$data.data;
} catch (err) {
// eslint-disable-next-line no-console
console.error(err);
}
return _context.abrupt("return", (0, _objectSpread2.default)({}, (0, _spread.default)({
errors: (_callResp3 = callResp) === null || _callResp3 === void 0 ? void 0 : (_callResp3$data = _callResp3.data) === null || _callResp3$data === void 0 ? void 0 : _callResp3$data.errors
}), dataResp));
case 17:
case "end":
return _context.stop();
}
}
}, _callee, this, [[5, 11]]);
}));
return function graphqlCall(_x) {
return _ref2.apply(this, arguments);
};
}();
var _default = graphqlCall;
exports.default = _default;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment