@fishjam-cloud/js-server-sdk 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ var Ue=Object.create;var K=Object.defineProperty;var Je=Object.getOwnPropertyDescriptor;var ye=Object.getOwnPropertyNames;var De=Object.getPrototypeOf,Ae=Object.prototype.hasOwnProperty;var nr=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof require<"u"?require:r)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Be=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var qe=(e,r,t,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of ye(r))!Ae.call(e,n)&&n!==t&&K(e,n,{get:()=>r[n],enumerable:!(i=Je(r,n))||i.enumerable});return e};var Ve=(e,r,t)=>(t=e!=null?Ue(De(e)):{},qe(r||!e||!e.__esModule?K(t,"default",{value:e,enumerable:!0}):t,e));var Ee=Be((dr,we)=>{"use strict";var F=Object.defineProperty,Fe=Object.getOwnPropertyDescriptor,Ye=Object.getOwnPropertyNames,xe=Object.prototype.hasOwnProperty,Ge=(e,r)=>{for(var t in r)F(e,t,{get:r[t],enumerable:!0})},He=(e,r,t,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Ye(r))!xe.call(e,n)&&n!==t&&F(e,n,{get:()=>r[n],enumerable:!(i=Fe(r,n))||i.enumerable});return e},Ke=e=>He(F({},"__esModule",{value:!0}),e),Ne={};Ge(Ne,{ServerMessage:()=>be,ServerMessage_AuthRequest:()=>g,ServerMessage_Authenticated:()=>P,ServerMessage_ComponentCrashed:()=>N,ServerMessage_EventType:()=>Te,ServerMessage_HlsPlayable:()=>b,ServerMessage_HlsUploadCrashed:()=>E,ServerMessage_HlsUploaded:()=>w,ServerMessage_MetricsReport:()=>R,ServerMessage_PeerAdded:()=>m,ServerMessage_PeerConnected:()=>k,ServerMessage_PeerCrashed:()=>_,ServerMessage_PeerDeleted:()=>v,ServerMessage_PeerDisconnected:()=>S,ServerMessage_PeerMetadataUpdated:()=>U,ServerMessage_RoomCrashed:()=>h,ServerMessage_RoomCreated:()=>C,ServerMessage_RoomDeleted:()=>O,ServerMessage_SubscribeRequest:()=>M,ServerMessage_SubscribeResponse:()=>T,ServerMessage_Track:()=>f,ServerMessage_TrackAdded:()=>J,ServerMessage_TrackMetadataUpdated:()=>D,ServerMessage_TrackRemoved:()=>y,ServerMessage_TrackType:()=>Ce,protobufPackage:()=>or,serverMessage_EventTypeFromJSON:()=>x,serverMessage_EventTypeToJSON:()=>G,serverMessage_TrackTypeFromJSON:()=>Oe,serverMessage_TrackTypeToJSON:()=>Re});we.exports=Ke(Ne);function Le(){let e=0,r=0;for(let i=0;i<28;i+=7){let n=this.buf[this.pos++];if(e|=(n&127)<<i,!(n&128))return this.assertBounds(),[e,r]}let t=this.buf[this.pos++];if(e|=(t&15)<<28,r=(t&112)>>4,!(t&128))return this.assertBounds(),[e,r];for(let i=3;i<=31;i+=7){let n=this.buf[this.pos++];if(r|=(n&127)<<i,!(n&128))return this.assertBounds(),[e,r]}throw new Error("invalid varint")}function B(e,r,t){for(let o=0;o<28;o=o+7){let s=e>>>o,u=!(!(s>>>7)&&r==0),p=(u?s|128:s)&255;if(t.push(p),!u)return}let i=e>>>28&15|(r&7)<<4,n=!!(r>>3);if(t.push((n?i|128:i)&255),!!n){for(let o=3;o<31;o=o+7){let s=r>>>o,u=!!(s>>>7),p=(u?s|128:s)&255;if(t.push(p),!u)return}t.push(r>>>31&1)}}var A=4294967296;function L(e){let r=e[0]==="-";r&&(e=e.slice(1));let t=1e6,i=0,n=0;function o(s,u){let p=Number(e.slice(s,u));n*=t,i=i*t+p,i>=A&&(n=n+(i/A|0),i=i%A)}return o(-24,-18),o(-18,-12),o(-12,-6),o(-6),r?ge(i,n):Y(i,n)}function Ze(e,r){let t=Y(e,r),i=t.hi&2147483648;i&&(t=ge(t.lo,t.hi));let n=Pe(t.lo,t.hi);return i?"-"+n:n}function Pe(e,r){if({lo:e,hi:r}=Xe(e,r),r<=2097151)return String(A*r+e);let t=e&16777215,i=(e>>>24|r<<8)&16777215,n=r>>16&65535,o=t+i*6777216+n*6710656,s=i+n*8147497,u=n*2,p=1e7;return o>=p&&(s+=Math.floor(o/p),o%=p),s>=p&&(u+=Math.floor(s/p),s%=p),u.toString()+Z(s)+Z(o)}function Xe(e,r){return{lo:e>>>0,hi:r>>>0}}function Y(e,r){return{lo:e|0,hi:r|0}}function ge(e,r){return r=~r,e?e=~e+1:r+=1,Y(e,r)}var Z=e=>{let r=String(e);return"0000000".slice(r.length)+r};function X(e,r){if(e>=0){for(;e>127;)r.push(e&127|128),e=e>>>7;r.push(e)}else{for(let t=0;t<9;t++)r.push(e&127|128),e=e>>7;r.push(1)}}function ze(){let e=this.buf[this.pos++],r=e&127;if(!(e&128))return this.assertBounds(),r;if(e=this.buf[this.pos++],r|=(e&127)<<7,!(e&128))return this.assertBounds(),r;if(e=this.buf[this.pos++],r|=(e&127)<<14,!(e&128))return this.assertBounds(),r;if(e=this.buf[this.pos++],r|=(e&127)<<21,!(e&128))return this.assertBounds(),r;e=this.buf[this.pos++],r|=(e&15)<<28;for(let t=5;e&128&&t<10;t++)e=this.buf[this.pos++];if(e&128)throw new Error("invalid varint");return this.assertBounds(),r>>>0}var l=$e();function $e(){let e=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof e.getBigInt64=="function"&&typeof e.getBigUint64=="function"&&typeof e.setBigInt64=="function"&&typeof e.setBigUint64=="function"&&(typeof process!="object"||typeof process.env!="object"||process.env.BUF_BIGINT_DISABLE!=="1")){let t=BigInt("-9223372036854775808"),i=BigInt("9223372036854775807"),n=BigInt("0"),o=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(s){let u=typeof s=="bigint"?s:BigInt(s);if(u>i||u<t)throw new Error(`invalid int64: ${s}`);return u},uParse(s){let u=typeof s=="bigint"?s:BigInt(s);if(u>o||u<n)throw new Error(`invalid uint64: ${s}`);return u},enc(s){return e.setBigInt64(0,this.parse(s),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},uEnc(s){return e.setBigInt64(0,this.uParse(s),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},dec(s,u){return e.setInt32(0,s,!0),e.setInt32(4,u,!0),e.getBigInt64(0,!0)},uDec(s,u){return e.setInt32(0,s,!0),e.setInt32(4,u,!0),e.getBigUint64(0,!0)}}}return{zero:"0",supported:!1,parse(t){return typeof t!="string"&&(t=t.toString()),z(t),t},uParse(t){return typeof t!="string"&&(t=t.toString()),$(t),t},enc(t){return typeof t!="string"&&(t=t.toString()),z(t),L(t)},uEnc(t){return typeof t!="string"&&(t=t.toString()),$(t),L(t)},dec(t,i){return Ze(t,i)},uDec(t,i){return Pe(t,i)}}}function z(e){if(!/^-?[0-9]+$/.test(e))throw new Error("invalid int64: "+e)}function $(e){if(!/^[0-9]+$/.test(e))throw new Error("invalid uint64: "+e)}var q=Symbol.for("@bufbuild/protobuf/text-encoding");function Me(){if(globalThis[q]==null){let e=new globalThis.TextEncoder,r=new globalThis.TextDecoder;globalThis[q]={encodeUtf8(t){return e.encode(t)},decodeUtf8(t){return r.decode(t)},checkUtf8(t){try{return encodeURIComponent(t),!0}catch{return!1}}}}return globalThis[q]}var I;(function(e){e[e.Varint=0]="Varint",e[e.Bit64=1]="Bit64",e[e.LengthDelimited=2]="LengthDelimited",e[e.StartGroup=3]="StartGroup",e[e.EndGroup=4]="EndGroup",e[e.Bit32=5]="Bit32"})(I||(I={}));var Qe=34028234663852886e22,We=-34028234663852886e22,je=4294967295,er=2147483647,rr=-2147483648,c=class{constructor(e=Me().encodeUtf8){this.encodeUtf8=e,this.stack=[],this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let e=0;for(let i=0;i<this.chunks.length;i++)e+=this.chunks[i].length;let r=new Uint8Array(e),t=0;for(let i=0;i<this.chunks.length;i++)r.set(this.chunks[i],t),t+=this.chunks[i].length;return this.chunks=[],r}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),r=this.stack.pop();if(!r)throw new Error("invalid state, fork stack empty");return this.chunks=r.chunks,this.buf=r.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,r){return this.uint32((e<<3|r)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(Q(e);e>127;)this.buf.push(e&127|128),e=e>>>7;return this.buf.push(e),this}int32(e){return V(e),X(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let r=this.encodeUtf8(e);return this.uint32(r.byteLength),this.raw(r)}float(e){tr(e);let r=new Uint8Array(4);return new DataView(r.buffer).setFloat32(0,e,!0),this.raw(r)}double(e){let r=new Uint8Array(8);return new DataView(r.buffer).setFloat64(0,e,!0),this.raw(r)}fixed32(e){Q(e);let r=new Uint8Array(4);return new DataView(r.buffer).setUint32(0,e,!0),this.raw(r)}sfixed32(e){V(e);let r=new Uint8Array(4);return new DataView(r.buffer).setInt32(0,e,!0),this.raw(r)}sint32(e){return V(e),e=(e<<1^e>>31)>>>0,X(e,this.buf),this}sfixed64(e){let r=new Uint8Array(8),t=new DataView(r.buffer),i=l.enc(e);return t.setInt32(0,i.lo,!0),t.setInt32(4,i.hi,!0),this.raw(r)}fixed64(e){let r=new Uint8Array(8),t=new DataView(r.buffer),i=l.uEnc(e);return t.setInt32(0,i.lo,!0),t.setInt32(4,i.hi,!0),this.raw(r)}int64(e){let r=l.enc(e);return B(r.lo,r.hi,this.buf),this}sint64(e){let r=l.enc(e),t=r.hi>>31,i=r.lo<<1^t,n=(r.hi<<1|r.lo>>>31)^t;return B(i,n,this.buf),this}uint64(e){let r=l.uEnc(e);return B(r.lo,r.hi,this.buf),this}},a=class{constructor(e,r=Me().decodeUtf8){this.decodeUtf8=r,this.varint64=Le,this.uint32=ze,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength)}tag(){let e=this.uint32(),r=e>>>3,t=e&7;if(r<=0||t<0||t>5)throw new Error("illegal tag: field no "+r+" wire type "+t);return[r,t]}skip(e,r){let t=this.pos;switch(e){case I.Varint:for(;this.buf[this.pos++]&128;);break;case I.Bit64:this.pos+=4;case I.Bit32:this.pos+=4;break;case I.LengthDelimited:let i=this.uint32();this.pos+=i;break;case I.StartGroup:for(;;){let[n,o]=this.tag();if(o===I.EndGroup){if(r!==void 0&&n!==r)throw new Error("invalid end group tag");break}this.skip(o,n)}break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(t,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return l.dec(...this.varint64())}uint64(){return l.uDec(...this.varint64())}sint64(){let[e,r]=this.varint64(),t=-(e&1);return e=(e>>>1|(r&1)<<31)^t,r=r>>>1^t,l.dec(e,r)}bool(){let[e,r]=this.varint64();return e!==0||r!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return l.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return l.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),r=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(r,r+e)}string(){return this.decodeUtf8(this.bytes())}};function V(e){if(typeof e=="string")e=Number(e);else if(typeof e!="number")throw new Error("invalid int32: "+typeof e);if(!Number.isInteger(e)||e>er||e<rr)throw new Error("invalid int32: "+e)}function Q(e){if(typeof e=="string")e=Number(e);else if(typeof e!="number")throw new Error("invalid uint32: "+typeof e);if(!Number.isInteger(e)||e>je||e<0)throw new Error("invalid uint32: "+e)}function tr(e){if(typeof e=="string"){let r=e;if(e=Number(e),isNaN(e)&&r!=="NaN")throw new Error("invalid float32: "+r)}else if(typeof e!="number")throw new Error("invalid float32: "+typeof e);if(Number.isFinite(e)&&(e>Qe||e<We))throw new Error("invalid float32: "+e)}var or="fishjam",Te=(e=>(e[e.EVENT_TYPE_UNSPECIFIED=0]="EVENT_TYPE_UNSPECIFIED",e[e.EVENT_TYPE_SERVER_NOTIFICATION=1]="EVENT_TYPE_SERVER_NOTIFICATION",e[e.EVENT_TYPE_METRICS=2]="EVENT_TYPE_METRICS",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED",e))(Te||{});function x(e){switch(e){case 0:case"EVENT_TYPE_UNSPECIFIED":return 0;case 1:case"EVENT_TYPE_SERVER_NOTIFICATION":return 1;case 2:case"EVENT_TYPE_METRICS":return 2;case-1:case"UNRECOGNIZED":default:return-1}}function G(e){switch(e){case 0:return"EVENT_TYPE_UNSPECIFIED";case 1:return"EVENT_TYPE_SERVER_NOTIFICATION";case 2:return"EVENT_TYPE_METRICS";case-1:default:return"UNRECOGNIZED"}}var Ce=(e=>(e[e.TRACK_TYPE_UNSPECIFIED=0]="TRACK_TYPE_UNSPECIFIED",e[e.TRACK_TYPE_VIDEO=1]="TRACK_TYPE_VIDEO",e[e.TRACK_TYPE_AUDIO=2]="TRACK_TYPE_AUDIO",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED",e))(Ce||{});function Oe(e){switch(e){case 0:case"TRACK_TYPE_UNSPECIFIED":return 0;case 1:case"TRACK_TYPE_VIDEO":return 1;case 2:case"TRACK_TYPE_AUDIO":return 2;case-1:case"UNRECOGNIZED":default:return-1}}function Re(e){switch(e){case 0:return"TRACK_TYPE_UNSPECIFIED";case 1:return"TRACK_TYPE_VIDEO";case 2:return"TRACK_TYPE_AUDIO";case-1:default:return"UNRECOGNIZED"}}function W(){return{roomCrashed:void 0,peerConnected:void 0,peerDisconnected:void 0,peerCrashed:void 0,componentCrashed:void 0,authenticated:void 0,authRequest:void 0,subscribeRequest:void 0,subscribeResponse:void 0,roomCreated:void 0,roomDeleted:void 0,metricsReport:void 0,hlsPlayable:void 0,hlsUploaded:void 0,hlsUploadCrashed:void 0,peerMetadataUpdated:void 0,trackAdded:void 0,trackRemoved:void 0,trackMetadataUpdated:void 0,peerAdded:void 0,peerDeleted:void 0}}var be={encode(e,r=new c){return e.roomCrashed!==void 0&&h.encode(e.roomCrashed,r.uint32(10).fork()).join(),e.peerConnected!==void 0&&k.encode(e.peerConnected,r.uint32(18).fork()).join(),e.peerDisconnected!==void 0&&S.encode(e.peerDisconnected,r.uint32(26).fork()).join(),e.peerCrashed!==void 0&&_.encode(e.peerCrashed,r.uint32(34).fork()).join(),e.componentCrashed!==void 0&&N.encode(e.componentCrashed,r.uint32(42).fork()).join(),e.authenticated!==void 0&&P.encode(e.authenticated,r.uint32(50).fork()).join(),e.authRequest!==void 0&&g.encode(e.authRequest,r.uint32(58).fork()).join(),e.subscribeRequest!==void 0&&M.encode(e.subscribeRequest,r.uint32(66).fork()).join(),e.subscribeResponse!==void 0&&T.encode(e.subscribeResponse,r.uint32(74).fork()).join(),e.roomCreated!==void 0&&C.encode(e.roomCreated,r.uint32(82).fork()).join(),e.roomDeleted!==void 0&&O.encode(e.roomDeleted,r.uint32(90).fork()).join(),e.metricsReport!==void 0&&R.encode(e.metricsReport,r.uint32(98).fork()).join(),e.hlsPlayable!==void 0&&b.encode(e.hlsPlayable,r.uint32(106).fork()).join(),e.hlsUploaded!==void 0&&w.encode(e.hlsUploaded,r.uint32(114).fork()).join(),e.hlsUploadCrashed!==void 0&&E.encode(e.hlsUploadCrashed,r.uint32(122).fork()).join(),e.peerMetadataUpdated!==void 0&&U.encode(e.peerMetadataUpdated,r.uint32(130).fork()).join(),e.trackAdded!==void 0&&J.encode(e.trackAdded,r.uint32(138).fork()).join(),e.trackRemoved!==void 0&&y.encode(e.trackRemoved,r.uint32(146).fork()).join(),e.trackMetadataUpdated!==void 0&&D.encode(e.trackMetadataUpdated,r.uint32(154).fork()).join(),e.peerAdded!==void 0&&m.encode(e.peerAdded,r.uint32(162).fork()).join(),e.peerDeleted!==void 0&&v.encode(e.peerDeleted,r.uint32(170).fork()).join(),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=W();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==10)break;n.roomCrashed=h.decode(t,t.uint32());continue}case 2:{if(o!==18)break;n.peerConnected=k.decode(t,t.uint32());continue}case 3:{if(o!==26)break;n.peerDisconnected=S.decode(t,t.uint32());continue}case 4:{if(o!==34)break;n.peerCrashed=_.decode(t,t.uint32());continue}case 5:{if(o!==42)break;n.componentCrashed=N.decode(t,t.uint32());continue}case 6:{if(o!==50)break;n.authenticated=P.decode(t,t.uint32());continue}case 7:{if(o!==58)break;n.authRequest=g.decode(t,t.uint32());continue}case 8:{if(o!==66)break;n.subscribeRequest=M.decode(t,t.uint32());continue}case 9:{if(o!==74)break;n.subscribeResponse=T.decode(t,t.uint32());continue}case 10:{if(o!==82)break;n.roomCreated=C.decode(t,t.uint32());continue}case 11:{if(o!==90)break;n.roomDeleted=O.decode(t,t.uint32());continue}case 12:{if(o!==98)break;n.metricsReport=R.decode(t,t.uint32());continue}case 13:{if(o!==106)break;n.hlsPlayable=b.decode(t,t.uint32());continue}case 14:{if(o!==114)break;n.hlsUploaded=w.decode(t,t.uint32());continue}case 15:{if(o!==122)break;n.hlsUploadCrashed=E.decode(t,t.uint32());continue}case 16:{if(o!==130)break;n.peerMetadataUpdated=U.decode(t,t.uint32());continue}case 17:{if(o!==138)break;n.trackAdded=J.decode(t,t.uint32());continue}case 18:{if(o!==146)break;n.trackRemoved=y.decode(t,t.uint32());continue}case 19:{if(o!==154)break;n.trackMetadataUpdated=D.decode(t,t.uint32());continue}case 20:{if(o!==162)break;n.peerAdded=m.decode(t,t.uint32());continue}case 21:{if(o!==170)break;n.peerDeleted=v.decode(t,t.uint32());continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{roomCrashed:d(e.roomCrashed)?h.fromJSON(e.roomCrashed):void 0,peerConnected:d(e.peerConnected)?k.fromJSON(e.peerConnected):void 0,peerDisconnected:d(e.peerDisconnected)?S.fromJSON(e.peerDisconnected):void 0,peerCrashed:d(e.peerCrashed)?_.fromJSON(e.peerCrashed):void 0,componentCrashed:d(e.componentCrashed)?N.fromJSON(e.componentCrashed):void 0,authenticated:d(e.authenticated)?P.fromJSON(e.authenticated):void 0,authRequest:d(e.authRequest)?g.fromJSON(e.authRequest):void 0,subscribeRequest:d(e.subscribeRequest)?M.fromJSON(e.subscribeRequest):void 0,subscribeResponse:d(e.subscribeResponse)?T.fromJSON(e.subscribeResponse):void 0,roomCreated:d(e.roomCreated)?C.fromJSON(e.roomCreated):void 0,roomDeleted:d(e.roomDeleted)?O.fromJSON(e.roomDeleted):void 0,metricsReport:d(e.metricsReport)?R.fromJSON(e.metricsReport):void 0,hlsPlayable:d(e.hlsPlayable)?b.fromJSON(e.hlsPlayable):void 0,hlsUploaded:d(e.hlsUploaded)?w.fromJSON(e.hlsUploaded):void 0,hlsUploadCrashed:d(e.hlsUploadCrashed)?E.fromJSON(e.hlsUploadCrashed):void 0,peerMetadataUpdated:d(e.peerMetadataUpdated)?U.fromJSON(e.peerMetadataUpdated):void 0,trackAdded:d(e.trackAdded)?J.fromJSON(e.trackAdded):void 0,trackRemoved:d(e.trackRemoved)?y.fromJSON(e.trackRemoved):void 0,trackMetadataUpdated:d(e.trackMetadataUpdated)?D.fromJSON(e.trackMetadataUpdated):void 0,peerAdded:d(e.peerAdded)?m.fromJSON(e.peerAdded):void 0,peerDeleted:d(e.peerDeleted)?v.fromJSON(e.peerDeleted):void 0}},toJSON(e){let r={};return e.roomCrashed!==void 0&&(r.roomCrashed=h.toJSON(e.roomCrashed)),e.peerConnected!==void 0&&(r.peerConnected=k.toJSON(e.peerConnected)),e.peerDisconnected!==void 0&&(r.peerDisconnected=S.toJSON(e.peerDisconnected)),e.peerCrashed!==void 0&&(r.peerCrashed=_.toJSON(e.peerCrashed)),e.componentCrashed!==void 0&&(r.componentCrashed=N.toJSON(e.componentCrashed)),e.authenticated!==void 0&&(r.authenticated=P.toJSON(e.authenticated)),e.authRequest!==void 0&&(r.authRequest=g.toJSON(e.authRequest)),e.subscribeRequest!==void 0&&(r.subscribeRequest=M.toJSON(e.subscribeRequest)),e.subscribeResponse!==void 0&&(r.subscribeResponse=T.toJSON(e.subscribeResponse)),e.roomCreated!==void 0&&(r.roomCreated=C.toJSON(e.roomCreated)),e.roomDeleted!==void 0&&(r.roomDeleted=O.toJSON(e.roomDeleted)),e.metricsReport!==void 0&&(r.metricsReport=R.toJSON(e.metricsReport)),e.hlsPlayable!==void 0&&(r.hlsPlayable=b.toJSON(e.hlsPlayable)),e.hlsUploaded!==void 0&&(r.hlsUploaded=w.toJSON(e.hlsUploaded)),e.hlsUploadCrashed!==void 0&&(r.hlsUploadCrashed=E.toJSON(e.hlsUploadCrashed)),e.peerMetadataUpdated!==void 0&&(r.peerMetadataUpdated=U.toJSON(e.peerMetadataUpdated)),e.trackAdded!==void 0&&(r.trackAdded=J.toJSON(e.trackAdded)),e.trackRemoved!==void 0&&(r.trackRemoved=y.toJSON(e.trackRemoved)),e.trackMetadataUpdated!==void 0&&(r.trackMetadataUpdated=D.toJSON(e.trackMetadataUpdated)),e.peerAdded!==void 0&&(r.peerAdded=m.toJSON(e.peerAdded)),e.peerDeleted!==void 0&&(r.peerDeleted=v.toJSON(e.peerDeleted)),r},create(e){return be.fromPartial(e??{})},fromPartial(e){let r=W();return r.roomCrashed=e.roomCrashed!==void 0&&e.roomCrashed!==null?h.fromPartial(e.roomCrashed):void 0,r.peerConnected=e.peerConnected!==void 0&&e.peerConnected!==null?k.fromPartial(e.peerConnected):void 0,r.peerDisconnected=e.peerDisconnected!==void 0&&e.peerDisconnected!==null?S.fromPartial(e.peerDisconnected):void 0,r.peerCrashed=e.peerCrashed!==void 0&&e.peerCrashed!==null?_.fromPartial(e.peerCrashed):void 0,r.componentCrashed=e.componentCrashed!==void 0&&e.componentCrashed!==null?N.fromPartial(e.componentCrashed):void 0,r.authenticated=e.authenticated!==void 0&&e.authenticated!==null?P.fromPartial(e.authenticated):void 0,r.authRequest=e.authRequest!==void 0&&e.authRequest!==null?g.fromPartial(e.authRequest):void 0,r.subscribeRequest=e.subscribeRequest!==void 0&&e.subscribeRequest!==null?M.fromPartial(e.subscribeRequest):void 0,r.subscribeResponse=e.subscribeResponse!==void 0&&e.subscribeResponse!==null?T.fromPartial(e.subscribeResponse):void 0,r.roomCreated=e.roomCreated!==void 0&&e.roomCreated!==null?C.fromPartial(e.roomCreated):void 0,r.roomDeleted=e.roomDeleted!==void 0&&e.roomDeleted!==null?O.fromPartial(e.roomDeleted):void 0,r.metricsReport=e.metricsReport!==void 0&&e.metricsReport!==null?R.fromPartial(e.metricsReport):void 0,r.hlsPlayable=e.hlsPlayable!==void 0&&e.hlsPlayable!==null?b.fromPartial(e.hlsPlayable):void 0,r.hlsUploaded=e.hlsUploaded!==void 0&&e.hlsUploaded!==null?w.fromPartial(e.hlsUploaded):void 0,r.hlsUploadCrashed=e.hlsUploadCrashed!==void 0&&e.hlsUploadCrashed!==null?E.fromPartial(e.hlsUploadCrashed):void 0,r.peerMetadataUpdated=e.peerMetadataUpdated!==void 0&&e.peerMetadataUpdated!==null?U.fromPartial(e.peerMetadataUpdated):void 0,r.trackAdded=e.trackAdded!==void 0&&e.trackAdded!==null?J.fromPartial(e.trackAdded):void 0,r.trackRemoved=e.trackRemoved!==void 0&&e.trackRemoved!==null?y.fromPartial(e.trackRemoved):void 0,r.trackMetadataUpdated=e.trackMetadataUpdated!==void 0&&e.trackMetadataUpdated!==null?D.fromPartial(e.trackMetadataUpdated):void 0,r.peerAdded=e.peerAdded!==void 0&&e.peerAdded!==null?m.fromPartial(e.peerAdded):void 0,r.peerDeleted=e.peerDeleted!==void 0&&e.peerDeleted!==null?v.fromPartial(e.peerDeleted):void 0,r}};function j(){return{roomId:""}}var h={encode(e,r=new c){return e.roomId!==""&&r.uint32(10).string(e.roomId),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=j();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==10)break;n.roomId=t.string();continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{roomId:d(e.roomId)?globalThis.String(e.roomId):""}},toJSON(e){let r={};return e.roomId!==""&&(r.roomId=e.roomId),r},create(e){return h.fromPartial(e??{})},fromPartial(e){let r=j();return r.roomId=e.roomId??"",r}};function ee(){return{roomId:"",peerId:""}}var m={encode(e,r=new c){return e.roomId!==""&&r.uint32(10).string(e.roomId),e.peerId!==""&&r.uint32(18).string(e.peerId),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=ee();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==10)break;n.roomId=t.string();continue}case 2:{if(o!==18)break;n.peerId=t.string();continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{roomId:d(e.roomId)?globalThis.String(e.roomId):"",peerId:d(e.peerId)?globalThis.String(e.peerId):""}},toJSON(e){let r={};return e.roomId!==""&&(r.roomId=e.roomId),e.peerId!==""&&(r.peerId=e.peerId),r},create(e){return m.fromPartial(e??{})},fromPartial(e){let r=ee();return r.roomId=e.roomId??"",r.peerId=e.peerId??"",r}};function re(){return{roomId:"",peerId:""}}var v={encode(e,r=new c){return e.roomId!==""&&r.uint32(10).string(e.roomId),e.peerId!==""&&r.uint32(18).string(e.peerId),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=re();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==10)break;n.roomId=t.string();continue}case 2:{if(o!==18)break;n.peerId=t.string();continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{roomId:d(e.roomId)?globalThis.String(e.roomId):"",peerId:d(e.peerId)?globalThis.String(e.peerId):""}},toJSON(e){let r={};return e.roomId!==""&&(r.roomId=e.roomId),e.peerId!==""&&(r.peerId=e.peerId),r},create(e){return v.fromPartial(e??{})},fromPartial(e){let r=re();return r.roomId=e.roomId??"",r.peerId=e.peerId??"",r}};function te(){return{roomId:"",peerId:""}}var k={encode(e,r=new c){return e.roomId!==""&&r.uint32(10).string(e.roomId),e.peerId!==""&&r.uint32(18).string(e.peerId),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=te();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==10)break;n.roomId=t.string();continue}case 2:{if(o!==18)break;n.peerId=t.string();continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{roomId:d(e.roomId)?globalThis.String(e.roomId):"",peerId:d(e.peerId)?globalThis.String(e.peerId):""}},toJSON(e){let r={};return e.roomId!==""&&(r.roomId=e.roomId),e.peerId!==""&&(r.peerId=e.peerId),r},create(e){return k.fromPartial(e??{})},fromPartial(e){let r=te();return r.roomId=e.roomId??"",r.peerId=e.peerId??"",r}};function oe(){return{roomId:"",peerId:""}}var S={encode(e,r=new c){return e.roomId!==""&&r.uint32(10).string(e.roomId),e.peerId!==""&&r.uint32(18).string(e.peerId),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=oe();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==10)break;n.roomId=t.string();continue}case 2:{if(o!==18)break;n.peerId=t.string();continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{roomId:d(e.roomId)?globalThis.String(e.roomId):"",peerId:d(e.peerId)?globalThis.String(e.peerId):""}},toJSON(e){let r={};return e.roomId!==""&&(r.roomId=e.roomId),e.peerId!==""&&(r.peerId=e.peerId),r},create(e){return S.fromPartial(e??{})},fromPartial(e){let r=oe();return r.roomId=e.roomId??"",r.peerId=e.peerId??"",r}};function ne(){return{roomId:"",peerId:"",reason:""}}var _={encode(e,r=new c){return e.roomId!==""&&r.uint32(10).string(e.roomId),e.peerId!==""&&r.uint32(18).string(e.peerId),e.reason!==""&&r.uint32(26).string(e.reason),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=ne();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==10)break;n.roomId=t.string();continue}case 2:{if(o!==18)break;n.peerId=t.string();continue}case 3:{if(o!==26)break;n.reason=t.string();continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{roomId:d(e.roomId)?globalThis.String(e.roomId):"",peerId:d(e.peerId)?globalThis.String(e.peerId):"",reason:d(e.reason)?globalThis.String(e.reason):""}},toJSON(e){let r={};return e.roomId!==""&&(r.roomId=e.roomId),e.peerId!==""&&(r.peerId=e.peerId),e.reason!==""&&(r.reason=e.reason),r},create(e){return _.fromPartial(e??{})},fromPartial(e){let r=ne();return r.roomId=e.roomId??"",r.peerId=e.peerId??"",r.reason=e.reason??"",r}};function ie(){return{roomId:"",componentId:""}}var N={encode(e,r=new c){return e.roomId!==""&&r.uint32(10).string(e.roomId),e.componentId!==""&&r.uint32(18).string(e.componentId),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=ie();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==10)break;n.roomId=t.string();continue}case 2:{if(o!==18)break;n.componentId=t.string();continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{roomId:d(e.roomId)?globalThis.String(e.roomId):"",componentId:d(e.componentId)?globalThis.String(e.componentId):""}},toJSON(e){let r={};return e.roomId!==""&&(r.roomId=e.roomId),e.componentId!==""&&(r.componentId=e.componentId),r},create(e){return N.fromPartial(e??{})},fromPartial(e){let r=ie();return r.roomId=e.roomId??"",r.componentId=e.componentId??"",r}};function de(){return{}}var P={encode(e,r=new c){return r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=de();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{}},toJSON(e){return{}},create(e){return P.fromPartial(e??{})},fromPartial(e){return de()}};function ae(){return{token:""}}var g={encode(e,r=new c){return e.token!==""&&r.uint32(10).string(e.token),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=ae();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==10)break;n.token=t.string();continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{token:d(e.token)?globalThis.String(e.token):""}},toJSON(e){let r={};return e.token!==""&&(r.token=e.token),r},create(e){return g.fromPartial(e??{})},fromPartial(e){let r=ae();return r.token=e.token??"",r}};function se(){return{eventType:0}}var M={encode(e,r=new c){return e.eventType!==0&&r.uint32(8).int32(e.eventType),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=se();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==8)break;n.eventType=t.int32();continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{eventType:d(e.eventType)?x(e.eventType):0}},toJSON(e){let r={};return e.eventType!==0&&(r.eventType=G(e.eventType)),r},create(e){return M.fromPartial(e??{})},fromPartial(e){let r=se();return r.eventType=e.eventType??0,r}};function ce(){return{eventType:0}}var T={encode(e,r=new c){return e.eventType!==0&&r.uint32(8).int32(e.eventType),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=ce();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==8)break;n.eventType=t.int32();continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{eventType:d(e.eventType)?x(e.eventType):0}},toJSON(e){let r={};return e.eventType!==0&&(r.eventType=G(e.eventType)),r},create(e){return T.fromPartial(e??{})},fromPartial(e){let r=ce();return r.eventType=e.eventType??0,r}};function ue(){return{roomId:""}}var C={encode(e,r=new c){return e.roomId!==""&&r.uint32(10).string(e.roomId),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=ue();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==10)break;n.roomId=t.string();continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{roomId:d(e.roomId)?globalThis.String(e.roomId):""}},toJSON(e){let r={};return e.roomId!==""&&(r.roomId=e.roomId),r},create(e){return C.fromPartial(e??{})},fromPartial(e){let r=ue();return r.roomId=e.roomId??"",r}};function fe(){return{roomId:""}}var O={encode(e,r=new c){return e.roomId!==""&&r.uint32(10).string(e.roomId),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=fe();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==10)break;n.roomId=t.string();continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{roomId:d(e.roomId)?globalThis.String(e.roomId):""}},toJSON(e){let r={};return e.roomId!==""&&(r.roomId=e.roomId),r},create(e){return O.fromPartial(e??{})},fromPartial(e){let r=fe();return r.roomId=e.roomId??"",r}};function pe(){return{metrics:""}}var R={encode(e,r=new c){return e.metrics!==""&&r.uint32(10).string(e.metrics),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=pe();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==10)break;n.metrics=t.string();continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{metrics:d(e.metrics)?globalThis.String(e.metrics):""}},toJSON(e){let r={};return e.metrics!==""&&(r.metrics=e.metrics),r},create(e){return R.fromPartial(e??{})},fromPartial(e){let r=pe();return r.metrics=e.metrics??"",r}};function le(){return{roomId:"",componentId:""}}var b={encode(e,r=new c){return e.roomId!==""&&r.uint32(10).string(e.roomId),e.componentId!==""&&r.uint32(18).string(e.componentId),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=le();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==10)break;n.roomId=t.string();continue}case 2:{if(o!==18)break;n.componentId=t.string();continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{roomId:d(e.roomId)?globalThis.String(e.roomId):"",componentId:d(e.componentId)?globalThis.String(e.componentId):""}},toJSON(e){let r={};return e.roomId!==""&&(r.roomId=e.roomId),e.componentId!==""&&(r.componentId=e.componentId),r},create(e){return b.fromPartial(e??{})},fromPartial(e){let r=le();return r.roomId=e.roomId??"",r.componentId=e.componentId??"",r}};function Ie(){return{roomId:""}}var w={encode(e,r=new c){return e.roomId!==""&&r.uint32(10).string(e.roomId),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=Ie();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==10)break;n.roomId=t.string();continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{roomId:d(e.roomId)?globalThis.String(e.roomId):""}},toJSON(e){let r={};return e.roomId!==""&&(r.roomId=e.roomId),r},create(e){return w.fromPartial(e??{})},fromPartial(e){let r=Ie();return r.roomId=e.roomId??"",r}};function he(){return{roomId:""}}var E={encode(e,r=new c){return e.roomId!==""&&r.uint32(10).string(e.roomId),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=he();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==10)break;n.roomId=t.string();continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{roomId:d(e.roomId)?globalThis.String(e.roomId):""}},toJSON(e){let r={};return e.roomId!==""&&(r.roomId=e.roomId),r},create(e){return E.fromPartial(e??{})},fromPartial(e){let r=he();return r.roomId=e.roomId??"",r}};function me(){return{roomId:"",peerId:"",metadata:""}}var U={encode(e,r=new c){return e.roomId!==""&&r.uint32(10).string(e.roomId),e.peerId!==""&&r.uint32(18).string(e.peerId),e.metadata!==""&&r.uint32(26).string(e.metadata),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=me();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==10)break;n.roomId=t.string();continue}case 2:{if(o!==18)break;n.peerId=t.string();continue}case 3:{if(o!==26)break;n.metadata=t.string();continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{roomId:d(e.roomId)?globalThis.String(e.roomId):"",peerId:d(e.peerId)?globalThis.String(e.peerId):"",metadata:d(e.metadata)?globalThis.String(e.metadata):""}},toJSON(e){let r={};return e.roomId!==""&&(r.roomId=e.roomId),e.peerId!==""&&(r.peerId=e.peerId),e.metadata!==""&&(r.metadata=e.metadata),r},create(e){return U.fromPartial(e??{})},fromPartial(e){let r=me();return r.roomId=e.roomId??"",r.peerId=e.peerId??"",r.metadata=e.metadata??"",r}};function ve(){return{id:"",type:0,metadata:""}}var f={encode(e,r=new c){return e.id!==""&&r.uint32(10).string(e.id),e.type!==0&&r.uint32(16).int32(e.type),e.metadata!==""&&r.uint32(26).string(e.metadata),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=ve();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==10)break;n.id=t.string();continue}case 2:{if(o!==16)break;n.type=t.int32();continue}case 3:{if(o!==26)break;n.metadata=t.string();continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{id:d(e.id)?globalThis.String(e.id):"",type:d(e.type)?Oe(e.type):0,metadata:d(e.metadata)?globalThis.String(e.metadata):""}},toJSON(e){let r={};return e.id!==""&&(r.id=e.id),e.type!==0&&(r.type=Re(e.type)),e.metadata!==""&&(r.metadata=e.metadata),r},create(e){return f.fromPartial(e??{})},fromPartial(e){let r=ve();return r.id=e.id??"",r.type=e.type??0,r.metadata=e.metadata??"",r}};function ke(){return{roomId:"",peerId:void 0,componentId:void 0,track:void 0}}var J={encode(e,r=new c){return e.roomId!==""&&r.uint32(10).string(e.roomId),e.peerId!==void 0&&r.uint32(18).string(e.peerId),e.componentId!==void 0&&r.uint32(26).string(e.componentId),e.track!==void 0&&f.encode(e.track,r.uint32(34).fork()).join(),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=ke();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==10)break;n.roomId=t.string();continue}case 2:{if(o!==18)break;n.peerId=t.string();continue}case 3:{if(o!==26)break;n.componentId=t.string();continue}case 4:{if(o!==34)break;n.track=f.decode(t,t.uint32());continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{roomId:d(e.roomId)?globalThis.String(e.roomId):"",peerId:d(e.peerId)?globalThis.String(e.peerId):void 0,componentId:d(e.componentId)?globalThis.String(e.componentId):void 0,track:d(e.track)?f.fromJSON(e.track):void 0}},toJSON(e){let r={};return e.roomId!==""&&(r.roomId=e.roomId),e.peerId!==void 0&&(r.peerId=e.peerId),e.componentId!==void 0&&(r.componentId=e.componentId),e.track!==void 0&&(r.track=f.toJSON(e.track)),r},create(e){return J.fromPartial(e??{})},fromPartial(e){let r=ke();return r.roomId=e.roomId??"",r.peerId=e.peerId??void 0,r.componentId=e.componentId??void 0,r.track=e.track!==void 0&&e.track!==null?f.fromPartial(e.track):void 0,r}};function Se(){return{roomId:"",peerId:void 0,componentId:void 0,track:void 0}}var y={encode(e,r=new c){return e.roomId!==""&&r.uint32(10).string(e.roomId),e.peerId!==void 0&&r.uint32(18).string(e.peerId),e.componentId!==void 0&&r.uint32(26).string(e.componentId),e.track!==void 0&&f.encode(e.track,r.uint32(34).fork()).join(),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=Se();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==10)break;n.roomId=t.string();continue}case 2:{if(o!==18)break;n.peerId=t.string();continue}case 3:{if(o!==26)break;n.componentId=t.string();continue}case 4:{if(o!==34)break;n.track=f.decode(t,t.uint32());continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{roomId:d(e.roomId)?globalThis.String(e.roomId):"",peerId:d(e.peerId)?globalThis.String(e.peerId):void 0,componentId:d(e.componentId)?globalThis.String(e.componentId):void 0,track:d(e.track)?f.fromJSON(e.track):void 0}},toJSON(e){let r={};return e.roomId!==""&&(r.roomId=e.roomId),e.peerId!==void 0&&(r.peerId=e.peerId),e.componentId!==void 0&&(r.componentId=e.componentId),e.track!==void 0&&(r.track=f.toJSON(e.track)),r},create(e){return y.fromPartial(e??{})},fromPartial(e){let r=Se();return r.roomId=e.roomId??"",r.peerId=e.peerId??void 0,r.componentId=e.componentId??void 0,r.track=e.track!==void 0&&e.track!==null?f.fromPartial(e.track):void 0,r}};function _e(){return{roomId:"",peerId:void 0,componentId:void 0,track:void 0}}var D={encode(e,r=new c){return e.roomId!==""&&r.uint32(10).string(e.roomId),e.peerId!==void 0&&r.uint32(18).string(e.peerId),e.componentId!==void 0&&r.uint32(26).string(e.componentId),e.track!==void 0&&f.encode(e.track,r.uint32(34).fork()).join(),r},decode(e,r){let t=e instanceof a?e:new a(e),i=r===void 0?t.len:t.pos+r,n=_e();for(;t.pos<i;){let o=t.uint32();switch(o>>>3){case 1:{if(o!==10)break;n.roomId=t.string();continue}case 2:{if(o!==18)break;n.peerId=t.string();continue}case 3:{if(o!==26)break;n.componentId=t.string();continue}case 4:{if(o!==34)break;n.track=f.decode(t,t.uint32());continue}}if((o&7)===4||o===0)break;t.skip(o&7)}return n},fromJSON(e){return{roomId:d(e.roomId)?globalThis.String(e.roomId):"",peerId:d(e.peerId)?globalThis.String(e.peerId):void 0,componentId:d(e.componentId)?globalThis.String(e.componentId):void 0,track:d(e.track)?f.fromJSON(e.track):void 0}},toJSON(e){let r={};return e.roomId!==""&&(r.roomId=e.roomId),e.peerId!==void 0&&(r.peerId=e.peerId),e.componentId!==void 0&&(r.componentId=e.componentId),e.track!==void 0&&(r.track=f.toJSON(e.track)),r},create(e){return D.fromPartial(e??{})},fromPartial(e){let r=_e();return r.roomId=e.roomId??"",r.peerId=e.peerId??void 0,r.componentId=e.componentId??void 0,r.track=e.track!==void 0&&e.track!==null?f.fromPartial(e.track):void 0,r}};function d(e){return e!=null}});var H=Ve(Ee());export{nr as a,Be as b,Ve as c,H as d};
package/dist/index.d.mts CHANGED
@@ -1,8 +1,201 @@
1
- import { Peer, RoomConfig, PeerOptions } from '@fishjam-cloud/fishjam-openapi';
2
- export { Peer, PeerOptions, PeerStatus, RoomConfig } from '@fishjam-cloud/fishjam-openapi';
3
- import TypedEmitter from 'typed-emitter';
4
- import { ServerMessage } from '@fishjam-cloud/fishjam-proto';
1
+ import { ServerMessage } from './proto.mjs';
5
2
  import axios from 'axios';
