Comments (12)
You could use a do/while
loop for that.
from tapable.
@oofloren how would that work? There is no way to iterate hook subscribers, is there?
from tapable.
Sorry, the notification got lost!
let result
do {
result = hook.call(…)
} while (result.foo)
We use a similar technique in webpack:
from tapable.
No, that calls all subscribers. The idea is to stop after the first subscriber that returns something specific.
is that what callTapsSeries
does, can that be called directly?
from tapable.
I think all call*
methods are private APIs. They are designed to be called by the code factories. Not user-land code.
from tapable.
from tapable.
The idea is to stop after the first subscriber that returns something specific.
The Bail
hooks stop after the first plugin that returns something.
from tapable.
@sokra but that still doesn't allow checking for a specific value, and there's no way to wrap the hooks…
from tapable.
@wmertens you can use bail hook if the the value is just what you need, just return it.
from tapable.
@moonyaph that would require wrapping all the subscribers to a hook and there's no way to do that.
from tapable.
@wmertens Hi!
Did you manage to find a solution to this issue?
I'd like to do the same thing, as well.
from tapable.
@Telokis I ended up rewriting it with a similar API but without all the browser optimizations.
https://github.com/StratoKit/strato-runner/blob/new-new-config/packages/launcher/src/tapable.js
from tapable.
Related Issues (20)
- Semantics of factory is correct? HOT 2
- what is the idea of reassignment a class propery
- AsyncParallelBailHook, I use tapAsync/callAsync, it doesn't work as expected HOT 3
- DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead HOT 2
- Not compatible with webpack v5 HOT 1
- Why hooks constructor can not use arguments like readme.md said HOT 1
- has `hooks.hookName.taps` been not recommanded? HOT 3
- i use tapable singlely in my project,but in my webpack,"node_modules" folders has no compile. HOT 4
- AsyncHook in types HOT 6
- May I ask some question?
- Is the new Function performance really good? HOT 13
- Is it a BUG? callback of tapAsync not work in AsyncSeriesLoopHook HOT 2
- is there an way to intercept waterfall hook result ?
- Why not put _resetCompilation in this.call HOT 1
- .tap() `before` parameter do not respects existing befores HOT 1
- TS Error HOT 3
- `context` property for interceptor is un-typed
- Re-order hooks
- [Bug] Async hook doesn't catch error when reject a falsy value HOT 6
- Facing TypeError: Cannot read properties of undefined (reading 'tap') HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tapable.