All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s
29 lines
1.1 KiB
JavaScript
29 lines
1.1 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var tslib_1 = require("tslib");
|
|
var apollo_link_1 = require("apollo-link");
|
|
function setContext(setter) {
|
|
return new apollo_link_1.ApolloLink(function (operation, forward) {
|
|
var request = tslib_1.__rest(operation, []);
|
|
return new apollo_link_1.Observable(function (observer) {
|
|
var handle;
|
|
Promise.resolve(request)
|
|
.then(function (req) { return setter(req, operation.getContext()); })
|
|
.then(operation.setContext)
|
|
.then(function () {
|
|
handle = forward(operation).subscribe({
|
|
next: observer.next.bind(observer),
|
|
error: observer.error.bind(observer),
|
|
complete: observer.complete.bind(observer),
|
|
});
|
|
})
|
|
.catch(observer.error.bind(observer));
|
|
return function () {
|
|
if (handle)
|
|
handle.unsubscribe();
|
|
};
|
|
});
|
|
});
|
|
}
|
|
exports.setContext = setContext;
|
|
//# sourceMappingURL=index.js.map
|