diff --git a/packages/net2/src/auth.ts b/packages/net2/src/auth.ts index 2269df9..5bae969 100644 --- a/packages/net2/src/auth.ts +++ b/packages/net2/src/auth.ts @@ -1,7 +1,7 @@ import {on, sleep} from "@welshman/lib" import type {SignedEvent, StampedEvent} from "@welshman/util" import {makeEvent, CLIENT_AUTH} from "@welshman/util" -import {isRelayAuthMessage, isRelayOkMessage, RelayMessage} from "./message.js" +import {isRelayAuth, isRelayOk, RelayMessage} from "./message.js" import {Socket, SocketStatus, SocketEventType, SocketUnsubscriber} from "./socket.js" export const makeAuthEvent = (url: string, challenge: string) => @@ -45,7 +45,7 @@ export class AuthManager { ) { this._unsubscribers.push( on(socket, SocketEventType.Receive, (message: RelayMessage) => { - if (isRelayOkMessage(message)) { + if (isRelayOk(message)) { const [_, id, ok, details] = message if (id === this.request) { @@ -59,7 +59,7 @@ export class AuthManager { } } - if (isRelayAuthMessage(message)) { + if (isRelayAuth(message)) { const [_, challenge] = message this.challenge = challenge diff --git a/packages/net2/src/diff.ts b/packages/net2/src/diff.ts index 57d47d0..f62a4f4 100644 --- a/packages/net2/src/diff.ts +++ b/packages/net2/src/diff.ts @@ -1,7 +1,7 @@ import {EventEmitter} from "events" import {on, randomId} from "@welshman/lib" import {SignedEvent, Filter} from "@welshman/util" -import {RelayMessage, isRelayNegErrMessage, isRelayNegMsgMessage} from "./message.js" +import {RelayMessage, isRelayNegErr, isRelayNegMsg} from "./message.js" import {AbstractAdapter, AdapterEventType} from "./adapter.js" import {Negentropy, NegentropyStorageVector} from "./negentropy.js" import {TypedEmitter} from "./util.js" @@ -43,7 +43,7 @@ export class Diff extends (EventEmitter as new () => TypedEmitter) { adapter, AdapterEventType.Receive, async (message: RelayMessage, url: string) => { - if (isRelayNegMsgMessage(message)) { + if (isRelayNegMsg(message)) { const [_, negid, msg] = message if (negid === this._id) { @@ -59,7 +59,7 @@ export class Diff extends (EventEmitter as new () => TypedEmitter) { } } - if (isRelayNegErrMessage(message)) { + if (isRelayNegErr(message)) { const [_, negid, msg] = message if (negid === this._id) { diff --git a/packages/net2/src/message.ts b/packages/net2/src/message.ts index ff33dc8..704c8a3 100644 --- a/packages/net2/src/message.ts +++ b/packages/net2/src/message.ts @@ -11,6 +11,8 @@ export enum RelayMessageType { Ok = "OK", } +export type RelayMessage = any[] + export type RelayAuthPayload = [string] export type RelayEosePayload = [string, SignedEvent] @@ -23,45 +25,63 @@ export type RelayNegMsgPayload = [string, string] export type RelayOkPayload = [string, boolean, string] -export type RelayAuthMessage = [RelayMessageType.Auth, ...RelayAuthPayload] +export type RelayAuth = [RelayMessageType.Auth, ...RelayAuthPayload] -export type RelayEoseMessage = [RelayMessageType.Eose, ...RelayEosePayload] +export type RelayEose = [RelayMessageType.Eose, ...RelayEosePayload] -export type RelayEventMessage = [RelayMessageType.Event, ...RelayEventPayload] +export type RelayEvent = [RelayMessageType.Event, ...RelayEventPayload] -export type RelayNegErrMessage = [RelayMessageType.NegErr, ...RelayNegErrPayload] +export type RelayNegErr = [RelayMessageType.NegErr, ...RelayNegErrPayload] -export type RelayNegMsgMessage = [RelayMessageType.NegMsg, ...RelayNegMsgPayload] +export type RelayNegMsg = [RelayMessageType.NegMsg, ...RelayNegMsgPayload] -export type RelayOkMessage = [RelayMessageType.Ok, ...RelayOkPayload] +export type RelayOk = [RelayMessageType.Ok, ...RelayOkPayload] -export type RelayMessage = any[] +export const isRelayAuth = (m: RelayMessage): m is RelayAuth => m[0] === RelayMessageType.Auth -export const isRelayAuthMessage = (m: RelayMessage): m is RelayAuthMessage => - m[0] === RelayMessageType.Auth +export const isRelayEose = (m: RelayMessage): m is RelayEose => m[0] === RelayMessageType.Eose -export const isRelayEoseMessage = (m: RelayMessage): m is RelayEoseMessage => - m[0] === RelayMessageType.Eose +export const isRelayEvent = (m: RelayMessage): m is RelayEvent => m[0] === RelayMessageType.Event -export const isRelayEventMessage = (m: RelayMessage): m is RelayEventMessage => - m[0] === RelayMessageType.Event +export const isRelayNegErr = (m: RelayMessage): m is RelayNegErr => m[0] === RelayMessageType.NegErr -export const isRelayNegErrMessage = (m: RelayMessage): m is RelayNegErrMessage => - m[0] === RelayMessageType.NegErr +export const isRelayNegMsg = (m: RelayMessage): m is RelayNegMsg => m[0] === RelayMessageType.NegMsg -export const isRelayNegMsgMessage = (m: RelayMessage): m is RelayNegMsgMessage => - m[0] === RelayMessageType.NegMsg - -export const isRelayOkMessage = (m: RelayMessage): m is RelayOkMessage => - m[0] === RelayMessageType.Ok +export const isRelayOk = (m: RelayMessage): m is RelayOk => m[0] === RelayMessageType.Ok // client -> relay -export type ClientMessage = any[] - export enum ClientMessageType { Auth = "AUTH", Event = "EVENT", NegClose = "NEG-CLOSE", Req = "REQ", } + +export type ClientMessage = any[] + +export type ClientAuthPayload = [] + +export type ClientEventPayload = [] + +export type ClientNegClosePayload = [] + +export type ClientReqPayload = [] + +export type ClientAuth = [ClientMessageType.Req, ...ClientAuthPayload] + +export type ClientEvent = [ClientMessageType.Req, ...ClientEventPayload] + +export type ClientNegClose = [ClientMessageType.Req, ...ClientNegClosePayload] + +export type ClientReq = [ClientMessageType.Req, ...ClientReqPayload] + +export const isClientAuth = (m: ClientMessage): m is ClientAuth => m[0] === ClientMessageType.Auth + +export const isClientEvent = (m: ClientMessage): m is ClientEvent => + m[0] === ClientMessageType.Event + +export const isClientNegClose = (m: ClientMessage): m is ClientNegClose => + m[0] === ClientMessageType.NegClose + +export const isClientReq = (m: ClientMessage): m is ClientReq => m[0] === ClientMessageType.Req diff --git a/packages/net2/src/publish.ts b/packages/net2/src/publish.ts index 7a0d7e7..2dd1459 100644 --- a/packages/net2/src/publish.ts +++ b/packages/net2/src/publish.ts @@ -1,7 +1,7 @@ import {EventEmitter} from "events" import {on} from "@welshman/lib" import {SignedEvent} from "@welshman/util" -import {RelayMessage, isRelayOkMessage} from "./message.js" +import {RelayMessage, isRelayOk} from "./message.js" import {AbstractAdapter, AdapterEventType} from "./adapter.js" import {TypedEmitter} from "./util.js" @@ -27,7 +27,7 @@ export class Publish extends (EventEmitter as new () => TypedEmitter { - if (isRelayOkMessage(message)) { + if (isRelayOk(message)) { const [_, id, ok, detail] = message if (id === event.id) { diff --git a/packages/net2/src/subscribe.ts b/packages/net2/src/subscribe.ts index f2019da..0ec2f43 100644 --- a/packages/net2/src/subscribe.ts +++ b/packages/net2/src/subscribe.ts @@ -1,7 +1,7 @@ import {EventEmitter} from "events" import {on, randomId} from "@welshman/lib" import {Filter, SignedEvent} from "@welshman/util" -import {RelayMessage, isRelayEventMessage, isRelayEoseMessage} from "./message.js" +import {RelayMessage, isRelayEvent, isRelayEose} from "./message.js" import {AbstractAdapter, AdapterEventType} from "./adapter.js" import {TypedEmitter} from "./util.js" @@ -30,7 +30,7 @@ export class Subscribe extends (EventEmitter as new () => TypedEmitter { - if (isRelayEventMessage(message)) { + if (isRelayEvent(message)) { const [_, id, event] = message if (id === this._id) { @@ -38,7 +38,7 @@ export class Subscribe extends (EventEmitter as new () => TypedEmitter