lix-website/themes/lix/assets/bootstrap/node_modules/socket.io/dist/parent-namespace.d.ts
2024-04-26 22:49:34 -06:00

31 lines
1.4 KiB
TypeScript

import { Namespace } from "./namespace";
import type { Server, RemoteSocket } from "./index";
import type { EventParams, EventsMap, DefaultEventsMap, EventNamesWithoutAck } from "./typed-events";
/**
* A parent namespace is a special {@link Namespace} that holds a list of child namespaces which were created either
* with a regular expression or with a function.
*
* @example
* const parentNamespace = io.of(/\/dynamic-\d+/);
*
* parentNamespace.on("connection", (socket) => {
* const childNamespace = socket.nsp;
* }
*
* // will reach all the clients that are in one of the child namespaces, like "/dynamic-101"
* parentNamespace.emit("hello", "world");
*
*/
export declare class ParentNamespace<ListenEvents extends EventsMap = DefaultEventsMap, EmitEvents extends EventsMap = ListenEvents, ServerSideEvents extends EventsMap = DefaultEventsMap, SocketData = any> extends Namespace<ListenEvents, EmitEvents, ServerSideEvents, SocketData> {
private static count;
private readonly children;
constructor(server: Server<ListenEvents, EmitEvents, ServerSideEvents, SocketData>);
/**
* @private
*/
_initAdapter(): void;
emit<Ev extends EventNamesWithoutAck<EmitEvents>>(ev: Ev, ...args: EventParams<EmitEvents, Ev>): boolean;
createChild(name: string): Namespace<ListenEvents, EmitEvents, ServerSideEvents, SocketData>;
fetchSockets(): Promise<RemoteSocket<EmitEvents, SocketData>[]>;
}