UNPKG

@omnigraph/soap

Version:
34 lines (33 loc) 1.24 kB
import { defaultImportFn, mapMaybePromise, readFileOrUrl } from '@graphql-mesh/utils'; import { SOAPLoader } from './SOAPLoader.js'; export * from './SOAPLoader.js'; export * from '@graphql-mesh/transport-soap'; export function loadSOAPSubgraph(subgraphName, options) { return ({ cwd, fetch, logger }) => { const soapLoader = new SOAPLoader({ subgraphName, fetch, logger, cwd, // Configuration from the user schemaHeaders: options.schemaHeaders, operationHeaders: options.operationHeaders, endpoint: options.endpoint, bodyAlias: options.bodyAlias, soapHeaders: options.soapHeaders, }); return { name: subgraphName, schema$: mapMaybePromise(readFileOrUrl(options.source, { allowUnknownExtensions: true, cwd, fetch, importFn: defaultImportFn, logger, }), wsdl => mapMaybePromise(soapLoader.loadWSDL(wsdl), object => { soapLoader.loadedLocations.set(options.source, object); return soapLoader.buildSchema(); })), }; }; }