123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- // Type definitions for the PeerJS class module
- // Original definitions by Toshiya Nakakura <https://github.com/nakakura>
- // at https://github.com/DefinitelyTyped/DefinitelyTyped
- export = Peer;
- declare class Peer {
- prototype: RTCIceServer;
- /**
- * A peer can connect to other peers and listen for connections.
- * @param id Other peers can connect to this peer using the provided ID.
- * If no ID is given, one will be generated by the brokering server.
- * @param options for specifying details about PeerServer
- */
- constructor(id: string, options?: Peer.PeerJSOption);
- /**
- * A peer can connect to other peers and listen for connections.
- * @param options for specifying details about PeerServer
- */
- constructor(options: Peer.PeerJSOption);
- /**
- *
- * @param id The brokering ID of the remote peer (their peer.id).
- * @param options for specifying details about Peer Connection
- */
- connect(id: string, options?: Peer.PeerConnectOption): Peer.DataConnection;
- /**
- * Connects to the remote peer specified by id and returns a data connection.
- * @param id The brokering ID of the remote peer (their peer.id).
- * @param stream The caller's media stream
- * @param options Metadata associated with the connection, passed in by whoever initiated the connection.
- */
- call(id: string, stream: MediaStream, options?: any): Peer.MediaConnection;
- /**
- * Calls the remote peer specified by id and returns a media connection.
- * @param event Event name
- * @param cb Callback Function
- */
- on(event: string, cb: () => void): void;
- /**
- * Emitted when a connection to the PeerServer is established.
- * @param event Event name
- * @param cb id is the brokering ID of the peer
- */
- on(event: "open", cb: (id: string) => void): void;
- /**
- * Emitted when a new data connection is established from a remote peer.
- * @param event Event name
- * @param cb Callback Function
- */
- on(
- event: "connection",
- cb: (dataConnection: Peer.DataConnection) => void
- ): void;
- /**
- * Emitted when a remote peer attempts to call you.
- * @param event Event name
- * @param cb Callback Function
- */
- on(event: "call", cb: (mediaConnection: Peer.MediaConnection) => void): void;
- /**
- * Emitted when the peer is destroyed and can no longer accept or create any new connections.
- * @param event Event name
- * @param cb Callback Function
- */
- on(event: "close", cb: () => void): void;
- /**
- * Emitted when the peer is disconnected from the signalling server
- * @param event Event name
- * @param cb Callback Function
- */
- on(event: "disconnected", cb: () => void): void;
- /**
- * Errors on the peer are almost always fatal and will destroy the peer.
- * @param event Event name
- * @param cb Callback Function
- */
- on(event: "error", cb: (err: any) => void): void;
- /**
- * Remove event listeners.(EventEmitter3)
- * @param {String} event The event we want to remove.
- * @param {Function} fn The listener that we need to find.
- * @param {Boolean} once Only remove once listeners.
- */
- off(event: string, fn: Function, once?: boolean): void;
- /**
- * Close the connection to the server, leaving all existing data and media connections intact.
- */
- disconnect(): void;
- /**
- * Attempt to reconnect to the server with the peer's old ID
- */
- reconnect(): void;
- /**
- * Close the connection to the server and terminate all existing connections.
- */
- destroy(): void;
- /**
- * Retrieve a data/media connection for this peer.
- * @param peer
- * @param id
- */
- getConnection(peer: Peer, id: string): any;
- /**
- * Get a list of available peer IDs
- * @param callback
- */
- listAllPeers(callback: (peerIds: Array<string>) => void): void;
- /**
- * The brokering ID of this peer
- */
- id: string;
- /**
- * A hash of all connections associated with this peer, keyed by the remote peer's ID.
- */
- connections: any;
- /**
- * false if there is an active connection to the PeerServer.
- */
- disconnected: boolean;
- /**
- * true if this peer and all of its connections can no longer be used.
- */
- destroyed: boolean;
- }
- declare namespace Peer {
- interface PeerJSOption {
- key?: string;
- host?: string;
- port?: number;
- path?: string;
- secure?: boolean;
- config?: RTCConfiguration;
- debug?: number;
- }
- interface PeerConnectOption {
- label?: string;
- metadata?: any;
- serialization?: string;
- reliable?: boolean;
- }
- interface DataConnection {
- send(data: any): void;
- close(): void;
- on(event: string, cb: () => void): void;
- on(event: "data", cb: (data: any) => void): void;
- on(event: "open", cb: () => void): void;
- on(event: "close", cb: () => void): void;
- on(event: "error", cb: (err: any) => void): void;
- off(event: string, fn: Function, once?: boolean): void;
- dataChannel: RTCDataChannel;
- label: string;
- metadata: any;
- open: boolean;
- peerConnection: any;
- peer: string;
- reliable: boolean;
- serialization: string;
- type: string;
- buffSize: number;
- }
- interface MediaConnection {
- answer(stream?: any): void;
- close(): void;
- on(event: string, cb: () => void): void;
- on(event: "stream", cb: (stream: any) => void): void;
- on(event: "close", cb: () => void): void;
- on(event: "error", cb: (err: any) => void): void;
- off(event: string, fn: Function, once?: boolean): void;
- open: boolean;
- metadata: any;
- peer: string;
- type: string;
- }
- interface utilSupportsObj {
- audioVideo: boolean;
- data: boolean;
- binary: boolean;
- reliable: boolean;
- }
- interface util {
- browser: string;
- supports: utilSupportsObj;
- }
- }
|