@rtcio/react
Version:
A wrapper around the @rtcio/core library for React integration
12 lines • 753 B
TypeScript
import { PeerId, VoidMethods } from "@rtcio/core";
import { Result } from "@dbidwell94/ts-utils";
export declare class MultiPeerEmitError<TEvents extends VoidMethods<TEvents>> extends Error {
peers: PeerId[];
eventName: keyof TEvents;
constructor(peers: PeerId[], eventName: keyof TEvents);
}
export declare function createUsePeerEmitter<TEvents extends VoidMethods<TEvents> = Record<string, never>>(): () => {
emitTo: <TKey extends keyof TEvents>(toPeer: PeerId, eventName: TKey, ...args: Parameters<TEvents[TKey]>) => Promise<Result<void>>;
emit: <TKey extends keyof TEvents>(eventName: TKey, ...args: Parameters<TEvents[TKey]>) => Promise<Result<void, MultiPeerEmitError<TEvents>>>;
};
//# sourceMappingURL=usePeerEmitter.d.ts.map