23 lines
1.4 KiB
Markdown
23 lines
1.4 KiB
Markdown
# @welshman/net [](https://npmjs.com/package/@welshman/net)
|
|
|
|
Utilities having to do with connection management and nostr messages.
|
|
|
|
- `Connection` - the main api for dealing with relay connections
|
|
- `ConnectionAuth` - tracks auth status for a connection
|
|
- `ConnectionSender` - a send queue for connections
|
|
- `ConnectionState` - tracks pending publishes and requests for a connection
|
|
- `ConnectionStats` - tracks timing and error stats for a connection
|
|
- `Context` - provides default values for configuring `ctx.net`
|
|
- `Executor` - implements common nostr flows on a given `target`
|
|
- `Pool` - a thin wrapper around `Map` which stores `Connection`s
|
|
- `Publish` - utilities for publishing events
|
|
- `Socket` - a wrapper around isomorphic-ws that handles json parsing/serialization
|
|
- `Subscribe` - utilities for making requests against nostr relays
|
|
- `Tracker` - tracks which relays a given event was seen on
|
|
|
|
Executor `target`s extend `Emitter`, and have a `send` method, a `cleanup` method, and a `connections` getter. They are intended to be passed to an `Executor` for use.
|
|
|
|
- `targets/Multi` allows you to compose multiple targets together.
|
|
- `targets/Relay` takes a `Connection` and provides listeners for different verbs.
|
|
- `targets/Relays` takes an array of `Connection`s and provides listeners for different verbs, merging all events into a single stream.
|