@bytesocket/client
Advanced tools
+550
-480
| Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | ||
| let _bytesocket_core = require("@bytesocket/core"); | ||
| //#region src/lifecycle.ts | ||
| var Lifecycle = class { | ||
| _onLifecycle; | ||
| _offLifecycle; | ||
| _onceLifecycle; | ||
| constructor(_onLifecycle, _offLifecycle, _onceLifecycle) { | ||
| this._onLifecycle = _onLifecycle; | ||
| this._offLifecycle = _offLifecycle; | ||
| this._onceLifecycle = _onceLifecycle; | ||
| } | ||
| onOpen(callback) { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.open, callback); | ||
| return this; | ||
| } | ||
| offOpen(callback) { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.open, callback); | ||
| return this; | ||
| } | ||
| onceOpen(callback) { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.open, callback); | ||
| return this; | ||
| } | ||
| onMessage(callback) { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.message, callback); | ||
| return this; | ||
| } | ||
| offMessage(callback) { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.message, callback); | ||
| return this; | ||
| } | ||
| onceMessage(callback) { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.message, callback); | ||
| return this; | ||
| } | ||
| onClose(callback) { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.close, callback); | ||
| return this; | ||
| } | ||
| offClose(callback) { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.close, callback); | ||
| return this; | ||
| } | ||
| onceClose(callback) { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.close, callback); | ||
| return this; | ||
| } | ||
| onError(callback) { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.error, callback); | ||
| return this; | ||
| } | ||
| offError(callback) { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.error, callback); | ||
| return this; | ||
| } | ||
| onceError(callback) { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.error, callback); | ||
| return this; | ||
| } | ||
| onAuthSuccess(callback) { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.auth_success, callback); | ||
| return this; | ||
| } | ||
| offAuthSuccess(callback) { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.auth_success, callback); | ||
| return this; | ||
| } | ||
| onceAuthSuccess(callback) { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.auth_success, callback); | ||
| return this; | ||
| } | ||
| onAuthError(callback) { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.auth_error, callback); | ||
| return this; | ||
| } | ||
| offAuthError(callback) { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.auth_error, callback); | ||
| return this; | ||
| } | ||
| onceAuthError(callback) { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.auth_error, callback); | ||
| return this; | ||
| } | ||
| onQueueFull(callback) { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.queue_full, callback); | ||
| return this; | ||
| } | ||
| offQueueFull(callback) { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.queue_full, callback); | ||
| return this; | ||
| } | ||
| onceQueueFull(callback) { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.queue_full, callback); | ||
| return this; | ||
| } | ||
| onReconnectFailed(callback) { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.reconnect_failed, callback); | ||
| return this; | ||
| } | ||
| offReconnectFailed(callback) { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.reconnect_failed, callback); | ||
| return this; | ||
| } | ||
| onceReconnectFailed(callback) { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.reconnect_failed, callback); | ||
| return this; | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/rooms-bulk-lifecycle.ts | ||
| var RoomsBulkLifecycle = class { | ||
| _onLifecycle; | ||
| _offLifecycle; | ||
| _onceLifecycle; | ||
| constructor(_onLifecycle, _offLifecycle, _onceLifecycle) { | ||
| this._onLifecycle = _onLifecycle; | ||
| this._offLifecycle = _offLifecycle; | ||
| this._onceLifecycle = _onceLifecycle; | ||
| } | ||
| onJoinSuccess(callback) { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.join_rooms_success, callback); | ||
| return this; | ||
| } | ||
| offJoinSuccess(callback) { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.join_rooms_success, callback); | ||
| return this; | ||
| } | ||
| onceJoinSuccess(callback) { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.join_rooms_success, callback); | ||
| return this; | ||
| } | ||
| onJoinError(callback) { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.join_rooms_error, callback); | ||
| return this; | ||
| } | ||
| offJoinError(callback) { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.join_rooms_error, callback); | ||
| return this; | ||
| } | ||
| onceJoinError(callback) { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.join_rooms_error, callback); | ||
| return this; | ||
| } | ||
| onLeaveSuccess(callback) { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.leave_rooms_success, callback); | ||
| return this; | ||
| } | ||
| offLeaveSuccess(callback) { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.leave_rooms_success, callback); | ||
| return this; | ||
| } | ||
| onceLeaveSuccess(callback) { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.leave_rooms_success, callback); | ||
| return this; | ||
| } | ||
| onLeaveError(callback) { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.leave_rooms_error, callback); | ||
| return this; | ||
| } | ||
| offLeaveError(callback) { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.leave_rooms_error, callback); | ||
| return this; | ||
| } | ||
| onceLeaveError(callback) { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.leave_rooms_error, callback); | ||
| return this; | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/rooms-bulk.ts | ||
| var RoomsBulk = class { | ||
| _debug; | ||
| getOrCreateRoomState; | ||
| send; | ||
| lifecycle; | ||
| constructor(_debug, _onLifecycle, _offLifecycle, _onceLifecycle, getOrCreateRoomState, send) { | ||
| this._debug = _debug; | ||
| this.getOrCreateRoomState = getOrCreateRoomState; | ||
| this.send = send; | ||
| this.lifecycle = new RoomsBulkLifecycle(_onLifecycle, _offLifecycle, _onceLifecycle); | ||
| } | ||
| emit(rooms, event, data) { | ||
| this.send({ | ||
| rooms, | ||
| event, | ||
| data | ||
| }); | ||
| return this; | ||
| } | ||
| join(rooms) { | ||
| if (rooms.length === 0) { | ||
| if (this._debug) console.warn("ByteSocket: can't join empty array of rooms - ignored"); | ||
| return this; | ||
| } | ||
| const toJoin = []; | ||
| for (const room of rooms) { | ||
| const state = this.getOrCreateRoomState(room); | ||
| if (state.joined || state.pending === "join") continue; | ||
| state.wanted = true; | ||
| state.pending = "join"; | ||
| toJoin.push(room); | ||
| } | ||
| if (toJoin.length === 0) { | ||
| if (this._debug) console.warn("ByteSocket: all rooms you requested to join are joined or pending joining already - ignored"); | ||
| return this; | ||
| } | ||
| this.send({ | ||
| type: _bytesocket_core.LifecycleTypes.join_rooms, | ||
| rooms: toJoin | ||
| }); | ||
| return this; | ||
| } | ||
| leave(rooms) { | ||
| if (rooms.length === 0) { | ||
| if (this._debug) console.warn("ByteSocket: can't leave empty array of rooms - ignored"); | ||
| return this; | ||
| } | ||
| const toLeave = []; | ||
| for (const room of rooms) { | ||
| const state = this.getOrCreateRoomState(room); | ||
| if (!state.joined || state.pending === "leave") continue; | ||
| state.wanted = false; | ||
| state.pending = "leave"; | ||
| toLeave.push(room); | ||
| } | ||
| if (toLeave.length === 0) { | ||
| if (this._debug) console.warn("ByteSocket: all rooms you requested to leave are left or pending leaving already - ignored"); | ||
| return this; | ||
| } | ||
| this.send({ | ||
| type: _bytesocket_core.LifecycleTypes.leave_rooms, | ||
| rooms: toLeave | ||
| }); | ||
| return this; | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/rooms-lifecycle.ts | ||
| var RoomsLifecycle = class { | ||
| _onLifecycle; | ||
| _offLifecycle; | ||
| _onceLifecycle; | ||
| constructor(_onLifecycle, _offLifecycle, _onceLifecycle) { | ||
| this._onLifecycle = _onLifecycle; | ||
| this._offLifecycle = _offLifecycle; | ||
| this._onceLifecycle = _onceLifecycle; | ||
| } | ||
| onJoinSuccess(callback) { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.join_room_success, callback); | ||
| return this; | ||
| } | ||
| offJoinSuccess(callback) { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.join_room_success, callback); | ||
| return this; | ||
| } | ||
| onceJoinSuccess(callback) { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.join_room_success, callback); | ||
| return this; | ||
| } | ||
| onJoinError(callback) { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.join_room_error, callback); | ||
| return this; | ||
| } | ||
| offJoinError(callback) { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.join_room_error, callback); | ||
| return this; | ||
| } | ||
| onceJoinError(callback) { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.join_room_error, callback); | ||
| return this; | ||
| } | ||
| onLeaveSuccess(callback) { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.leave_room_success, callback); | ||
| return this; | ||
| } | ||
| offLeaveSuccess(callback) { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.leave_room_success, callback); | ||
| return this; | ||
| } | ||
| onceLeaveSuccess(callback) { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.leave_room_success, callback); | ||
| return this; | ||
| } | ||
| onLeaveError(callback) { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.leave_room_error, callback); | ||
| return this; | ||
| } | ||
| offLeaveError(callback) { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.leave_room_error, callback); | ||
| return this; | ||
| } | ||
| onceLeaveError(callback) { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.leave_room_error, callback); | ||
| return this; | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/rooms.ts | ||
| var Rooms = class { | ||
| _debug; | ||
| _roomCallbacksMap; | ||
| _lifecycleCallbacksMap; | ||
| _triggerCallbacks; | ||
| _onRoom; | ||
| _offRoom; | ||
| _onceRoom; | ||
| send; | ||
| lifecycle; | ||
| bulk; | ||
| #roomStateMap = /* @__PURE__ */ new Map(); | ||
| constructor(_debug, _roomCallbacksMap, _lifecycleCallbacksMap, _triggerCallbacks, _onRoom, _offRoom, _onceRoom, _onLifecycle, _offLifecycle, _onceLifecycle, send) { | ||
| this._debug = _debug; | ||
| this._roomCallbacksMap = _roomCallbacksMap; | ||
| this._lifecycleCallbacksMap = _lifecycleCallbacksMap; | ||
| this._triggerCallbacks = _triggerCallbacks; | ||
| this._onRoom = _onRoom; | ||
| this._offRoom = _offRoom; | ||
| this._onceRoom = _onceRoom; | ||
| this.send = send; | ||
| this.lifecycle = new RoomsLifecycle(_onLifecycle, _offLifecycle, _onceLifecycle); | ||
| this.bulk = new RoomsBulk(_debug, _onLifecycle, _offLifecycle, _onceLifecycle, this.#getOrCreateRoomState.bind(this), send); | ||
| } | ||
| list() { | ||
| return [...this.#roomStateMap].filter(([_room, state]) => state.joined).map(([room]) => room); | ||
| } | ||
| emit(room, event, data) { | ||
| this.send({ | ||
| room, | ||
| event, | ||
| data | ||
| }); | ||
| return this; | ||
| } | ||
| join(room) { | ||
| const state = this.#getOrCreateRoomState(room); | ||
| if (state.joined || state.pending === "join") return this; | ||
| state.wanted = true; | ||
| state.pending = "join"; | ||
| this.send({ | ||
| type: _bytesocket_core.LifecycleTypes.join_room, | ||
| room | ||
| }); | ||
| return this; | ||
| } | ||
| leave(room) { | ||
| const state = this.#getOrCreateRoomState(room); | ||
| if (!state.joined || state.pending === "leave") return this; | ||
| state.wanted = false; | ||
| state.pending = "leave"; | ||
| this.send({ | ||
| type: _bytesocket_core.LifecycleTypes.leave_room, | ||
| room | ||
| }); | ||
| return this; | ||
| } | ||
| on(room, event, callback) { | ||
| this._onRoom(room, event, callback); | ||
| return this; | ||
| } | ||
| off(room, event, callback) { | ||
| this._offRoom(room, event, callback); | ||
| return this; | ||
| } | ||
| once(room, event, callback) { | ||
| this._onceRoom(room, event, callback); | ||
| return this; | ||
| } | ||
| #getOrCreateRoomState(room) { | ||
| let state = this.#roomStateMap.get(room); | ||
| if (!state) { | ||
| state = { | ||
| wanted: false, | ||
| joined: false, | ||
| pending: null | ||
| }; | ||
| this.#roomStateMap.set(room, state); | ||
| } | ||
| return state; | ||
| } | ||
| #cleanRoomState(room) { | ||
| const state = this.#roomStateMap.get(room); | ||
| if (!state) return; | ||
| if (state.wanted === false && state.joined === false && state.pending === null) this.#roomStateMap.delete(room); | ||
| } | ||
| clear() { | ||
| this.#roomStateMap.clear(); | ||
| } | ||
| onOpen() { | ||
| const rooms = []; | ||
| const toClean = []; | ||
| for (const [room, state] of this.#roomStateMap) if (state.wanted && !state.joined) { | ||
| state.pending = "join"; | ||
| rooms.push(room); | ||
| } else if (!state.wanted && state.joined) { | ||
| state.pending = null; | ||
| state.joined = false; | ||
| toClean.push(room); | ||
| } | ||
| for (const room of toClean) this.#cleanRoomState(room); | ||
| if (rooms.length === 0) return; | ||
| if (rooms.length === 1) this.send({ | ||
| type: _bytesocket_core.LifecycleTypes.join_room, | ||
| room: rooms[0] | ||
| }); | ||
| else this.send({ | ||
| type: _bytesocket_core.LifecycleTypes.join_rooms, | ||
| rooms | ||
| }); | ||
| } | ||
| onClose() { | ||
| for (const state of this.#roomStateMap.values()) { | ||
| state.joined = false; | ||
| state.pending = null; | ||
| } | ||
| } | ||
| handleMessage(payload) { | ||
| if (this.#handleJoinRoomSuccessMessage(payload)) return true; | ||
| if (this.#handleLeaveRoomSuccessMessage(payload)) return true; | ||
| if (this.#handleRoomErrorMessage(payload)) return true; | ||
| if (this.#handleJoinRoomsSuccessMessage(payload)) return true; | ||
| if (this.#handleLeaveRoomsSuccessMessage(payload)) return true; | ||
| if (this.#handleRoomsErrorMessage(payload)) return true; | ||
| if (this.#handleRoomsEventMessage(payload)) return true; | ||
| if (this.#handleRoomEventMessage(payload)) return true; | ||
| return false; | ||
| } | ||
| #handleJoinRoomSuccessMessage(payload) { | ||
| if (!(0, _bytesocket_core.isLifecycleRoomMessage)(_bytesocket_core.LifecycleTypes.join_room_success, payload)) return false; | ||
| const state = this.#roomStateMap.get(payload.room); | ||
| if (!state) { | ||
| if (this._debug) console.warn(`ByteSocket: stale ${_bytesocket_core.LifecycleTypes[payload.type]} for "${payload.room}" - ignored`); | ||
| return true; | ||
| } | ||
| state.joined = true; | ||
| state.pending = null; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), payload.room); | ||
| return true; | ||
| } | ||
| #handleLeaveRoomSuccessMessage(payload) { | ||
| if (!(0, _bytesocket_core.isLifecycleRoomMessage)(_bytesocket_core.LifecycleTypes.leave_room_success, payload)) return false; | ||
| const state = this.#roomStateMap.get(payload.room); | ||
| if (!state) { | ||
| if (this._debug) console.warn(`ByteSocket: stale ${_bytesocket_core.LifecycleTypes[payload.type]} for "${payload.room}" - ignored`); | ||
| return true; | ||
| } | ||
| state.joined = false; | ||
| state.pending = null; | ||
| this.#cleanRoomState(payload.room); | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), payload.room); | ||
| return true; | ||
| } | ||
| #handleRoomErrorMessage(payload) { | ||
| if (!(0, _bytesocket_core.isLifecycleRoomErrorMessage)(payload)) return false; | ||
| const state = this.#roomStateMap.get(payload.room); | ||
| if (!state) { | ||
| if (this._debug) console.warn(`ByteSocket: stale ${_bytesocket_core.LifecycleTypes[payload.type]} for "${payload.room}" - ignored`); | ||
| return true; | ||
| } | ||
| state.pending = null; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), payload.room, payload.data); | ||
| return true; | ||
| } | ||
| #handleJoinRoomsSuccessMessage(payload) { | ||
| if (!(0, _bytesocket_core.isLifecycleRoomsMessage)(_bytesocket_core.LifecycleTypes.join_rooms_success, payload)) return false; | ||
| const staleRooms = []; | ||
| const actualRooms = []; | ||
| for (const room of payload.rooms) { | ||
| const state = this.#roomStateMap.get(room); | ||
| if (!state) { | ||
| staleRooms.push(room); | ||
| continue; | ||
| } | ||
| state.joined = true; | ||
| state.pending = null; | ||
| actualRooms.push(room); | ||
| } | ||
| if (this._debug && staleRooms.length) console.warn(`ByteSocket: stale ${_bytesocket_core.LifecycleTypes[payload.type]} for "${staleRooms.join(", ")}" - ignored`); | ||
| if (actualRooms.length === 0) return true; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), actualRooms); | ||
| return true; | ||
| } | ||
| #handleLeaveRoomsSuccessMessage(payload) { | ||
| if (!(0, _bytesocket_core.isLifecycleRoomsMessage)(_bytesocket_core.LifecycleTypes.leave_rooms_success, payload)) return false; | ||
| const staleRooms = []; | ||
| const actualRooms = []; | ||
| for (const room of payload.rooms) { | ||
| const state = this.#roomStateMap.get(room); | ||
| if (!state) { | ||
| staleRooms.push(room); | ||
| continue; | ||
| } | ||
| state.joined = false; | ||
| state.pending = null; | ||
| actualRooms.push(room); | ||
| this.#cleanRoomState(room); | ||
| } | ||
| if (this._debug && staleRooms.length) console.warn(`ByteSocket: stale ${_bytesocket_core.LifecycleTypes[payload.type]} for "${staleRooms.join(", ")}" - ignored`); | ||
| if (actualRooms.length === 0) return true; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), actualRooms); | ||
| return true; | ||
| } | ||
| #handleRoomsErrorMessage(payload) { | ||
| if (!(0, _bytesocket_core.isLifecycleRoomsErrorMessage)(payload)) return false; | ||
| const staleRooms = []; | ||
| const actualRooms = []; | ||
| for (const room of payload.rooms) { | ||
| const state = this.#roomStateMap.get(room); | ||
| if (!state) { | ||
| staleRooms.push(room); | ||
| continue; | ||
| } | ||
| state.pending = null; | ||
| actualRooms.push(room); | ||
| } | ||
| if (this._debug && staleRooms.length) console.warn(`ByteSocket: stale ${_bytesocket_core.LifecycleTypes[payload.type]} for "${staleRooms.join(", ")}" - ignored`); | ||
| if (actualRooms.length === 0) return true; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), actualRooms, payload.data); | ||
| return true; | ||
| } | ||
| #handleRoomsEventMessage(payload) { | ||
| if (!(0, _bytesocket_core.isRoomsEventMessage)(payload)) return false; | ||
| for (const room of payload.rooms) this._triggerCallbacks(this._roomCallbacksMap.get(room)?.get(payload.event), payload.data); | ||
| return true; | ||
| } | ||
| #handleRoomEventMessage(payload) { | ||
| if (!(0, _bytesocket_core.isRoomEventMessage)(payload)) return false; | ||
| this._triggerCallbacks(this._roomCallbacksMap.get(payload.room)?.get(payload.event), payload.data); | ||
| return true; | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/byte-socket.ts | ||
@@ -82,3 +617,3 @@ /** | ||
| lifecycle; | ||
| rooms; | ||
| #rooms; | ||
| #baseUrl; | ||
@@ -91,3 +626,2 @@ #options; | ||
| #flushFailures = 0; | ||
| #roomStateMap = /* @__PURE__ */ new Map(); | ||
| #manuallyClosed = false; | ||
@@ -131,219 +665,9 @@ #flushing = false; | ||
| } | ||
| const lifecycle = { | ||
| onOpen: (callback) => { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.open, callback); | ||
| return lifecycle; | ||
| }, | ||
| offOpen: (callback) => { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.open, callback); | ||
| return lifecycle; | ||
| }, | ||
| onceOpen: (callback) => { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.open, callback); | ||
| return lifecycle; | ||
| }, | ||
| onMessage: (callback) => { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.message, callback); | ||
| return lifecycle; | ||
| }, | ||
| offMessage: (callback) => { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.message, callback); | ||
| return lifecycle; | ||
| }, | ||
| onceMessage: (callback) => { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.message, callback); | ||
| return lifecycle; | ||
| }, | ||
| onClose: (callback) => { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.close, callback); | ||
| return lifecycle; | ||
| }, | ||
| offClose: (callback) => { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.close, callback); | ||
| return lifecycle; | ||
| }, | ||
| onceClose: (callback) => { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.close, callback); | ||
| return lifecycle; | ||
| }, | ||
| onError: (callback) => { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.error, callback); | ||
| return lifecycle; | ||
| }, | ||
| offError: (callback) => { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.error, callback); | ||
| return lifecycle; | ||
| }, | ||
| onceError: (callback) => { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.error, callback); | ||
| return lifecycle; | ||
| }, | ||
| onAuthSuccess: (callback) => { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.auth_success, callback); | ||
| return lifecycle; | ||
| }, | ||
| offAuthSuccess: (callback) => { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.auth_success, callback); | ||
| return lifecycle; | ||
| }, | ||
| onceAuthSuccess: (callback) => { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.auth_success, callback); | ||
| return lifecycle; | ||
| }, | ||
| onAuthError: (callback) => { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.auth_error, callback); | ||
| return lifecycle; | ||
| }, | ||
| offAuthError: (callback) => { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.auth_error, callback); | ||
| return lifecycle; | ||
| }, | ||
| onceAuthError: (callback) => { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.auth_error, callback); | ||
| return lifecycle; | ||
| }, | ||
| onQueueFull: (callback) => { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.queue_full, callback); | ||
| return lifecycle; | ||
| }, | ||
| offQueueFull: (callback) => { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.queue_full, callback); | ||
| return lifecycle; | ||
| }, | ||
| onceQueueFull: (callback) => { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.queue_full, callback); | ||
| return lifecycle; | ||
| }, | ||
| onReconnectFailed: (callback) => { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.reconnect_failed, callback); | ||
| return lifecycle; | ||
| }, | ||
| offReconnectFailed: (callback) => { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.reconnect_failed, callback); | ||
| return lifecycle; | ||
| }, | ||
| onceReconnectFailed: (callback) => { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.reconnect_failed, callback); | ||
| return lifecycle; | ||
| } | ||
| }; | ||
| this.lifecycle = lifecycle; | ||
| const roomsLifecycle = { | ||
| onJoinSuccess: (callback) => { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.join_room_success, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| offJoinSuccess: (callback) => { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.join_room_success, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| onceJoinSuccess: (callback) => { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.join_room_success, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| onJoinError: (callback) => { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.join_room_error, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| offJoinError: (callback) => { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.join_room_error, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| onceJoinError: (callback) => { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.join_room_error, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| onLeaveSuccess: (callback) => { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.leave_room_success, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| offLeaveSuccess: (callback) => { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.leave_room_success, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| onceLeaveSuccess: (callback) => { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.leave_room_success, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| onLeaveError: (callback) => { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.leave_room_error, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| offLeaveError: (callback) => { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.leave_room_error, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| onceLeaveError: (callback) => { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.leave_room_error, callback); | ||
| return roomsLifecycle; | ||
| } | ||
| }; | ||
| const roomsBulkLifecycle = { | ||
| onJoinSuccess: (callback) => { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.join_rooms_success, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| offJoinSuccess: (callback) => { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.join_rooms_success, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| onceJoinSuccess: (callback) => { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.join_rooms_success, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| onJoinError: (callback) => { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.join_rooms_error, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| offJoinError: (callback) => { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.join_rooms_error, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| onceJoinError: (callback) => { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.join_rooms_error, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| onLeaveSuccess: (callback) => { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.leave_rooms_success, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| offLeaveSuccess: (callback) => { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.leave_rooms_success, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| onceLeaveSuccess: (callback) => { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.leave_rooms_success, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| onLeaveError: (callback) => { | ||
| this._onLifecycle(_bytesocket_core.LifecycleTypes.leave_rooms_error, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| offLeaveError: (callback) => { | ||
| this._offLifecycle(_bytesocket_core.LifecycleTypes.leave_rooms_error, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| onceLeaveError: (callback) => { | ||
| this._onceLifecycle(_bytesocket_core.LifecycleTypes.leave_rooms_error, callback); | ||
| return roomsBulkLifecycle; | ||
| } | ||
| }; | ||
| this.rooms = { | ||
| list: this.#listRooms.bind(this), | ||
| emit: this.#emitRoom.bind(this), | ||
| join: this.#joinRoom.bind(this), | ||
| leave: this.#leaveRoom.bind(this), | ||
| on: this.#onRoom.bind(this), | ||
| off: this.#offRoom.bind(this), | ||
| once: this.#onceRoom.bind(this), | ||
| lifecycle: roomsLifecycle, | ||
| bulk: { | ||
| emit: this.#emitRooms.bind(this), | ||
| join: this.#joinRooms.bind(this), | ||
| leave: this.#leaveRooms.bind(this), | ||
| lifecycle: roomsBulkLifecycle | ||
| } | ||
| }; | ||
| this.lifecycle = new Lifecycle(this._onLifecycle.bind(this), this._offLifecycle.bind(this), this._onceLifecycle.bind(this)); | ||
| this.#rooms = new Rooms(this._debug, this._roomCallbacksMap, this._lifecycleCallbacksMap, this._triggerCallbacks.bind(this), this._onRoom.bind(this), this._offRoom.bind(this), this._onceRoom.bind(this), this._onLifecycle.bind(this), this._offLifecycle.bind(this), this._onceLifecycle.bind(this), this.send.bind(this)); | ||
| if (this.#options.autoConnect) this.connect(); | ||
| } | ||
| get rooms() { | ||
| return this.#rooms; | ||
| } | ||
| get readyState() { | ||
@@ -528,3 +852,3 @@ return this.#ws?.readyState ?? WebSocket.CLOSED; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(_bytesocket_core.LifecycleTypes.open)); | ||
| this.#onRoomsOpen(); | ||
| this.#rooms.onOpen(); | ||
| this.#startHeartbeat(); | ||
@@ -558,146 +882,2 @@ this.#flushQueue(); | ||
| } | ||
| #emitRoom(room, event, data) { | ||
| this.send({ | ||
| room, | ||
| event, | ||
| data | ||
| }); | ||
| return this.rooms; | ||
| } | ||
| #joinRoom(room) { | ||
| const state = this.#getOrCreateRoomState(room); | ||
| if (state.joined || state.pending === "join") return this.rooms; | ||
| state.wanted = true; | ||
| state.pending = "join"; | ||
| this.send({ | ||
| type: _bytesocket_core.LifecycleTypes.join_room, | ||
| room | ||
| }); | ||
| return this.rooms; | ||
| } | ||
| #leaveRoom(room) { | ||
| const state = this.#getOrCreateRoomState(room); | ||
| if (!state.joined || state.pending === "leave") return this.rooms; | ||
| state.wanted = false; | ||
| state.pending = "leave"; | ||
| this.send({ | ||
| type: _bytesocket_core.LifecycleTypes.leave_room, | ||
| room | ||
| }); | ||
| return this.rooms; | ||
| } | ||
| #emitRooms(rooms, event, data) { | ||
| this.send({ | ||
| rooms, | ||
| event, | ||
| data | ||
| }); | ||
| return this.rooms.bulk; | ||
| } | ||
| #joinRooms(rooms) { | ||
| if (rooms.length === 0) { | ||
| if (this._debug) console.warn("ByteSocket: can't join empty array of rooms - ignored"); | ||
| return this.rooms.bulk; | ||
| } | ||
| const toJoin = []; | ||
| for (const room of rooms) { | ||
| const state = this.#getOrCreateRoomState(room); | ||
| if (state.joined || state.pending === "join") continue; | ||
| state.wanted = true; | ||
| state.pending = "join"; | ||
| toJoin.push(room); | ||
| } | ||
| if (toJoin.length === 0) { | ||
| if (this._debug) console.warn("ByteSocket: all rooms you requested to join are joined or pending joining already - ignored"); | ||
| return this.rooms.bulk; | ||
| } | ||
| this.send({ | ||
| type: _bytesocket_core.LifecycleTypes.join_rooms, | ||
| rooms: toJoin | ||
| }); | ||
| return this.rooms.bulk; | ||
| } | ||
| #leaveRooms(rooms) { | ||
| if (rooms.length === 0) { | ||
| if (this._debug) console.warn("ByteSocket: can't leave empty array of rooms - ignored"); | ||
| return this.rooms.bulk; | ||
| } | ||
| const toLeave = []; | ||
| for (const room of rooms) { | ||
| const state = this.#getOrCreateRoomState(room); | ||
| if (!state.joined || state.pending === "leave") continue; | ||
| state.wanted = false; | ||
| state.pending = "leave"; | ||
| toLeave.push(room); | ||
| } | ||
| if (toLeave.length === 0) { | ||
| if (this._debug) console.warn("ByteSocket: all rooms you requested to leave are left or pending leaving already - ignored"); | ||
| return this.rooms.bulk; | ||
| } | ||
| this.send({ | ||
| type: _bytesocket_core.LifecycleTypes.leave_rooms, | ||
| rooms: toLeave | ||
| }); | ||
| return this.rooms.bulk; | ||
| } | ||
| #listRooms() { | ||
| return [...this.#roomStateMap].filter(([_room, state]) => state.joined).map(([room]) => room); | ||
| } | ||
| #onRoom(room, event, callback) { | ||
| this._onRoom(room, event, callback); | ||
| return this.rooms; | ||
| } | ||
| #offRoom(room, event, callback) { | ||
| this._offRoom(room, event, callback); | ||
| return this.rooms; | ||
| } | ||
| #onceRoom(room, event, callback) { | ||
| this._onceRoom(room, event, callback); | ||
| return this.rooms; | ||
| } | ||
| #getOrCreateRoomState(room) { | ||
| let state = this.#roomStateMap.get(room); | ||
| if (!state) { | ||
| state = { | ||
| wanted: false, | ||
| joined: false, | ||
| pending: null | ||
| }; | ||
| this.#roomStateMap.set(room, state); | ||
| } | ||
| return state; | ||
| } | ||
| #cleanRoomState(room) { | ||
| const state = this.#roomStateMap.get(room); | ||
| if (!state) return; | ||
| if (state.wanted === false && state.joined === false && state.pending === null) this.#roomStateMap.delete(room); | ||
| } | ||
| #onRoomsOpen() { | ||
| const rooms = []; | ||
| const toClean = []; | ||
| for (const [room, state] of this.#roomStateMap) if (state.wanted && !state.joined) { | ||
| state.pending = "join"; | ||
| rooms.push(room); | ||
| } else if (!state.wanted && state.joined) { | ||
| state.pending = null; | ||
| state.joined = false; | ||
| toClean.push(room); | ||
| } | ||
| for (const room of toClean) this.#cleanRoomState(room); | ||
| if (rooms.length === 0) return; | ||
| if (rooms.length === 1) this.send({ | ||
| type: _bytesocket_core.LifecycleTypes.join_room, | ||
| room: rooms[0] | ||
| }); | ||
| else this.send({ | ||
| type: _bytesocket_core.LifecycleTypes.join_rooms, | ||
| rooms | ||
| }); | ||
| } | ||
| #onRoomsClose() { | ||
| for (const state of this.#roomStateMap.values()) { | ||
| state.joined = false; | ||
| state.pending = null; | ||
| } | ||
| } | ||
| #startHeartbeat() { | ||
@@ -776,3 +956,3 @@ if (!this.#options.heartbeatEnabled) return; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(_bytesocket_core.LifecycleTypes.open)); | ||
| this.#onRoomsOpen(); | ||
| this.#rooms.onOpen(); | ||
| this.#startHeartbeat(); | ||
@@ -799,3 +979,3 @@ this.#flushQueue(); | ||
| #handleAuthSuccessMessage(payload) { | ||
| if (!this._isLifecycleMessage(_bytesocket_core.LifecycleTypes.auth_success, payload)) return false; | ||
| if (!(0, _bytesocket_core.isLifecycleMessage)(_bytesocket_core.LifecycleTypes.auth_success, payload)) return false; | ||
| if (this._debug) console.log("ByteSocket: auth success"); | ||
@@ -806,3 +986,3 @@ this.#handleAuthSuccess(); | ||
| #handleErrorMessage(payload) { | ||
| if (!this._isLifecyclePayloadMessage(_bytesocket_core.LifecycleTypes.error, payload)) return false; | ||
| if (!(0, _bytesocket_core.isLifecyclePayloadMessage)(_bytesocket_core.LifecycleTypes.error, payload)) return false; | ||
| if (this._debug) console.warn("ByteSocket: error", payload.data); | ||
@@ -813,3 +993,3 @@ this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), payload.data); | ||
| #handleAuthErrorMessage(payload) { | ||
| if (!this._isLifecyclePayloadMessage(_bytesocket_core.LifecycleTypes.auth_error, payload)) return false; | ||
| if (!(0, _bytesocket_core.isLifecyclePayloadMessage)(_bytesocket_core.LifecycleTypes.auth_error, payload)) return false; | ||
| if (this._debug) console.warn("ByteSocket: auth error", payload.data); | ||
@@ -819,107 +999,4 @@ this.#handleAuthError(payload.data); | ||
| } | ||
| #handleJoinRoomSuccessMessage(payload) { | ||
| if (!this._isLifecycleRoomMessage(_bytesocket_core.LifecycleTypes.join_room_success, payload)) return false; | ||
| const state = this.#roomStateMap.get(payload.room); | ||
| if (!state) { | ||
| if (this._debug) console.warn(`ByteSocket: stale ${_bytesocket_core.LifecycleTypes[payload.type]} for "${payload.room}" - ignored`); | ||
| return true; | ||
| } | ||
| state.joined = true; | ||
| state.pending = null; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), payload.room); | ||
| return true; | ||
| } | ||
| #handleLeaveRoomSuccessMessage(payload) { | ||
| if (!this._isLifecycleRoomMessage(_bytesocket_core.LifecycleTypes.leave_room_success, payload)) return false; | ||
| const state = this.#roomStateMap.get(payload.room); | ||
| if (!state) { | ||
| if (this._debug) console.warn(`ByteSocket: stale ${_bytesocket_core.LifecycleTypes[payload.type]} for "${payload.room}" - ignored`); | ||
| return true; | ||
| } | ||
| state.joined = false; | ||
| state.pending = null; | ||
| this.#cleanRoomState(payload.room); | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), payload.room); | ||
| return true; | ||
| } | ||
| #handleRoomErrorMessage(payload) { | ||
| if (!this._isLifecycleRoomErrorMessage(payload)) return false; | ||
| const state = this.#roomStateMap.get(payload.room); | ||
| if (!state) { | ||
| if (this._debug) console.warn(`ByteSocket: stale ${_bytesocket_core.LifecycleTypes[payload.type]} for "${payload.room}" - ignored`); | ||
| return true; | ||
| } | ||
| state.pending = null; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), payload.room, payload.data); | ||
| return true; | ||
| } | ||
| #handleJoinRoomsSuccessMessage(payload) { | ||
| if (!this._isLifecycleRoomsMessage(_bytesocket_core.LifecycleTypes.join_rooms_success, payload)) return false; | ||
| const staleRooms = []; | ||
| const actualRooms = []; | ||
| for (const room of payload.rooms) { | ||
| const state = this.#roomStateMap.get(room); | ||
| if (!state) { | ||
| staleRooms.push(room); | ||
| continue; | ||
| } | ||
| state.joined = true; | ||
| state.pending = null; | ||
| actualRooms.push(room); | ||
| } | ||
| if (this._debug && staleRooms.length) console.warn(`ByteSocket: stale ${_bytesocket_core.LifecycleTypes[payload.type]} for "${staleRooms.join(", ")}" - ignored`); | ||
| if (actualRooms.length === 0) return true; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), actualRooms); | ||
| return true; | ||
| } | ||
| #handleLeaveRoomsSuccessMessage(payload) { | ||
| if (!this._isLifecycleRoomsMessage(_bytesocket_core.LifecycleTypes.leave_rooms_success, payload)) return false; | ||
| const staleRooms = []; | ||
| const actualRooms = []; | ||
| for (const room of payload.rooms) { | ||
| const state = this.#roomStateMap.get(room); | ||
| if (!state) { | ||
| staleRooms.push(room); | ||
| continue; | ||
| } | ||
| state.joined = false; | ||
| state.pending = null; | ||
| actualRooms.push(room); | ||
| this.#cleanRoomState(room); | ||
| } | ||
| if (this._debug && staleRooms.length) console.warn(`ByteSocket: stale ${_bytesocket_core.LifecycleTypes[payload.type]} for "${staleRooms.join(", ")}" - ignored`); | ||
| if (actualRooms.length === 0) return true; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), actualRooms); | ||
| return true; | ||
| } | ||
| #handleRoomsErrorMessage(payload) { | ||
| if (!this._isLifecycleRoomsErrorMessage(payload)) return false; | ||
| const staleRooms = []; | ||
| const actualRooms = []; | ||
| for (const room of payload.rooms) { | ||
| const state = this.#roomStateMap.get(room); | ||
| if (!state) { | ||
| staleRooms.push(room); | ||
| continue; | ||
| } | ||
| state.pending = null; | ||
| actualRooms.push(room); | ||
| } | ||
| if (this._debug && staleRooms.length) console.warn(`ByteSocket: stale ${_bytesocket_core.LifecycleTypes[payload.type]} for "${staleRooms.join(", ")}" - ignored`); | ||
| if (actualRooms.length === 0) return true; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), actualRooms, payload.data); | ||
| return true; | ||
| } | ||
| #handleRoomsEventMessage(payload) { | ||
| if (!this._isRoomsEventMessage(payload)) return false; | ||
| for (const room of payload.rooms) this._triggerCallbacks(this._roomCallbacksMap.get(room)?.get(payload.event), payload.data); | ||
| return true; | ||
| } | ||
| #handleRoomEventMessage(payload) { | ||
| if (!this._isRoomEventMessage(payload)) return false; | ||
| this._triggerCallbacks(this._roomCallbacksMap.get(payload.room)?.get(payload.event), payload.data); | ||
| return true; | ||
| } | ||
| #handleEventMessage(payload) { | ||
| if (!this._isEventMessage(payload)) return false; | ||
| if (!(0, _bytesocket_core.isEventMessage)(payload)) return false; | ||
| this._triggerCallbacks(this._callbacksMap.get(payload.event), payload.data); | ||
@@ -940,10 +1017,3 @@ return true; | ||
| if (this.#handleErrorMessage(payload)) return; | ||
| if (this.#handleJoinRoomSuccessMessage(payload)) return; | ||
| if (this.#handleLeaveRoomSuccessMessage(payload)) return; | ||
| if (this.#handleRoomErrorMessage(payload)) return; | ||
| if (this.#handleJoinRoomsSuccessMessage(payload)) return; | ||
| if (this.#handleLeaveRoomsSuccessMessage(payload)) return; | ||
| if (this.#handleRoomsErrorMessage(payload)) return; | ||
| if (this.#handleRoomsEventMessage(payload)) return; | ||
| if (this.#handleRoomEventMessage(payload)) return; | ||
| if (this.#rooms.handleMessage(payload)) return; | ||
| if (this.#handleEventMessage(payload)) return; | ||
@@ -997,3 +1067,3 @@ if (this._debug) console.warn("ByteSocket: unhandled message", payload); | ||
| this._clearCallbacks(); | ||
| this.#roomStateMap.clear(); | ||
| this.#rooms.clear(); | ||
| } | ||
@@ -1010,3 +1080,3 @@ #cleanupConnection(keepQueue = false) { | ||
| this.#clearAuthTimeout(); | ||
| this.#onRoomsClose(); | ||
| this.#rooms.onClose(); | ||
| if (!this.#destroyed) this._triggerCallbacks(this._lifecycleCallbacksMap.get(_bytesocket_core.LifecycleTypes.close), event); | ||
@@ -1013,0 +1083,0 @@ if (this.#destroyed || this.#manuallyClosed || this.#authState === _bytesocket_core.AuthState.failed || this.#reconnectExhausted) return; |
+1
-1
@@ -751,3 +751,2 @@ import { ByteSocketBase, ErrorContext, EventsForRooms, LifecycleMessage, MsgpackrOptions, SocketEvents, StringKeys, StringNumberKeys, UserMessage } from "@bytesocket/core"; | ||
| readonly lifecycle: ILifecycle; | ||
| readonly rooms: IRooms<TEvents>; | ||
| /** | ||
@@ -760,2 +759,3 @@ * Creates a new ByteSocket instance. | ||
| constructor(baseUrl: string, options?: ByteSocketOptions); | ||
| get rooms(): IRooms<TEvents>; | ||
| get readyState(): number; | ||
@@ -762,0 +762,0 @@ get canSend(): boolean; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/interfaces.ts","../src/byte-socket.ts"],"mappings":";;;;;;;;KAOY,kBAAA,YAA8B,WAAA;;;;;KAK9B,kBAAA,YAA8B,YAAA;;KAG9B,aAAA,OAAoB,IAAA,EAAM,CAAA;;KAG1B,SAAA;EAHA,sDAKX,OAAA,2BALwB;EAOxB,MAAA,WAPyB;EASzB,MAAA;AAAA;;;AAND;;;;;;;;;AA0BA;;;;;;KAAY,UAAA;EAAwB,IAAA,EAAM,CAAA;AAAA,MAAQ,QAAA,GAAW,IAAA,EAAM,CAAA;;KAGvD,iBAAA;EAHiE,uEAK5E,WAAA,YAF4B;EAI5B,YAAA,YAuBc;EArBd,uBAAA,WAuCkB;EArClB,iBAAA,WAqCiC;EAnCjC,oBAAA;EANA;;;;;;;;EAeA,wBAAA,YAQc;EANd,mBAAA,WAUA;EARA,SAAA,sBAYA;EAVA,IAAA,WAYA;EAVA,WAAA,GAAc,MAAA,kBAcd;EAZA,gBAAA,YAgBA;EAdA,YAAA,WAciC;EAZjC,WAAA;EAEA,IAAA,GAAO,UAAA;EAEP,WAAA,WChF+B;EDkF/B,YAAA,WC9D4C;EDgE5C,aAAA,sBCtD8C;EDwD9C,KAAA,YC/B+C;EDiC/C,eAAA,GAAkB,eAAA;AAAA;;;UCxFF,eAAA;;;ADGjB;;ECEC,aAAA,GAAgB,QAAA,GAAW,IAAA;EDFc;;AAK1C;;ECEC,cAAA,GAAiB,QAAA,IAAY,IAAA;EDFY;;AAG1C;;ECIC,eAAA,GAAkB,QAAA,GAAW,IAAA;EDJS;;;;ECStC,WAAA,GAAc,QAAA,GAAW,IAAA,UAAc,GAAA,EAAK,YAAA;EDTN;AAGvC;;;ECWC,YAAA,GAAe,QAAA,IAAY,IAAA,UAAc,GAAA,EAAK,YAAA;EDT9C;;;;ECcA,aAAA,GAAgB,QAAA,GAAW,IAAA,UAAc,GAAA,EAAK,YAAA;EDUnC;;;;ECLX,cAAA,GAAiB,QAAA,GAAW,IAAA;EDKO;;;;ECAnC,eAAA,GAAkB,QAAA,IAAY,IAAA;EDA8C;;AAG7E;;ECEC,gBAAA,GAAmB,QAAA,GAAW,IAAA;EDyBhB;;;;ECpBd,YAAA,GAAe,QAAA,GAAW,IAAA,UAAc,GAAA,EAAK,YAAA;EDL7C;;;;ECUA,aAAA,GAAgB,QAAA,IAAY,IAAA,UAAc,GAAA,EAAK,YAAA;EDO/C;;;;ECFA,cAAA,GAAiB,QAAA,GAAW,IAAA,UAAc,GAAA,EAAK,YAAA;AAAA;AAAA,UAG/B,mBAAA;EDWhB;;;;ECNA,aAAA,GAAgB,QAAA,GAAW,KAAA;EDc3B;;;;ECTA,cAAA,GAAiB,QAAA,IAAY,KAAA;EDeI;;;;ECVjC,eAAA,GAAkB,QAAA,GAAW,KAAA;EA9Eb;;;;EAmFhB,WAAA,GAAc,QAAA,GAAW,KAAA,YAAiB,GAAA,EAAK,YAAA;EArDD;;;;EA0D9C,YAAA,GAAe,QAAA,IAAY,KAAA,YAAiB,GAAA,EAAK,YAAA;EA5BU;;;;EAiC3D,aAAA,GAAgB,QAAA,GAAW,KAAA,YAAiB,GAAA,EAAK,YAAA;EAnFpB;;;;EAwF7B,cAAA,GAAiB,QAAA,GAAW,KAAA;EA9E5B;;;;EAmFA,eAAA,GAAkB,QAAA,IAAY,KAAA;EA9E9B;;;;EAmFA,gBAAA,GAAmB,QAAA,GAAW,KAAA;EA9E9B;;;;EAmFA,YAAA,GAAe,QAAA,GAAW,KAAA,YAAiB,GAAA,EAAK,YAAA;EA9EhD;;;;EAmFA,aAAA,GAAgB,QAAA,IAAY,KAAA,YAAiB,GAAA,EAAK,YAAA;EA9EhC;;;;EAmFlB,cAAA,GAAiB,QAAA,GAAW,KAAA,YAAiB,GAAA,EAAK,YAAA;AAAA;AAAA,UAGlC,UAAA,iBAA2B,YAAA;EA5EH;;;;;;;;;;;;;;EA2FxC,IAAA,YACY,WAAA,CAAY,OAAA,mCACb,gBAAA,CAAiB,cAAA,CAAe,WAAA,CAAY,OAAA,gBAAuB,EAAA,cACnE,WAAA,CAAY,cAAA,CAAe,WAAA,CAAY,OAAA,gBAAuB,EAAA,GAAK,CAAA,GAE7E,KAAA,EAAO,EAAA,EACP,KAAA,EAAO,CAAA,EACP,IAAA,EAAM,CAAA;EArF4B;;;;;;;;;EAgGnC,IAAA,CAAK,KAAA;EA3FL;;;;;;;;;EAqGA,KAAA,CAAM,KAAA;EAtFmB;EAAA,SAwFhB,SAAA,EAAW,mBAAA;AAAA;;;;;;UAQJ,MAAA,iBAAuB,YAAA;EAtFvC;;;;;;;;EAAA,SA+FS,SAAA,EAAW,eAAA;EArFU;;;;;;;EAAA,SA6FrB,IAAA,EAAM,UAAA,CAAW,OAAA;EAnFiB;;;;;;;;;;;;;;EAkG3C,IAAA,WACW,UAAA,CAAW,OAAA,yBACX,gBAAA,CAAiB,WAAA,CAAY,OAAA,cAAqB,CAAA,cAClD,WAAA,CAAY,OAAA,cAAqB,CAAA,EAAG,CAAA,GAE9C,IAAA,EAAM,CAAA,EACN,KAAA,EAAO,CAAA,EACP,IAAA,EAAM,CAAA;EA5FmB;;;;;;;;;EAuG1B,IAAA,CAAK,IAAA;EArF6C;;;;;;;;EA8FlD,KAAA,CAAM,IAAA;EAnEc;;;;;;;;;EA6EpB,IAAA;EAzGW;;;;;;;;;;;;;;;EAyHX,EAAA,WACW,UAAA,CAAW,OAAA,2BACX,gBAAA,CAAiB,WAAA,CAAY,OAAA,gBAAuB,CAAA,cACpD,WAAA,CAAY,OAAA,gBAAuB,CAAA,EAAG,CAAA,GAEhD,IAAA,EAAM,CAAA,EACN,KAAA,EAAO,CAAA,EACP,QAAA,EAAU,aAAA,CAAc,CAAA;EA3HlB;;;;;;;;;;AA+BR;;;;;;;EA+GC,GAAA,WACW,UAAA,CAAW,OAAA,2BACX,gBAAA,CAAiB,WAAA,CAAY,OAAA,gBAAuB,CAAA,cACpD,WAAA,CAAY,OAAA,gBAAuB,CAAA,EAAG,CAAA,GAEhD,IAAA,EAAM,CAAA,EACN,KAAA,GAAQ,CAAA,EACR,QAAA,GAAW,aAAA,CAAc,CAAA;EArFf;;;;;;;;;;;;;EAoGX,IAAA,WACW,UAAA,CAAW,OAAA,2BACX,gBAAA,CAAiB,WAAA,CAAY,OAAA,gBAAuB,CAAA,cACpD,WAAA,CAAY,OAAA,gBAAuB,CAAA,EAAG,CAAA,GAEhD,IAAA,EAAM,CAAA,EACN,KAAA,EAAO,CAAA,EACP,QAAA,EAAU,aAAA,CAAc,CAAA;AAAA;AAAA,UAIT,UAAA;EAzD+C;;;;EA8D/D,MAAA,GAAS,QAAA;EA7DwC;;;;EAkEjD,OAAA,GAAU,QAAA;EA1CY;;;;EA+CtB,QAAA,GAAW,QAAA;EA9CA;;;;;EAqDX,SAAA,GAAY,QAAA,GAAW,IAAA,EAAM,kBAAA;EAjDpB;;;;EAsDT,UAAA,GAAa,QAAA,IAAY,IAAA,EAAM,kBAAA;EApCS;;;;EAyCxC,WAAA,GAAc,QAAA,GAAW,IAAA,EAAM,kBAAA;EAxCpB;;;;EA8CX,OAAA,GAAU,QAAA,GAAW,KAAA,EAAO,UAAA;EA1CH;;;;EA+CzB,QAAA,GAAW,QAAA,IAAY,KAAA,EAAO,UAAA;EA3LS;;;;EAgMvC,SAAA,GAAY,QAAA,GAAW,KAAA,EAAO,UAAA;EA/KJ;;;;EAqL1B,OAAA,GAAU,QAAA,GAAW,GAAA,EAAK,YAAA;EApKzB;;;;EAyKD,QAAA,GAAW,QAAA,IAAY,GAAA,EAAK,YAAA;EAxK3B;;;;EA6KD,SAAA,GAAY,QAAA,GAAW,GAAA,EAAK,YAAA;EA3KrB;;;;EAiLP,aAAA,GAAgB,QAAA;EA/Kf;;;;EAoLD,cAAA,GAAiB,QAAA;EAtJjB;;;;EA2JA,eAAA,GAAkB,QAAA;EAzIjB;;;;EA+ID,WAAA,GAAc,QAAA,GAAW,GAAA,EAAK,YAAA;EA9I7B;;;;EAmJD,YAAA,GAAe,QAAA,IAAY,GAAA,EAAK,YAAA;EAjJzB;;;;EAsJP,aAAA,GAAgB,QAAA,GAAW,GAAA,EAAK,YAAA;EApJP;;;;EA0JzB,WAAA,GAAc,QAAA;EAtIQ;;;;EA2ItB,YAAA,GAAe,QAAA;EA1IgD;;;;EA+I/D,aAAA,GAAgB,QAAA;EA9IiC;;;;EAoJjD,iBAAA,GAAoB,QAAA;EAhJR;;;;EAqJZ,kBAAA,GAAqB,QAAA;EArIV;;;;EA0IX,mBAAA,GAAsB,QAAA;AAAA;;;;;;UAQN,WAAA,iBAA4B,YAAA,GAAe,YAAA;EA9IpD;;;;;;;;EAAA,SAuJE,SAAA,EAAW,UAAA;EAjJJ;;;;;;;EAAA,SAyJP,KAAA,EAAO,MAAA,CAAO,OAAA;EAzGO;;;;;;EAAA,SAgHrB,UAAA;EAhEmC;;;;;;;;;;;;;EAAA,SA8EnC,OAAA;EAnJgB;;;;;;EAAA,SA0JhB,QAAA;EA/ImB;;;;;EAAA,SAqJnB,WAAA;EAhJE;;;;;;;;;;;;;;EA+JX,MAAA,iDACC,OAAA,EAAS,gBAAA,CAAiB,CAAA,EAAG,CAAA,IAAK,WAAA,CAAY,CAAA,EAAG,CAAA,EAAG,CAAA,GACpD,aAAA,gCACW,UAAA,CAAW,WAAA;EA7IA;;;;;;;;;;EAwJvB,MAAA,CAAO,OAAA,EAAS,kBAAA,EAAoB,QAAA;EAlItB;;;;;;;;;;;;;;;EAkJd,IAAA,iDAAqD,OAAA,EAAS,gBAAA,CAAiB,CAAA,EAAG,CAAA,IAAK,WAAA,CAAY,CAAA,EAAG,CAAA,EAAG,CAAA;EAlHrF;;;;;;;EA0HpB,OAAA,CAAQ,OAAA,EAAS,kBAAA;EAxGU;;;;;;;;;;;;EAqH3B,IAAA,WAAe,gBAAA,CAAiB,OAAA,qBAA4B,WAAA,CAAY,OAAA,UAAiB,CAAA,GAAI,KAAA,EAAO,CAAA,EAAG,IAAA,EAAM,CAAA;EAlD1E;;;;;;;;;;;;;EAgEnC,EAAA,WAAa,gBAAA,CAAiB,OAAA,uBAA8B,WAAA,CAAY,OAAA,YAAmB,CAAA,GAAI,KAAA,EAAO,CAAA,EAAG,QAAA,EAAU,aAAA,CAAc,CAAA;EAdzD;;;;;;;;;;;;;EA4BxE,GAAA,WAAc,gBAAA,CAAiB,OAAA,uBAA8B,WAAA,CAAY,OAAA,YAAmB,CAAA,GAAI,KAAA,EAAO,CAAA,EAAG,QAAA,GAAW,aAAA,CAAc,CAAA;EAArH;;;;;;;;;;;;EAad,IAAA,WAAe,gBAAA,CAAiB,OAAA,uBAA8B,WAAA,CAAY,OAAA,YAAmB,CAAA,GAAI,KAAA,EAAO,CAAA,EAAG,QAAA,EAAU,aAAA,CAAc,CAAA;EAAA;;;;EAKnI,OAAA;EA2B6B;;;;EAtB7B,SAAA;EA/JoB;;;;;;;EAuKpB,KAAA,CAAM,IAAA,WAAe,MAAA;EA9GrB;;;;EAmHA,OAAA;EAlH2B;;;;;;;;EA2H3B,OAAA,IAAW,MAAA,EAAQ,UAAA,CAAW,CAAA;AAAA;;;;;ADtoB/B;;;;;AAKA;;;;;AAGA;;;;;;;;;AAGA;;;;;;;;;AA0BA;;;;;;;;;;;;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cE8Ca,UAAA,iBAA2B,YAAA,GAAe,YAAA,UAAsB,cAAA,YAA0B,WAAA,CAAY,OAAA;EAAA;WAGzG,SAAA,EAAW,UAAA;EAAA,SACX,KAAA,EAAO,MAAA,CAAO,OAAA;;;;;;;cAmCX,OAAA,UAAiB,OAAA,GAAS,iBAAA;EAAA,IAqRlC,UAAA,CAAA;EAAA,IAIA,OAAA,CAAA;EAAA,IAGA,QAAA,CAAA;EAAA,IAGA,WAAA,CAAA;EA0CJ,IAAA,gDAAA,CAAqD,OAAA,EAAS,gBAAA,CAAiB,CAAA,EAAG,CAAA,IAAK,WAAA,CAAY,CAAA,EAAG,CAAA,EAAG,CAAA;EASzG,OAAA,CAAQ,OAAA,EAAS,kBAAA;EAcjB,IAAA,WAAe,gBAAA,CAAiB,OAAA,qBAA4B,WAAA,CAAY,OAAA,UAAiB,CAAA,EAAA,CAAI,KAAA,EAAO,CAAA,EAAG,IAAA,EAAM,CAAA;EAmE7G,EAAA,WAAa,gBAAA,CAAiB,OAAA,uBAA8B,WAAA,CAAY,OAAA,YAAmB,CAAA,EAAA,CAAI,KAAA,EAAO,CAAA,EAAG,QAAA,EAAU,aAAA,CAAc,CAAA;EAKjI,GAAA,WAAc,gBAAA,CAAiB,OAAA,uBAA8B,WAAA,CAAY,OAAA,YAAmB,CAAA,EAAA,CAAI,KAAA,EAAO,CAAA,EAAG,QAAA,GAAW,aAAA,CAAc,CAAA;EAKnI,IAAA,WAAe,gBAAA,CAAiB,OAAA,uBAA8B,WAAA,CAAY,OAAA,YAAmB,CAAA,EAAA,CAAI,KAAA,EAAO,CAAA,EAAG,QAAA,EAAU,aAAA,CAAc,CAAA;EAqFnI,OAAA,GAAA,CAAW,MAAA,EAAQ,UAAA,CAAW,CAAA;EA8T9B,OAAA,CAAA;EA6TA,SAAA,CAAA;EA+BA,KAAA,CAAM,IAAA,WAAe,MAAA;EAUrB,OAAA,CAAA;AAAA"} | ||
| {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/interfaces.ts","../src/byte-socket.ts"],"mappings":";;;;;;;;KAOY,kBAAA,YAA8B,WAAA;;;;;KAK9B,kBAAA,YAA8B,YAAA;;KAG9B,aAAA,OAAoB,IAAA,EAAM,CAAA;;KAG1B,SAAA;EAHA,sDAKX,OAAA,2BALwB;EAOxB,MAAA,WAPyB;EASzB,MAAA;AAAA;;;AAND;;;;;;;;;AA0BA;;;;;;KAAY,UAAA;EAAwB,IAAA,EAAM,CAAA;AAAA,MAAQ,QAAA,GAAW,IAAA,EAAM,CAAA;;KAGvD,iBAAA;EAHiE,uEAK5E,WAAA,YAF4B;EAI5B,YAAA,YAuBc;EArBd,uBAAA,WAuCkB;EArClB,iBAAA,WAqCiC;EAnCjC,oBAAA;EANA;;;;;;;;EAeA,wBAAA,YAQc;EANd,mBAAA,WAUA;EARA,SAAA,sBAYA;EAVA,IAAA,WAYA;EAVA,WAAA,GAAc,MAAA,kBAcd;EAZA,gBAAA,YAgBA;EAdA,YAAA,WAciC;EAZjC,WAAA;EAEA,IAAA,GAAO,UAAA;EAEP,WAAA,WChF+B;EDkF/B,YAAA,WC9D4C;EDgE5C,aAAA,sBCtD8C;EDwD9C,KAAA,YC/B+C;EDiC/C,eAAA,GAAkB,eAAA;AAAA;;;UCxFF,eAAA;;;ADGjB;;ECEC,aAAA,GAAgB,QAAA,GAAW,IAAA;EDFc;;AAK1C;;ECEC,cAAA,GAAiB,QAAA,IAAY,IAAA;EDFY;;AAG1C;;ECIC,eAAA,GAAkB,QAAA,GAAW,IAAA;EDJS;;;;ECStC,WAAA,GAAc,QAAA,GAAW,IAAA,UAAc,GAAA,EAAK,YAAA;EDTN;AAGvC;;;ECWC,YAAA,GAAe,QAAA,IAAY,IAAA,UAAc,GAAA,EAAK,YAAA;EDT9C;;;;ECcA,aAAA,GAAgB,QAAA,GAAW,IAAA,UAAc,GAAA,EAAK,YAAA;EDUnC;;;;ECLX,cAAA,GAAiB,QAAA,GAAW,IAAA;EDKO;;;;ECAnC,eAAA,GAAkB,QAAA,IAAY,IAAA;EDA8C;;AAG7E;;ECEC,gBAAA,GAAmB,QAAA,GAAW,IAAA;EDyBhB;;;;ECpBd,YAAA,GAAe,QAAA,GAAW,IAAA,UAAc,GAAA,EAAK,YAAA;EDL7C;;;;ECUA,aAAA,GAAgB,QAAA,IAAY,IAAA,UAAc,GAAA,EAAK,YAAA;EDO/C;;;;ECFA,cAAA,GAAiB,QAAA,GAAW,IAAA,UAAc,GAAA,EAAK,YAAA;AAAA;AAAA,UAG/B,mBAAA;EDWhB;;;;ECNA,aAAA,GAAgB,QAAA,GAAW,KAAA;EDc3B;;;;ECTA,cAAA,GAAiB,QAAA,IAAY,KAAA;EDeI;;;;ECVjC,eAAA,GAAkB,QAAA,GAAW,KAAA;EA9Eb;;;;EAmFhB,WAAA,GAAc,QAAA,GAAW,KAAA,YAAiB,GAAA,EAAK,YAAA;EArDD;;;;EA0D9C,YAAA,GAAe,QAAA,IAAY,KAAA,YAAiB,GAAA,EAAK,YAAA;EA5BU;;;;EAiC3D,aAAA,GAAgB,QAAA,GAAW,KAAA,YAAiB,GAAA,EAAK,YAAA;EAnFpB;;;;EAwF7B,cAAA,GAAiB,QAAA,GAAW,KAAA;EA9E5B;;;;EAmFA,eAAA,GAAkB,QAAA,IAAY,KAAA;EA9E9B;;;;EAmFA,gBAAA,GAAmB,QAAA,GAAW,KAAA;EA9E9B;;;;EAmFA,YAAA,GAAe,QAAA,GAAW,KAAA,YAAiB,GAAA,EAAK,YAAA;EA9EhD;;;;EAmFA,aAAA,GAAgB,QAAA,IAAY,KAAA,YAAiB,GAAA,EAAK,YAAA;EA9EhC;;;;EAmFlB,cAAA,GAAiB,QAAA,GAAW,KAAA,YAAiB,GAAA,EAAK,YAAA;AAAA;AAAA,UAGlC,UAAA,iBAA2B,YAAA;EA5EH;;;;;;;;;;;;;;EA2FxC,IAAA,YACY,WAAA,CAAY,OAAA,mCACb,gBAAA,CAAiB,cAAA,CAAe,WAAA,CAAY,OAAA,gBAAuB,EAAA,cACnE,WAAA,CAAY,cAAA,CAAe,WAAA,CAAY,OAAA,gBAAuB,EAAA,GAAK,CAAA,GAE7E,KAAA,EAAO,EAAA,EACP,KAAA,EAAO,CAAA,EACP,IAAA,EAAM,CAAA;EArF4B;;;;;;;;;EAgGnC,IAAA,CAAK,KAAA;EA3FL;;;;;;;;;EAqGA,KAAA,CAAM,KAAA;EAtFmB;EAAA,SAwFhB,SAAA,EAAW,mBAAA;AAAA;;;;;;UAQJ,MAAA,iBAAuB,YAAA;EAtFvC;;;;;;;;EAAA,SA+FS,SAAA,EAAW,eAAA;EArFU;;;;;;;EAAA,SA6FrB,IAAA,EAAM,UAAA,CAAW,OAAA;EAnFiB;;;;;;;;;;;;;;EAkG3C,IAAA,WACW,UAAA,CAAW,OAAA,yBACX,gBAAA,CAAiB,WAAA,CAAY,OAAA,cAAqB,CAAA,cAClD,WAAA,CAAY,OAAA,cAAqB,CAAA,EAAG,CAAA,GAE9C,IAAA,EAAM,CAAA,EACN,KAAA,EAAO,CAAA,EACP,IAAA,EAAM,CAAA;EA5FmB;;;;;;;;;EAuG1B,IAAA,CAAK,IAAA;EArF6C;;;;;;;;EA8FlD,KAAA,CAAM,IAAA;EAnEc;;;;;;;;;EA6EpB,IAAA;EAzGW;;;;;;;;;;;;;;;EAyHX,EAAA,WACW,UAAA,CAAW,OAAA,2BACX,gBAAA,CAAiB,WAAA,CAAY,OAAA,gBAAuB,CAAA,cACpD,WAAA,CAAY,OAAA,gBAAuB,CAAA,EAAG,CAAA,GAEhD,IAAA,EAAM,CAAA,EACN,KAAA,EAAO,CAAA,EACP,QAAA,EAAU,aAAA,CAAc,CAAA;EA3HlB;;;;;;;;;;AA+BR;;;;;;;EA+GC,GAAA,WACW,UAAA,CAAW,OAAA,2BACX,gBAAA,CAAiB,WAAA,CAAY,OAAA,gBAAuB,CAAA,cACpD,WAAA,CAAY,OAAA,gBAAuB,CAAA,EAAG,CAAA,GAEhD,IAAA,EAAM,CAAA,EACN,KAAA,GAAQ,CAAA,EACR,QAAA,GAAW,aAAA,CAAc,CAAA;EArFf;;;;;;;;;;;;;EAoGX,IAAA,WACW,UAAA,CAAW,OAAA,2BACX,gBAAA,CAAiB,WAAA,CAAY,OAAA,gBAAuB,CAAA,cACpD,WAAA,CAAY,OAAA,gBAAuB,CAAA,EAAG,CAAA,GAEhD,IAAA,EAAM,CAAA,EACN,KAAA,EAAO,CAAA,EACP,QAAA,EAAU,aAAA,CAAc,CAAA;AAAA;AAAA,UAIT,UAAA;EAzD+C;;;;EA8D/D,MAAA,GAAS,QAAA;EA7DwC;;;;EAkEjD,OAAA,GAAU,QAAA;EA1CY;;;;EA+CtB,QAAA,GAAW,QAAA;EA9CA;;;;;EAqDX,SAAA,GAAY,QAAA,GAAW,IAAA,EAAM,kBAAA;EAjDpB;;;;EAsDT,UAAA,GAAa,QAAA,IAAY,IAAA,EAAM,kBAAA;EApCS;;;;EAyCxC,WAAA,GAAc,QAAA,GAAW,IAAA,EAAM,kBAAA;EAxCpB;;;;EA8CX,OAAA,GAAU,QAAA,GAAW,KAAA,EAAO,UAAA;EA1CH;;;;EA+CzB,QAAA,GAAW,QAAA,IAAY,KAAA,EAAO,UAAA;EA3LS;;;;EAgMvC,SAAA,GAAY,QAAA,GAAW,KAAA,EAAO,UAAA;EA/KJ;;;;EAqL1B,OAAA,GAAU,QAAA,GAAW,GAAA,EAAK,YAAA;EApKzB;;;;EAyKD,QAAA,GAAW,QAAA,IAAY,GAAA,EAAK,YAAA;EAxK3B;;;;EA6KD,SAAA,GAAY,QAAA,GAAW,GAAA,EAAK,YAAA;EA3KrB;;;;EAiLP,aAAA,GAAgB,QAAA;EA/Kf;;;;EAoLD,cAAA,GAAiB,QAAA;EAtJjB;;;;EA2JA,eAAA,GAAkB,QAAA;EAzIjB;;;;EA+ID,WAAA,GAAc,QAAA,GAAW,GAAA,EAAK,YAAA;EA9I7B;;;;EAmJD,YAAA,GAAe,QAAA,IAAY,GAAA,EAAK,YAAA;EAjJzB;;;;EAsJP,aAAA,GAAgB,QAAA,GAAW,GAAA,EAAK,YAAA;EApJP;;;;EA0JzB,WAAA,GAAc,QAAA;EAtIQ;;;;EA2ItB,YAAA,GAAe,QAAA;EA1IgD;;;;EA+I/D,aAAA,GAAgB,QAAA;EA9IiC;;;;EAoJjD,iBAAA,GAAoB,QAAA;EAhJR;;;;EAqJZ,kBAAA,GAAqB,QAAA;EArIV;;;;EA0IX,mBAAA,GAAsB,QAAA;AAAA;;;;;;UAQN,WAAA,iBAA4B,YAAA,GAAe,YAAA;EA9IpD;;;;;;;;EAAA,SAuJE,SAAA,EAAW,UAAA;EAjJJ;;;;;;;EAAA,SAyJP,KAAA,EAAO,MAAA,CAAO,OAAA;EAzGO;;;;;;EAAA,SAgHrB,UAAA;EAhEmC;;;;;;;;;;;;;EAAA,SA8EnC,OAAA;EAnJgB;;;;;;EAAA,SA0JhB,QAAA;EA/ImB;;;;;EAAA,SAqJnB,WAAA;EAhJE;;;;;;;;;;;;;;EA+JX,MAAA,iDACC,OAAA,EAAS,gBAAA,CAAiB,CAAA,EAAG,CAAA,IAAK,WAAA,CAAY,CAAA,EAAG,CAAA,EAAG,CAAA,GACpD,aAAA,gCACW,UAAA,CAAW,WAAA;EA7IA;;;;;;;;;;EAwJvB,MAAA,CAAO,OAAA,EAAS,kBAAA,EAAoB,QAAA;EAlItB;;;;;;;;;;;;;;;EAkJd,IAAA,iDAAqD,OAAA,EAAS,gBAAA,CAAiB,CAAA,EAAG,CAAA,IAAK,WAAA,CAAY,CAAA,EAAG,CAAA,EAAG,CAAA;EAlHrF;;;;;;;EA0HpB,OAAA,CAAQ,OAAA,EAAS,kBAAA;EAxGU;;;;;;;;;;;;EAqH3B,IAAA,WAAe,gBAAA,CAAiB,OAAA,qBAA4B,WAAA,CAAY,OAAA,UAAiB,CAAA,GAAI,KAAA,EAAO,CAAA,EAAG,IAAA,EAAM,CAAA;EAlD1E;;;;;;;;;;;;;EAgEnC,EAAA,WAAa,gBAAA,CAAiB,OAAA,uBAA8B,WAAA,CAAY,OAAA,YAAmB,CAAA,GAAI,KAAA,EAAO,CAAA,EAAG,QAAA,EAAU,aAAA,CAAc,CAAA;EAdzD;;;;;;;;;;;;;EA4BxE,GAAA,WAAc,gBAAA,CAAiB,OAAA,uBAA8B,WAAA,CAAY,OAAA,YAAmB,CAAA,GAAI,KAAA,EAAO,CAAA,EAAG,QAAA,GAAW,aAAA,CAAc,CAAA;EAArH;;;;;;;;;;;;EAad,IAAA,WAAe,gBAAA,CAAiB,OAAA,uBAA8B,WAAA,CAAY,OAAA,YAAmB,CAAA,GAAI,KAAA,EAAO,CAAA,EAAG,QAAA,EAAU,aAAA,CAAc,CAAA;EAAA;;;;EAKnI,OAAA;EA2B6B;;;;EAtB7B,SAAA;EA/JoB;;;;;;;EAuKpB,KAAA,CAAM,IAAA,WAAe,MAAA;EA9GrB;;;;EAmHA,OAAA;EAlH2B;;;;;;;;EA2H3B,OAAA,IAAW,MAAA,EAAQ,UAAA,CAAW,CAAA;AAAA;;;;;ADtoB/B;;;;;AAKA;;;;;AAGA;;;;;;;;;AAGA;;;;;;;;;AA0BA;;;;;;;;;;;;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cEiDa,UAAA,iBAA2B,YAAA,GAAe,YAAA,UAAsB,cAAA,YAA0B,WAAA,CAAY,OAAA;EAAA;WAGzG,SAAA,EAAW,UAAA;ED/FW;;;;;;cCkInB,OAAA,UAAiB,OAAA,GAAS,iBAAA;EAAA,IA2DlC,KAAA,CAAA,GAAS,MAAA,CAAO,OAAA;EAAA,IAGhB,UAAA,CAAA;EAAA,IAIA,OAAA,CAAA;EAAA,IAGA,QAAA,CAAA;EAAA,IAGA,WAAA,CAAA;EA0CJ,IAAA,gDAAA,CAAqD,OAAA,EAAS,gBAAA,CAAiB,CAAA,EAAG,CAAA,IAAK,WAAA,CAAY,CAAA,EAAG,CAAA,EAAG,CAAA;EASzG,OAAA,CAAQ,OAAA,EAAS,kBAAA;EAcjB,IAAA,WAAe,gBAAA,CAAiB,OAAA,qBAA4B,WAAA,CAAY,OAAA,UAAiB,CAAA,EAAA,CAAI,KAAA,EAAO,CAAA,EAAG,IAAA,EAAM,CAAA;EAmE7G,EAAA,WAAa,gBAAA,CAAiB,OAAA,uBAA8B,WAAA,CAAY,OAAA,YAAmB,CAAA,EAAA,CAAI,KAAA,EAAO,CAAA,EAAG,QAAA,EAAU,aAAA,CAAc,CAAA;EAKjI,GAAA,WAAc,gBAAA,CAAiB,OAAA,uBAA8B,WAAA,CAAY,OAAA,YAAmB,CAAA,EAAA,CAAI,KAAA,EAAO,CAAA,EAAG,QAAA,GAAW,aAAA,CAAc,CAAA;EAKnI,IAAA,WAAe,gBAAA,CAAiB,OAAA,uBAA8B,WAAA,CAAY,OAAA,YAAmB,CAAA,EAAA,CAAI,KAAA,EAAO,CAAA,EAAG,QAAA,EAAU,aAAA,CAAc,CAAA;EAqFnI,OAAA,GAAA,CAAW,MAAA,EAAQ,UAAA,CAAW,CAAA;EA2I9B,OAAA,CAAA;EAqJA,SAAA,CAAA;EA+BA,KAAA,CAAM,IAAA,WAAe,MAAA;EAUrB,OAAA,CAAA;AAAA"} |
+1
-1
@@ -751,3 +751,2 @@ import { ByteSocketBase, ErrorContext, EventsForRooms, LifecycleMessage, MsgpackrOptions, SocketEvents, StringKeys, StringNumberKeys, UserMessage } from "@bytesocket/core"; | ||
| readonly lifecycle: ILifecycle; | ||
| readonly rooms: IRooms<TEvents>; | ||
| /** | ||
@@ -760,2 +759,3 @@ * Creates a new ByteSocket instance. | ||
| constructor(baseUrl: string, options?: ByteSocketOptions); | ||
| get rooms(): IRooms<TEvents>; | ||
| get readyState(): number; | ||
@@ -762,0 +762,0 @@ get canSend(): boolean; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/interfaces.ts","../src/byte-socket.ts"],"mappings":"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"} | ||
| {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/interfaces.ts","../src/byte-socket.ts"],"mappings":"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"} |
+551
-481
@@ -1,5 +0,540 @@ | ||
| import { AuthState, ByteSocketBase, LifecycleTypes } from "@bytesocket/core"; | ||
| import { AuthState, ByteSocketBase, LifecycleTypes, isEventMessage, isLifecycleMessage, isLifecyclePayloadMessage, isLifecycleRoomErrorMessage, isLifecycleRoomMessage, isLifecycleRoomsErrorMessage, isLifecycleRoomsMessage, isRoomEventMessage, isRoomsEventMessage } from "@bytesocket/core"; | ||
| export * from "@bytesocket/core" | ||
| //#region src/lifecycle.ts | ||
| var Lifecycle = class { | ||
| _onLifecycle; | ||
| _offLifecycle; | ||
| _onceLifecycle; | ||
| constructor(_onLifecycle, _offLifecycle, _onceLifecycle) { | ||
| this._onLifecycle = _onLifecycle; | ||
| this._offLifecycle = _offLifecycle; | ||
| this._onceLifecycle = _onceLifecycle; | ||
| } | ||
| onOpen(callback) { | ||
| this._onLifecycle(LifecycleTypes.open, callback); | ||
| return this; | ||
| } | ||
| offOpen(callback) { | ||
| this._offLifecycle(LifecycleTypes.open, callback); | ||
| return this; | ||
| } | ||
| onceOpen(callback) { | ||
| this._onceLifecycle(LifecycleTypes.open, callback); | ||
| return this; | ||
| } | ||
| onMessage(callback) { | ||
| this._onLifecycle(LifecycleTypes.message, callback); | ||
| return this; | ||
| } | ||
| offMessage(callback) { | ||
| this._offLifecycle(LifecycleTypes.message, callback); | ||
| return this; | ||
| } | ||
| onceMessage(callback) { | ||
| this._onceLifecycle(LifecycleTypes.message, callback); | ||
| return this; | ||
| } | ||
| onClose(callback) { | ||
| this._onLifecycle(LifecycleTypes.close, callback); | ||
| return this; | ||
| } | ||
| offClose(callback) { | ||
| this._offLifecycle(LifecycleTypes.close, callback); | ||
| return this; | ||
| } | ||
| onceClose(callback) { | ||
| this._onceLifecycle(LifecycleTypes.close, callback); | ||
| return this; | ||
| } | ||
| onError(callback) { | ||
| this._onLifecycle(LifecycleTypes.error, callback); | ||
| return this; | ||
| } | ||
| offError(callback) { | ||
| this._offLifecycle(LifecycleTypes.error, callback); | ||
| return this; | ||
| } | ||
| onceError(callback) { | ||
| this._onceLifecycle(LifecycleTypes.error, callback); | ||
| return this; | ||
| } | ||
| onAuthSuccess(callback) { | ||
| this._onLifecycle(LifecycleTypes.auth_success, callback); | ||
| return this; | ||
| } | ||
| offAuthSuccess(callback) { | ||
| this._offLifecycle(LifecycleTypes.auth_success, callback); | ||
| return this; | ||
| } | ||
| onceAuthSuccess(callback) { | ||
| this._onceLifecycle(LifecycleTypes.auth_success, callback); | ||
| return this; | ||
| } | ||
| onAuthError(callback) { | ||
| this._onLifecycle(LifecycleTypes.auth_error, callback); | ||
| return this; | ||
| } | ||
| offAuthError(callback) { | ||
| this._offLifecycle(LifecycleTypes.auth_error, callback); | ||
| return this; | ||
| } | ||
| onceAuthError(callback) { | ||
| this._onceLifecycle(LifecycleTypes.auth_error, callback); | ||
| return this; | ||
| } | ||
| onQueueFull(callback) { | ||
| this._onLifecycle(LifecycleTypes.queue_full, callback); | ||
| return this; | ||
| } | ||
| offQueueFull(callback) { | ||
| this._offLifecycle(LifecycleTypes.queue_full, callback); | ||
| return this; | ||
| } | ||
| onceQueueFull(callback) { | ||
| this._onceLifecycle(LifecycleTypes.queue_full, callback); | ||
| return this; | ||
| } | ||
| onReconnectFailed(callback) { | ||
| this._onLifecycle(LifecycleTypes.reconnect_failed, callback); | ||
| return this; | ||
| } | ||
| offReconnectFailed(callback) { | ||
| this._offLifecycle(LifecycleTypes.reconnect_failed, callback); | ||
| return this; | ||
| } | ||
| onceReconnectFailed(callback) { | ||
| this._onceLifecycle(LifecycleTypes.reconnect_failed, callback); | ||
| return this; | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/rooms-bulk-lifecycle.ts | ||
| var RoomsBulkLifecycle = class { | ||
| _onLifecycle; | ||
| _offLifecycle; | ||
| _onceLifecycle; | ||
| constructor(_onLifecycle, _offLifecycle, _onceLifecycle) { | ||
| this._onLifecycle = _onLifecycle; | ||
| this._offLifecycle = _offLifecycle; | ||
| this._onceLifecycle = _onceLifecycle; | ||
| } | ||
| onJoinSuccess(callback) { | ||
| this._onLifecycle(LifecycleTypes.join_rooms_success, callback); | ||
| return this; | ||
| } | ||
| offJoinSuccess(callback) { | ||
| this._offLifecycle(LifecycleTypes.join_rooms_success, callback); | ||
| return this; | ||
| } | ||
| onceJoinSuccess(callback) { | ||
| this._onceLifecycle(LifecycleTypes.join_rooms_success, callback); | ||
| return this; | ||
| } | ||
| onJoinError(callback) { | ||
| this._onLifecycle(LifecycleTypes.join_rooms_error, callback); | ||
| return this; | ||
| } | ||
| offJoinError(callback) { | ||
| this._offLifecycle(LifecycleTypes.join_rooms_error, callback); | ||
| return this; | ||
| } | ||
| onceJoinError(callback) { | ||
| this._onceLifecycle(LifecycleTypes.join_rooms_error, callback); | ||
| return this; | ||
| } | ||
| onLeaveSuccess(callback) { | ||
| this._onLifecycle(LifecycleTypes.leave_rooms_success, callback); | ||
| return this; | ||
| } | ||
| offLeaveSuccess(callback) { | ||
| this._offLifecycle(LifecycleTypes.leave_rooms_success, callback); | ||
| return this; | ||
| } | ||
| onceLeaveSuccess(callback) { | ||
| this._onceLifecycle(LifecycleTypes.leave_rooms_success, callback); | ||
| return this; | ||
| } | ||
| onLeaveError(callback) { | ||
| this._onLifecycle(LifecycleTypes.leave_rooms_error, callback); | ||
| return this; | ||
| } | ||
| offLeaveError(callback) { | ||
| this._offLifecycle(LifecycleTypes.leave_rooms_error, callback); | ||
| return this; | ||
| } | ||
| onceLeaveError(callback) { | ||
| this._onceLifecycle(LifecycleTypes.leave_rooms_error, callback); | ||
| return this; | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/rooms-bulk.ts | ||
| var RoomsBulk = class { | ||
| _debug; | ||
| getOrCreateRoomState; | ||
| send; | ||
| lifecycle; | ||
| constructor(_debug, _onLifecycle, _offLifecycle, _onceLifecycle, getOrCreateRoomState, send) { | ||
| this._debug = _debug; | ||
| this.getOrCreateRoomState = getOrCreateRoomState; | ||
| this.send = send; | ||
| this.lifecycle = new RoomsBulkLifecycle(_onLifecycle, _offLifecycle, _onceLifecycle); | ||
| } | ||
| emit(rooms, event, data) { | ||
| this.send({ | ||
| rooms, | ||
| event, | ||
| data | ||
| }); | ||
| return this; | ||
| } | ||
| join(rooms) { | ||
| if (rooms.length === 0) { | ||
| if (this._debug) console.warn("ByteSocket: can't join empty array of rooms - ignored"); | ||
| return this; | ||
| } | ||
| const toJoin = []; | ||
| for (const room of rooms) { | ||
| const state = this.getOrCreateRoomState(room); | ||
| if (state.joined || state.pending === "join") continue; | ||
| state.wanted = true; | ||
| state.pending = "join"; | ||
| toJoin.push(room); | ||
| } | ||
| if (toJoin.length === 0) { | ||
| if (this._debug) console.warn("ByteSocket: all rooms you requested to join are joined or pending joining already - ignored"); | ||
| return this; | ||
| } | ||
| this.send({ | ||
| type: LifecycleTypes.join_rooms, | ||
| rooms: toJoin | ||
| }); | ||
| return this; | ||
| } | ||
| leave(rooms) { | ||
| if (rooms.length === 0) { | ||
| if (this._debug) console.warn("ByteSocket: can't leave empty array of rooms - ignored"); | ||
| return this; | ||
| } | ||
| const toLeave = []; | ||
| for (const room of rooms) { | ||
| const state = this.getOrCreateRoomState(room); | ||
| if (!state.joined || state.pending === "leave") continue; | ||
| state.wanted = false; | ||
| state.pending = "leave"; | ||
| toLeave.push(room); | ||
| } | ||
| if (toLeave.length === 0) { | ||
| if (this._debug) console.warn("ByteSocket: all rooms you requested to leave are left or pending leaving already - ignored"); | ||
| return this; | ||
| } | ||
| this.send({ | ||
| type: LifecycleTypes.leave_rooms, | ||
| rooms: toLeave | ||
| }); | ||
| return this; | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/rooms-lifecycle.ts | ||
| var RoomsLifecycle = class { | ||
| _onLifecycle; | ||
| _offLifecycle; | ||
| _onceLifecycle; | ||
| constructor(_onLifecycle, _offLifecycle, _onceLifecycle) { | ||
| this._onLifecycle = _onLifecycle; | ||
| this._offLifecycle = _offLifecycle; | ||
| this._onceLifecycle = _onceLifecycle; | ||
| } | ||
| onJoinSuccess(callback) { | ||
| this._onLifecycle(LifecycleTypes.join_room_success, callback); | ||
| return this; | ||
| } | ||
| offJoinSuccess(callback) { | ||
| this._offLifecycle(LifecycleTypes.join_room_success, callback); | ||
| return this; | ||
| } | ||
| onceJoinSuccess(callback) { | ||
| this._onceLifecycle(LifecycleTypes.join_room_success, callback); | ||
| return this; | ||
| } | ||
| onJoinError(callback) { | ||
| this._onLifecycle(LifecycleTypes.join_room_error, callback); | ||
| return this; | ||
| } | ||
| offJoinError(callback) { | ||
| this._offLifecycle(LifecycleTypes.join_room_error, callback); | ||
| return this; | ||
| } | ||
| onceJoinError(callback) { | ||
| this._onceLifecycle(LifecycleTypes.join_room_error, callback); | ||
| return this; | ||
| } | ||
| onLeaveSuccess(callback) { | ||
| this._onLifecycle(LifecycleTypes.leave_room_success, callback); | ||
| return this; | ||
| } | ||
| offLeaveSuccess(callback) { | ||
| this._offLifecycle(LifecycleTypes.leave_room_success, callback); | ||
| return this; | ||
| } | ||
| onceLeaveSuccess(callback) { | ||
| this._onceLifecycle(LifecycleTypes.leave_room_success, callback); | ||
| return this; | ||
| } | ||
| onLeaveError(callback) { | ||
| this._onLifecycle(LifecycleTypes.leave_room_error, callback); | ||
| return this; | ||
| } | ||
| offLeaveError(callback) { | ||
| this._offLifecycle(LifecycleTypes.leave_room_error, callback); | ||
| return this; | ||
| } | ||
| onceLeaveError(callback) { | ||
| this._onceLifecycle(LifecycleTypes.leave_room_error, callback); | ||
| return this; | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/rooms.ts | ||
| var Rooms = class { | ||
| _debug; | ||
| _roomCallbacksMap; | ||
| _lifecycleCallbacksMap; | ||
| _triggerCallbacks; | ||
| _onRoom; | ||
| _offRoom; | ||
| _onceRoom; | ||
| send; | ||
| lifecycle; | ||
| bulk; | ||
| #roomStateMap = /* @__PURE__ */ new Map(); | ||
| constructor(_debug, _roomCallbacksMap, _lifecycleCallbacksMap, _triggerCallbacks, _onRoom, _offRoom, _onceRoom, _onLifecycle, _offLifecycle, _onceLifecycle, send) { | ||
| this._debug = _debug; | ||
| this._roomCallbacksMap = _roomCallbacksMap; | ||
| this._lifecycleCallbacksMap = _lifecycleCallbacksMap; | ||
| this._triggerCallbacks = _triggerCallbacks; | ||
| this._onRoom = _onRoom; | ||
| this._offRoom = _offRoom; | ||
| this._onceRoom = _onceRoom; | ||
| this.send = send; | ||
| this.lifecycle = new RoomsLifecycle(_onLifecycle, _offLifecycle, _onceLifecycle); | ||
| this.bulk = new RoomsBulk(_debug, _onLifecycle, _offLifecycle, _onceLifecycle, this.#getOrCreateRoomState.bind(this), send); | ||
| } | ||
| list() { | ||
| return [...this.#roomStateMap].filter(([_room, state]) => state.joined).map(([room]) => room); | ||
| } | ||
| emit(room, event, data) { | ||
| this.send({ | ||
| room, | ||
| event, | ||
| data | ||
| }); | ||
| return this; | ||
| } | ||
| join(room) { | ||
| const state = this.#getOrCreateRoomState(room); | ||
| if (state.joined || state.pending === "join") return this; | ||
| state.wanted = true; | ||
| state.pending = "join"; | ||
| this.send({ | ||
| type: LifecycleTypes.join_room, | ||
| room | ||
| }); | ||
| return this; | ||
| } | ||
| leave(room) { | ||
| const state = this.#getOrCreateRoomState(room); | ||
| if (!state.joined || state.pending === "leave") return this; | ||
| state.wanted = false; | ||
| state.pending = "leave"; | ||
| this.send({ | ||
| type: LifecycleTypes.leave_room, | ||
| room | ||
| }); | ||
| return this; | ||
| } | ||
| on(room, event, callback) { | ||
| this._onRoom(room, event, callback); | ||
| return this; | ||
| } | ||
| off(room, event, callback) { | ||
| this._offRoom(room, event, callback); | ||
| return this; | ||
| } | ||
| once(room, event, callback) { | ||
| this._onceRoom(room, event, callback); | ||
| return this; | ||
| } | ||
| #getOrCreateRoomState(room) { | ||
| let state = this.#roomStateMap.get(room); | ||
| if (!state) { | ||
| state = { | ||
| wanted: false, | ||
| joined: false, | ||
| pending: null | ||
| }; | ||
| this.#roomStateMap.set(room, state); | ||
| } | ||
| return state; | ||
| } | ||
| #cleanRoomState(room) { | ||
| const state = this.#roomStateMap.get(room); | ||
| if (!state) return; | ||
| if (state.wanted === false && state.joined === false && state.pending === null) this.#roomStateMap.delete(room); | ||
| } | ||
| clear() { | ||
| this.#roomStateMap.clear(); | ||
| } | ||
| onOpen() { | ||
| const rooms = []; | ||
| const toClean = []; | ||
| for (const [room, state] of this.#roomStateMap) if (state.wanted && !state.joined) { | ||
| state.pending = "join"; | ||
| rooms.push(room); | ||
| } else if (!state.wanted && state.joined) { | ||
| state.pending = null; | ||
| state.joined = false; | ||
| toClean.push(room); | ||
| } | ||
| for (const room of toClean) this.#cleanRoomState(room); | ||
| if (rooms.length === 0) return; | ||
| if (rooms.length === 1) this.send({ | ||
| type: LifecycleTypes.join_room, | ||
| room: rooms[0] | ||
| }); | ||
| else this.send({ | ||
| type: LifecycleTypes.join_rooms, | ||
| rooms | ||
| }); | ||
| } | ||
| onClose() { | ||
| for (const state of this.#roomStateMap.values()) { | ||
| state.joined = false; | ||
| state.pending = null; | ||
| } | ||
| } | ||
| handleMessage(payload) { | ||
| if (this.#handleJoinRoomSuccessMessage(payload)) return true; | ||
| if (this.#handleLeaveRoomSuccessMessage(payload)) return true; | ||
| if (this.#handleRoomErrorMessage(payload)) return true; | ||
| if (this.#handleJoinRoomsSuccessMessage(payload)) return true; | ||
| if (this.#handleLeaveRoomsSuccessMessage(payload)) return true; | ||
| if (this.#handleRoomsErrorMessage(payload)) return true; | ||
| if (this.#handleRoomsEventMessage(payload)) return true; | ||
| if (this.#handleRoomEventMessage(payload)) return true; | ||
| return false; | ||
| } | ||
| #handleJoinRoomSuccessMessage(payload) { | ||
| if (!isLifecycleRoomMessage(LifecycleTypes.join_room_success, payload)) return false; | ||
| const state = this.#roomStateMap.get(payload.room); | ||
| if (!state) { | ||
| if (this._debug) console.warn(`ByteSocket: stale ${LifecycleTypes[payload.type]} for "${payload.room}" - ignored`); | ||
| return true; | ||
| } | ||
| state.joined = true; | ||
| state.pending = null; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), payload.room); | ||
| return true; | ||
| } | ||
| #handleLeaveRoomSuccessMessage(payload) { | ||
| if (!isLifecycleRoomMessage(LifecycleTypes.leave_room_success, payload)) return false; | ||
| const state = this.#roomStateMap.get(payload.room); | ||
| if (!state) { | ||
| if (this._debug) console.warn(`ByteSocket: stale ${LifecycleTypes[payload.type]} for "${payload.room}" - ignored`); | ||
| return true; | ||
| } | ||
| state.joined = false; | ||
| state.pending = null; | ||
| this.#cleanRoomState(payload.room); | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), payload.room); | ||
| return true; | ||
| } | ||
| #handleRoomErrorMessage(payload) { | ||
| if (!isLifecycleRoomErrorMessage(payload)) return false; | ||
| const state = this.#roomStateMap.get(payload.room); | ||
| if (!state) { | ||
| if (this._debug) console.warn(`ByteSocket: stale ${LifecycleTypes[payload.type]} for "${payload.room}" - ignored`); | ||
| return true; | ||
| } | ||
| state.pending = null; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), payload.room, payload.data); | ||
| return true; | ||
| } | ||
| #handleJoinRoomsSuccessMessage(payload) { | ||
| if (!isLifecycleRoomsMessage(LifecycleTypes.join_rooms_success, payload)) return false; | ||
| const staleRooms = []; | ||
| const actualRooms = []; | ||
| for (const room of payload.rooms) { | ||
| const state = this.#roomStateMap.get(room); | ||
| if (!state) { | ||
| staleRooms.push(room); | ||
| continue; | ||
| } | ||
| state.joined = true; | ||
| state.pending = null; | ||
| actualRooms.push(room); | ||
| } | ||
| if (this._debug && staleRooms.length) console.warn(`ByteSocket: stale ${LifecycleTypes[payload.type]} for "${staleRooms.join(", ")}" - ignored`); | ||
| if (actualRooms.length === 0) return true; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), actualRooms); | ||
| return true; | ||
| } | ||
| #handleLeaveRoomsSuccessMessage(payload) { | ||
| if (!isLifecycleRoomsMessage(LifecycleTypes.leave_rooms_success, payload)) return false; | ||
| const staleRooms = []; | ||
| const actualRooms = []; | ||
| for (const room of payload.rooms) { | ||
| const state = this.#roomStateMap.get(room); | ||
| if (!state) { | ||
| staleRooms.push(room); | ||
| continue; | ||
| } | ||
| state.joined = false; | ||
| state.pending = null; | ||
| actualRooms.push(room); | ||
| this.#cleanRoomState(room); | ||
| } | ||
| if (this._debug && staleRooms.length) console.warn(`ByteSocket: stale ${LifecycleTypes[payload.type]} for "${staleRooms.join(", ")}" - ignored`); | ||
| if (actualRooms.length === 0) return true; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), actualRooms); | ||
| return true; | ||
| } | ||
| #handleRoomsErrorMessage(payload) { | ||
| if (!isLifecycleRoomsErrorMessage(payload)) return false; | ||
| const staleRooms = []; | ||
| const actualRooms = []; | ||
| for (const room of payload.rooms) { | ||
| const state = this.#roomStateMap.get(room); | ||
| if (!state) { | ||
| staleRooms.push(room); | ||
| continue; | ||
| } | ||
| state.pending = null; | ||
| actualRooms.push(room); | ||
| } | ||
| if (this._debug && staleRooms.length) console.warn(`ByteSocket: stale ${LifecycleTypes[payload.type]} for "${staleRooms.join(", ")}" - ignored`); | ||
| if (actualRooms.length === 0) return true; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), actualRooms, payload.data); | ||
| return true; | ||
| } | ||
| #handleRoomsEventMessage(payload) { | ||
| if (!isRoomsEventMessage(payload)) return false; | ||
| for (const room of payload.rooms) this._triggerCallbacks(this._roomCallbacksMap.get(room)?.get(payload.event), payload.data); | ||
| return true; | ||
| } | ||
| #handleRoomEventMessage(payload) { | ||
| if (!isRoomEventMessage(payload)) return false; | ||
| this._triggerCallbacks(this._roomCallbacksMap.get(payload.room)?.get(payload.event), payload.data); | ||
| return true; | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/byte-socket.ts | ||
@@ -83,3 +618,3 @@ /** | ||
| lifecycle; | ||
| rooms; | ||
| #rooms; | ||
| #baseUrl; | ||
@@ -92,3 +627,2 @@ #options; | ||
| #flushFailures = 0; | ||
| #roomStateMap = /* @__PURE__ */ new Map(); | ||
| #manuallyClosed = false; | ||
@@ -132,219 +666,9 @@ #flushing = false; | ||
| } | ||
| const lifecycle = { | ||
| onOpen: (callback) => { | ||
| this._onLifecycle(LifecycleTypes.open, callback); | ||
| return lifecycle; | ||
| }, | ||
| offOpen: (callback) => { | ||
| this._offLifecycle(LifecycleTypes.open, callback); | ||
| return lifecycle; | ||
| }, | ||
| onceOpen: (callback) => { | ||
| this._onceLifecycle(LifecycleTypes.open, callback); | ||
| return lifecycle; | ||
| }, | ||
| onMessage: (callback) => { | ||
| this._onLifecycle(LifecycleTypes.message, callback); | ||
| return lifecycle; | ||
| }, | ||
| offMessage: (callback) => { | ||
| this._offLifecycle(LifecycleTypes.message, callback); | ||
| return lifecycle; | ||
| }, | ||
| onceMessage: (callback) => { | ||
| this._onceLifecycle(LifecycleTypes.message, callback); | ||
| return lifecycle; | ||
| }, | ||
| onClose: (callback) => { | ||
| this._onLifecycle(LifecycleTypes.close, callback); | ||
| return lifecycle; | ||
| }, | ||
| offClose: (callback) => { | ||
| this._offLifecycle(LifecycleTypes.close, callback); | ||
| return lifecycle; | ||
| }, | ||
| onceClose: (callback) => { | ||
| this._onceLifecycle(LifecycleTypes.close, callback); | ||
| return lifecycle; | ||
| }, | ||
| onError: (callback) => { | ||
| this._onLifecycle(LifecycleTypes.error, callback); | ||
| return lifecycle; | ||
| }, | ||
| offError: (callback) => { | ||
| this._offLifecycle(LifecycleTypes.error, callback); | ||
| return lifecycle; | ||
| }, | ||
| onceError: (callback) => { | ||
| this._onceLifecycle(LifecycleTypes.error, callback); | ||
| return lifecycle; | ||
| }, | ||
| onAuthSuccess: (callback) => { | ||
| this._onLifecycle(LifecycleTypes.auth_success, callback); | ||
| return lifecycle; | ||
| }, | ||
| offAuthSuccess: (callback) => { | ||
| this._offLifecycle(LifecycleTypes.auth_success, callback); | ||
| return lifecycle; | ||
| }, | ||
| onceAuthSuccess: (callback) => { | ||
| this._onceLifecycle(LifecycleTypes.auth_success, callback); | ||
| return lifecycle; | ||
| }, | ||
| onAuthError: (callback) => { | ||
| this._onLifecycle(LifecycleTypes.auth_error, callback); | ||
| return lifecycle; | ||
| }, | ||
| offAuthError: (callback) => { | ||
| this._offLifecycle(LifecycleTypes.auth_error, callback); | ||
| return lifecycle; | ||
| }, | ||
| onceAuthError: (callback) => { | ||
| this._onceLifecycle(LifecycleTypes.auth_error, callback); | ||
| return lifecycle; | ||
| }, | ||
| onQueueFull: (callback) => { | ||
| this._onLifecycle(LifecycleTypes.queue_full, callback); | ||
| return lifecycle; | ||
| }, | ||
| offQueueFull: (callback) => { | ||
| this._offLifecycle(LifecycleTypes.queue_full, callback); | ||
| return lifecycle; | ||
| }, | ||
| onceQueueFull: (callback) => { | ||
| this._onceLifecycle(LifecycleTypes.queue_full, callback); | ||
| return lifecycle; | ||
| }, | ||
| onReconnectFailed: (callback) => { | ||
| this._onLifecycle(LifecycleTypes.reconnect_failed, callback); | ||
| return lifecycle; | ||
| }, | ||
| offReconnectFailed: (callback) => { | ||
| this._offLifecycle(LifecycleTypes.reconnect_failed, callback); | ||
| return lifecycle; | ||
| }, | ||
| onceReconnectFailed: (callback) => { | ||
| this._onceLifecycle(LifecycleTypes.reconnect_failed, callback); | ||
| return lifecycle; | ||
| } | ||
| }; | ||
| this.lifecycle = lifecycle; | ||
| const roomsLifecycle = { | ||
| onJoinSuccess: (callback) => { | ||
| this._onLifecycle(LifecycleTypes.join_room_success, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| offJoinSuccess: (callback) => { | ||
| this._offLifecycle(LifecycleTypes.join_room_success, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| onceJoinSuccess: (callback) => { | ||
| this._onceLifecycle(LifecycleTypes.join_room_success, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| onJoinError: (callback) => { | ||
| this._onLifecycle(LifecycleTypes.join_room_error, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| offJoinError: (callback) => { | ||
| this._offLifecycle(LifecycleTypes.join_room_error, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| onceJoinError: (callback) => { | ||
| this._onceLifecycle(LifecycleTypes.join_room_error, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| onLeaveSuccess: (callback) => { | ||
| this._onLifecycle(LifecycleTypes.leave_room_success, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| offLeaveSuccess: (callback) => { | ||
| this._offLifecycle(LifecycleTypes.leave_room_success, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| onceLeaveSuccess: (callback) => { | ||
| this._onceLifecycle(LifecycleTypes.leave_room_success, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| onLeaveError: (callback) => { | ||
| this._onLifecycle(LifecycleTypes.leave_room_error, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| offLeaveError: (callback) => { | ||
| this._offLifecycle(LifecycleTypes.leave_room_error, callback); | ||
| return roomsLifecycle; | ||
| }, | ||
| onceLeaveError: (callback) => { | ||
| this._onceLifecycle(LifecycleTypes.leave_room_error, callback); | ||
| return roomsLifecycle; | ||
| } | ||
| }; | ||
| const roomsBulkLifecycle = { | ||
| onJoinSuccess: (callback) => { | ||
| this._onLifecycle(LifecycleTypes.join_rooms_success, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| offJoinSuccess: (callback) => { | ||
| this._offLifecycle(LifecycleTypes.join_rooms_success, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| onceJoinSuccess: (callback) => { | ||
| this._onceLifecycle(LifecycleTypes.join_rooms_success, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| onJoinError: (callback) => { | ||
| this._onLifecycle(LifecycleTypes.join_rooms_error, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| offJoinError: (callback) => { | ||
| this._offLifecycle(LifecycleTypes.join_rooms_error, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| onceJoinError: (callback) => { | ||
| this._onceLifecycle(LifecycleTypes.join_rooms_error, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| onLeaveSuccess: (callback) => { | ||
| this._onLifecycle(LifecycleTypes.leave_rooms_success, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| offLeaveSuccess: (callback) => { | ||
| this._offLifecycle(LifecycleTypes.leave_rooms_success, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| onceLeaveSuccess: (callback) => { | ||
| this._onceLifecycle(LifecycleTypes.leave_rooms_success, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| onLeaveError: (callback) => { | ||
| this._onLifecycle(LifecycleTypes.leave_rooms_error, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| offLeaveError: (callback) => { | ||
| this._offLifecycle(LifecycleTypes.leave_rooms_error, callback); | ||
| return roomsBulkLifecycle; | ||
| }, | ||
| onceLeaveError: (callback) => { | ||
| this._onceLifecycle(LifecycleTypes.leave_rooms_error, callback); | ||
| return roomsBulkLifecycle; | ||
| } | ||
| }; | ||
| this.rooms = { | ||
| list: this.#listRooms.bind(this), | ||
| emit: this.#emitRoom.bind(this), | ||
| join: this.#joinRoom.bind(this), | ||
| leave: this.#leaveRoom.bind(this), | ||
| on: this.#onRoom.bind(this), | ||
| off: this.#offRoom.bind(this), | ||
| once: this.#onceRoom.bind(this), | ||
| lifecycle: roomsLifecycle, | ||
| bulk: { | ||
| emit: this.#emitRooms.bind(this), | ||
| join: this.#joinRooms.bind(this), | ||
| leave: this.#leaveRooms.bind(this), | ||
| lifecycle: roomsBulkLifecycle | ||
| } | ||
| }; | ||
| this.lifecycle = new Lifecycle(this._onLifecycle.bind(this), this._offLifecycle.bind(this), this._onceLifecycle.bind(this)); | ||
| this.#rooms = new Rooms(this._debug, this._roomCallbacksMap, this._lifecycleCallbacksMap, this._triggerCallbacks.bind(this), this._onRoom.bind(this), this._offRoom.bind(this), this._onceRoom.bind(this), this._onLifecycle.bind(this), this._offLifecycle.bind(this), this._onceLifecycle.bind(this), this.send.bind(this)); | ||
| if (this.#options.autoConnect) this.connect(); | ||
| } | ||
| get rooms() { | ||
| return this.#rooms; | ||
| } | ||
| get readyState() { | ||
@@ -529,3 +853,3 @@ return this.#ws?.readyState ?? WebSocket.CLOSED; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(LifecycleTypes.open)); | ||
| this.#onRoomsOpen(); | ||
| this.#rooms.onOpen(); | ||
| this.#startHeartbeat(); | ||
@@ -559,146 +883,2 @@ this.#flushQueue(); | ||
| } | ||
| #emitRoom(room, event, data) { | ||
| this.send({ | ||
| room, | ||
| event, | ||
| data | ||
| }); | ||
| return this.rooms; | ||
| } | ||
| #joinRoom(room) { | ||
| const state = this.#getOrCreateRoomState(room); | ||
| if (state.joined || state.pending === "join") return this.rooms; | ||
| state.wanted = true; | ||
| state.pending = "join"; | ||
| this.send({ | ||
| type: LifecycleTypes.join_room, | ||
| room | ||
| }); | ||
| return this.rooms; | ||
| } | ||
| #leaveRoom(room) { | ||
| const state = this.#getOrCreateRoomState(room); | ||
| if (!state.joined || state.pending === "leave") return this.rooms; | ||
| state.wanted = false; | ||
| state.pending = "leave"; | ||
| this.send({ | ||
| type: LifecycleTypes.leave_room, | ||
| room | ||
| }); | ||
| return this.rooms; | ||
| } | ||
| #emitRooms(rooms, event, data) { | ||
| this.send({ | ||
| rooms, | ||
| event, | ||
| data | ||
| }); | ||
| return this.rooms.bulk; | ||
| } | ||
| #joinRooms(rooms) { | ||
| if (rooms.length === 0) { | ||
| if (this._debug) console.warn("ByteSocket: can't join empty array of rooms - ignored"); | ||
| return this.rooms.bulk; | ||
| } | ||
| const toJoin = []; | ||
| for (const room of rooms) { | ||
| const state = this.#getOrCreateRoomState(room); | ||
| if (state.joined || state.pending === "join") continue; | ||
| state.wanted = true; | ||
| state.pending = "join"; | ||
| toJoin.push(room); | ||
| } | ||
| if (toJoin.length === 0) { | ||
| if (this._debug) console.warn("ByteSocket: all rooms you requested to join are joined or pending joining already - ignored"); | ||
| return this.rooms.bulk; | ||
| } | ||
| this.send({ | ||
| type: LifecycleTypes.join_rooms, | ||
| rooms: toJoin | ||
| }); | ||
| return this.rooms.bulk; | ||
| } | ||
| #leaveRooms(rooms) { | ||
| if (rooms.length === 0) { | ||
| if (this._debug) console.warn("ByteSocket: can't leave empty array of rooms - ignored"); | ||
| return this.rooms.bulk; | ||
| } | ||
| const toLeave = []; | ||
| for (const room of rooms) { | ||
| const state = this.#getOrCreateRoomState(room); | ||
| if (!state.joined || state.pending === "leave") continue; | ||
| state.wanted = false; | ||
| state.pending = "leave"; | ||
| toLeave.push(room); | ||
| } | ||
| if (toLeave.length === 0) { | ||
| if (this._debug) console.warn("ByteSocket: all rooms you requested to leave are left or pending leaving already - ignored"); | ||
| return this.rooms.bulk; | ||
| } | ||
| this.send({ | ||
| type: LifecycleTypes.leave_rooms, | ||
| rooms: toLeave | ||
| }); | ||
| return this.rooms.bulk; | ||
| } | ||
| #listRooms() { | ||
| return [...this.#roomStateMap].filter(([_room, state]) => state.joined).map(([room]) => room); | ||
| } | ||
| #onRoom(room, event, callback) { | ||
| this._onRoom(room, event, callback); | ||
| return this.rooms; | ||
| } | ||
| #offRoom(room, event, callback) { | ||
| this._offRoom(room, event, callback); | ||
| return this.rooms; | ||
| } | ||
| #onceRoom(room, event, callback) { | ||
| this._onceRoom(room, event, callback); | ||
| return this.rooms; | ||
| } | ||
| #getOrCreateRoomState(room) { | ||
| let state = this.#roomStateMap.get(room); | ||
| if (!state) { | ||
| state = { | ||
| wanted: false, | ||
| joined: false, | ||
| pending: null | ||
| }; | ||
| this.#roomStateMap.set(room, state); | ||
| } | ||
| return state; | ||
| } | ||
| #cleanRoomState(room) { | ||
| const state = this.#roomStateMap.get(room); | ||
| if (!state) return; | ||
| if (state.wanted === false && state.joined === false && state.pending === null) this.#roomStateMap.delete(room); | ||
| } | ||
| #onRoomsOpen() { | ||
| const rooms = []; | ||
| const toClean = []; | ||
| for (const [room, state] of this.#roomStateMap) if (state.wanted && !state.joined) { | ||
| state.pending = "join"; | ||
| rooms.push(room); | ||
| } else if (!state.wanted && state.joined) { | ||
| state.pending = null; | ||
| state.joined = false; | ||
| toClean.push(room); | ||
| } | ||
| for (const room of toClean) this.#cleanRoomState(room); | ||
| if (rooms.length === 0) return; | ||
| if (rooms.length === 1) this.send({ | ||
| type: LifecycleTypes.join_room, | ||
| room: rooms[0] | ||
| }); | ||
| else this.send({ | ||
| type: LifecycleTypes.join_rooms, | ||
| rooms | ||
| }); | ||
| } | ||
| #onRoomsClose() { | ||
| for (const state of this.#roomStateMap.values()) { | ||
| state.joined = false; | ||
| state.pending = null; | ||
| } | ||
| } | ||
| #startHeartbeat() { | ||
@@ -777,3 +957,3 @@ if (!this.#options.heartbeatEnabled) return; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(LifecycleTypes.open)); | ||
| this.#onRoomsOpen(); | ||
| this.#rooms.onOpen(); | ||
| this.#startHeartbeat(); | ||
@@ -800,3 +980,3 @@ this.#flushQueue(); | ||
| #handleAuthSuccessMessage(payload) { | ||
| if (!this._isLifecycleMessage(LifecycleTypes.auth_success, payload)) return false; | ||
| if (!isLifecycleMessage(LifecycleTypes.auth_success, payload)) return false; | ||
| if (this._debug) console.log("ByteSocket: auth success"); | ||
@@ -807,3 +987,3 @@ this.#handleAuthSuccess(); | ||
| #handleErrorMessage(payload) { | ||
| if (!this._isLifecyclePayloadMessage(LifecycleTypes.error, payload)) return false; | ||
| if (!isLifecyclePayloadMessage(LifecycleTypes.error, payload)) return false; | ||
| if (this._debug) console.warn("ByteSocket: error", payload.data); | ||
@@ -814,3 +994,3 @@ this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), payload.data); | ||
| #handleAuthErrorMessage(payload) { | ||
| if (!this._isLifecyclePayloadMessage(LifecycleTypes.auth_error, payload)) return false; | ||
| if (!isLifecyclePayloadMessage(LifecycleTypes.auth_error, payload)) return false; | ||
| if (this._debug) console.warn("ByteSocket: auth error", payload.data); | ||
@@ -820,107 +1000,4 @@ this.#handleAuthError(payload.data); | ||
| } | ||
| #handleJoinRoomSuccessMessage(payload) { | ||
| if (!this._isLifecycleRoomMessage(LifecycleTypes.join_room_success, payload)) return false; | ||
| const state = this.#roomStateMap.get(payload.room); | ||
| if (!state) { | ||
| if (this._debug) console.warn(`ByteSocket: stale ${LifecycleTypes[payload.type]} for "${payload.room}" - ignored`); | ||
| return true; | ||
| } | ||
| state.joined = true; | ||
| state.pending = null; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), payload.room); | ||
| return true; | ||
| } | ||
| #handleLeaveRoomSuccessMessage(payload) { | ||
| if (!this._isLifecycleRoomMessage(LifecycleTypes.leave_room_success, payload)) return false; | ||
| const state = this.#roomStateMap.get(payload.room); | ||
| if (!state) { | ||
| if (this._debug) console.warn(`ByteSocket: stale ${LifecycleTypes[payload.type]} for "${payload.room}" - ignored`); | ||
| return true; | ||
| } | ||
| state.joined = false; | ||
| state.pending = null; | ||
| this.#cleanRoomState(payload.room); | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), payload.room); | ||
| return true; | ||
| } | ||
| #handleRoomErrorMessage(payload) { | ||
| if (!this._isLifecycleRoomErrorMessage(payload)) return false; | ||
| const state = this.#roomStateMap.get(payload.room); | ||
| if (!state) { | ||
| if (this._debug) console.warn(`ByteSocket: stale ${LifecycleTypes[payload.type]} for "${payload.room}" - ignored`); | ||
| return true; | ||
| } | ||
| state.pending = null; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), payload.room, payload.data); | ||
| return true; | ||
| } | ||
| #handleJoinRoomsSuccessMessage(payload) { | ||
| if (!this._isLifecycleRoomsMessage(LifecycleTypes.join_rooms_success, payload)) return false; | ||
| const staleRooms = []; | ||
| const actualRooms = []; | ||
| for (const room of payload.rooms) { | ||
| const state = this.#roomStateMap.get(room); | ||
| if (!state) { | ||
| staleRooms.push(room); | ||
| continue; | ||
| } | ||
| state.joined = true; | ||
| state.pending = null; | ||
| actualRooms.push(room); | ||
| } | ||
| if (this._debug && staleRooms.length) console.warn(`ByteSocket: stale ${LifecycleTypes[payload.type]} for "${staleRooms.join(", ")}" - ignored`); | ||
| if (actualRooms.length === 0) return true; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), actualRooms); | ||
| return true; | ||
| } | ||
| #handleLeaveRoomsSuccessMessage(payload) { | ||
| if (!this._isLifecycleRoomsMessage(LifecycleTypes.leave_rooms_success, payload)) return false; | ||
| const staleRooms = []; | ||
| const actualRooms = []; | ||
| for (const room of payload.rooms) { | ||
| const state = this.#roomStateMap.get(room); | ||
| if (!state) { | ||
| staleRooms.push(room); | ||
| continue; | ||
| } | ||
| state.joined = false; | ||
| state.pending = null; | ||
| actualRooms.push(room); | ||
| this.#cleanRoomState(room); | ||
| } | ||
| if (this._debug && staleRooms.length) console.warn(`ByteSocket: stale ${LifecycleTypes[payload.type]} for "${staleRooms.join(", ")}" - ignored`); | ||
| if (actualRooms.length === 0) return true; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), actualRooms); | ||
| return true; | ||
| } | ||
| #handleRoomsErrorMessage(payload) { | ||
| if (!this._isLifecycleRoomsErrorMessage(payload)) return false; | ||
| const staleRooms = []; | ||
| const actualRooms = []; | ||
| for (const room of payload.rooms) { | ||
| const state = this.#roomStateMap.get(room); | ||
| if (!state) { | ||
| staleRooms.push(room); | ||
| continue; | ||
| } | ||
| state.pending = null; | ||
| actualRooms.push(room); | ||
| } | ||
| if (this._debug && staleRooms.length) console.warn(`ByteSocket: stale ${LifecycleTypes[payload.type]} for "${staleRooms.join(", ")}" - ignored`); | ||
| if (actualRooms.length === 0) return true; | ||
| this._triggerCallbacks(this._lifecycleCallbacksMap.get(payload.type), actualRooms, payload.data); | ||
| return true; | ||
| } | ||
| #handleRoomsEventMessage(payload) { | ||
| if (!this._isRoomsEventMessage(payload)) return false; | ||
| for (const room of payload.rooms) this._triggerCallbacks(this._roomCallbacksMap.get(room)?.get(payload.event), payload.data); | ||
| return true; | ||
| } | ||
| #handleRoomEventMessage(payload) { | ||
| if (!this._isRoomEventMessage(payload)) return false; | ||
| this._triggerCallbacks(this._roomCallbacksMap.get(payload.room)?.get(payload.event), payload.data); | ||
| return true; | ||
| } | ||
| #handleEventMessage(payload) { | ||
| if (!this._isEventMessage(payload)) return false; | ||
| if (!isEventMessage(payload)) return false; | ||
| this._triggerCallbacks(this._callbacksMap.get(payload.event), payload.data); | ||
@@ -941,10 +1018,3 @@ return true; | ||
| if (this.#handleErrorMessage(payload)) return; | ||
| if (this.#handleJoinRoomSuccessMessage(payload)) return; | ||
| if (this.#handleLeaveRoomSuccessMessage(payload)) return; | ||
| if (this.#handleRoomErrorMessage(payload)) return; | ||
| if (this.#handleJoinRoomsSuccessMessage(payload)) return; | ||
| if (this.#handleLeaveRoomsSuccessMessage(payload)) return; | ||
| if (this.#handleRoomsErrorMessage(payload)) return; | ||
| if (this.#handleRoomsEventMessage(payload)) return; | ||
| if (this.#handleRoomEventMessage(payload)) return; | ||
| if (this.#rooms.handleMessage(payload)) return; | ||
| if (this.#handleEventMessage(payload)) return; | ||
@@ -998,3 +1068,3 @@ if (this._debug) console.warn("ByteSocket: unhandled message", payload); | ||
| this._clearCallbacks(); | ||
| this.#roomStateMap.clear(); | ||
| this.#rooms.clear(); | ||
| } | ||
@@ -1011,3 +1081,3 @@ #cleanupConnection(keepQueue = false) { | ||
| this.#clearAuthTimeout(); | ||
| this.#onRoomsClose(); | ||
| this.#rooms.onClose(); | ||
| if (!this.#destroyed) this._triggerCallbacks(this._lifecycleCallbacksMap.get(LifecycleTypes.close), event); | ||
@@ -1014,0 +1084,0 @@ if (this.#destroyed || this.#manuallyClosed || this.#authState === AuthState.failed || this.#reconnectExhausted) return; |
+2
-2
| { | ||
| "name": "@bytesocket/client", | ||
| "version": "0.4.0", | ||
| "version": "0.4.1", | ||
| "description": "High-performance WebSocket client for browsers", | ||
@@ -44,3 +44,3 @@ "keywords": [ | ||
| "dependencies": { | ||
| "@bytesocket/core": "0.4.0" | ||
| "@bytesocket/core": "0.4.1" | ||
| }, | ||
@@ -47,0 +47,0 @@ "engines": { |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
320696
4.16%3018
4.61%+ Added
- Removed
Updated