| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | /*	MIT License http://www.opensource.org/licenses/mit-license.php	Author Tobias Koppers @sokra*/"use strict";/** @typedef {import("../declarations/WebpackOptions").StatsOptions} StatsOptions *//** @typedef {import("./Compilation")} Compilation *//** @typedef {import("./stats/DefaultStatsFactoryPlugin").StatsCompilation} StatsCompilation */class Stats {	/**	 * @param {Compilation} compilation webpack compilation	 */	constructor(compilation) {		this.compilation = compilation;	}	get hash() {		return this.compilation.hash;	}	get startTime() {		return this.compilation.startTime;	}	get endTime() {		return this.compilation.endTime;	}	/**	 * @returns {boolean} true if the compilation had a warning	 */	hasWarnings() {		return (			this.compilation.warnings.length > 0 ||			this.compilation.children.some(child => child.getStats().hasWarnings())		);	}	/**	 * @returns {boolean} true if the compilation encountered an error	 */	hasErrors() {		return (			this.compilation.errors.length > 0 ||			this.compilation.children.some(child => child.getStats().hasErrors())		);	}	/**	 * @param {(string|StatsOptions)=} options stats options	 * @returns {StatsCompilation} json output	 */	toJson(options) {		options = this.compilation.createStatsOptions(options, {			forToString: false		});		const statsFactory = this.compilation.createStatsFactory(options);		return statsFactory.create("compilation", this.compilation, {			compilation: this.compilation		});	}	toString(options) {		options = this.compilation.createStatsOptions(options, {			forToString: true		});		const statsFactory = this.compilation.createStatsFactory(options);		const statsPrinter = this.compilation.createStatsPrinter(options);		const data = statsFactory.create("compilation", this.compilation, {			compilation: this.compilation		});		const result = statsPrinter.print("compilation", data);		return result === undefined ? "" : result;	}}module.exports = Stats;
 |