@fishjam-cloud/js-server-sdk 0.2.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.
- package/dist/chunk-OYUNRLHV.mjs +1 -0
- package/dist/index.d.mts +200 -6
- package/dist/index.d.ts +200 -6
- package/dist/index.js +30 -245
- package/dist/index.mjs +30 -198
- package/dist/proto.d.mts +191 -1
- package/dist/proto.d.ts +191 -1
- package/dist/proto.js +1 -34
- package/dist/proto.mjs +1 -10
- package/package.json +11 -8
- package/dist/chunk-LSLTFYHQ.mjs +0 -8
|
@@ -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 {
|
|
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 () =>
|
|
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);
|
|
@@ -39,6 +232,7 @@ declare class FishjamClient {
|
|
|
39
232
|
getRoom(roomId: string): Promise<Room>;
|
|
40
233
|
deletePeer(roomId: string, peerId: string): Promise<void>;
|
|
41
234
|
deleteRoom(roomId: string): Promise<void>;
|
|
235
|
+
refreshPeerToken(roomId: string, peerId: string): Promise<string>;
|
|
42
236
|
}
|
|
43
237
|
|
|
44
238
|
declare class FishjamBaseException extends Error {
|
|
@@ -62,4 +256,4 @@ declare class ServiceUnavailableException extends FishjamBaseException {
|
|
|
62
256
|
declare class UnknownException extends FishjamBaseException {
|
|
63
257
|
}
|
|
64
258
|
|
|
65
|
-
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 {
|
|
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 () =>
|
|
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);
|
|
@@ -39,6 +232,7 @@ declare class FishjamClient {
|
|
|
39
232
|
getRoom(roomId: string): Promise<Room>;
|
|
40
233
|
deletePeer(roomId: string, peerId: string): Promise<void>;
|
|
41
234
|
deleteRoom(roomId: string): Promise<void>;
|
|
235
|
+
refreshPeerToken(roomId: string, peerId: string): Promise<string>;
|
|
42
236
|
}
|
|
43
237
|
|
|
44
238
|
declare class FishjamBaseException extends Error {
|
|
@@ -62,4 +256,4 @@ declare class ServiceUnavailableException extends FishjamBaseException {
|
|
|
62
256
|
declare class UnknownException extends FishjamBaseException {
|
|
63
257
|
}
|
|
64
258
|
|
|
65
|
-
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 };
|