53 lines
1.8 KiB
Markdown
53 lines
1.8 KiB
Markdown
# Message
|
|
|
|
Type definitions and utilities for Nostr protocol messages.
|
|
|
|
## Relay Message Types
|
|
|
|
**Enums:**
|
|
- `RelayMessageType.Auth` - Authentication challenge
|
|
- `RelayMessageType.Closed` - Subscription closed
|
|
- `RelayMessageType.Eose` - End of stored events
|
|
- `RelayMessageType.Event` - Event data
|
|
- `RelayMessageType.NegErr` - Negentropy error
|
|
- `RelayMessageType.NegMsg` - Negentropy message
|
|
- `RelayMessageType.Ok` - Command result
|
|
|
|
**Type Definitions:**
|
|
- `RelayMessage` - Base relay message type
|
|
- `RelayAuth`, `RelayClosed`, `RelayEose`, `RelayEvent`, `RelayNegErr`, `RelayNegMsg`, `RelayOk` - Specific message types
|
|
- `RelayAuthPayload`, `RelayClosedPayload`, etc. - Payload types for each message
|
|
|
|
**Type Guards:**
|
|
- `isRelayAuth()`, `isRelayClosed()`, `isRelayEose()`, `isRelayEvent()`, `isRelayNegErr()`, `isRelayNegMsg()`, `isRelayOk()`
|
|
|
|
## Client Message Types
|
|
|
|
**Enums:**
|
|
- `ClientMessageType.Auth` - Authentication response
|
|
- `ClientMessageType.Close` - Close subscription
|
|
- `ClientMessageType.Event` - Publish event
|
|
- `ClientMessageType.NegClose` - Close negentropy
|
|
- `ClientMessageType.NegOpen` - Open negentropy
|
|
- `ClientMessageType.Req` - Request subscription
|
|
|
|
**Type Definitions:**
|
|
- `ClientMessage` - Base client message type
|
|
- `ClientAuth`, `ClientClose`, `ClientEvent`, `ClientNegClose`, `ClientNegOpen`, `ClientReq` - Specific message types
|
|
- `ClientAuthPayload`, `ClientClosePayload`, etc. - Payload types for each message
|
|
|
|
**Type Guards:**
|
|
- `isClientAuth()`, `isClientClose()`, `isClientEvent()`, `isClientNegClose()`, `isClientNegOpen()`, `isClientReq()`
|
|
|
|
## Example
|
|
|
|
```typescript
|
|
// Handle incoming relay message
|
|
const handleMessage = (message: RelayMessage) => {
|
|
if (isRelayEvent(message)) {
|
|
const [type, subId, event] = message
|
|
console.log('Event:', event.id)
|
|
}
|
|
}
|
|
```
|