@bytesocket/client
Advanced tools
+68
-49
@@ -100,7 +100,7 @@ import { MsgpackrOptions, AnyCallback, LifecycleTypes, SocketEvents, ErrorContext, StringNumberKeys, EventsForRooms, LifecycleMessage, UserMessage, StringKeys } from '@bytesocket/types'; | ||
| protected addCallback<E extends string | number, D>(callbacksMap: Map<string | number, Set<AnyCallback>>, event: E, callback: EventCallback<D>): void; | ||
| /** Registers a one‑time callback by storing the wrapper in a separate map. */ | ||
| /** Registers a one-time callback by storing the wrapper in a separate map. */ | ||
| protected addOnceCallback<E extends string | number, D>(onceCallbacksMap: Map<string | number, Map<AnyCallback, Set<AnyCallback>>>, event: E, callback: EventCallback<D>, callbackWrapper: EventCallback<D>): void; | ||
| /** Removes a callback from an event map. */ | ||
| protected deleteCallback<E extends string | number, D>(callbacksMap: Map<string | number, Set<AnyCallback>>, event: E, callbackWrapper: EventCallback<D>): void; | ||
| /** Removes a one‑time callback and its associated wrapper. */ | ||
| /** Removes a one-time callback and its associated wrapper. */ | ||
| protected deleteOnceCallback<E extends string | number, D>(onceCallbacksMap: Map<string | number, Map<AnyCallback, Set<AnyCallback>>>, event: E, callback: EventCallback<D>, callbackWrapper: EventCallback<D>): void; | ||
@@ -115,3 +115,3 @@ /** Registers a permanent listener for a lifecycle event. */ | ||
| /** | ||
| * Registers a one‑time listener for a lifecycle event. | ||
| * Registers a one-time listener for a lifecycle event. | ||
| * The callback is automatically removed after the first invocation. | ||
@@ -125,3 +125,3 @@ */ | ||
| /** | ||
| * Manages room membership and room‑scoped event listeners. | ||
| * Manages room membership and room-scoped event listeners. | ||
| * | ||
@@ -137,3 +137,3 @@ * You should not instantiate this class directly; it is accessible via | ||
| /** | ||
| * Lifecycle event listeners for single‑room operations. | ||
| * Lifecycle event listeners for single-room operations. | ||
| * | ||
@@ -147,3 +147,3 @@ * @example | ||
| /** | ||
| * Register a listener for successful single‑room join. | ||
| * Register a listener for successful single-room join. | ||
| * @param callback - Function invoked with the room name. | ||
@@ -153,3 +153,3 @@ */ | ||
| /** | ||
| * Remove a listener for successful single‑room join. | ||
| * Remove a listener for successful single-room join. | ||
| * @param callback - Optional; if omitted, all listeners are removed. | ||
@@ -159,3 +159,3 @@ */ | ||
| /** | ||
| * Register a one‑time listener for successful single‑room join. | ||
| * Register a one-time listener for successful single-room join. | ||
| * @param callback - Function invoked once with the room name. | ||
@@ -165,3 +165,3 @@ */ | ||
| /** | ||
| * Register a listener for single‑room join errors. | ||
| * Register a listener for single-room join errors. | ||
| * @param callback - Function invoked with the room name and error data. | ||
@@ -171,3 +171,3 @@ */ | ||
| /** | ||
| * Remove a listener for single‑room join errors. | ||
| * Remove a listener for single-room join errors. | ||
| * @param callback - Optional; if omitted, all listeners are removed. | ||
@@ -177,3 +177,3 @@ */ | ||
| /** | ||
| * Register a one‑time listener for single‑room join errors. | ||
| * Register a one-time listener for single-room join errors. | ||
| * @param callback - Function invoked once with the room name and error data. | ||
@@ -183,3 +183,3 @@ */ | ||
| /** | ||
| * Register a listener for successful single‑room leave. | ||
| * Register a listener for successful single-room leave. | ||
| * @param callback - Function invoked with the room name. | ||
@@ -189,3 +189,3 @@ */ | ||
| /** | ||
| * Remove a listener for successful single‑room leave. | ||
| * Remove a listener for successful single-room leave. | ||
| * @param callback - Optional; if omitted, all listeners are removed. | ||
@@ -195,3 +195,3 @@ */ | ||
| /** | ||
| * Register a one‑time listener for successful single‑room leave. | ||
| * Register a one-time listener for successful single-room leave. | ||
| * @param callback - Function invoked once with the room name. | ||
@@ -201,3 +201,3 @@ */ | ||
| /** | ||
| * Register a listener for single‑room leave errors. | ||
| * Register a listener for single-room leave errors. | ||
| * @param callback - Function invoked with the room name and error data. | ||
@@ -207,3 +207,3 @@ */ | ||
| /** | ||
| * Remove a listener for single‑room leave errors. | ||
| * Remove a listener for single-room leave errors. | ||
| * @param callback - Optional; if omitted, all listeners are removed. | ||
@@ -213,3 +213,3 @@ */ | ||
| /** | ||
| * Register a one‑time listener for single‑room leave errors. | ||
| * Register a one-time listener for single-room leave errors. | ||
| * @param callback - Function invoked once with the room name and error data. | ||
@@ -266,3 +266,3 @@ */ | ||
| /** | ||
| * Register a one‑time listener for successful bulk join. | ||
| * Register a one-time listener for successful bulk join. | ||
| * @param callback - Function invoked once with the array of room names. | ||
@@ -282,3 +282,3 @@ */ | ||
| /** | ||
| * Register a one‑time listener for bulk join errors. | ||
| * Register a one-time listener for bulk join errors. | ||
| * @param callback - Function invoked once with the array of room names and error data. | ||
@@ -298,3 +298,3 @@ */ | ||
| /** | ||
| * Register a one‑time listener for successful bulk leave. | ||
| * Register a one-time listener for successful bulk leave. | ||
| * @param callback - Function invoked once with the array of room names. | ||
@@ -314,3 +314,3 @@ */ | ||
| /** | ||
| * Register a one‑time listener for bulk leave errors. | ||
| * Register a one-time listener for bulk leave errors. | ||
| * @param callback - Function invoked once with the array of room names and error data. | ||
@@ -339,3 +339,3 @@ */ | ||
| * Request to join a single room. | ||
| * Idempotent – calling multiple times for the same room has no extra effect. | ||
| * Idempotent - calling multiple times for the same room has no extra effect. | ||
| * | ||
@@ -354,2 +354,12 @@ * @example | ||
| /** | ||
| * Get a list of rooms this socket is currently subscribed to. | ||
| * The internal broadcast room is excluded. | ||
| * | ||
| * @returns Array of room names. | ||
| * | ||
| * @example | ||
| * socket.rooms.list(); // ['chat', 'lobby'] | ||
| */ | ||
| list(): string[]; | ||
| /** | ||
| * Register a permanent listener for events on a specific room. | ||
@@ -382,3 +392,3 @@ * | ||
| /** | ||
| * Register a one‑time listener for an event on a specific room. | ||
| * Register a one-time listener for an event on a specific room. | ||
| * The callback is removed after its first invocation. | ||
@@ -409,6 +419,6 @@ * | ||
| * | ||
| * It provides a fully typed event system via a user‑supplied event map (`TEvents`). | ||
| * It provides a fully typed event system via a user-supplied event map (`TEvents`). | ||
| * | ||
| * @typeParam TEvents - A type extending `SocketEvents` that defines the shape of | ||
| * all emit/listen events (global and room‑scoped). | ||
| * all emit/listen events (global and room-scoped). | ||
| * | ||
@@ -470,3 +480,3 @@ * @example Symmetric events (most common) | ||
| * | ||
| * // Room‑specific emits/listens | ||
| * // Room-specific emits/listens | ||
| * socket.rooms.join('chat'); | ||
@@ -494,3 +504,3 @@ * socket.rooms.emit('chat', 'message', { text: 'Hello!' }); | ||
| offOpen: (callback?: () => void) => void; | ||
| /** Register a one‑time listener for socket open. */ | ||
| /** Register a one-time listener for socket open. */ | ||
| onceOpen: (callback: () => void) => void; | ||
@@ -506,3 +516,3 @@ /** | ||
| offMessage: (callback?: (data: string | ArrayBuffer) => void) => void; | ||
| /** Register a one‑time listener for raw incoming WebSocket messages. */ | ||
| /** Register a one-time listener for raw incoming WebSocket messages. */ | ||
| onceMessage: (callback: (data: string | ArrayBuffer) => void) => void; | ||
@@ -513,3 +523,3 @@ /** Register a listener for socket close. */ | ||
| offClose: (callback?: (event: CloseEvent) => void) => void; | ||
| /** Register a one‑time listener for socket close. */ | ||
| /** Register a one-time listener for socket close. */ | ||
| onceClose: (callback: (event: CloseEvent) => void) => void; | ||
@@ -520,3 +530,3 @@ /** Register a listener for WebSocket errors. */ | ||
| offError: (callback?: (event: Event) => void) => void; | ||
| /** Register a one‑time listener for WebSocket errors. */ | ||
| /** Register a one-time listener for WebSocket errors. */ | ||
| onceError: (callback: (event: Event) => void) => void; | ||
@@ -527,3 +537,3 @@ /** Register a listener for authentication success. */ | ||
| offAuthSuccess: (callback?: () => void) => void; | ||
| /** Register a one‑time listener for authentication success. */ | ||
| /** Register a one-time listener for authentication success. */ | ||
| onceAuthSuccess: (callback: () => void) => void; | ||
@@ -534,19 +544,19 @@ /** Register a listener for authentication errors. */ | ||
| offAuthError: (callback?: (ctx: ErrorContext) => void) => void; | ||
| /** Register a one‑time listener for authentication errors. */ | ||
| /** Register a one-time listener for authentication errors. */ | ||
| onceAuthError: (callback: (ctx: ErrorContext) => void) => void; | ||
| /** Register a listener for when the message queue becomes full and a message is dropped. */ | ||
| onQueueFull: (callback: () => void) => void; | ||
| /** Remove a listener for queue‑full events. */ | ||
| /** Remove a listener for queue-full events. */ | ||
| offQueueFull: (callback?: () => void) => void; | ||
| /** Register a one‑time listener for queue‑full events. */ | ||
| /** Register a one-time listener for queue-full events. */ | ||
| onceQueueFull: (callback: () => void) => void; | ||
| /** Register a listener for when reconnection fails after all attempts. */ | ||
| onReconnectFailed: (callback: () => void) => void; | ||
| /** Remove a listener for reconnect‑failed events. */ | ||
| /** Remove a listener for reconnect-failed events. */ | ||
| offReconnectFailed: (callback?: () => void) => void; | ||
| /** Register a one‑time listener for reconnect‑failed events. */ | ||
| /** Register a one-time listener for reconnect-failed events. */ | ||
| onceReconnectFailed: (callback: () => void) => void; | ||
| }; | ||
| /** | ||
| * Room management and room‑scoped events. | ||
| * Room management and room-scoped events. | ||
| * | ||
@@ -584,16 +594,25 @@ * @example | ||
| /** | ||
| * Whether the socket has been manually closed or permanently destroyed. | ||
| * Returns `true` after `close()` or `destroy()` has been called. | ||
| */ | ||
| get isClosed(): boolean; | ||
| /** | ||
| * Whether the underlying WebSocket connection is currently open. | ||
| */ | ||
| get isConnected(): boolean; | ||
| /** | ||
| * Encode a structured payload into a format suitable for sending over the WebSocket. | ||
| * Uses the configured serialization (`"json"` or `"binary"`). | ||
| * | ||
| * **Advanced usage only.** Prefer `emit()` or `send()` for type‑safe communication. | ||
| * **Advanced usage only.** Prefer `emit()` or `send()` for type-safe communication. | ||
| * | ||
| * @param payload - A lifecycle message or user event object. | ||
| * @returns Encoded string (JSON) or Uint8Array (MessagePack). | ||
| * @param serialization - Serialization format: "json" or "binary". | ||
| * @returns Encoded string (JSON) or Uint8Array<ArrayBuffer> (MessagePack). | ||
| * | ||
| * @example | ||
| * // Pre‑encode a payload for repeated use | ||
| * // Pre-encode a payload for repeated use | ||
| * const encoded = socket.encode({ event: 'chat', data: { text: 'Hello' } }); | ||
| * socket.sendRaw(encoded); | ||
| */ | ||
| encode<R extends string, E extends string | number, D>(payload: LifecycleMessage<R, D> | UserMessage<R, E, D>): any; | ||
| encode<R extends string, E extends string | number, D>(payload: LifecycleMessage<R, D> | UserMessage<R, E, D>, serialization?: "json" | "binary"): string | Uint8Array<ArrayBuffer>; | ||
| /** | ||
@@ -605,3 +624,3 @@ * Decode a raw WebSocket message into a structured payload. | ||
| * | ||
| * @param message - Raw string (JSON) or Uint8Array (MessagePack). | ||
| * @param message - Raw string (JSON) or ArrayBuffer (MessagePack). | ||
| * @param isBinary - Whether the message is binary. If omitted, format is detected from the message type. | ||
@@ -612,3 +631,3 @@ * @returns Decoded lifecycle or user message object. | ||
| /** | ||
| * Send a pre‑serialized payload (LifecycleMessage or UserMessage) over the WebSocket. | ||
| * Send a pre-serialized payload (LifecycleMessage or UserMessage) over the WebSocket. | ||
| * If the socket is not ready, the payload is queued and sent when the connection | ||
@@ -629,3 +648,3 @@ * becomes operational and authentication (if required) has succeeded. | ||
| /** | ||
| * Send a raw message (string or BufferSource) directly over the WebSocket. | ||
| * Send a raw message (string or Uint8Array<ArrayBuffer>) directly over the WebSocket. | ||
| * Bypasses serialization and auth checks. If the socket is not open, the message | ||
@@ -636,3 +655,3 @@ * is queued and sent when possible (auth state is ignored). | ||
| */ | ||
| sendRaw(message: string | BufferSource): void; | ||
| sendRaw(message: string | Uint8Array<ArrayBuffer>): void; | ||
| /** | ||
@@ -673,3 +692,3 @@ * Emit a global event. | ||
| /** | ||
| * Register a one‑time listener for a global event. | ||
| * Register a one-time listener for a global event. | ||
| * The callback is removed after the first invocation. | ||
@@ -685,3 +704,3 @@ * | ||
| * Update the authentication configuration before connecting. | ||
| * Must be called before `connect()` (or auto‑connect). | ||
| * Must be called before `connect()` (or auto-connect). | ||
| * | ||
@@ -699,3 +718,3 @@ * @param config - New auth config (static object or async callback). | ||
| /** | ||
| * Force an immediate reconnection, resetting the current connection and re‑establishing. | ||
| * Force an immediate reconnection, resetting the current connection and re-establishing. | ||
| * Useful when you suspect the connection is stale but hasn't closed yet. | ||
@@ -702,0 +721,0 @@ */ |
+68
-49
@@ -100,7 +100,7 @@ import { MsgpackrOptions, AnyCallback, LifecycleTypes, SocketEvents, ErrorContext, StringNumberKeys, EventsForRooms, LifecycleMessage, UserMessage, StringKeys } from '@bytesocket/types'; | ||
| protected addCallback<E extends string | number, D>(callbacksMap: Map<string | number, Set<AnyCallback>>, event: E, callback: EventCallback<D>): void; | ||
| /** Registers a one‑time callback by storing the wrapper in a separate map. */ | ||
| /** Registers a one-time callback by storing the wrapper in a separate map. */ | ||
| protected addOnceCallback<E extends string | number, D>(onceCallbacksMap: Map<string | number, Map<AnyCallback, Set<AnyCallback>>>, event: E, callback: EventCallback<D>, callbackWrapper: EventCallback<D>): void; | ||
| /** Removes a callback from an event map. */ | ||
| protected deleteCallback<E extends string | number, D>(callbacksMap: Map<string | number, Set<AnyCallback>>, event: E, callbackWrapper: EventCallback<D>): void; | ||
| /** Removes a one‑time callback and its associated wrapper. */ | ||
| /** Removes a one-time callback and its associated wrapper. */ | ||
| protected deleteOnceCallback<E extends string | number, D>(onceCallbacksMap: Map<string | number, Map<AnyCallback, Set<AnyCallback>>>, event: E, callback: EventCallback<D>, callbackWrapper: EventCallback<D>): void; | ||
@@ -115,3 +115,3 @@ /** Registers a permanent listener for a lifecycle event. */ | ||
| /** | ||
| * Registers a one‑time listener for a lifecycle event. | ||
| * Registers a one-time listener for a lifecycle event. | ||
| * The callback is automatically removed after the first invocation. | ||
@@ -125,3 +125,3 @@ */ | ||
| /** | ||
| * Manages room membership and room‑scoped event listeners. | ||
| * Manages room membership and room-scoped event listeners. | ||
| * | ||
@@ -137,3 +137,3 @@ * You should not instantiate this class directly; it is accessible via | ||
| /** | ||
| * Lifecycle event listeners for single‑room operations. | ||
| * Lifecycle event listeners for single-room operations. | ||
| * | ||
@@ -147,3 +147,3 @@ * @example | ||
| /** | ||
| * Register a listener for successful single‑room join. | ||
| * Register a listener for successful single-room join. | ||
| * @param callback - Function invoked with the room name. | ||
@@ -153,3 +153,3 @@ */ | ||
| /** | ||
| * Remove a listener for successful single‑room join. | ||
| * Remove a listener for successful single-room join. | ||
| * @param callback - Optional; if omitted, all listeners are removed. | ||
@@ -159,3 +159,3 @@ */ | ||
| /** | ||
| * Register a one‑time listener for successful single‑room join. | ||
| * Register a one-time listener for successful single-room join. | ||
| * @param callback - Function invoked once with the room name. | ||
@@ -165,3 +165,3 @@ */ | ||
| /** | ||
| * Register a listener for single‑room join errors. | ||
| * Register a listener for single-room join errors. | ||
| * @param callback - Function invoked with the room name and error data. | ||
@@ -171,3 +171,3 @@ */ | ||
| /** | ||
| * Remove a listener for single‑room join errors. | ||
| * Remove a listener for single-room join errors. | ||
| * @param callback - Optional; if omitted, all listeners are removed. | ||
@@ -177,3 +177,3 @@ */ | ||
| /** | ||
| * Register a one‑time listener for single‑room join errors. | ||
| * Register a one-time listener for single-room join errors. | ||
| * @param callback - Function invoked once with the room name and error data. | ||
@@ -183,3 +183,3 @@ */ | ||
| /** | ||
| * Register a listener for successful single‑room leave. | ||
| * Register a listener for successful single-room leave. | ||
| * @param callback - Function invoked with the room name. | ||
@@ -189,3 +189,3 @@ */ | ||
| /** | ||
| * Remove a listener for successful single‑room leave. | ||
| * Remove a listener for successful single-room leave. | ||
| * @param callback - Optional; if omitted, all listeners are removed. | ||
@@ -195,3 +195,3 @@ */ | ||
| /** | ||
| * Register a one‑time listener for successful single‑room leave. | ||
| * Register a one-time listener for successful single-room leave. | ||
| * @param callback - Function invoked once with the room name. | ||
@@ -201,3 +201,3 @@ */ | ||
| /** | ||
| * Register a listener for single‑room leave errors. | ||
| * Register a listener for single-room leave errors. | ||
| * @param callback - Function invoked with the room name and error data. | ||
@@ -207,3 +207,3 @@ */ | ||
| /** | ||
| * Remove a listener for single‑room leave errors. | ||
| * Remove a listener for single-room leave errors. | ||
| * @param callback - Optional; if omitted, all listeners are removed. | ||
@@ -213,3 +213,3 @@ */ | ||
| /** | ||
| * Register a one‑time listener for single‑room leave errors. | ||
| * Register a one-time listener for single-room leave errors. | ||
| * @param callback - Function invoked once with the room name and error data. | ||
@@ -266,3 +266,3 @@ */ | ||
| /** | ||
| * Register a one‑time listener for successful bulk join. | ||
| * Register a one-time listener for successful bulk join. | ||
| * @param callback - Function invoked once with the array of room names. | ||
@@ -282,3 +282,3 @@ */ | ||
| /** | ||
| * Register a one‑time listener for bulk join errors. | ||
| * Register a one-time listener for bulk join errors. | ||
| * @param callback - Function invoked once with the array of room names and error data. | ||
@@ -298,3 +298,3 @@ */ | ||
| /** | ||
| * Register a one‑time listener for successful bulk leave. | ||
| * Register a one-time listener for successful bulk leave. | ||
| * @param callback - Function invoked once with the array of room names. | ||
@@ -314,3 +314,3 @@ */ | ||
| /** | ||
| * Register a one‑time listener for bulk leave errors. | ||
| * Register a one-time listener for bulk leave errors. | ||
| * @param callback - Function invoked once with the array of room names and error data. | ||
@@ -339,3 +339,3 @@ */ | ||
| * Request to join a single room. | ||
| * Idempotent – calling multiple times for the same room has no extra effect. | ||
| * Idempotent - calling multiple times for the same room has no extra effect. | ||
| * | ||
@@ -354,2 +354,12 @@ * @example | ||
| /** | ||
| * Get a list of rooms this socket is currently subscribed to. | ||
| * The internal broadcast room is excluded. | ||
| * | ||
| * @returns Array of room names. | ||
| * | ||
| * @example | ||
| * socket.rooms.list(); // ['chat', 'lobby'] | ||
| */ | ||
| list(): string[]; | ||
| /** | ||
| * Register a permanent listener for events on a specific room. | ||
@@ -382,3 +392,3 @@ * | ||
| /** | ||
| * Register a one‑time listener for an event on a specific room. | ||
| * Register a one-time listener for an event on a specific room. | ||
| * The callback is removed after its first invocation. | ||
@@ -409,6 +419,6 @@ * | ||
| * | ||
| * It provides a fully typed event system via a user‑supplied event map (`TEvents`). | ||
| * It provides a fully typed event system via a user-supplied event map (`TEvents`). | ||
| * | ||
| * @typeParam TEvents - A type extending `SocketEvents` that defines the shape of | ||
| * all emit/listen events (global and room‑scoped). | ||
| * all emit/listen events (global and room-scoped). | ||
| * | ||
@@ -470,3 +480,3 @@ * @example Symmetric events (most common) | ||
| * | ||
| * // Room‑specific emits/listens | ||
| * // Room-specific emits/listens | ||
| * socket.rooms.join('chat'); | ||
@@ -494,3 +504,3 @@ * socket.rooms.emit('chat', 'message', { text: 'Hello!' }); | ||
| offOpen: (callback?: () => void) => void; | ||
| /** Register a one‑time listener for socket open. */ | ||
| /** Register a one-time listener for socket open. */ | ||
| onceOpen: (callback: () => void) => void; | ||
@@ -506,3 +516,3 @@ /** | ||
| offMessage: (callback?: (data: string | ArrayBuffer) => void) => void; | ||
| /** Register a one‑time listener for raw incoming WebSocket messages. */ | ||
| /** Register a one-time listener for raw incoming WebSocket messages. */ | ||
| onceMessage: (callback: (data: string | ArrayBuffer) => void) => void; | ||
@@ -513,3 +523,3 @@ /** Register a listener for socket close. */ | ||
| offClose: (callback?: (event: CloseEvent) => void) => void; | ||
| /** Register a one‑time listener for socket close. */ | ||
| /** Register a one-time listener for socket close. */ | ||
| onceClose: (callback: (event: CloseEvent) => void) => void; | ||
@@ -520,3 +530,3 @@ /** Register a listener for WebSocket errors. */ | ||
| offError: (callback?: (event: Event) => void) => void; | ||
| /** Register a one‑time listener for WebSocket errors. */ | ||
| /** Register a one-time listener for WebSocket errors. */ | ||
| onceError: (callback: (event: Event) => void) => void; | ||
@@ -527,3 +537,3 @@ /** Register a listener for authentication success. */ | ||
| offAuthSuccess: (callback?: () => void) => void; | ||
| /** Register a one‑time listener for authentication success. */ | ||
| /** Register a one-time listener for authentication success. */ | ||
| onceAuthSuccess: (callback: () => void) => void; | ||
@@ -534,19 +544,19 @@ /** Register a listener for authentication errors. */ | ||
| offAuthError: (callback?: (ctx: ErrorContext) => void) => void; | ||
| /** Register a one‑time listener for authentication errors. */ | ||
| /** Register a one-time listener for authentication errors. */ | ||
| onceAuthError: (callback: (ctx: ErrorContext) => void) => void; | ||
| /** Register a listener for when the message queue becomes full and a message is dropped. */ | ||
| onQueueFull: (callback: () => void) => void; | ||
| /** Remove a listener for queue‑full events. */ | ||
| /** Remove a listener for queue-full events. */ | ||
| offQueueFull: (callback?: () => void) => void; | ||
| /** Register a one‑time listener for queue‑full events. */ | ||
| /** Register a one-time listener for queue-full events. */ | ||
| onceQueueFull: (callback: () => void) => void; | ||
| /** Register a listener for when reconnection fails after all attempts. */ | ||
| onReconnectFailed: (callback: () => void) => void; | ||
| /** Remove a listener for reconnect‑failed events. */ | ||
| /** Remove a listener for reconnect-failed events. */ | ||
| offReconnectFailed: (callback?: () => void) => void; | ||
| /** Register a one‑time listener for reconnect‑failed events. */ | ||
| /** Register a one-time listener for reconnect-failed events. */ | ||
| onceReconnectFailed: (callback: () => void) => void; | ||
| }; | ||
| /** | ||
| * Room management and room‑scoped events. | ||
| * Room management and room-scoped events. | ||
| * | ||
@@ -584,16 +594,25 @@ * @example | ||
| /** | ||
| * Whether the socket has been manually closed or permanently destroyed. | ||
| * Returns `true` after `close()` or `destroy()` has been called. | ||
| */ | ||
| get isClosed(): boolean; | ||
| /** | ||
| * Whether the underlying WebSocket connection is currently open. | ||
| */ | ||
| get isConnected(): boolean; | ||
| /** | ||
| * Encode a structured payload into a format suitable for sending over the WebSocket. | ||
| * Uses the configured serialization (`"json"` or `"binary"`). | ||
| * | ||
| * **Advanced usage only.** Prefer `emit()` or `send()` for type‑safe communication. | ||
| * **Advanced usage only.** Prefer `emit()` or `send()` for type-safe communication. | ||
| * | ||
| * @param payload - A lifecycle message or user event object. | ||
| * @returns Encoded string (JSON) or Uint8Array (MessagePack). | ||
| * @param serialization - Serialization format: "json" or "binary". | ||
| * @returns Encoded string (JSON) or Uint8Array<ArrayBuffer> (MessagePack). | ||
| * | ||
| * @example | ||
| * // Pre‑encode a payload for repeated use | ||
| * // Pre-encode a payload for repeated use | ||
| * const encoded = socket.encode({ event: 'chat', data: { text: 'Hello' } }); | ||
| * socket.sendRaw(encoded); | ||
| */ | ||
| encode<R extends string, E extends string | number, D>(payload: LifecycleMessage<R, D> | UserMessage<R, E, D>): any; | ||
| encode<R extends string, E extends string | number, D>(payload: LifecycleMessage<R, D> | UserMessage<R, E, D>, serialization?: "json" | "binary"): string | Uint8Array<ArrayBuffer>; | ||
| /** | ||
@@ -605,3 +624,3 @@ * Decode a raw WebSocket message into a structured payload. | ||
| * | ||
| * @param message - Raw string (JSON) or Uint8Array (MessagePack). | ||
| * @param message - Raw string (JSON) or ArrayBuffer (MessagePack). | ||
| * @param isBinary - Whether the message is binary. If omitted, format is detected from the message type. | ||
@@ -612,3 +631,3 @@ * @returns Decoded lifecycle or user message object. | ||
| /** | ||
| * Send a pre‑serialized payload (LifecycleMessage or UserMessage) over the WebSocket. | ||
| * Send a pre-serialized payload (LifecycleMessage or UserMessage) over the WebSocket. | ||
| * If the socket is not ready, the payload is queued and sent when the connection | ||
@@ -629,3 +648,3 @@ * becomes operational and authentication (if required) has succeeded. | ||
| /** | ||
| * Send a raw message (string or BufferSource) directly over the WebSocket. | ||
| * Send a raw message (string or Uint8Array<ArrayBuffer>) directly over the WebSocket. | ||
| * Bypasses serialization and auth checks. If the socket is not open, the message | ||
@@ -636,3 +655,3 @@ * is queued and sent when possible (auth state is ignored). | ||
| */ | ||
| sendRaw(message: string | BufferSource): void; | ||
| sendRaw(message: string | Uint8Array<ArrayBuffer>): void; | ||
| /** | ||
@@ -673,3 +692,3 @@ * Emit a global event. | ||
| /** | ||
| * Register a one‑time listener for a global event. | ||
| * Register a one-time listener for a global event. | ||
| * The callback is removed after the first invocation. | ||
@@ -685,3 +704,3 @@ * | ||
| * Update the authentication configuration before connecting. | ||
| * Must be called before `connect()` (or auto‑connect). | ||
| * Must be called before `connect()` (or auto-connect). | ||
| * | ||
@@ -699,3 +718,3 @@ * @param config - New auth config (static object or async callback). | ||
| /** | ||
| * Force an immediate reconnection, resetting the current connection and re‑establishing. | ||
| * Force an immediate reconnection, resetting the current connection and re-establishing. | ||
| * Useful when you suspect the connection is stale but hasn't closed yet. | ||
@@ -702,0 +721,0 @@ */ |
+3
-3
| { | ||
| "name": "@bytesocket/client", | ||
| "version": "0.1.9", | ||
| "version": "0.2.0", | ||
| "description": "High-performance WebSocket client for browsers", | ||
@@ -44,4 +44,4 @@ "keywords": [ | ||
| "dependencies": { | ||
| "msgpackr": "1.11.10", | ||
| "@bytesocket/types": "0.1.9" | ||
| "msgpackr": "^1.11.10", | ||
| "@bytesocket/types": "0.2.0" | ||
| }, | ||
@@ -48,0 +48,0 @@ "engines": { |
+9
-9
@@ -117,3 +117,3 @@ # ByteSocket | ||
| // Room‑specific emits/listens (different maps per room) | ||
| // Room-specific emits/listens (different maps per room) | ||
| socket.rooms.emit("chat", "message", { text: "Hello!" }); | ||
@@ -125,3 +125,3 @@ socket.rooms.on("chat", "message", (data) => { | ||
| All methods (`emit`, `on`, `off`, `once`, `rooms.emit`, `rooms.on`, etc.) are fully typed -- wrong event names or payload shapes become compile‑time errors. | ||
| All methods (`emit`, `on`, `off`, `once`, `rooms.emit`, `rooms.on`, etc.) are fully typed -- wrong event names or payload shapes become compile-time errors. | ||
@@ -244,3 +244,3 @@ --- | ||
| randomizationFactor: 0.5, // ±50% jitter | ||
| reconnectOnNormalClosure: true, // default true – reconnect after server sends 1000/1001 | ||
| reconnectOnNormalClosure: true, // default true - reconnect after server sends 1000/1001 | ||
| }); | ||
@@ -332,5 +332,5 @@ | ||
| If you need to inspect, pre‑encode, or bypass the automatic serialization, you can use the `encode()` and `decode()` methods. | ||
| If you need to inspect, pre-encode, or bypass the automatic serialization, you can use the `encode()` and `decode()` methods. | ||
| > ⚠️ **These are advanced APIs.** Prefer `emit()` and `on()` for type‑safe, automatic encoding/decoding. | ||
| > ⚠️ **These are advanced APIs.** Prefer `emit()` and `on()` for type-safe, automatic encoding/decoding. | ||
@@ -342,3 +342,3 @@ ```typescript | ||
| // Decode a raw incoming message (auto‑detects format) | ||
| // Decode a raw incoming message (auto-detects format) | ||
| socket.lifecycle.onMessage((raw) => { | ||
@@ -353,4 +353,4 @@ const decoded = socket.decode(raw); | ||
| - `encode(payload)` – uses the configured `serialization` (`"json"` or `"binary"`). Returns a `string` (JSON) or `Uint8Array` (MessagePack). | ||
| - `decode(message, isBinary?)` – parses a raw WebSocket message back into an object. If `isBinary` is omitted, the format is auto‑detected. | ||
| - `encode(payload)` - uses the configured `serialization` (`"json"` or `"binary"`). Returns a `string` (JSON) or `Uint8Array` (MessagePack). | ||
| - `decode(message, isBinary?)` - parses a raw WebSocket message back into an object. If `isBinary` is omitted, the format is auto-detected. | ||
@@ -479,3 +479,3 @@ These methods give you full control when integrating with external systems or debugging the wire format. | ||
| reconnectionDelayMax: 5000, | ||
| reconnectOnNormalClosure: true, // default true – reconnect after server‑initiated 1000/1001 | ||
| reconnectOnNormalClosure: true, // default true - reconnect after server-initiated 1000/1001 | ||
| randomizationFactor: 0.5, // 0 = no jitter, 1 = maximum jitter | ||
@@ -482,0 +482,0 @@ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
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
4085
10.11%453849
-2.41%19
11.76%+ Added
+ Added
- Removed
- Removed
Updated
Updated