3
+ import '@bufbuild/protobuf/wire';
4
+
5
+ /**
6
+ * Describes peer status
7
+ * @export
8
+ * @interface Peer
9
+ */
10
+ interface Peer {
11
+ /**
12
+ * Assigned peer id
13
+ * @type {string}
14
+ * @memberof Peer
15
+ */
16
+ 'id': string;
17
+ /**
18
+ * Custom metadata set by the peer
19
+ * @type {any}
20
+ * @memberof Peer
21
+ */
22
+ 'metadata': any | null;
23
+ /**
24
+ *
25
+ * @type {PeerStatus}
26
+ * @memberof Peer
27
+ */
28
+ 'status': PeerStatus;
29
+ /**
30
+ * List of all peer\'s tracks
31
+ * @type {Array<Track>}
32
+ * @memberof Peer
33
+ */
34
+ 'tracks': Array<Track>;
35
+ /**
36
+ * Peer type
37
+ * @type {string}
38
+ * @memberof Peer
39
+ */
40
+ 'type': string;
41
+ }
42
+ /**
43
+ * @type PeerOptions
44
+ * Peer-specific options
45
+ * @export
46
+ */
47
+ type PeerOptions = PeerOptionsWebRTC;
48
+ /**
49
+ * Options specific to the WebRTC peer
50
+ * @export
51
+ * @interface PeerOptionsWebRTC
52
+ */
53
+ interface PeerOptionsWebRTC {
54
+ /**
55
+ * Enables the peer to use simulcast
56
+ * @type {boolean}
57
+ * @memberof PeerOptionsWebRTC
58
+ */
59
+ 'enableSimulcast'?: boolean;
60
+ /**
61
+ * Custom peer metadata
62
+ * @type {{ [key: string]: any; }}
63
+ * @memberof PeerOptionsWebRTC
64
+ */
65
+ 'metadata'?: {
66
+ [key: string]: any;
67
+ };
68
+ }
69
+ /**
70
+ * Informs about the peer status
71
+ * @export
72
+ * @enum {string}
73
+ */
74
+ declare const PeerStatus: {
75
+ readonly Connected: "connected";
76
+ readonly Disconnected: "disconnected";
77
+ };
78
+ type PeerStatus = typeof PeerStatus[keyof typeof PeerStatus];
79
+ /**
80
+ * Room configuration
81
+ * @export
82
+ * @interface RoomConfig
83
+ */
84
+ interface RoomConfig {
85
+ /**
86
+ * Maximum amount of peers allowed into the room
87
+ * @type {number}
88
+ * @memberof RoomConfig
89
+ */
90
+ 'maxPeers'?: number | null;
91
+ /**
92
+ * Duration (in seconds) after which the peer will be removed if it is disconnected. If not provided, this feature is disabled.
93
+ * @type {number}
94
+ * @memberof RoomConfig
95
+ */
96
+ 'peerDisconnectedTimeout'?: number | null;
97
+ /**
98
+ * Duration (in seconds) after which the room will be removed if no peers are connected. If not provided, this feature is disabled.
99
+ * @type {number}
100
+ * @memberof RoomConfig
101
+ */
102
+ 'peerlessPurgeTimeout'?: number | null;
103
+ /**
104
+ * Custom id used for identifying room within Fishjam. Must be unique across all rooms. If not provided, random UUID is generated.
105
+ * @type {string}
106
+ * @memberof RoomConfig
107
+ */
108
+ 'roomId'?: string | null;
109
+ /**
110
+ * Enforces video codec for each peer in the room
111
+ * @type {string}
112
+ * @memberof RoomConfig
113
+ */
114
+ 'videoCodec'?: RoomConfigVideoCodecEnum | null;
115
+ /**
116
+ * URL where Fishjam notifications will be sent
117
+ * @type {string}
118
+ * @memberof RoomConfig
119
+ */
120
+ 'webhookUrl'?: string | null;
121
+ }
122
+ declare const RoomConfigVideoCodecEnum: {
123
+ readonly H264: "h264";
124
+ readonly Vp8: "vp8";
125
+ };
126
+ type RoomConfigVideoCodecEnum = typeof RoomConfigVideoCodecEnum[keyof typeof RoomConfigVideoCodecEnum];
127
+ /**
128
+ * Describes media track of a Peer or Component
129
+ * @export
130
+ * @interface Track
131
+ */
132
+ interface Track {
133
+ /**
134
+ *
135
+ * @type {string}
136
+ * @memberof Track
137
+ */
138
+ 'id'?: string;
139
+ /**
140
+ *
141
+ * @type {any}
142
+ * @memberof Track
143
+ */
144
+ 'metadata'?: any | null;
145
+ /**
146
+ *
147
+ * @type {string}
148
+ * @memberof Track
149
+ */
150
+ 'type'?: TrackTypeEnum;
151
+ }
152
+ declare const TrackTypeEnum: {
153
+ readonly Audio: "audio";
154
+ readonly Video: "video";
155
+ };
156
+ type TrackTypeEnum = typeof TrackTypeEnum[keyof typeof TrackTypeEnum];
157
+
158
+ type EventMap = {
159
+ [key: string]: (...args: any[]) => void
160
+ }
161
+
162
+ /**
163
+ * Type-safe event emitter.
164
+ *
165
+ * Use it like this:
166
+ *
167
+ * ```typescript
168
+ * type MyEvents = {
169
+ * error: (error: Error) => void;
170
+ * message: (from: string, content: string) => void;
171
+ * }
172
+ *
173
+ * const myEmitter = new EventEmitter() as TypedEmitter<MyEvents>;
174
+ *
175
+ * myEmitter.emit("error", "x") // <- Will catch this type error;
176
+ * ```
177
+ */
178
+ interface TypedEventEmitter<Events extends EventMap> {
179
+ addListener<E extends keyof Events> (event: E, listener: Events[E]): this
180
+ on<E extends keyof Events> (event: E, listener: Events[E]): this
181
+ once<E extends keyof Events> (event: E, listener: Events[E]): this
182
+ prependListener<E extends keyof Events> (event: E, listener: Events[E]): this
183
+ prependOnceListener<E extends keyof Events> (event: E, listener: Events[E]): this
184
+
185
+ off<E extends keyof Events>(event: E, listener: Events[E]): this
186
+ removeAllListeners<E extends keyof Events> (event?: E): this
187
+ removeListener<E extends keyof Events> (event: E, listener: Events[E]): this
188
+
189
+ emit<E extends keyof Events> (event: E, ...args: Parameters<Events[E]>): boolean
190
+ // The sloppy `eventNames()` return type is to mitigate type incompatibilities - see #5
191
+ eventNames (): (keyof Events | string | symbol)[]
192
+ rawListeners<E extends keyof Events> (event: E): Events[E][]
193
+ listeners<E extends keyof Events> (event: E): Events[E][]
194
+ listenerCount<E extends keyof Events> (event: E): number
195
+
196
+ getMaxListeners (): number
197
+ setMaxListeners (maxListeners: number): this
198
+ }
6
199
 
