Skip to content

Commit 1374225

Browse files
committed
extract events to client interfaces file
1 parent 6d5761e commit 1374225

File tree

3 files changed

+36
-28
lines changed

3 files changed

+36
-28
lines changed

src/client/client.ts

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,32 +4,8 @@ import type { MessageEvent } from 'isomorphic-ws'
44
import type { Buffer } from 'node:buffer'
55
import { deserializeMessage, serializeMessage } from '../codec.js'
66
import { Instruction } from '../index.js'
7-
import type { IncomingMessage, Message, Vector3 } from '../interfaces.js'
8-
import type { MessagePayload } from './interfaces.js'
9-
10-
/* eslint-disable @typescript-eslint/ban-types */
11-
export interface Events {
12-
ready: []
13-
disconnect: []
14-
error: [Error]
15-
rawMessage: [Readonly<IncomingMessage>]
16-
17-
peerConnect: [uuid: string]
18-
peerDisconnect: [uuid: string]
19-
localMessage: [
20-
senderUuid: string,
21-
worldName: string,
22-
position: Vector3,
23-
payload: MessagePayload
24-
]
25-
globalMessage: [
26-
senderUuid: string,
27-
worldName: string,
28-
payload: MessagePayload
29-
]
30-
recordReply: []
31-
}
32-
/* eslint-enable @typescript-eslint/ban-types */
7+
import type { Message, Vector3 } from '../interfaces.js'
8+
import type { ClientEvents as Events, MessagePayload } from './interfaces.js'
339

3410
export interface ClientOptions {
3511
/**

src/client/interfaces.ts

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,35 @@
1-
import type { Message } from '../interfaces.js'
1+
import type { IncomingMessage, Message, Vector3 } from '../interfaces.js'
2+
3+
// #region Events
4+
// eslint-disable-next-line @typescript-eslint/ban-types
5+
type NoArgs = []
6+
7+
type LocalMessageEventArgs = [
8+
senderUuid: string,
9+
worldName: string,
10+
position: Vector3,
11+
payload: MessagePayload
12+
]
13+
14+
type GlobalMessageEventArgs = [
15+
senderUuid: string,
16+
worldName: string,
17+
payload: MessagePayload
18+
]
19+
20+
export interface ClientEvents {
21+
ready: NoArgs
22+
disconnect: NoArgs
23+
error: [Error]
24+
rawMessage: [Readonly<IncomingMessage>]
25+
26+
peerConnect: [uuid: string]
27+
peerDisconnect: [uuid: string]
28+
localMessage: LocalMessageEventArgs
29+
globalMessage: GlobalMessageEventArgs
30+
recordReply: NoArgs
31+
}
32+
// #endregion
233

334
export interface MessagePayload {
435
parameter?: Message['parameter']

src/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
export { Client } from './client/client.js'
2-
export type { ClientOptions, Events as ClientEvents } from './client/client.js'
2+
export type { ClientOptions } from './client/client.js'
3+
export type { ClientEvents } from './client/interfaces.js'
34
export type {
45
Vector3,
56
Record,

0 commit comments

Comments
 (0)