webpack-config
Version:
Helps to load, extend and merge webpack configs
73 lines (58 loc) • 1.56 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _iterator = require('babel-runtime/core-js/symbol/iterator');
var _iterator2 = _interopRequireDefault(_iterator);
var _weakMap = require('babel-runtime/core-js/weak-map');
var _weakMap2 = _interopRequireDefault(_weakMap);
var _ConfigDependencyIterator = require('./ConfigDependencyIterator');
var _ConfigDependencyIterator2 = _interopRequireDefault(_ConfigDependencyIterator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* @private
* @type {WeakMap}
*/
const ROOT = new _weakMap2.default();
/**
* @private
* @type {WeakMap}
*/
const CHILDREN = new _weakMap2.default();
/**
* Supports {@link https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Iteration_protocols|iteration protocols} via {@link ConfigDependencyIterator}
* @class
*/
class ConfigDependency {
/**
* @constructor
* @param {Config} root
* @param {ConfigDependency[]} children
*/
constructor(root, children = []) {
ROOT.set(this, root);
CHILDREN.set(this, children);
}
/**
* @readonly
* @type {Config}
*/
get root() {
return ROOT.get(this);
}
/**
* @readonly
* @type {ConfigDependency[]}
*/
get children() {
return CHILDREN.get(this);
}
/**
* @returns {ConfigDependencyIterator}
*/
[_iterator2.default]() {
return new _ConfigDependencyIterator2.default(this);
}
}
exports.default = ConfigDependency;
//# sourceMappingURL=ConfigDependency.js.map
;