| "use strict"; |
| |
| Object.defineProperty(exports, "__esModule", { |
| value: true |
| }); |
| exports.default = void 0; |
| |
| var _lodash = _interopRequireDefault(require("lodash")); |
| |
| var _gzipSize = _interopRequireDefault(require("gzip-size")); |
| |
| var _Node = _interopRequireDefault(require("./Node")); |
| |
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
| |
| class Module extends _Node.default { |
| constructor(name, data, parent) { |
| super(name, parent); |
| this.data = data; |
| } |
| |
| get src() { |
| return this.data.parsedSrc; |
| } |
| |
| set src(value) { |
| this.data.parsedSrc = value; |
| delete this._gzipSize; |
| } |
| |
| get size() { |
| return this.data.size; |
| } |
| |
| set size(value) { |
| this.data.size = value; |
| } |
| |
| get parsedSize() { |
| return this.src ? this.src.length : undefined; |
| } |
| |
| get gzipSize() { |
| if (!_lodash.default.has(this, '_gzipSize')) { |
| this._gzipSize = this.src ? _gzipSize.default.sync(this.src) : undefined; |
| } |
| |
| return this._gzipSize; |
| } |
| |
| mergeData(data) { |
| if (data.size) { |
| this.size += data.size; |
| } |
| |
| if (data.parsedSrc) { |
| this.src = (this.src || '') + data.parsedSrc; |
| } |
| } |
| |
| toChartData() { |
| return { |
| id: this.data.id, |
| label: this.name, |
| path: this.path, |
| statSize: this.size, |
| parsedSize: this.parsedSize, |
| gzipSize: this.gzipSize |
| }; |
| } |
| |
| } |
| |
| exports.default = Module; |
| ; |