From 74b4b2f21bf50ed5fe518fc9c235ad2bdec6d9a0 Mon Sep 17 00:00:00 2001 From: William Bergeron-Drouin Date: Thu, 14 Nov 2019 16:14:29 -0500 Subject: [PATCH] Updated simple-peer to v9.6 (#40261) * Added missing types for stream & track methods * Upgraded simple-peer package version & required typescript version * Added stream calls to tests --- types/simple-peer/index.d.ts | 34 +++++++++++++++++++++++--- types/simple-peer/simple-peer-tests.ts | 6 ++++- 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/types/simple-peer/index.d.ts b/types/simple-peer/index.d.ts index f2838f1ce3..f6b4248598 100644 --- a/types/simple-peer/index.d.ts +++ b/types/simple-peer/index.d.ts @@ -1,7 +1,9 @@ -// Type definitions for simple-peer 6.1 +// Type definitions for simple-peer 9.6 // Project: https://github.com/feross/simple-peer // Definitions by: Tomasz Łaziuk +// xWiiLLz // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.1 /// @@ -35,12 +37,21 @@ declare namespace SimplePeer { readonly WEBRTC_SUPPORT: boolean; } - type TypedArray = Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array; + type TypedArray = + | Int8Array + | Uint8Array + | Uint8ClampedArray + | Int16Array + | Uint16Array + | Int32Array + | Uint32Array + | Float32Array + | Float64Array; type SimplePeerData = string | Buffer | TypedArray | ArrayBuffer | Blob; interface SignalData { - type?: "offer" | "pranswer" | "answer" | "rollback"; + type?: 'offer' | 'pranswer' | 'answer' | 'rollback'; sdp?: any; candidate?: any; } @@ -52,6 +63,21 @@ declare namespace SimplePeer { // https://github.com/feross/simple-peer/tree/v6.1.5#peersenddata send(data: SimplePeerData): void; + // https://github.com/feross/simple-peer/tree/v9.6.1#peeraddstreamstream + addStream(stream: MediaStream): void; + + // https://github.com/feross/simple-peer/tree/v9.6.1#peerremovestreamstream + removeStream(stream: MediaStream): void; + + // https://github.com/feross/simple-peer/tree/v9.6.1#peeraddtracktrack-stream + addTrack(track: MediaStreamTrack, stream: MediaStream): void; + + // https://github.com/feross/simple-peer/tree/v9.6.1#peerremovetracktrack-stream + removeTrack(track: MediaStreamTrack, stream: MediaStream): void; + + // https://github.com/feross/simple-peer/blob/v9.6.1/index.js#L306 + replaceTrack(oldTrack: MediaStreamTrack, newTrack: MediaStreamTrack, stream: MediaStream): void; + // https://github.com/feross/simple-peer/tree/v6.1.5#peersenddata // TODO: https://github.com/feross/simple-peer/issues/187 // destroy(onclose?: () => void): void; @@ -61,7 +87,7 @@ declare namespace SimplePeer { // methods which are not documented readonly bufferSize: number; - address(): { port: string, family: string, address: string, }; + address(): { port: string; family: string; address: string }; // used for debug logging _debug(message?: any, ...optionalParams: any[]): void; diff --git a/types/simple-peer/simple-peer-tests.ts b/types/simple-peer/simple-peer-tests.ts index 666816e388..69fe440744 100644 --- a/types/simple-peer/simple-peer-tests.ts +++ b/types/simple-peer/simple-peer-tests.ts @@ -2,6 +2,10 @@ import SimplePeer = require('simple-peer'); const peer = new SimplePeer(); peer.write(new Buffer('hey')); -peer.on('data', (chunk) => { +peer.on('data', chunk => { console.log(`got a chunk: ${chunk}`); }); + +const stream = new MediaStream(); +peer.addStream(stream); +peer.removeStream(stream);