summaryrefslogtreecommitdiffstats
path: root/node_modules/webpack/lib/MultiWatching.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/webpack/lib/MultiWatching.js')
-rw-r--r--node_modules/webpack/lib/MultiWatching.js50
1 files changed, 50 insertions, 0 deletions
diff --git a/node_modules/webpack/lib/MultiWatching.js b/node_modules/webpack/lib/MultiWatching.js
new file mode 100644
index 0000000..c16d3af
--- /dev/null
+++ b/node_modules/webpack/lib/MultiWatching.js
@@ -0,0 +1,50 @@
+/*
+ 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;