Through2 is a lightweight, zero-configuration library for creating Node.js Transform streams and Web Streams (TransformStream) from simple functions. The core implementation in `through2.js` auto-dispatches between three function styles: classic callback, async function (resolved value pushed), and async generator (yields pushed, cross-chunk state as local variable). It handles backpressure, flush callbacks, and clean destruction including async generator `finally` blocks. The `web.js` entry provides a parallel API for the WHATWG Web Streams API using `{ readable, writable }` pairs that satisfy `pipeThrough`, with explicit cancellation hooks for async generators (a workaround for browser `TransformStream` missing `cancel` in some environments). The library is actively maintained, uses semantic-release with conventional commits, has CI for Node and browser (via polendina), TypeScript type declarations, and follows modern ESM packaging (also supports CJS via `require(esm)` on Node 22.12+). Its architecture is a thin facade over the `readable-stream` Transform class and native TransformStream, with careful attention to stream lifecycle, backpressure propagation, and resource cleanup.