/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const Hook = require("./Hook"); class MultiHook { constructor(hooks) { this.hooks = hooks; } tap(options, fn) { for(const hook of this.hooks) { hook.tap(options, fn); } } tapAsync(options, fn) { for(const hook of this.hooks) { hook.tapAsync(options, fn); } } tapPromise(options, fn) { for(const hook of this.hooks) { hook.tapPromise(options, fn); } } isUsed() { for(const hook of this.hooks) { if(hook.isUsed()) return true; } return false; } intercept(interceptor) { for(const hook of this.hooks) { hook.intercept(interceptor); } } withOptions(options) { return new MultiHook(this.hooks.map(h => h.withOptions(options))); } } module.exports = MultiHook;