7
200
  type Room = {
8
201
  id: string;
@@ -18,7 +211,7 @@ declare const allowedNotifications: readonly ["roomCreated", "roomDeleted", "roo
18
211
  type ErrorEventHandler = (msg: Error) => void;
19
212
  type CloseEventHandler = (code: number, reason: string) => void;
20
213
  type NotificationEvents = Record<(typeof allowedNotifications)[number], (message: ServerMessage) => void>;
21
- declare const FishjamWSNotifier_base: new () => TypedEmitter<NotificationEvents>;
214
+ declare const FishjamWSNotifier_base: new () => TypedEventEmitter<NotificationEvents>;
22
215
  declare class FishjamWSNotifier extends FishjamWSNotifier_base {
23
216
  private readonly client;
24
217
  constructor(config: FishjamConfig, onError: ErrorEventHandler, onClose: CloseEventHandler, onConnectionFailed: ErrorEventHandler);
@@ -63,4 +256,4 @@ declare class ServiceUnavailableException extends FishjamBaseException {
63
256
  declare class UnknownException extends FishjamBaseException {
64
257
  }
65
258
 
66
- export { BadRequestException, FishjamBaseException, FishjamClient, type FishjamConfig, FishjamNotFoundException, FishjamWSNotifier, ForbiddenException, PeerNotFoundException, type Room, RoomNotFoundException, ServiceUnavailableException, UnauthorizedException, UnknownException };
259
+ export { BadRequestException, FishjamBaseException, FishjamClient, type FishjamConfig, FishjamNotFoundException, FishjamWSNotifier, ForbiddenException, type Peer, PeerNotFoundException, type PeerOptions, PeerStatus, type Room, type RoomConfig, RoomNotFoundException, ServiceUnavailableException, UnauthorizedException, UnknownException };
package/dist/index.d.ts CHANGED
@@ -1,8 +1,201 @@
1
- import { Peer, RoomConfig, PeerOptions } from '@fishjam-cloud/fishjam-openapi';
2
- export { Peer, PeerOptions, PeerStatus, RoomConfig } from '@fishjam-cloud/fishjam-openapi';
3
- import TypedEmitter from 'typed-emitter';
4
- import { ServerMessage } from '@fishjam-cloud/fishjam-proto';
1
+ import { ServerMessage } from './proto.js';
5
2
  import axios from 'axios';
3
+ import '@bufbuild/protobuf/wire';
4
+
5
+ /**
6
+ * Describes peer status
7
+ * @export
8
+ * @interface Peer
9
+ */
10
+ interface Peer {
11
+ /**
12
+ * Assigned peer id
13
+ * @type {string}
14
+ * @memberof Peer
15
+ */
16
+ 'id': string;
17
+ /**
18
+ * Custom metadata set by the peer
19
+ * @type {any}
20
+ * @memberof Peer
21
+ */
22
+ 'metadata': any | null;
23
+ /**
24
+ *
25
+ * @type {PeerStatus}
26
+ * @memberof Peer
27
+ */
28
+ 'status': PeerStatus;
29
+ /**
30
+ * List of all peer\'s tracks
31
+ * @type {Array<Track>}
32
+ * @memberof Peer
33
+ */
34
+ 'tracks': Array<Track>;
35
+ /**
36
+ * Peer type
37
+ * @type {string}
38
+ * @memberof Peer
39
+ */
40
+ 'type': string;
41
+ }
42
+ /**
43
+ * @type PeerOptions
44
+ * Peer-specific options
45
+ * @export
46
+ */
47
+ type PeerOptions = PeerOptionsWebRTC;
48
+ /**
49
+ * Options specific to the WebRTC peer
50
+ * @export
51
+ * @interface PeerOptionsWebRTC
52
+ */
53
+ interface PeerOptionsWebRTC {
54
+ /**
55
+ * Enables the peer to use simulcast
56
+ * @type {boolean}
57
+ * @memberof PeerOptionsWebRTC
58
+ */
59
+ 'enableSimulcast'?: boolean;
60
+ /**
61
+ * Custom peer metadata
62
+ * @type {{ [key: string]: any; }}
63
+ * @memberof PeerOptionsWebRTC
64
+ */
65
+ 'metadata'?: {
66
+ [key: string]: any;
67
+ };
68
+ }
69
+ /**
70
+ * Informs about the peer status
71
+ * @export
72
+ * @enum {string}
73
+ */
74
+ declare const PeerStatus: {
75
+ readonly Connected: "connected";
76
+ readonly Disconnected: "disconnected";
77
+ };
78
+ type PeerStatus = typeof PeerStatus[keyof typeof PeerStatus];
79
+ /**
80
+ * Room configuration
81
+ * @export
82
+ * @interface RoomConfig
83
+ */
84
+ interface RoomConfig {
85
+ /**
86
+ * Maximum amount of peers allowed into the room
87
+ * @type {number}
88
+ * @memberof RoomConfig
89
+ */
90
+ 'maxPeers'?: number | null;
91
+ /**
92
+ * Duration (in seconds) after which the peer will be removed if it is disconnected. If not provided, this feature is disabled.
93
+ * @type {number}
94
+ * @memberof RoomConfig
95
+ */
96
+ 'peerDisconnectedTimeout'?: number | null;
97
+ /**
98
+ * Duration (in seconds) after which the room will be removed if no peers are connected. If not provided, this feature is disabled.
99
+ * @type {number}
100
+ * @memberof RoomConfig
101
+ */
102
+ 'peerlessPurgeTimeout'?: number | null;
103
+ /**
104
+ * Custom id used for identifying room within Fishjam. Must be unique across all rooms. If not provided, random UUID is generated.
105
+ * @type {string}
106
+ * @memberof RoomConfig
107
+ */
108
+ 'roomId'?: string | null;
109
+ /**
110
+ * Enforces video codec for each peer in the room
111
+ * @type {string}
112
+ * @memberof RoomConfig
113
+ */
114
+ 'videoCodec'?: RoomConfigVideoCodecEnum | null;
115
+ /**
116
+ * URL where Fishjam notifications will be sent
117
+ * @type {string}
118
+ * @memberof RoomConfig
119
+ */
120
+ 'webhookUrl'?: string | null;
121
+ }
122
+ declare const RoomConfigVideoCodecEnum: {
123
+ readonly H264: "h264";
124
+ readonly Vp8: "vp8";
125
+ };
126
+ type RoomConfigVideoCodecEnum = typeof RoomConfigVideoCodecEnum[keyof typeof RoomConfigVideoCodecEnum];
127
+ /**
128
+ * Describes media track of a Peer or Component
129
+ * @export
130
+ * @interface Track
131
+ */
132
+ interface Track {
133
+ /**
134
+ *
135
+ * @type {string}
136
+ * @memberof Track
137
+ */
138
+ 'id'?: string;
139
+ /**
140
+ *
141
+ * @type {any}
142
+ * @memberof Track
143
+ */
144
+ 'metadata'?: any | null;
145
+ /**
146
+ *
147
+ * @type {string}
148
+ * @memberof Track
149
+ */
150
+ 'type'?: TrackTypeEnum;
151
+ }
152
+ declare const TrackTypeEnum: {
153
+ readonly Audio: "audio";
154
+ readonly Video: "video";
155
+ };
156
+ type TrackTypeEnum = typeof TrackTypeEnum[keyof typeof TrackTypeEnum];
157
+
158
+ type EventMap = {
159
+ [key: string]: (...args: any[]) => void
160
+ }
161
+
162
+ /**
163
+ * Type-safe event emitter.
164
+ *
165
+ * Use it like this:
166
+ *
167
+ * ```typescript
168
+ * type MyEvents = {
169
+ * error: (error: Error) => void;
170
+ * message: (from: string, content: string) => void;
171
+ * }
172
+ *
173
+ * const myEmitter = new EventEmitter() as TypedEmitter<MyEvents>;
174
+ *
175
+ * myEmitter.emit("error", "x") // <- Will catch this type error;
176
+ * ```
177
+ */
178
+ interface TypedEventEmitter<Events extends EventMap> {
179
+ addListener<E extends keyof Events> (event: E, listener: Events[E]): this
180
+ on<E extends keyof Events> (event: E, listener: Events[E]): this
181
+ once<E extends keyof Events> (event: E, listener: Events[E]): this
182
+ prependListener<E extends keyof Events> (event: E, listener: Events[E]): this
183
+ prependOnceListener<E extends keyof Events> (event: E, listener: Events[E]): this
184
+
185
+ off<E extends keyof Events>(event: E, listener: Events[E]): this
186
+ removeAllListeners<E extends keyof Events> (event?: E): this
187
+ removeListener<E extends keyof Events> (event: E, listener: Events[E]): this
188
+
189
+ emit<E extends keyof Events> (event: E, ...args: Parameters<Events[E]>): boolean
190
+ // The sloppy `eventNames()` return type is to mitigate type incompatibilities - see #5
191
+ eventNames (): (keyof Events | string | symbol)[]
192
+ rawListeners<E extends keyof Events> (event: E): Events[E][]
193
+ listeners<E extends keyof Events> (event: E): Events[E][]
194
+ listenerCount<E extends keyof Events> (event: E): number
195
+
196
+ getMaxListeners (): number
197
+ setMaxListeners (maxListeners: number): this
198
+ }
6
199
 
7
200
  type Room = {
8
201
  id: string;
@@ -18,7 +211,7 @@ declare const allowedNotifications: readonly ["roomCreated", "roomDeleted", "roo
18
211
  type ErrorEventHandler = (msg: Error) => void;
19
212
  type CloseEventHandler = (code: number, reason: string) => void;
20
213
  type NotificationEvents = Record<(typeof allowedNotifications)[number], (message: ServerMessage) => void>;
21
- declare const FishjamWSNotifier_base: new () => TypedEmitter<NotificationEvents>;
214
+ declare const FishjamWSNotifier_base: new () => TypedEventEmitter<NotificationEvents>;
22
215
  declare class FishjamWSNotifier extends FishjamWSNotifier_base {
23
216
  private readonly client;
24
217
  constructor(config: FishjamConfig, onError: ErrorEventHandler, onClose: CloseEventHandler, onConnectionFailed: ErrorEventHandler);
@@ -63,4 +256,4 @@ declare class ServiceUnavailableException extends FishjamBaseException {
63
256
  declare class UnknownException extends FishjamBaseException {
64
257
  }
65
258
 
66
- export { BadRequestException, FishjamBaseException, FishjamClient, type FishjamConfig, FishjamNotFoundException, FishjamWSNotifier, ForbiddenException, PeerNotFoundException, type Room, RoomNotFoundException, ServiceUnavailableException, UnauthorizedException, UnknownException };
259
+ export { BadRequestException, FishjamBaseException, FishjamClient, type FishjamConfig, FishjamNotFoundException, FishjamWSNotifier, ForbiddenException, type Peer, PeerNotFoundException, type PeerOptions, PeerStatus, type Room, type RoomConfig, RoomNotFoundException, ServiceUnavailableException, UnauthorizedException, UnknownException };