UNPKG

5.36 kBSource Map (JSON)View Raw
1{"version":3,"file":"index.esm.js","sources":["../../../dist/handlers/graphql/src/index.js"],"sourcesContent":["import { fetchache, Request } from 'fetchache';\nimport { UrlLoader } from '@graphql-tools/url-loader';\nimport { buildClientSchema, introspectionFromSchema } from 'graphql';\nimport { introspectSchema } from '@graphql-tools/wrap';\nimport { getInterpolatedHeadersFactory, getHeadersObject } from '@graphql-mesh/utils';\nexport default class GraphQLHandler {\n constructor({ name, config, cache }) {\n this.name = name;\n this.config = config;\n this.cache = cache;\n }\n async getMeshSource() {\n const urlLoader = new UrlLoader();\n const customFetch = (...args) => fetchache(args[0] instanceof Request ? args[0] : new Request(...args), this.cache);\n const getExecutorAndSubscriberForParams = (params, headersFactory) => {\n const resolverData = {\n root: {},\n args: params.variables,\n context: params.context,\n };\n const headers = getHeadersObject(headersFactory(resolverData));\n return urlLoader.getExecutorAndSubscriber(this.config.endpoint, {\n customFetch: customFetch,\n ...this.config,\n headers,\n });\n };\n let schema;\n const schemaHeadersFactory = getInterpolatedHeadersFactory(this.config.schemaHeaders);\n if (this.config.cacheIntrospection) {\n const cacheKey = this.name + '_introspection';\n const introspectionData = await this.cache.get(cacheKey);\n if (introspectionData) {\n schema = buildClientSchema(introspectionData);\n }\n else {\n schema = await introspectSchema(async (params) => {\n const { executor } = await getExecutorAndSubscriberForParams(params, schemaHeadersFactory);\n return executor(params);\n });\n await this.cache.set(cacheKey, introspectionFromSchema(schema));\n }\n }\n else {\n schema = await introspectSchema(async (params) => {\n const { executor } = await getExecutorAndSubscriberForParams(params, schemaHeadersFactory);\n return executor(params);\n });\n }\n const operationHeadersFactory = getInterpolatedHeadersFactory(this.config.operationHeaders);\n return {\n schema,\n executor: async (params) => {\n const { executor } = await getExecutorAndSubscriberForParams(params, operationHeadersFactory);\n return executor(params);\n },\n subscriber: async (params) => {\n const { subscriber } = await getExecutorAndSubscriberForParams(params, operationHeadersFactory);\n return subscriber(params);\n },\n };\n }\n}\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":"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"}
\No newline at end of file