/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@graphql-tools/module-loader@8.0.27/cjs/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var a=Object.getOwnPropertyDescriptor(t,r);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,a)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},e(t)};return function(t){if(t&&t.__esModule)return t;var r={};if(null!=t)for(var o=e(t),a=0;a<o.length;a++)"default"!==o[a]&&__createBinding(r,t,o[a]);return __setModuleDefault(r,t),r}}();Object.defineProperty(exports,"__esModule",{value:!0}),exports.ModuleLoader=void 0;const fs_1=require("fs"),graphql_1=require("graphql"),{access:access}=fs_1.promises,InvalidError=new Error("Imported object was not a string, DocumentNode or GraphQLSchema"),createLoadError=e=>new Error(`Unable to load schema from module: ${e.message||e}`);function extractData(e){const t=e.replace(/^module\:/i,"").split("#");if(!t||t.length>2)throw new Error('Schema pointer should match "module:path/to/module#export"');return{modulePath:t[0],exportName:t[1]}}class ModuleLoader{isExpressionValid(e){return"string"==typeof e&&e.toLowerCase().startsWith("module:")}async canLoad(e){if(this.isExpressionValid(e)){const{modulePath:t}=extractData(e);try{const e=require.resolve(t);return await access(e),!0}catch(e){return!1}}return!1}canLoadSync(e){if(this.isExpressionValid(e)){const{modulePath:t}=extractData(e);try{const e=require.resolve(t);return(0,fs_1.existsSync)(e)}catch(e){return!1}}return!1}async load(e){try{const t=this.parse(e,await this.importModule(e));if(t)return[t];throw InvalidError}catch(e){throw createLoadError(e)}}loadSync(e){try{const t=this.parse(e,this.importModuleSync(e));if(t)return[t];throw InvalidError}catch(e){throw createLoadError(e)}}parse(e,t){return(0,graphql_1.isSchema)(t)?{schema:t,location:e}:"string"==typeof t?{location:e,rawSDL:t}:"object"==typeof t&&"Document"===t.kind?{location:e,document:t}:void 0}extractFromModule(e,t,r){const o=r?e[r]:e;if(!o)throw new Error("Unable to import an object from module: "+t);return o}async importModule(e){const{modulePath:t,exportName:r}=extractData(e),o=await Promise.resolve(`${t}`).then((e=>__importStar(require(e))));return this.extractFromModule(o,t,r||"default")}importModuleSync(e){const{modulePath:t,exportName:r}=extractData(e),o=require(t);return this.extractFromModule(o,t,r)}}exports.ModuleLoader=ModuleLoader;
//# sourceMappingURL=/sm/e67601c5286e00dc69d410b93f7f0885ddda220cf71b1499be43fac9d190a179.map