UNPKG

@hongtangyun/rooms-sdk

Version:

JavaScript SDK Client for hongtangyun rooms-sdk.

48 lines (47 loc) 1.89 kB
/// <reference types="node" /> import { Socket } from 'socket.io-client'; import { EventEmitter } from 'events'; import queue from 'queue'; import * as Types from './types'; import { RoomEvents, IRoomActions } from './types'; import { RoomActionsItem } from '../common/Classes'; interface Options { url: string; roomid: string; uid: number; } declare class SocketSDK { ee: EventEmitter; config: Options; client: Socket; queueOn: queue; queueEmit: queue; init(url: string): Promise<boolean>; /** * 生成房间操作动作 * @param action 动作名 * @param data 动作数据 * @param to 指定用户 * @param customroom 指定自定义房间id * @returns 动作 */ createRoomAction<T extends keyof IRoomActions, K extends IRoomActions[T]>(action: T, data: K, to?: number | string | Array<number | string> | Types.ToSystemEnum, customroom?: string[]): RoomEvents | undefined; queueOnRoomsEventsAdd(action: RoomEvents | undefined, isInit?: boolean): void; queueEmitRoomsEventsAdd(action: RoomEvents, isInit?: boolean): void; on(cb: (action: RoomActionsItem) => void): void; off(cb: (action: RoomActionsItem) => void): void; rooms: () => Promise<string[]>; has: (roomid: string) => Promise<boolean>; emit<T extends keyof Omit<IRoomActions, keyof Types.ClientActions | keyof Types.SystemActions>, K extends IRoomActions[T]>(action: T, data: K, to?: number | string | Array<number | string> | Types.ToSystemEnum, customroom?: string[]): void; /** * 获取服务器时间戳 * @returns number */ getServerTime(): Promise<number>; addListenerServerTime(listener: (data: { time: number; }) => void): void; removeListenerServerTime(listener?: any): void; } export default SocketSDK; export { Types };