MultiWatching.js 701 B

1234567891011121314151617181920212223242526272829303132
  1. /*
  2. MIT License http://www.opensource.org/licenses/mit-license.php
  3. Author Tobias Koppers @sokra
  4. */
  5. "use strict";
  6. const asyncLib = require("async");
  7. class MultiWatching {
  8. constructor(watchings, compiler) {
  9. this.watchings = watchings;
  10. this.compiler = compiler;
  11. }
  12. invalidate() {
  13. this.watchings.forEach((watching) => watching.invalidate());
  14. }
  15. close(callback) {
  16. if(callback === undefined) callback = () => { /*do nothing*/ };
  17. asyncLib.forEach(this.watchings, (watching, finishedCallback) => {
  18. watching.close(finishedCallback);
  19. }, err => {
  20. this.compiler.applyPlugins("watch-close");
  21. callback(err);
  22. });
  23. }
  24. }
  25. module.exports = MultiWatching;