diff --git a/types/sdp-transform/index.d.ts b/types/sdp-transform/index.d.ts index 906cb27c984f3a..65f6cd552b34ce 100644 --- a/types/sdp-transform/index.d.ts +++ b/types/sdp-transform/index.d.ts @@ -110,7 +110,7 @@ export interface MediaAttributes extends SharedAttributes { // a=mid:foo mid?: string; // a=msid:0c8b064d-d807-43b4-b434-f92a889d8587 98178685-d409-46e0-8e16-7ef0db0db64a - msid?: string; + msid?: { id: string; appdata?: string }[]; // a=ptime:20 ptime?: number; // a=maxptime:60 @@ -304,7 +304,7 @@ export interface SharedAttributes { } export interface ParamMap { - [paramName: string]: number | string; + [paramName: string]: number | string | undefined; } export function write(description: SessionDescription): string; diff --git a/types/sdp-transform/package.json b/types/sdp-transform/package.json index 5f24ede1474201..8782ce003df33c 100644 --- a/types/sdp-transform/package.json +++ b/types/sdp-transform/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@types/sdp-transform", - "version": "2.15.9999", + "version": "3.0.9999", "projects": [ "https://github.com/clux/sdp-transform#readme" ], diff --git a/types/sdp-transform/sdp-transform-tests.ts b/types/sdp-transform/sdp-transform-tests.ts index 8d5c3aea2cfc96..ea1ecceb528026 100644 --- a/types/sdp-transform/sdp-transform-tests.ts +++ b/types/sdp-transform/sdp-transform-tests.ts @@ -121,3 +121,19 @@ function test_datachannel_media_description() { const port = parsed.media[0].port; port; // $ExpectType number } + +function test_msid_attribute() { + const session: SessionDescription = parse(""); + session.media[0].msid = [ + { id: "0c8b064d-d807-43b4-b434-f92a889d8587" }, + { id: "98178685-d409-46e0-8e16-7ef0db0db64a", appdata: "my-track-id" }, + ]; + + const sdp: string = write(session); + const parsed = parse(sdp); + const msid = parsed.media[0].msid!; + msid[0].id; // $ExpectType string + msid[0].appdata; // $ExpectType string | undefined + msid[1].id; // $ExpectType string + msid[1].appdata; // $ExpectType string | undefined +}