blob: c16d3afd67da3dfafadb5fd99c9dc7aa094e6c9b [file] [log] [blame]
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
"use strict";
const asyncLib = require("neo-async");
class MultiWatching {
constructor(watchings, compiler) {
this.watchings = watchings;
this.compiler = compiler;
}
invalidate() {
for (const watching of this.watchings) {
watching.invalidate();
}
}
suspend() {
for (const watching of this.watchings) {
watching.suspend();
}
}
resume() {
for (const watching of this.watchings) {
watching.resume();
}
}
close(callback) {
asyncLib.forEach(
this.watchings,
(watching, finishedCallback) => {
watching.close(finishedCallback);
},
err => {
this.compiler.hooks.watchClose.call();
if (typeof callback === "function") {
this.compiler.running = false;
callback(err);
}
}
);
}
}
module.exports = MultiWatching;