@graphql-mesh/plugin-operation-headers
Version:
26 lines (25 loc) • 837 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.useOperationHeaders = useOperationHeaders;
const utils_1 = require("@graphql-mesh/utils");
function useOperationHeaders(factoryFn) {
return {
onFetch({ url, options, context, setOptions }) {
const existingHeaders = (0, utils_1.getHeadersObj)(options.headers || {});
const newHeaders$ = factoryFn({
url,
options,
context,
});
return (0, utils_1.mapMaybePromise)(newHeaders$, newHeaders => {
setOptions({
...options,
headers: {
...existingHeaders,
...newHeaders,
},
});
});
},
};
}
;