diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2023-10-30 16:45:38 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2023-10-30 16:45:38 +0800 |
| commit | a0579f91bbdf0de62b59df381d97a008bb98df57 (patch) | |
| tree | 69c21333750c7bc7358f9383560438048d9adebf /node_modules/cosmiconfig/dist/ExplorerBase.js | |
| parent | 2d8aeba452672bcda2096e5d76bf37131c34075e (diff) | |
update/upgrade
Diffstat (limited to 'node_modules/cosmiconfig/dist/ExplorerBase.js')
| -rw-r--r-- | node_modules/cosmiconfig/dist/ExplorerBase.js | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/node_modules/cosmiconfig/dist/ExplorerBase.js b/node_modules/cosmiconfig/dist/ExplorerBase.js new file mode 100644 index 00000000..e3f66f22 --- /dev/null +++ b/node_modules/cosmiconfig/dist/ExplorerBase.js @@ -0,0 +1,82 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getExtensionDescription = exports.ExplorerBase = void 0; +const path_1 = __importDefault(require("path")); +const util_js_1 = require("./util.js"); +/** + * @internal + */ +class ExplorerBase { + #loadingMetaConfig = false; + config; + loadCache; + searchCache; + constructor(options) { + this.config = options; + if (options.cache) { + this.loadCache = new Map(); + this.searchCache = new Map(); + } + this.#validateConfig(); + } + set loadingMetaConfig(value) { + this.#loadingMetaConfig = value; + } + #validateConfig() { + const config = this.config; + for (const place of config.searchPlaces) { + const extension = path_1.default.extname(place); + const loader = this.config.loaders[extension || 'noExt'] ?? + this.config.loaders['default']; + if (loader === undefined) { + throw new Error(`Missing loader for ${getExtensionDescription(place)}.`); + } + if (typeof loader !== 'function') { + throw new Error(`Loader for ${getExtensionDescription(place)} is not a function: Received ${typeof loader}.`); + } + } + } + clearLoadCache() { + if (this.loadCache) { + this.loadCache.clear(); + } + } + clearSearchCache() { + if (this.searchCache) { + this.searchCache.clear(); + } + } + clearCaches() { + this.clearLoadCache(); + this.clearSearchCache(); + } + toCosmiconfigResult(filepath, config) { + if (config === null) { + return null; + } + if (config === undefined) { + return { filepath, config: undefined, isEmpty: true }; + } + if (this.config.applyPackagePropertyPathToConfiguration || + this.#loadingMetaConfig) { + config = (0, util_js_1.getPropertyByPath)(config, this.config.packageProp); + } + if (config === undefined) { + return { filepath, config: undefined, isEmpty: true }; + } + return { config, filepath }; + } +} +exports.ExplorerBase = ExplorerBase; +/** + * @internal + */ +function getExtensionDescription(extension) { + /* istanbul ignore next -- @preserve */ + return extension ? `extension "${extension}"` : 'files without extensions'; +} +exports.getExtensionDescription = getExtensionDescription; +//# sourceMappingURL=ExplorerBase.js.map
\ No newline at end of file |
