"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; ;