apollo-mantra
Version:
Tools for integration of apollo with Mantra
38 lines (37 loc) • 1.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var config_1 = require("./config");
function default_1(_a) {
var context = _a.context, query = _a.query, variables = _a.variables, thenCallback = _a.thenCallback, catchCallback = _a.catchCallback, finalCallback = _a.finalCallback, _b = _a.client, client = _b === void 0 ? config_1.default.apolloClient : _b;
var state = context ? context.state : null;
return new Promise(function (resolve, reject) {
client
.query({
query: query,
variables: variables
})
.then(function (graphQLResult) {
var data = graphQLResult.data;
if (data && thenCallback) {
thenCallback(data, state, context);
}
if (finalCallback) {
finalCallback(state, context);
}
resolve(graphQLResult);
})
.catch(function (error) {
// showMessage('Error', error.message ? (error.message + error.stack) : error);
// log(error);
// context.Utils.log.error(error);
if (catchCallback) {
catchCallback(error, state, context);
}
if (finalCallback) {
finalCallback(state, context);
}
reject(error);
});
});
}
exports.default = default_1;