Utilities for bridging between the Node.js `stream` module (Readable, Writable, Duplex) and the push-stream protocol. PushSource wraps a Readable, listening to `data`/`end`/`error` events and implementing `pipe()`, `resume()`, and `abort()`. PushSink wraps a Writable, translating `write()` calls to `writable.write()` with `drain`-based backpressure and `end()` to `writable.end()`. PushDuplex wraps a Duplex stream as a combined source/sink for bidirectional push-stream pipelines.
## API
### `source(readableStream)`
Converts a Node.js `Readable` to a push-stream source.
- **readableStream** `Readable`– A Node.js readable stream.
- **Returns** A push-stream source with `pipe()`, `resume()`, `abort()`, `paused`, and `ended`.
### `sink(writableStream)`
Converts a Node.js `Writable` to a push-stream sink.
- **writableStream** `Writable`– A Node.js writable stream.
- **Returns** A push-stream sink with `pipe()`, `write()`, `end()`, `abort()`, `paused`, and `ended`.
### `duplex(duplexStream)`
Wraps a Node.js `Duplex` stream as a push-stream source.
- **duplexStream** `Duplex`– A Node.js duplex stream.
- **Returns** A push-stream source with `pipe()`, `resume()`, `abort()`, `paused`, and `ended`.
## Tests
```bash
npm test
```
Tests cover readable-to-source data flow and end handling, writable-to-sink write and backpressure, duplex stream wrapping, error propagation, and abort cleanup.