aboutsummaryrefslogtreecommitdiff
path: root/node_modules/tapable/lib/MultiHook.js
diff options
context:
space:
mode:
authorMinteck <nekostarfan@gmail.com>2021-08-24 14:41:48 +0200
committerMinteck <nekostarfan@gmail.com>2021-08-24 14:41:48 +0200
commitd25e11bee6ca5ca523884da132d18e1400e077b9 (patch)
tree8af39fde19f7ed640a60fb397c7edd647dff1c4c /node_modules/tapable/lib/MultiHook.js
downloadkartik-iridium-d25e11bee6ca5ca523884da132d18e1400e077b9.tar.gz
kartik-iridium-d25e11bee6ca5ca523884da132d18e1400e077b9.tar.bz2
kartik-iridium-d25e11bee6ca5ca523884da132d18e1400e077b9.zip
Initial commit
Diffstat (limited to 'node_modules/tapable/lib/MultiHook.js')
-rw-r--r--node_modules/tapable/lib/MultiHook.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/node_modules/tapable/lib/MultiHook.js b/node_modules/tapable/lib/MultiHook.js
new file mode 100644
index 0000000..e4fc2ce
--- /dev/null
+++ b/node_modules/tapable/lib/MultiHook.js
@@ -0,0 +1,54 @@
+/*
+ MIT License http://www.opensource.org/licenses/mit-license.php
+ Author Tobias Koppers @sokra
+*/
+"use strict";
+
+const Hook = require("./Hook");
+
+class MultiHook {
+ constructor(hooks, name = undefined) {
+ this.hooks = hooks;
+ this.name = name;
+ }
+
+ 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)),
+ this.name
+ );
+ }
+}
+
+module.exports = MultiHook;