UNPKG

webpack-config

Version:

Helps to load, extend and merge webpack configs

77 lines (60 loc) 1.7 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _weakMap = require('babel-runtime/core-js/weak-map'); var _weakMap2 = _interopRequireDefault(_weakMap); var _lodash = require('lodash'); var _ConfigStrategyList = require('./ConfigStrategyList'); var _ConfigStrategyList2 = _interopRequireDefault(_ConfigStrategyList); var _ConfigPathResolvers = require('./ConfigPathResolvers'); var _ConfigPathResolvers2 = _interopRequireDefault(_ConfigPathResolvers); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * @private * @type {WeakMap} */ const PATH_RESOLVERS = new _weakMap2.default(); /** * @private * @type {WeakMap} */ const STRING_RESOLVER = new _weakMap2.default(); /** * @class */ class ConfigPathResolver { /** * @constructor * @param {ConfigStringResolver} stringResolver * @param {Function[]} [pathResolvers] */ constructor(stringResolver, pathResolvers = _ConfigPathResolvers2.default) { STRING_RESOLVER.set(this, stringResolver); PATH_RESOLVERS.set(this, _ConfigStrategyList2.default.from(pathResolvers)); } /** * @readonly * @type {ConfigStringResolver} */ get stringResolver() { return STRING_RESOLVER.get(this); } /** * @readonly * @type {ConfigStrategyList} */ get pathResolvers() { return PATH_RESOLVERS.get(this); } /** * @param {String} value * @returns {String} */ resolve(value) { value = this.stringResolver.resolve(value); return this.pathResolvers.resolve(value, x => (0, _lodash.isString)(x)); } } exports.default = ConfigPathResolver; //# sourceMappingURL=ConfigPathResolver.js.map