UNPKG

@authup/core-realtime-kit

Version:

Package containing a toolkit for the core realtime service.

82 lines (81 loc) 3.12 kB
import { Manager, ManagerOptions, Socket } from "socket.io-client"; //#region src/types.d.ts type STCEventContext<T extends Record<string, any>> = T & { meta: { roomName?: string; roomId?: string | number; }; }; type EventTarget = string | number | undefined; interface EventCallback<T = any> { (error: Error | null): void; (error: Error | null, data: T): void; } type DefaultEvents = { [event: string]: any; }; type STSEvents = { [event: string]: (...args: any[]) => void; }; type STCEvents = { [event: string]: (...args: any[]) => void; }; type CTSEvents = { [event: string]: (...args: any[]) => void; }; type DisconnectDescription = { description: string; context?: unknown; }; //#endregion //#region src/client/manager/types.d.ts type ClientManagerTokenSyncFn = () => string | undefined; type ClientManagerTokenAsyncFn = () => Promise<string | undefined>; type ClientManagerTokenFn = ClientManagerTokenSyncFn | ClientManagerTokenAsyncFn; type ClientManagerContext = { url: string; options?: Partial<ManagerOptions>; token?: string | ClientManagerTokenFn; }; //#endregion //#region src/client/manager/module.d.ts declare class ClientManager<ListenEvents extends DefaultEvents = STCEvents, EmitEvents extends DefaultEvents = CTSEvents> { protected manager: Manager<ListenEvents, EmitEvents>; protected sockets: Map<string, Socket<ListenEvents, EmitEvents>>; protected tokenFn: ClientManagerTokenFn; constructor(ctx: ClientManagerContext); get options(): Partial<ManagerOptions>; connect(namespace?: string): Promise<Socket<ListenEvents, EmitEvents>>; disconnect(namespace?: string): Promise<void>; reconnect(namespace?: string): Promise<Socket<ListenEvents, EmitEvents>>; reconnectAll(): Promise<Socket<ListenEvents, EmitEvents>[]>; inject(namespace?: string): Socket<ListenEvents, EmitEvents>; eject(namespace?: string): void; } //#endregion //#region src/event/constants.d.ts declare enum EventNameSuffix { CREATED = "created", DELETED = "deleted", UPDATED = "updated", SUBSCRIBE = "subscribe", UNSUBSCRIBE = "unsubscribe" } //#endregion //#region src/event/types.d.ts type EventPayload = { event: string; type: string; data: Record<string, any>; }; type EventFullName<ENTITY extends string = string, EVENT extends string = string> = `${ENTITY}${Capitalize<EVENT>}`; //#endregion //#region src/event/helpers.d.ts declare function buildEventFullName<ENTITY extends string, VERB extends string>(entity: ENTITY, event: VERB): EventFullName<ENTITY, VERB>; //#endregion //#region src/helpers.d.ts declare function isEventTarget(input: unknown): input is EventTarget; declare function isEventCallback(input: unknown, fnArgs?: number): input is EventCallback; //#endregion export { CTSEvents, ClientManager, ClientManagerContext, ClientManagerTokenAsyncFn, ClientManagerTokenFn, ClientManagerTokenSyncFn, DefaultEvents, DisconnectDescription, EventCallback, EventFullName, EventNameSuffix, EventPayload, EventTarget, STCEventContext, STCEvents, STSEvents, buildEventFullName, isEventCallback, isEventTarget }; //# sourceMappingURL=index.d.mts.map