@roomkit/client 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Room.d.ts ADDED
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Room - 房间抽象类
3
+ * 类似 Colyseus 的 Room API
4
+ */
5
+ import type { Client } from './Client.js';
6
+ export interface RoomOptions {
7
+ [key: string]: unknown;
8
+ }
9
+ export type RoomEventMap<State = any> = {
10
+ 'stateChange': (state: State) => void;
11
+ 'join': () => void;
12
+ 'leave': (code: number) => void;
13
+ 'error': (code: number, message: string) => void;
14
+ 'message': (type: number, message: any) => void;
15
+ };
16
+ /**
17
+ * Room 类 - 代表一个游戏房间
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const room = await client.joinOrCreate<MyGameState>('game_type', {
22
+ * maxPlayers: 4
23
+ * });
24
+ *
25
+ * // 监听状态变化
26
+ * room.onStateChange((state) => {
27
+ * console.log('State updated:', state);
28
+ * });
29
+ *
30
+ * // 监听自定义消息
31
+ * room.onMessage('player_action', (message) => {
32
+ * console.log('Player action:', message);
33
+ * });
34
+ *
35
+ * // 发送消息
36
+ * room.send('my_action', { type: 'move', x: 10, y: 20 });
37
+ *
38
+ * // 离开房间
39
+ * await room.leave();
40
+ * ```
41
+ */
42
+ export declare class Room<State = any> {
43
+ id: string;
44
+ sessionId: string;
45
+ name: string;
46
+ private _state;
47
+ private client;
48
+ private eventHandlers;
49
+ private messageHandlers;
50
+ private hasJoined;
51
+ constructor(client: Client, roomId: string, roomName: string, sessionId: string);
52
+ /**
53
+ * 当前房间状态
54
+ */
55
+ get state(): State | null;
56
+ /**
57
+ * 更新房间状态(内部使用)
58
+ */
59
+ setState(state: State): void;
60
+ /**
61
+ * 监听状态变化
62
+ */
63
+ onStateChange(callback: (state: State, previousState?: State | null) => void): () => void;
64
+ /**
65
+ * 监听房间加入事件
66
+ */
67
+ onJoin(callback: () => void): () => void;
68
+ /**
69
+ * 监听房间离开事件
70
+ */
71
+ onLeave(callback: (code: number) => void): () => void;
72
+ /**
73
+ * 监听错误事件
74
+ */
75
+ onError(callback: (code: number, message: string) => void): () => void;
76
+ /**
77
+ * 监听二进制状态数据
78
+ * 当服务端使用 @roomkit/state 的二进制编码时触发
79
+ *
80
+ * @example
81
+ * ```typescript
82
+ * room.onBinaryState((data) => {
83
+ * // 使用你的 State 类解码
84
+ * const state = MyGameState.decode(data.data);
85
+ * room.setState(state);
86
+ * });
87
+ * ```
88
+ */
89
+ onBinaryState(callback: (data: {
90
+ data: Uint8Array;
91
+ compressed: boolean;
92
+ originalSize: number;
93
+ }) => void): () => void;
94
+ /**
95
+ * 监听自定义消息
96
+ * @param type 消息类型(字符串或数字)
97
+ */
98
+ onMessage<T = any>(type: number | string, callback: (message: T) => void): () => void;
99
+ /**
100
+ * 移除消息监听器
101
+ */
102
+ removeMessageListener(type: number | string, callback?: Function): void;
103
+ /**
104
+ * 发送消息到房间
105
+ * @param type 消息类型(字符串或数字)
106
+ * @param message 消息内容
107
+ */
108
+ send(type: number | string, message?: any): void;
109
+ /**
110
+ * 发送请求并等待响应
111
+ * @param type 消息类型(字符串或数字)
112
+ * @param message 消息内容
113
+ */
114
+ request<T = any>(type: number | string, message?: any): Promise<T>;
115
+ /**
116
+ * 离开房间
117
+ */
118
+ leave(consented?: boolean): Promise<void>;
119
+ /**
120
+ * 移除所有监听器
121
+ */
122
+ removeAllListeners(): void;
123
+ /**
124
+ * 清理资源(内部使用)
125
+ */
126
+ dispose(): void;
127
+ /**
128
+ * 处理接收到的消息(内部使用)
129
+ * 支持 msgType(字符串)和 msgId(数字)双格式
130
+ */
131
+ handleMessage(msgType: string | undefined, msgId: number | undefined, payload: any): void;
132
+ /**
133
+ * 通用事件监听
134
+ */
135
+ private on;
136
+ /**
137
+ * 触发事件
138
+ */
139
+ private triggerEvent;
140
+ /**
141
+ * 触发消息事件
142
+ */
143
+ /**
144
+ * 触发消息事件
145
+ * @param type 消息类型(字符串或数字)
146
+ */
147
+ private triggerMessage;
148
+ /**
149
+ * 应用状态增量更新
150
+ */
151
+ private applyStateDelta;
152
+ /**
153
+ * 应用 JSON Patch 操作
154
+ */
155
+ private applyPatches;
156
+ /**
157
+ * 深度合并对象
158
+ */
159
+ private deepMerge;
160
+ }
161
+ //# sourceMappingURL=Room.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Room.d.ts","sourceRoot":"","sources":["../src/Room.ts"],"names":[],"mappings":"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"}
package/dist/Room.js ADDED
@@ -0,0 +1,386 @@
1
+ /**
2
+ * Room - 房间抽象类
3
+ * 类似 Colyseus 的 Room API
4
+ */
5
+ import { MessageId, MessageType } from '@roomkit/core';
6
+ /**
7
+ * Room 类 - 代表一个游戏房间
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * const room = await client.joinOrCreate<MyGameState>('game_type', {
12
+ * maxPlayers: 4
13
+ * });
14
+ *
15
+ * // 监听状态变化
16
+ * room.onStateChange((state) => {
17
+ * console.log('State updated:', state);
18
+ * });
19
+ *
20
+ * // 监听自定义消息
21
+ * room.onMessage('player_action', (message) => {
22
+ * console.log('Player action:', message);
23
+ * });
24
+ *
25
+ * // 发送消息
26
+ * room.send('my_action', { type: 'move', x: 10, y: 20 });
27
+ *
28
+ * // 离开房间
29
+ * await room.leave();
30
+ * ```
31
+ */
32
+ export class Room {
33
+ constructor(client, roomId, roomName, sessionId) {
34
+ this._state = null;
35
+ this.eventHandlers = new Map();
36
+ this.messageHandlers = new Map();
37
+ this.hasJoined = false;
38
+ this.client = client;
39
+ this.id = roomId;
40
+ this.name = roomName;
41
+ this.sessionId = sessionId;
42
+ }
43
+ /**
44
+ * 当前房间状态
45
+ */
46
+ get state() {
47
+ return this._state;
48
+ }
49
+ /**
50
+ * 更新房间状态(内部使用)
51
+ */
52
+ setState(state) {
53
+ const previousState = this._state;
54
+ this._state = state;
55
+ // 触发状态变化事件
56
+ this.triggerEvent('stateChange', state, previousState);
57
+ }
58
+ /**
59
+ * 监听状态变化
60
+ */
61
+ onStateChange(callback) {
62
+ return this.on('stateChange', callback);
63
+ }
64
+ /**
65
+ * 监听房间加入事件
66
+ */
67
+ onJoin(callback) {
68
+ return this.on('join', callback);
69
+ }
70
+ /**
71
+ * 监听房间离开事件
72
+ */
73
+ onLeave(callback) {
74
+ return this.on('leave', callback);
75
+ }
76
+ /**
77
+ * 监听错误事件
78
+ */
79
+ onError(callback) {
80
+ return this.on('error', callback);
81
+ }
82
+ /**
83
+ * 监听二进制状态数据
84
+ * 当服务端使用 @roomkit/state 的二进制编码时触发
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * room.onBinaryState((data) => {
89
+ * // 使用你的 State 类解码
90
+ * const state = MyGameState.decode(data.data);
91
+ * room.setState(state);
92
+ * });
93
+ * ```
94
+ */
95
+ onBinaryState(callback) {
96
+ return this.on('binaryState', callback);
97
+ }
98
+ /**
99
+ * 监听自定义消息
100
+ * @param type 消息类型(字符串或数字)
101
+ */
102
+ onMessage(type, callback) {
103
+ let handlers = this.messageHandlers.get(type);
104
+ if (!handlers) {
105
+ handlers = new Set();
106
+ this.messageHandlers.set(type, handlers);
107
+ }
108
+ handlers.add(callback);
109
+ return () => {
110
+ handlers?.delete(callback);
111
+ };
112
+ }
113
+ /**
114
+ * 移除消息监听器
115
+ */
116
+ removeMessageListener(type, callback) {
117
+ if (callback) {
118
+ this.messageHandlers.get(type)?.delete(callback);
119
+ }
120
+ else {
121
+ this.messageHandlers.delete(type);
122
+ }
123
+ }
124
+ /**
125
+ * 发送消息到房间
126
+ * @param type 消息类型(字符串或数字)
127
+ * @param message 消息内容
128
+ */
129
+ send(type, message = {}) {
130
+ // 直接发送,Client.send 现在支持字符串和数字类型
131
+ this.client.send(type, message, this.id);
132
+ }
133
+ /**
134
+ * 发送请求并等待响应
135
+ * @param type 消息类型(字符串或数字)
136
+ * @param message 消息内容
137
+ */
138
+ async request(type, message = {}) {
139
+ // 直接发送,Client.request 现在支持字符串和数字类型
140
+ return this.client.request(type, message, this.id);
141
+ }
142
+ /**
143
+ * 离开房间
144
+ */
145
+ async leave(consented = true) {
146
+ if (!this.hasJoined)
147
+ return;
148
+ try {
149
+ await this.client.request(MessageType.MSG_ROOM_LEAVE, {
150
+ roomId: this.id
151
+ });
152
+ this.hasJoined = false;
153
+ this.triggerEvent('leave', consented ? 1000 : 4000);
154
+ }
155
+ catch (error) {
156
+ this.triggerEvent('error', 4000, error.message);
157
+ throw error;
158
+ }
159
+ finally {
160
+ this.dispose();
161
+ // 从Client的房间列表中移除
162
+ this.client.removeRoom(this.id);
163
+ }
164
+ }
165
+ /**
166
+ * 移除所有监听器
167
+ */
168
+ removeAllListeners() {
169
+ this.eventHandlers.clear();
170
+ this.messageHandlers.clear();
171
+ }
172
+ /**
173
+ * 清理资源(内部使用)
174
+ */
175
+ dispose() {
176
+ this.removeAllListeners();
177
+ this._state = null;
178
+ this.hasJoined = false;
179
+ }
180
+ /**
181
+ * 处理接收到的消息(内部使用)
182
+ * 支持 msgType(字符串)和 msgId(数字)双格式
183
+ */
184
+ handleMessage(msgType, msgId, payload) {
185
+ // 使用 msgType 优先,然后回退到 msgId
186
+ const isStateFull = msgType === MessageType.MSG_STATE_FULL || msgId === MessageId.STATE_FULL;
187
+ const isStateDelta = msgType === MessageType.MSG_STATE_DELTA || msgId === MessageId.STATE_DELTA;
188
+ const isPlayerJoined = msgType === MessageType.MSG_PLAYER_JOINED || msgId === MessageId.PLAYER_JOINED;
189
+ const isPlayerLeft = msgType === MessageType.MSG_PLAYER_LEFT || msgId === MessageId.PLAYER_LEFT;
190
+ const isRoomClosing = msgType === MessageType.MSG_ROOM_CLOSING || msgId === MessageId.ROOM_CLOSING;
191
+ const isError = msgType === MessageType.MSG_ERROR || msgId === MessageId.ERROR;
192
+ // 特殊消息处理
193
+ if (isStateFull) {
194
+ // 支持二进制编码和 JSON 两种格式
195
+ if (payload.binary && payload.data) {
196
+ // 二进制编码格式(来自 @roomkit/state encode)
197
+ this.triggerEvent('binaryState', {
198
+ data: new Uint8Array(payload.data),
199
+ compressed: payload.compressed,
200
+ originalSize: payload.originalSize,
201
+ });
202
+ // 同时设置一个占位状态,实际解码由业务层处理
203
+ if (!this.hasJoined) {
204
+ this.hasJoined = true;
205
+ this.triggerEvent('join');
206
+ }
207
+ }
208
+ else {
209
+ // JSON 格式(向后兼容)
210
+ this.setState(payload.state || payload);
211
+ if (!this.hasJoined) {
212
+ this.hasJoined = true;
213
+ this.triggerEvent('join');
214
+ }
215
+ }
216
+ return;
217
+ }
218
+ if (isStateDelta) {
219
+ // 增量更新(可选实现)
220
+ this.applyStateDelta(payload.delta || payload);
221
+ return;
222
+ }
223
+ if (isPlayerJoined || isPlayerLeft) {
224
+ // 触发通用消息事件
225
+ this.triggerMessage(msgType || msgId, payload);
226
+ return;
227
+ }
228
+ if (isRoomClosing) {
229
+ // 房间关闭
230
+ this.hasJoined = false;
231
+ this.triggerEvent('leave', 4000);
232
+ this.triggerMessage(msgType || msgId, payload);
233
+ this.dispose();
234
+ return;
235
+ }
236
+ if (isError) {
237
+ // 错误消息
238
+ this.triggerEvent('error', payload.code || 5000, payload.message || 'Unknown error');
239
+ return;
240
+ }
241
+ // 自定义游戏消息
242
+ this.triggerMessage(msgType || msgId, payload);
243
+ }
244
+ /**
245
+ * 通用事件监听
246
+ */
247
+ on(event, callback) {
248
+ let handlers = this.eventHandlers.get(event);
249
+ if (!handlers) {
250
+ handlers = new Set();
251
+ this.eventHandlers.set(event, handlers);
252
+ }
253
+ handlers.add(callback);
254
+ return () => {
255
+ handlers?.delete(callback);
256
+ };
257
+ }
258
+ /**
259
+ * 触发事件
260
+ */
261
+ triggerEvent(event, ...args) {
262
+ const handlers = this.eventHandlers.get(event);
263
+ if (handlers) {
264
+ handlers.forEach(handler => {
265
+ try {
266
+ handler(...args);
267
+ }
268
+ catch (e) {
269
+ console.error(`[Room] Error in ${event} handler:`, e);
270
+ }
271
+ });
272
+ }
273
+ }
274
+ /**
275
+ * 触发消息事件
276
+ */
277
+ /**
278
+ * 触发消息事件
279
+ * @param type 消息类型(字符串或数字)
280
+ */
281
+ triggerMessage(type, payload) {
282
+ // 按类型查找处理器
283
+ const handlers = this.messageHandlers.get(type);
284
+ if (handlers) {
285
+ handlers.forEach(handler => {
286
+ try {
287
+ handler(payload);
288
+ }
289
+ catch (e) {
290
+ console.error(`[Room] Error in message handler:`, e);
291
+ }
292
+ });
293
+ }
294
+ // 通用消息事件
295
+ this.triggerEvent('message', type, payload);
296
+ }
297
+ /**
298
+ * 应用状态增量更新
299
+ */
300
+ applyStateDelta(delta) {
301
+ if (!this._state)
302
+ return;
303
+ // 如果delta包含 patches 数组(JSON Patch 格式)
304
+ if (delta.patches && Array.isArray(delta.patches)) {
305
+ this.applyPatches(delta.patches);
306
+ return;
307
+ }
308
+ // 否则使用简单的深度合并策略
309
+ this._state = this.deepMerge(this._state, delta);
310
+ this.triggerEvent('stateChange', this._state);
311
+ }
312
+ /**
313
+ * 应用 JSON Patch 操作
314
+ */
315
+ applyPatches(patches) {
316
+ if (!this._state)
317
+ return;
318
+ for (const patch of patches) {
319
+ const parts = patch.path.split('/').filter(p => p);
320
+ if (parts.length === 0)
321
+ continue;
322
+ // 导航到父对象
323
+ let current = this._state;
324
+ for (let i = 0; i < parts.length - 1; i++) {
325
+ const part = parts[i];
326
+ if (!(part in current)) {
327
+ current[part] = {};
328
+ }
329
+ current = current[part];
330
+ }
331
+ const lastPart = parts[parts.length - 1];
332
+ // 应用操作
333
+ switch (patch.op) {
334
+ case 'add':
335
+ case 'replace':
336
+ if (current instanceof Map) {
337
+ current.set(lastPart, patch.value);
338
+ }
339
+ else if (Array.isArray(current)) {
340
+ const index = parseInt(lastPart);
341
+ if (!isNaN(index)) {
342
+ current[index] = patch.value;
343
+ }
344
+ }
345
+ else {
346
+ current[lastPart] = patch.value;
347
+ }
348
+ break;
349
+ case 'remove':
350
+ if (current instanceof Map) {
351
+ current.delete(lastPart);
352
+ }
353
+ else if (Array.isArray(current)) {
354
+ const index = parseInt(lastPart);
355
+ if (!isNaN(index)) {
356
+ current.splice(index, 1);
357
+ }
358
+ }
359
+ else {
360
+ delete current[lastPart];
361
+ }
362
+ break;
363
+ }
364
+ }
365
+ this.triggerEvent('stateChange', this._state);
366
+ }
367
+ /**
368
+ * 深度合并对象
369
+ */
370
+ deepMerge(target, source) {
371
+ if (typeof source !== 'object' || source === null) {
372
+ return source;
373
+ }
374
+ const result = Array.isArray(target) ? [...target] : { ...target };
375
+ for (const key in source) {
376
+ if (typeof source[key] === 'object' && source[key] !== null) {
377
+ result[key] = this.deepMerge(result[key] || {}, source[key]);
378
+ }
379
+ else {
380
+ result[key] = source[key];
381
+ }
382
+ }
383
+ return result;
384
+ }
385
+ }
386
+ //# sourceMappingURL=Room.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Room.js","sourceRoot":"","sources":["../src/Room.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @roomkit/client - Client SDK for Gateway-Worker Framework
3
+ *
4
+ * A TypeScript client SDK inspired by Colyseus, providing an elegant API
5
+ * for connecting to Gateway-Worker game servers.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { Client } from '@roomkit/client';
10
+ *
11
+ * // Create client
12
+ * const client = new Client('ws://localhost:27100/ws');
13
+ *
14
+ * // Connect and authenticate
15
+ * await client.auth('player-token');
16
+ *
17
+ * // Join or create a room
18
+ * const room = await client.joinOrCreate<MyGameState>('poker', {
19
+ * maxPlayers: 6
20
+ * });
21
+ *
22
+ * // Listen to state changes
23
+ * room.onStateChange((state) => {
24
+ * console.log('New state:', state);
25
+ * });
26
+ *
27
+ * // Listen to custom messages
28
+ * room.onMessage('player_action', (message) => {
29
+ * console.log('Player action:', message);
30
+ * });
31
+ *
32
+ * // Send messages
33
+ * room.send('my_action', { type: 'move', x: 10, y: 20 });
34
+ *
35
+ * // Leave room
36
+ * await room.leave();
37
+ * ```
38
+ */
39
+ export { Client, ClientOptions, ConnectionState } from './Client';
40
+ export { Room, RoomOptions } from './Room';
41
+ export type { RoomState, PlayerInfo, AvailableRoom, ErrorResponse, WsMessage, AuthResponse, CreateRoomResponse, JoinRoomResponse, JoinOrCreateResponse, RoomListResponse, ReconnectInfo, } from './types';
42
+ export { MessageId } from '@roomkit/core';
43
+ export { Client as default } from './Client';
44
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAGH,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG3C,YAAY,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,aAAa,EACb,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,GACd,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @roomkit/client - Client SDK for Gateway-Worker Framework
3
+ *
4
+ * A TypeScript client SDK inspired by Colyseus, providing an elegant API
5
+ * for connecting to Gateway-Worker game servers.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { Client } from '@roomkit/client';
10
+ *
11
+ * // Create client
12
+ * const client = new Client('ws://localhost:27100/ws');
13
+ *
14
+ * // Connect and authenticate
15
+ * await client.auth('player-token');
16
+ *
17
+ * // Join or create a room
18
+ * const room = await client.joinOrCreate<MyGameState>('poker', {
19
+ * maxPlayers: 6
20
+ * });
21
+ *
22
+ * // Listen to state changes
23
+ * room.onStateChange((state) => {
24
+ * console.log('New state:', state);
25
+ * });
26
+ *
27
+ * // Listen to custom messages
28
+ * room.onMessage('player_action', (message) => {
29
+ * console.log('Player action:', message);
30
+ * });
31
+ *
32
+ * // Send messages
33
+ * room.send('my_action', { type: 'move', x: 10, y: 20 });
34
+ *
35
+ * // Leave room
36
+ * await room.leave();
37
+ * ```
38
+ */
39
+ // Core classes
40
+ export { Client } from './Client';
41
+ export { Room } from './Room';
42
+ // Re-export MessageId from core
43
+ export { MessageId } from '@roomkit/core';
44
+ // Default export
45
+ export { Client as default } from './Client';
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,eAAe;AACf,OAAO,EAAE,MAAM,EAAkC,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,IAAI,EAAe,MAAM,QAAQ,CAAC;AAiB3C,gCAAgC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,iBAAiB;AACjB,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC"}