ExtractTextPluginCompilation.js 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /* eslint-disable no-multi-assign */
  6. var _ExtractedModule = require('./ExtractedModule');
  7. var _ExtractedModule2 = _interopRequireDefault(_ExtractedModule);
  8. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  9. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  10. var ExtractTextPluginCompilation = function () {
  11. function ExtractTextPluginCompilation() {
  12. _classCallCheck(this, ExtractTextPluginCompilation);
  13. this.modulesByIdentifier = {};
  14. }
  15. _createClass(ExtractTextPluginCompilation, [{
  16. key: 'addModule',
  17. value: function addModule(identifier, originalModule, source, additionalInformation, sourceMap, prevModules) {
  18. var m = void 0;
  19. if (!this.modulesByIdentifier[identifier]) {
  20. m = this.modulesByIdentifier[identifier] = new _ExtractedModule2.default(identifier, originalModule, source, sourceMap, additionalInformation, prevModules);
  21. } else {
  22. m = this.modulesByIdentifier[identifier];
  23. m.addPrevModules(prevModules);
  24. if (originalModule.index2 < m.getOriginalModule().index2) {
  25. m.setOriginalModule(originalModule);
  26. }
  27. }
  28. return m;
  29. }
  30. }, {
  31. key: 'addResultToChunk',
  32. value: function addResultToChunk(identifier, result, originalModule, extractedChunk) {
  33. var _this = this;
  34. if (!Array.isArray(result)) {
  35. result = [[identifier, result]];
  36. }
  37. var counterMap = {};
  38. var prevModules = [];
  39. result.forEach(function (item) {
  40. var c = counterMap[item[0]];
  41. var module = _this.addModule.call(_this, item[0] + (c || ''), originalModule, item[1], item[2], item[3], prevModules.slice());
  42. extractedChunk.addModule(module);
  43. module.addChunk(extractedChunk);
  44. counterMap[item[0]] = (c || 0) + 1;
  45. prevModules.push(module);
  46. }, this);
  47. }
  48. }]);
  49. return ExtractTextPluginCompilation;
  50. }();
  51. exports.default = ExtractTextPluginCompilation;