Message
Type definitions and utilities for Nostr protocol messages.
Relay Message Types
Enums:
RelayMessageType.Auth- Authentication challengeRelayMessageType.Closed- Subscription closedRelayMessageType.Eose- End of stored eventsRelayMessageType.Event- Event dataRelayMessageType.NegErr- Negentropy errorRelayMessageType.NegMsg- Negentropy messageRelayMessageType.Ok- Command result
Type Definitions:
RelayMessage- Base relay message typeRelayAuth,RelayClosed,RelayEose,RelayEvent,RelayNegErr,RelayNegMsg,RelayOk- Specific message typesRelayAuthPayload,RelayClosedPayload, etc. - Payload types for each message
Type Guards:
isRelayAuth(),isRelayClosed(),isRelayEose(),isRelayEvent(),isRelayNegErr(),isRelayNegMsg(),isRelayOk()
Client Message Types
Enums:
ClientMessageType.Auth- Authentication responseClientMessageType.Close- Close subscriptionClientMessageType.Event- Publish eventClientMessageType.NegClose- Close negentropyClientMessageType.NegOpen- Open negentropyClientMessageType.Req- Request subscription
Type Definitions:
ClientMessage- Base client message typeClientAuth,ClientClose,ClientEvent,ClientNegClose,ClientNegOpen,ClientReq- Specific message typesClientAuthPayload,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)
}
}