UNPKG

22.4 kBSource Map (JSON)View Raw
1{"version":3,"file":"index.esm.js","sources":["../../../dist-es5/loaders/url/src/index.js"],"sourcesContent":["import { __assign, __awaiter, __generator, __read, __values } from \"tslib\";\n/* eslint-disable no-case-declarations */\nimport { print, Kind } from 'graphql';\nimport { observableToAsyncIterable, } from '@graphql-tools/utils';\nimport { isWebUri } from 'valid-url';\nimport { fetch as crossFetch } from 'cross-fetch';\nimport { introspectSchema, wrapSchema } from '@graphql-tools/wrap';\nimport { SubscriptionClient } from 'subscriptions-transport-ws';\nimport { w3cwebsocket } from 'websocket';\n/**\n * This loader loads a schema from a URL. The loaded schema is a fully-executable,\n * remote schema since it's created using [@graphql-tools/wrap](/docs/remote-schemas).\n *\n * ```\n * const schema = await loadSchema('http://localhost:3000/graphql', {\n * loaders: [\n * new UrlLoader(),\n * ]\n * });\n * ```\n */\nvar UrlLoader = /** @class */ (function () {\n function UrlLoader() {\n }\n UrlLoader.prototype.loaderId = function () {\n return 'url';\n };\n UrlLoader.prototype.canLoad = function (pointer, options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.canLoadSync(pointer, options)];\n });\n });\n };\n UrlLoader.prototype.canLoadSync = function (pointer, _options) {\n return !!isWebUri(pointer);\n };\n UrlLoader.prototype.buildAsyncExecutor = function (_a) {\n var _this = this;\n var pointer = _a.pointer, fetch = _a.fetch, extraHeaders = _a.extraHeaders, defaultMethod = _a.defaultMethod, useGETForQueries = _a.useGETForQueries;\n var HTTP_URL = switchProtocols(pointer, {\n wss: 'https',\n ws: 'http',\n });\n return function (_a) {\n var document = _a.document, variables = _a.variables;\n return __awaiter(_this, void 0, void 0, function () {\n var method, _b, _c, definition, fetchResult, query, _d, urlObj, finalUrl;\n var e_1, _e;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n method = defaultMethod;\n if (useGETForQueries) {\n method = 'GET';\n try {\n for (_b = __values(document.definitions), _c = _b.next(); !_c.done; _c = _b.next()) {\n definition = _c.value;\n if (definition.kind === Kind.OPERATION_DEFINITION) {\n if (definition.operation !== 'query') {\n method = defaultMethod;\n }\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_e = _b.return)) _e.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n query = print(document);\n _d = method;\n switch (_d) {\n case 'GET': return [3 /*break*/, 1];\n case 'POST': return [3 /*break*/, 3];\n }\n return [3 /*break*/, 5];\n case 1:\n urlObj = new URL(HTTP_URL);\n urlObj.searchParams.set('query', query);\n if (variables && Object.keys(variables).length > 0) {\n urlObj.searchParams.set('variables', JSON.stringify(variables));\n }\n finalUrl = urlObj.toString();\n return [4 /*yield*/, fetch(finalUrl, {\n method: 'GET',\n headers: extraHeaders,\n })];\n case 2:\n fetchResult = _f.sent();\n return [3 /*break*/, 5];\n case 3: return [4 /*yield*/, fetch(HTTP_URL, {\n method: 'POST',\n body: JSON.stringify({\n query: query,\n variables: variables,\n }),\n headers: extraHeaders,\n })];\n case 4:\n fetchResult = _f.sent();\n return [3 /*break*/, 5];\n case 5: return [2 /*return*/, fetchResult.json()];\n }\n });\n });\n };\n };\n UrlLoader.prototype.buildSubscriber = function (pointer, webSocketImpl) {\n var _this = this;\n var WS_URL = switchProtocols(pointer, {\n https: 'wss',\n http: 'ws',\n });\n var subscriptionClient = new SubscriptionClient(WS_URL, {}, webSocketImpl);\n return function (_a) {\n var document = _a.document, variables = _a.variables;\n return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_b) {\n return [2 /*return*/, observableToAsyncIterable(subscriptionClient.request({\n query: document,\n variables: variables,\n }))];\n });\n });\n };\n };\n UrlLoader.prototype.getExecutorAndSubscriber = function (pointer, options) {\n return __awaiter(this, void 0, void 0, function () {\n var headers, fetch, defaultMethod, webSocketImpl, _a, moduleName, fetchFnName_1, _b, moduleName, webSocketImplName_1, extraHeaders, executor, subscriber;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {};\n fetch = crossFetch;\n defaultMethod = 'POST';\n webSocketImpl = w3cwebsocket;\n if (!options) return [3 /*break*/, 7];\n if (Array.isArray(options.headers)) {\n headers = options.headers.reduce(function (prev, v) { return (__assign(__assign({}, prev), v)); }, {});\n }\n else if (typeof options.headers === 'object') {\n headers = options.headers;\n }\n if (!options.customFetch) return [3 /*break*/, 3];\n if (!(typeof options.customFetch === 'string')) return [3 /*break*/, 2];\n _a = __read(options.customFetch.split('#'), 2), moduleName = _a[0], fetchFnName_1 = _a[1];\n return [4 /*yield*/, import(moduleName).then(function (module) { return (fetchFnName_1 ? module[fetchFnName_1] : module); })];\n case 1:\n fetch = _c.sent();\n return [3 /*break*/, 3];\n case 2:\n fetch = options.customFetch;\n _c.label = 3;\n case 3:\n if (!options.webSocketImpl) return [3 /*break*/, 6];\n if (!(typeof options.webSocketImpl === 'string')) return [3 /*break*/, 5];\n _b = __read(options.webSocketImpl.split('#'), 2), moduleName = _b[0], webSocketImplName_1 = _b[1];\n return [4 /*yield*/, import(moduleName).then(function (module) {\n return webSocketImplName_1 ? module[webSocketImplName_1] : module;\n })];\n case 4:\n webSocketImpl = _c.sent();\n return [3 /*break*/, 6];\n case 5:\n webSocketImpl = options.webSocketImpl;\n _c.label = 6;\n case 6:\n if (options.method) {\n defaultMethod = options.method;\n }\n _c.label = 7;\n case 7:\n extraHeaders = __assign({ Accept: 'application/json', 'Content-Type': 'application/json' }, headers);\n executor = this.buildAsyncExecutor({\n pointer: pointer,\n fetch: fetch,\n extraHeaders: extraHeaders,\n defaultMethod: defaultMethod,\n useGETForQueries: options.useGETForQueries,\n });\n if (options.enableSubscriptions) {\n subscriber = this.buildSubscriber(pointer, webSocketImpl);\n }\n return [2 /*return*/, {\n executor: executor,\n subscriber: subscriber,\n }];\n }\n });\n });\n };\n UrlLoader.prototype.getSubschemaConfig = function (pointer, options) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, executor, subscriber;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, this.getExecutorAndSubscriber(pointer, options)];\n case 1:\n _a = _c.sent(), executor = _a.executor, subscriber = _a.subscriber;\n _b = {};\n return [4 /*yield*/, introspectSchema(executor, undefined, options)];\n case 2: return [2 /*return*/, (_b.schema = _c.sent(),\n _b.executor = executor,\n _b.subscriber = subscriber,\n _b)];\n }\n });\n });\n };\n UrlLoader.prototype.load = function (pointer, options) {\n return __awaiter(this, void 0, void 0, function () {\n var subschemaConfig, remoteExecutableSchema;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.getSubschemaConfig(pointer, options)];\n case 1:\n subschemaConfig = _a.sent();\n remoteExecutableSchema = wrapSchema(subschemaConfig);\n return [2 /*return*/, {\n location: pointer,\n schema: remoteExecutableSchema,\n }];\n }\n });\n });\n };\n UrlLoader.prototype.loadSync = function () {\n throw new Error('Loader Url has no sync mode');\n };\n return UrlLoader;\n}());\nexport { UrlLoader };\nfunction switchProtocols(pointer, protocolMap) {\n var protocols = Object.keys(protocolMap).map(function (source) { return [source, protocolMap[source]]; });\n return protocols.reduce(function (prev, _a) {\n var _b = __read(_a, 2), source = _b[0], target = _b[1];\n return prev.replace(source + \"://\", target + \"://\").replace(source + \":\\\\\", target + \":\\\\\");\n }, pointer);\n}\n//# sourceMappingURL=index.js.map"],"names":["fetch","crossFetch"],"mappings":"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"}
\No newline at end of file