UNPKG

@graphql-tools/links

Version:

A set of utils for faster development of GraphQL tools

31 lines (30 loc) 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createServerHttpLink = void 0; const tslib_1 = require("tslib"); const formDataAppendFile_mjs_1 = tslib_1.__importDefault(require("apollo-upload-client/formDataAppendFile.mjs")); const isExtractableFile_mjs_1 = tslib_1.__importDefault(require("apollo-upload-client/isExtractableFile.mjs")); const UploadHttpLink_mjs_1 = tslib_1.__importDefault(require("apollo-upload-client/UploadHttpLink.mjs")); const form_data_1 = tslib_1.__importDefault(require("form-data")); const node_fetch_1 = tslib_1.__importDefault(require("node-fetch")); const apolloImport = tslib_1.__importStar(require("@apollo/client")); const AwaitVariablesLink_js_1 = require("./AwaitVariablesLink.js"); const apollo = apolloImport?.default ?? apolloImport; const createServerHttpLink = (options) => apollo.concat(new AwaitVariablesLink_js_1.AwaitVariablesLink(), new UploadHttpLink_mjs_1.default({ ...options, fetch: node_fetch_1.default, FormData: form_data_1.default, isExtractableFile: (value) => (0, isExtractableFile_mjs_1.default)(value) || value?.createReadStream, formDataAppendFile: (form, index, file) => { if (file.createReadStream != null) { form.append(index, file.createReadStream(), { filename: file.filename, contentType: file.mimetype, }); } else { (0, formDataAppendFile_mjs_1.default)(form, index, file); } }, })); exports.createServerHttpLink = createServerHttpLink;