Files
sgauthier 6e64e138e2
All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s
planning
2024-10-14 09:15:30 +02:00

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