@threejs-shared/protobuf 0.1.2 → 0.1.4

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.
@@ -0,0 +1,302 @@
1
+ /**
2
+ * WebSocket 连接状态
3
+ */
4
+ export var WebSocketStatus;
5
+ (function (WebSocketStatus) {
6
+ WebSocketStatus["CONNECTING"] = "CONNECTING";
7
+ WebSocketStatus["CONNECTED"] = "CONNECTED";
8
+ WebSocketStatus["DISCONNECTING"] = "DISCONNECTING";
9
+ WebSocketStatus["DISCONNECTED"] = "DISCONNECTED";
10
+ WebSocketStatus["ERROR"] = "ERROR";
11
+ })(WebSocketStatus || (WebSocketStatus = {}));
12
+ /**
13
+ * 消息发送格式
14
+ */
15
+ export var MessageFormat;
16
+ (function (MessageFormat) {
17
+ /** JSON 格式 */
18
+ MessageFormat["JSON"] = "JSON";
19
+ /** Protobuf 二进制格式 */
20
+ MessageFormat["PROTOBUF"] = "PROTOBUF";
21
+ /** 原始字符串格式 */
22
+ MessageFormat["STRING"] = "STRING";
23
+ })(MessageFormat || (MessageFormat = {}));
24
+ /**
25
+ * WebSocket 管理器,用于管理基于 Protobuf 的 WebSocket 连接
26
+ */
27
+ export class WebSocketManager {
28
+ constructor(wsUrl, protobufType, options) {
29
+ var _a, _b, _c, _d;
30
+ this.socket = null;
31
+ this.MessagePb = null;
32
+ this.status = WebSocketStatus.DISCONNECTED;
33
+ this.reconnectAttempts = 0;
34
+ this.reconnectTimer = null;
35
+ this.callbacks = {};
36
+ this.wsUrl = wsUrl;
37
+ this.MessagePb = protobufType;
38
+ this.options = {
39
+ autoReconnect: (_a = options === null || options === void 0 ? void 0 : options.autoReconnect) !== null && _a !== void 0 ? _a : false,
40
+ reconnectDelay: (_b = options === null || options === void 0 ? void 0 : options.reconnectDelay) !== null && _b !== void 0 ? _b : 3000,
41
+ maxReconnectAttempts: (_c = options === null || options === void 0 ? void 0 : options.maxReconnectAttempts) !== null && _c !== void 0 ? _c : 5,
42
+ enableLog: (_d = options === null || options === void 0 ? void 0 : options.enableLog) !== null && _d !== void 0 ? _d : true
43
+ };
44
+ }
45
+ /**
46
+ * 连接 WebSocket
47
+ * @param callbacks 事件回调
48
+ */
49
+ connect(callbacks) {
50
+ var _a, _b;
51
+ if (this.socket && this.status === WebSocketStatus.CONNECTED) {
52
+ this.log('WebSocket is already connected');
53
+ return;
54
+ }
55
+ // 保存回调
56
+ if (callbacks) {
57
+ this.callbacks = { ...this.callbacks, ...callbacks };
58
+ }
59
+ // 清理之前的连接
60
+ this.cleanup();
61
+ try {
62
+ this.status = WebSocketStatus.CONNECTING;
63
+ this.socket = new WebSocket(this.wsUrl);
64
+ this.setupEventListeners();
65
+ }
66
+ catch (error) {
67
+ this.status = WebSocketStatus.ERROR;
68
+ this.log('Failed to create WebSocket:', error);
69
+ (_b = (_a = this.callbacks).onError) === null || _b === void 0 ? void 0 : _b.call(_a, error);
70
+ throw error;
71
+ }
72
+ }
73
+ /**
74
+ * 设置事件监听器
75
+ */
76
+ setupEventListeners() {
77
+ if (!this.socket)
78
+ return;
79
+ this.socket.addEventListener('open', () => {
80
+ var _a, _b;
81
+ this.status = WebSocketStatus.CONNECTED;
82
+ this.reconnectAttempts = 0;
83
+ this.log('WebSocket connected');
84
+ (_b = (_a = this.callbacks).onOpen) === null || _b === void 0 ? void 0 : _b.call(_a);
85
+ });
86
+ this.socket.addEventListener('message', async (event) => {
87
+ var _a, _b, _c, _d;
88
+ if (!this.MessagePb) {
89
+ this.log('Protobuf type is not set');
90
+ return;
91
+ }
92
+ try {
93
+ const blob = event.data;
94
+ const buffer = await blob.arrayBuffer();
95
+ const data = new Uint8Array(buffer);
96
+ const receivedMessage = this.MessagePb.decode(data);
97
+ (_b = (_a = this.callbacks).onMessage) === null || _b === void 0 ? void 0 : _b.call(_a, receivedMessage);
98
+ }
99
+ catch (error) {
100
+ this.log('Failed to decode message:', error);
101
+ (_d = (_c = this.callbacks).onError) === null || _d === void 0 ? void 0 : _d.call(_c, error);
102
+ }
103
+ });
104
+ this.socket.addEventListener('error', (error) => {
105
+ var _a, _b;
106
+ this.status = WebSocketStatus.ERROR;
107
+ this.log('WebSocket error:', error);
108
+ (_b = (_a = this.callbacks).onError) === null || _b === void 0 ? void 0 : _b.call(_a, error);
109
+ // 如果启用了自动重连,尝试重连
110
+ if (this.options.autoReconnect && this.reconnectAttempts < this.options.maxReconnectAttempts) {
111
+ this.scheduleReconnect();
112
+ }
113
+ });
114
+ this.socket.addEventListener('close', (event) => {
115
+ var _a, _b;
116
+ this.status = WebSocketStatus.DISCONNECTED;
117
+ this.log('WebSocket closed', { code: event.code, reason: event.reason });
118
+ (_b = (_a = this.callbacks).onClose) === null || _b === void 0 ? void 0 : _b.call(_a, event);
119
+ // 如果启用了自动重连且不是主动关闭,尝试重连
120
+ if (this.options.autoReconnect &&
121
+ this.reconnectAttempts < this.options.maxReconnectAttempts &&
122
+ event.code !== 1000 // 1000 表示正常关闭
123
+ ) {
124
+ this.scheduleReconnect();
125
+ }
126
+ });
127
+ }
128
+ /**
129
+ * 发送消息
130
+ * @param message 要发送的消息对象或字符串
131
+ * @param format 消息格式,默认为 Protobuf 格式
132
+ * @throws 如果连接未建立或消息验证失败
133
+ */
134
+ send(message, format = MessageFormat.PROTOBUF) {
135
+ if (!this.socket || this.status !== WebSocketStatus.CONNECTED) {
136
+ throw new Error('WebSocket is not connected');
137
+ }
138
+ try {
139
+ if (format === MessageFormat.STRING) {
140
+ // 原始字符串格式发送,直接发送字符串
141
+ if (typeof message !== 'string') {
142
+ throw new Error('STRING format requires a string message');
143
+ }
144
+ this.socket.send(message);
145
+ this.log('Message sent (STRING):', message);
146
+ }
147
+ else if (format === MessageFormat.JSON) {
148
+ // JSON 格式发送
149
+ if (typeof message === 'string') {
150
+ // 如果是字符串,直接发送(假设已经是 JSON 字符串)
151
+ this.socket.send(message);
152
+ this.log('Message sent (JSON):', message);
153
+ }
154
+ else {
155
+ // 如果是对象,序列化为 JSON 字符串
156
+ const jsonString = JSON.stringify(message);
157
+ this.socket.send(jsonString);
158
+ this.log('Message sent (JSON):', message);
159
+ }
160
+ }
161
+ else {
162
+ // Protobuf 格式发送
163
+ if (!this.MessagePb) {
164
+ throw new Error('Protobuf type is not set');
165
+ }
166
+ // 如果传入的是字符串,解析为对象
167
+ let messageObj;
168
+ if (typeof message === 'string') {
169
+ try {
170
+ messageObj = JSON.parse(message);
171
+ }
172
+ catch (error) {
173
+ throw new Error(`Invalid JSON string for Protobuf: ${error}`);
174
+ }
175
+ }
176
+ else {
177
+ messageObj = message;
178
+ }
179
+ // 验证数据是否符合 Protobuf 定义
180
+ const errMsg = this.MessagePb.verify(messageObj);
181
+ if (errMsg) {
182
+ throw new Error(`Message verification failed: ${errMsg}`);
183
+ }
184
+ // 创建 Protobuf 消息
185
+ const msg = this.MessagePb.create(messageObj);
186
+ // 序列化消息为二进制格式
187
+ const buffer = this.MessagePb.encode(msg).finish();
188
+ // 通过 WebSocket 发送二进制数据
189
+ this.socket.send(buffer);
190
+ this.log('Message sent (Protobuf):', messageObj);
191
+ }
192
+ }
193
+ catch (error) {
194
+ this.log('Failed to send message:', error);
195
+ throw error;
196
+ }
197
+ }
198
+ /**
199
+ * 断开连接
200
+ * @param code 关闭代码
201
+ * @param reason 关闭原因
202
+ */
203
+ disconnect(code, reason) {
204
+ if (this.socket) {
205
+ this.status = WebSocketStatus.DISCONNECTING;
206
+ this.socket.close(code !== null && code !== void 0 ? code : 1000, reason);
207
+ this.cleanup();
208
+ this.status = WebSocketStatus.DISCONNECTED;
209
+ }
210
+ }
211
+ /**
212
+ * 获取当前连接状态
213
+ */
214
+ getStatus() {
215
+ return this.status;
216
+ }
217
+ /**
218
+ * 检查是否已连接
219
+ */
220
+ isConnected() {
221
+ var _a;
222
+ return this.status === WebSocketStatus.CONNECTED &&
223
+ ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === WebSocket.OPEN;
224
+ }
225
+ /**
226
+ * 设置 Protobuf 类型
227
+ */
228
+ setProtobufType(protobufType) {
229
+ this.MessagePb = protobufType;
230
+ }
231
+ /**
232
+ * 更新回调函数
233
+ */
234
+ updateCallbacks(callbacks) {
235
+ this.callbacks = { ...this.callbacks, ...callbacks };
236
+ }
237
+ /**
238
+ * 计划重连
239
+ */
240
+ scheduleReconnect() {
241
+ var _a, _b;
242
+ if (this.reconnectTimer) {
243
+ clearTimeout(this.reconnectTimer);
244
+ }
245
+ this.reconnectAttempts++;
246
+ this.log(`Scheduling reconnect attempt ${this.reconnectAttempts}/${this.options.maxReconnectAttempts}`);
247
+ (_b = (_a = this.callbacks).onReconnect) === null || _b === void 0 ? void 0 : _b.call(_a, this.reconnectAttempts);
248
+ this.reconnectTimer = setTimeout(() => {
249
+ this.log(`Reconnecting... (attempt ${this.reconnectAttempts})`);
250
+ try {
251
+ this.socket = new WebSocket(this.wsUrl);
252
+ this.setupEventListeners();
253
+ }
254
+ catch (error) {
255
+ this.log('Reconnect failed:', error);
256
+ if (this.reconnectAttempts < this.options.maxReconnectAttempts) {
257
+ this.scheduleReconnect();
258
+ }
259
+ }
260
+ }, this.options.reconnectDelay);
261
+ }
262
+ /**
263
+ * 清理资源
264
+ */
265
+ cleanup() {
266
+ if (this.reconnectTimer) {
267
+ clearTimeout(this.reconnectTimer);
268
+ this.reconnectTimer = null;
269
+ }
270
+ if (this.socket) {
271
+ // 移除所有事件监听器
272
+ this.socket.onopen = null;
273
+ this.socket.onmessage = null;
274
+ this.socket.onerror = null;
275
+ this.socket.onclose = null;
276
+ // 如果连接还在,关闭它
277
+ if (this.socket.readyState === WebSocket.OPEN ||
278
+ this.socket.readyState === WebSocket.CONNECTING) {
279
+ this.socket.close();
280
+ }
281
+ this.socket = null;
282
+ }
283
+ }
284
+ /**
285
+ * 日志输出
286
+ */
287
+ log(...args) {
288
+ if (this.options.enableLog) {
289
+ console.log('[WebSocketManager]', ...args);
290
+ }
291
+ }
292
+ /**
293
+ * 销毁实例,清理所有资源
294
+ */
295
+ destroy() {
296
+ this.disconnect();
297
+ this.callbacks = {};
298
+ this.MessagePb = null;
299
+ this.reconnectAttempts = 0;
300
+ }
301
+ }
302
+ //# sourceMappingURL=WebSocketManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebSocketManager.js","sourceRoot":"","sources":["../src/WebSocketManager.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
- import { ProtoBufManager } from './ProtoBufManager'
2
- import { WebSocketManager, WebSocketStatus, MessageFormat } from './WebSocketManager'
3
- import { ProtobufWebSocketClient } from './ProtobufWebSocketClient'
4
- import { ProtobufPlaybackClient } from './ProtobufPlaybackClient'
5
- import type { WebSocketManagerOptions, WebSocketCallbacks } from './WebSocketManager'
6
- import type { ProtobufWebSocketClientConfig } from './ProtobufWebSocketClient'
7
- import type { ProtobufPlaybackClientConfig, ProtobufPlaybackCallbacks } from './ProtobufPlaybackClient'
8
- import type { ProtoBufManagerOptions } from './ProtoBufManager'
9
- import { TimerManager } from './TimerManager'
10
- export { ProtoBufManager, WebSocketManager, WebSocketStatus, MessageFormat, ProtobufWebSocketClient, ProtobufPlaybackClient, TimerManager }
11
- export type { Type as ProtobufType } from 'protobufjs'
12
- export type { WebSocketManagerOptions, WebSocketCallbacks, ProtobufWebSocketClientConfig, ProtobufPlaybackClientConfig, ProtobufPlaybackCallbacks, ProtoBufManagerOptions }
13
-
1
+ import { ProtoBufManager } from './ProtoBufManager';
2
+ import { WebSocketManager, WebSocketStatus, MessageFormat } from './WebSocketManager';
3
+ import { ProtobufWebSocketClient } from './ProtobufWebSocketClient';
4
+ import { ProtobufPlaybackClient } from './ProtobufPlaybackClient';
5
+ import type { WebSocketManagerOptions, WebSocketCallbacks } from './WebSocketManager';
6
+ import type { ProtobufWebSocketClientConfig } from './ProtobufWebSocketClient';
7
+ import type { ProtobufPlaybackClientConfig, ProtobufPlaybackCallbacks } from './ProtobufPlaybackClient';
8
+ import type { ProtoBufManagerOptions } from './ProtoBufManager';
9
+ import { TimerManager } from './TimerManager';
10
+ export { ProtoBufManager, WebSocketManager, WebSocketStatus, MessageFormat, ProtobufWebSocketClient, ProtobufPlaybackClient, TimerManager };
11
+ export type { ProtobufType } from './types';
12
+ export type { WebSocketManagerOptions, WebSocketCallbacks, ProtobufWebSocketClientConfig, ProtobufPlaybackClientConfig, ProtobufPlaybackCallbacks, ProtoBufManagerOptions };
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAA;AAC9E,OAAO,KAAK,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AACvG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,YAAY,EAAE,CAAA;AAC3I,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC3C,YAAY,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ import { ProtoBufManager } from './ProtoBufManager';
2
+ import { WebSocketManager, WebSocketStatus, MessageFormat } from './WebSocketManager';
3
+ import { ProtobufWebSocketClient } from './ProtobufWebSocketClient';
4
+ import { ProtobufPlaybackClient } from './ProtobufPlaybackClient';
5
+ import { TimerManager } from './TimerManager';
6
+ export { ProtoBufManager, WebSocketManager, WebSocketStatus, MessageFormat, ProtobufWebSocketClient, ProtobufPlaybackClient, TimerManager };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAKjE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,YAAY,EAAE,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { Type } from 'protobufjs';
2
+ export type ProtobufType = Type;
3
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACtC,MAAM,MAAM,YAAY,GAAG,IAAI,CAAA"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,25 +1,25 @@
1
1
  {
2
2
  "name": "@threejs-shared/protobuf",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Protobuf manager for loading and parsing proto files",
5
5
  "type": "module",
6
- "main": "src/index.ts",
7
- "types": "src/index.ts",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
8
  "exports": {
9
9
  ".": {
10
- "types": "./src/index.ts",
11
- "import": "./src/index.ts",
12
- "default": "./src/index.ts"
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js",
12
+ "default": "./dist/index.js"
13
13
  }
14
14
  },
15
15
  "files": [
16
- "src"
16
+ "dist"
17
17
  ],
18
18
  "dependencies": {
19
19
  "protobufjs": "^7.0.0",
20
- "@threejs-shared/xodr": "0.1.1"
20
+ "@threejs-shared/xodr": "0.1.3"
21
21
  },
22
22
  "scripts": {
23
- "build": "tsc --noEmit"
23
+ "build": "tsc -p tsconfig.json"
24
24
  }
25
25
  }