management/front/dkha-web-sz-main/node_modules/webpack-chain/src/ResolveLoader.js

35 lines
783 B
JavaScript

const Resolve = require('./Resolve');
const ChainedSet = require('./ChainedSet');
module.exports = class extends Resolve {
constructor(parent) {
super(parent);
this.moduleExtensions = new ChainedSet(this);
this.packageMains = new ChainedSet(this);
}
toConfig() {
return this.clean(
Object.assign(
{
moduleExtensions: this.moduleExtensions.values(),
packageMains: this.packageMains.values(),
},
super.toConfig()
)
);
}
merge(obj, omit = []) {
const omissions = ['moduleExtensions', 'packageMains'];
omissions.forEach(key => {
if (!omit.includes(key) && key in obj) {
this[key].merge(obj[key]);
}
});
return super.merge(obj, [...omit, ...omissions]);
}
};