You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
flow silently breaks when any composed function returns a Promise. It passes the raw Promise object to the next function instead of the resolved value:
es-toolkit already follows a sync/Async naming convention:
attempt / attemptAsync
filter / filterAsync
flatMap / flatMapAsync
map / mapAsync
reduce / reduceAsync
flow / flowAsync fits this pattern exactly.
The TC39 proposal-function-pipe-flow included Function.flowAsync but was withdrawn at Stage 1, with the committee noting these are "easily solved by userland functions" — which is what es-toolkit provides.
Activity
zrosenbauer commentedon Mar 19, 2026
FYI I'm happy to open pull for this but don't want to do the work unless core team approves.
feat: flowAsync (async compose)