@100mslive/hms-video-store
Advanced tools
Comparing version 0.1.30 to 0.1.31
@@ -36,2 +36,3 @@ import { HMSMessage, HMSTrackSource } from '../schema'; | ||
constructor(store: IHMSStore, sdk: HMSSdk, notificationManager: HMSNotifications); | ||
preview(config: sdkTypes.HMSConfig): void; | ||
join(config: sdkTypes.HMSConfig): void; | ||
@@ -50,7 +51,6 @@ leave(): Promise<void>; | ||
attachVideo(trackID: string, videoElement: HTMLVideoElement): Promise<void>; | ||
Detection(isDetection: boolean, isRendering: boolean): Promise<void>; | ||
private attachVideoInternalDetection; | ||
detachVideo(trackID: string, videoElement: HTMLVideoElement): Promise<void>; | ||
private resetState; | ||
private sdkJoinWithListeners; | ||
private sdkPreviewWithListeners; | ||
private startScreenShare; | ||
@@ -72,2 +72,3 @@ private stopScreenShare; | ||
protected syncPeers(): void; | ||
protected onPreview(sdkRoom: sdkTypes.HMSRoom): void; | ||
protected onJoin(sdkRoom: sdkTypes.HMSRoom): void; | ||
@@ -74,0 +75,0 @@ protected onRoomUpdate(): void; |
import { HMSAudioTrackSettings, HMSVideoTrackSettings } from './hmsSDKStore/sdkTypes'; | ||
import { HMSTrackSource } from './schema'; | ||
import { HMSConfig } from './hmsSDKStore/sdkTypes'; | ||
/** | ||
@@ -18,2 +19,3 @@ * The below interface defines our SDK API Surface for taking room related actions. | ||
export interface IHMSActions { | ||
preview(config: HMSConfig): void; | ||
/** | ||
@@ -105,3 +107,2 @@ * join function can be used to join the room, if the room join is successful, | ||
attachVideo(trackID: string, videoElement: HTMLVideoElement): Promise<void>; | ||
Detection(enabled: boolean, isRendering: boolean): Promise<void>; | ||
detachVideo(trackID: string, videoElement: HTMLVideoElement): Promise<void>; | ||
@@ -108,0 +109,0 @@ } |
import { HMSPeerID } from './peer'; | ||
export declare type HMSRoomID = string; | ||
export declare enum HMSRoomState { | ||
Disconnected = "Disconnected", | ||
Preview = "Preview", | ||
Connecting = "Connecting", | ||
Connected = "Connected", | ||
Reconnecting = "Reconnecting", | ||
Failed = "Failed" | ||
} | ||
export interface HMSRoom { | ||
@@ -10,2 +18,3 @@ id: HMSRoomID; | ||
hasWaitingRoom: boolean; | ||
roomState: HMSRoomState; | ||
} |
@@ -1,2 +0,2 @@ | ||
import { HMSMessage, HMSPeer, HMSPeerID, HMSRoom, HMSStore } from '../schema'; | ||
import { HMSMessage, HMSPeer, HMSPeerID, HMSRoom, HMSRoomState, HMSStore } from '../schema'; | ||
export declare const selectRoom: (store: HMSStore) => HMSRoom; | ||
@@ -28,1 +28,3 @@ export declare const selectPeersMap: (store: HMSStore) => Record<HMSPeerID, HMSPeer>; | ||
export declare const selectHMSMessages: import("reselect").OutputSelector<HMSStore, HMSMessage[], (res1: string[], res2: Record<string, HMSMessage>) => HMSMessage[]>; | ||
export declare const selectRoomState: import("reselect").OutputSelector<HMSStore, HMSRoomState, (res: HMSRoom) => HMSRoomState>; | ||
export declare const selectIsInPreview: import("reselect").OutputSelector<HMSStore, boolean, (res: HMSRoom) => boolean>; |
@@ -1,2 +0,2 @@ | ||
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("reselect"),r=require("zustand/middleware"),n=e(require("immer")),i=e(require("zustand/vanilla")),o=e(require("zustand/shallow")),a=require("@100mslive/hms-video"),s=e(require("events"));function c(e,t,r,n,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,i)}function u(e){return function(){var t=this,r=arguments;return new Promise((function(n,i){var o=e.apply(t,r);function a(e){c(o,n,i,a,s,"next",e)}function s(e){c(o,n,i,a,s,"throw",e)}a(void 0)}))}}function l(){return(l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function f(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return d(e,void 0);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?d(e,void 0):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var h,v=(function(e){var t=function(e){var t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},i=n.iterator||"@@iterator",o=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function(e,t,r){return e[t]=r}}function c(e,t,r,n){var i=Object.create((t&&t.prototype instanceof d?t:d).prototype),o=new b(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(i,o){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw o;return{value:void 0,done:!0}}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var s=y(a,r);if(s){if(s===l)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=u(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===l)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}(e,r,o),i}function u(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var l={};function d(){}function f(){}function h(){}var v={};v[i]=function(){return this};var p=Object.getPrototypeOf,E=p&&p(p(D([])));E&&E!==t&&r.call(E,i)&&(v=E);var k=h.prototype=d.prototype=Object.create(v);function g(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function m(e,t){var n;this._invoke=function(i,o){function a(){return new t((function(n,a){!function n(i,o,a,s){var c=u(e[i],e,o);if("throw"!==c.type){var l=c.arg,d=l.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(d).then((function(e){l.value=e,a(l)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}(i,o,n,a)}))}return n=n?n.then(a,a):a()}}function y(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,y(e,t),"throw"===t.method))return l;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var n=u(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,l;var i=n.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,l):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,l)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function b(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function D(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:x}}function x(){return{value:void 0,done:!0}}return f.prototype=k.constructor=h,h.constructor=f,f.displayName=s(h,a,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===f||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,a,"GeneratorFunction")),e.prototype=Object.create(k),e},e.awrap=function(e){return{__await:e}},g(m.prototype),m.prototype[o]=function(){return this},e.AsyncIterator=m,e.async=function(t,r,n,i,o){void 0===o&&(o=Promise);var a=new m(c(t,r,n,i),o);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},g(k),s(k,a,"Generator"),k[i]=function(){return this},k.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=D,b.prototype={constructor:b,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var s=r.call(o,"catchLoc"),c=r.call(o,"finallyLoc");if(s&&c){if(this.prev<o.catchLoc)return n(o.catchLoc,!0);if(this.prev<o.finallyLoc)return n(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return n(o.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return n(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,l):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),l},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),S(r),l}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;S(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:D(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),l}},e}(e.exports);try{regeneratorRuntime=t}catch(e){Function("r","regeneratorRuntime = r")(t)}}(h={exports:{}}),h.exports);(exports.HMSMessageType||(exports.HMSMessageType={})).CHAT="chat";var p=function(){};p.INFO="info",p.ERROR="error",p.CRITICAL="critical";var E,k,g,m=function(){};m.PEER_JOINED="PEER_JOINED",m.PEER_LEFT="PEER_LEFT",m.NEW_MESSAGE="NEW_MESSAGE",m.ERROR="ERROR",m.RECONNECTING="RECONNECTING",m.RECONNECTED="RECONNECTED",m.TRACK_ADDED="TRACK_ADDED",m.TRACK_REMOVED="TRACK_REMOVED",m.TRACK_MUTED="TRACK_MUTED",m.TRACK_UNMUTED="TRACK_UNMUTED",function(e){e[e.PEER_JOINED=0]="PEER_JOINED",e[e.PEER_LEFT=1]="PEER_LEFT",e[e.AUDIO_TOGGLED=2]="AUDIO_TOGGLED",e[e.VIDEO_TOGGLED=3]="VIDEO_TOGGLED",e[e.BECAME_DOMINANT_SPEAKER=4]="BECAME_DOMINANT_SPEAKER",e[e.RESIGNED_DOMINANT_SPEAKER=5]="RESIGNED_DOMINANT_SPEAKER",e[e.STARTED_SPEAKING=6]="STARTED_SPEAKING",e[e.STOPPED_SPEAKING=7]="STOPPED_SPEAKING"}(E||(E={})),function(e){e[e.PEER_ADDED=0]="PEER_ADDED",e[e.PEER_REMOVED=1]="PEER_REMOVED",e[e.PEER_KNOCKED=2]="PEER_KNOCKED",e[e.ROOM_TYPE_CHANGED=3]="ROOM_TYPE_CHANGED",e[e.METADATA_UPDATED=4]="METADATA_UPDATED",e[e.SCREENSHARE_STARTED=5]="SCREENSHARE_STARTED",e[e.SCREENSHARE_STOPPED=6]="SCREENSHARE_STOPPED",e[e.DEFAULT_UPDATE=7]="DEFAULT_UPDATE"}(k||(k={})),function(e){e[e.TRACK_ADDED=0]="TRACK_ADDED",e[e.TRACK_REMOVED=1]="TRACK_REMOVED",e[e.TRACK_MUTED=2]="TRACK_MUTED",e[e.TRACK_UNMUTED=3]="TRACK_UNMUTED",e[e.TRACK_DESCRIPTION_CHANGED=4]="TRACK_DESCRIPTION_CHANGED"}(g||(g={}));var y=function(){function e(){}return e.convertPeer=function(e){var t,r;return{id:e.peerId,name:e.name,role:e.role,isLocal:e.isLocal,videoTrack:null==(t=e.videoTrack)?void 0:t.trackId,audioTrack:null==(r=e.audioTrack)?void 0:r.trackId,auxiliaryTracks:e.auxiliaryTracks.map((function(e){return e.trackId})),customerUserId:e.customerUserId,customerDescription:e.customerDescription}},e.convertTrack=function(e){return{id:e.trackId,source:e.source,type:e.type,enabled:e.enabled,displayEnabled:e.enabled}},e.convertRoom=function(e){return{id:e.id,name:e.name,hasWaitingRoom:e.hasWaitingRoom,shareableLink:e.shareableLink}},e.convertMessage=function(e){return{sender:e.sender,time:e.time,type:e.type,message:e.message}},e}();function T(e,t){return t&&t.auxiliaryTracks.some((function(t){return!(!t||!e.tracks[t])&&S(e.tracks[t])}))}function S(e){return e&&"video"===e.type&&"screen"===e.source}function b(e,t){return!(!t||!e.tracks[t])&&e.tracks[t].enabled}var D=function(e){return e.room},x=function(e){return e.peers},I=function(e){return e.messages.byID},R=function(e){return e.messages.allIDs},A=function(e){return e.tracks},w=function(e){return e.settings},P=t.createSelector(w,(function(e){return e.maxTileCount})),O=function(e){return e.speakers},_=t.createSelector([D],(function(e){return e&&e.isConnected})),N=t.createSelector([D,x],(function(e,t){return e.peers.map((function(e){return t[e]}))})),M=t.createSelector(N,(function(e){return e.filter((function(e){return e.isLocal}))[0]})),L=t.createSelector(M,(function(e){return null==e?void 0:e.id})),C=t.createSelector(M,(function(e){return null==e?void 0:e.audioTrack})),K=t.createSelector(M,(function(e){return null==e?void 0:e.videoTrack})),U=t.createSelector(N,(function(e){return e.filter((function(e){return!e.isLocal}))})),G=t.createSelector(x,O,(function(e,t){var r=Object.entries(t).sort((function(e,t){var r,n,i=(null==(r=e[1])?void 0:r.audioLevel)||0;return((null==(n=t[1])?void 0:n.audioLevel)||0)>i?1:-1}));if(r.length>0&&r[0][1].audioLevel&&r[0][1].audioLevel>0){var n=r[0][0];if(n in e)return e[n]}return null})),j=function(e){var t=M(e);return b(e,null==t?void 0:t.videoTrack)},V=function(e){var t=M(e);return function(e,t){return!(!t||!e.tracks[t])&&e.tracks[t].displayEnabled}(e,null==t?void 0:t.videoTrack)},H=function(e){return T(e,M(e))},F=t.createSelector(R,(function(e){return e.length})),J=t.createSelector(I,(function(e){return Object.values(e).filter((function(e){return!e.read})).length})),W=t.createSelector(R,I,(function(e,t){var r=[];return e.forEach((function(e){r.push(t[e])})),r}));function B(e){return function(t){return function(r){return e(r,t)}}}var q=function(e,t){return t},Y=t.createSelector([x,q],(function(e,t){return t?e[t]:null})),z=t.createSelector([A,q],(function(e,t){return t?e[t]:null})),$=B(Y),Q=B(t.createSelector(Y,(function(e){return null==e?void 0:e.name}))),X=B(z),Z=B(t.createSelector((function(e,t){return t?e.speakers[t]:null}),(function(e){return(null==e?void 0:e.audioLevel)||0}))),ee=B((function(e,t){var r=Y(e,t);if(r){var n=null==r?void 0:r.auxiliaryTracks.find((function(t){return(r=e.tracks[t])&&"audio"===r.type;var r}));return n?e.tracks[n]:void 0}})),te=B((function(e,t){var r=Y(e,t);if(r&&T(e,r)){var n=null==r?void 0:r.auxiliaryTracks.find((function(t){return S(e.tracks[t])}));return n?e.tracks[n]:void 0}})),re=B((function(e,t){var r=Y(e,t);if(r&&r.videoTrack&&""!==r.videoTrack)return e.tracks[r.videoTrack]})),ne=B((function(e,t){var r=Y(e,t);return b(e,null==r?void 0:r.audioTrack)})),ie=B((function(e,t){var r=Y(e,t);return b(e,null==r?void 0:r.videoTrack)})),oe=t.createSelector([x,A],(function(e,t){return Object.values(e).map((function(e){var r;return{peer:e,isAudioEnabled:!!e.audioTrack&&(null==(r=t[e.audioTrack])?void 0:r.enabled)}}))})),ae="HMS-Store:",se=function(){function e(){}return e.d=function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];(e=console).debug.apply(e,[ae].concat(r))},e.i=function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];(e=console).log.apply(e,[ae].concat(r))},e.w=function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];(e=console).warn.apply(e,[ae].concat(r))},e.e=function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];(e=console).error.apply(e,[ae].concat(r))},e}(),ce=function(e,t){return e&&t},ue=function(e,t){return e&&!t},le=function(e,t){return!e&&t},de=function(e,t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(var r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0},fe=function(e,t){for(var r,n=new Set,i=f(e);!(r=i()).done;)n.add(r.value);for(var o,a=f(t);!(o=a()).done;)n.add(o.value);return Array.from(n)};function he(e,t,r,n){e.isLocal&&e.videoTrack&&t.videoTrack&&e.videoTrack!==t.videoTrack&&(n[e.videoTrack]=n[t.videoTrack],delete n[t.videoTrack],r[e.videoTrack]=r[t.videoTrack],r[e.videoTrack].id=e.videoTrack,delete r[t.videoTrack],t.videoTrack=e.videoTrack)}var ve,pe,Ee=function(){function e(e,t,r){this.hmsSDKTracks={},this.isRoomJoinCalled=!1,this.store=e,this.sdk=t,this.hmsNotifications=r}var t=e.prototype;return t.join=function(e){if(this.isRoomJoinCalled)this.logPossibleInconsistency("room join is called again");else try{this.sdkJoinWithListeners(e),this.isRoomJoinCalled=!0}catch(e){throw this.isRoomJoinCalled=!1,se.e("Failed to connect to room - ",e),e}},t.leave=function(){var e=u(v.mark((function e(){var t=this;return v.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.store.getState(_)){e.next=4;break}return this.logPossibleInconsistency("room leave is called when no room is connected"),e.abrupt("return");case 4:return e.abrupt("return",this.sdk.leave().then((function(){t.resetState(),se.i("left room")})).catch((function(e){se.e("error in leaving room - ",e)})));case 5:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),t.setScreenShareEnabled=function(){var e=u(v.mark((function e(t){return v.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=5;break}return e.next=3,this.startScreenShare();case 3:e.next=7;break;case 5:return e.next=7,this.stopScreenShare();case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.addTrack=function(){var e=u(v.mark((function e(t,r){return v.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r="regular"),e.next=3,this.sdk.addTrack(t,r);case 3:this.syncPeers();case 4:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),t.removeTrack=function(){var e=u(v.mark((function e(t){return v.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sdk.removeTrack(t);case 2:this.syncPeers();case 3:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.setLocalAudioEnabled=function(){var e=u(v.mark((function e(t){var r;return v.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=this.store.getState(C))){e.next=4;break}return e.next=4,this.setEnabledTrack(r,t);case 4:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.setLocalVideoEnabled=function(){var e=u(v.mark((function e(t){var r;return v.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=this.store.getState(K))){e.next=4;break}return e.next=4,this.setEnabledTrack(r,t);case 4:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.setEnabledTrack=function(){var e=u(v.mark((function e(t,r){var n,i=this;return v.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((null==(n=this.store.getState().tracks[t])?void 0:n.enabled)!==r){e.next=4;break}return this.logPossibleInconsistency("local track["+t+"] enabled state - "+r),e.abrupt("return");case 4:return this.store.setState((function(e){e.tracks[t]?e.tracks[t].displayEnabled=r:i.logPossibleInconsistency("track id not found for setEnabled")})),e.prev=5,e.next=8,this.setEnabledSDKTrack(t,r);case 8:this.syncPeers(),e.next=14;break;case 11:e.prev=11,e.t0=e.catch(5),this.store.setState((function(e){e.tracks[t].displayEnabled=!r}));case 14:this.hmsNotifications.sendTrackUpdate(r?g.TRACK_UNMUTED:g.TRACK_MUTED,t);case 16:case"end":return e.stop()}}),e,this,[[5,11]])})));return function(t,r){return e.apply(this,arguments)}}(),t.setAudioSettings=function(){var e=u(v.mark((function e(t){var r;return v.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=this.store.getState(C))){e.next=5;break}return e.next=4,this.setSDKLocalAudioTrackSettings(r,t);case 4:this.syncPeers();case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.setVideoSettings=function(){var e=u(v.mark((function e(t){var r;return v.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=this.store.getState(K))){e.next=5;break}return e.next=4,this.setSDKLocalVideoTrackSettings(r,t);case 4:this.syncPeers();case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.sendMessage=function(e){if(""!==e.trim()){var t=this.sdk.sendMessage(exports.HMSMessageType.CHAT,e),r=y.convertMessage(t);r.read=!0,r.senderName="You",this.onHMSMessage(r)}else se.d("Ignoring empty message send")},t.setMessageRead=function(e,t){var r=this;this.store.setState((function(n){t?n.messages.byID[t]?n.messages.byID[t].read=e:r.logPossibleInconsistency("no message with id is found"):n.messages.allIDs.forEach((function(t){n.messages.byID[t].read=e}))}))},t.attachVideo=function(){var e=u(v.mark((function e(t,r){var n=this;return v.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.localAndVideoUnmuting(t)){e.next=4;break}return e.abrupt("return",new Promise((function(e){var i=n.store.subscribe(function(){var o=u(v.mark((function o(a){return v.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:if(!a){o.next=5;break}return o.next=3,n.attachVideoInternal(t,r);case 3:i(),e();case 5:case"end":return o.stop()}}),o)})));return function(e){return o.apply(this,arguments)}}(),j)})));case 4:return e.next=6,this.attachVideoInternal(t,r);case 6:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),t.Detection=function(){var e=u(v.mark((function e(t,r){var n,i=this;return v.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(console.log("isDetection",t),!(n=this.store.getState(K))||!this.localAndVideoUnmuting(n)){e.next=6;break}return e.abrupt("return",new Promise((function(e){var o=i.store.subscribe(function(){var a=u(v.mark((function a(s){return v.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(!s){a.next=5;break}return a.next=3,i.attachVideoInternalDetection(n,t,r);case 3:o(),e();case 5:case"end":return a.stop()}}),a)})));return function(e){return a.apply(this,arguments)}}(),j)})));case 6:if(!n){e.next=9;break}return e.next=9,this.attachVideoInternalDetection(n,t,r);case 9:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),t.attachVideoInternalDetection=function(){var e=u(v.mark((function e(t,r,n){var i;return v.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(i=this.hmsSDKTracks[t])||"video"!==i.type){e.next=6;break}return e.next=4,i.startDetection(r,n);case 4:e.next=7;break;case 6:this.logPossibleInconsistency("no video track found to add sink");case 7:case"end":return e.stop()}}),e,this)})));return function(t,r,n){return e.apply(this,arguments)}}(),t.detachVideo=function(){var e=u(v.mark((function e(t,r){var n;return v.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=this.hmsSDKTracks[t])||"video"!==n.type){e.next=6;break}return e.next=4,n.removeSink(r);case 4:e.next=7;break;case 6:this.logPossibleInconsistency("no video track found to remove sink");case 7:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),t.resetState=function(){this.store.setState((function(e){Object.assign(e,{room:{id:"",isConnected:!1,name:"",peers:[],shareableLink:"",hasWaitingRoom:!1},peers:{},tracks:{},messages:{byID:{},allIDs:[]},speakers:{},settings:{audioInputDeviceId:"",audioOutputDeviceId:"",videoInputDeviceId:"",maxTileCount:9}})})),this.isRoomJoinCalled=!1,this.hmsSDKTracks={}},t.sdkJoinWithListeners=function(e){this.sdk.join(e,{onJoin:this.onJoin.bind(this),onRoomUpdate:this.onRoomUpdate.bind(this),onPeerUpdate:this.onPeerUpdate.bind(this),onTrackUpdate:this.onTrackUpdate.bind(this),onMessageReceived:this.onMessageReceived.bind(this),onError:this.onError.bind(this),onReconnected:this.onReconnected.bind(this),onReconnecting:this.onReconnecting.bind(this)}),this.sdk.addAudioListener({onAudioLevelUpdate:this.onAudioLevelUpdate.bind(this)})},t.startScreenShare=function(){var e=u(v.mark((function e(){return v.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.store.getState(H)){e.next=7;break}return e.next=4,this.sdk.startScreenShare(this.syncPeers.bind(this));case 4:this.syncPeers(),e.next=8;break;case 7:this.logPossibleInconsistency("start screenshare is called while it's on");case 8:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),t.stopScreenShare=function(){var e=u(v.mark((function e(){return v.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.store.getState(H)){e.next=7;break}return e.next=4,this.sdk.stopScreenShare();case 4:this.syncPeers(),e.next=8;break;case 7:this.logPossibleInconsistency("stop screenshare is called while it's not on");case 8:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),t.attachVideoInternal=function(){var e=u(v.mark((function e(t,r){var n,i,o;return v.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=this.hmsSDKTracks[t])||"video"!==n.type){e.next=11;break}if(!(null!==(i=r.srcObject)&&i instanceof MediaStream)){e.next=7;break}if((null==(o=i.getVideoTracks()[0])?void 0:o.id)!==n.trackId){e.next=7;break}return e.abrupt("return");case 7:return e.next=9,n.addSink(r);case 9:e.next=12;break;case 11:this.logPossibleInconsistency("no video track found to add sink");case 12:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),t.syncPeers=function(){for(var e,t=this,r={},n=[],i={},o={},a={},s=f(this.sdk.getPeers());!(e=s()).done;){var c=e.value,u=y.convertPeer(c);r[u.id]=u,n.push(u.id);for(var l,d=f([c.audioTrack,c.videoTrack].concat(c.auxiliaryTracks));!(l=d()).done;){var h=l.value;if(h){var v=y.convertTrack(h);this.enrichHMSTrack(v,h),i[v.id]=v,o[h.trackId]=h}}u.isLocal&&Object.assign(a,this.getMediaSettings(c))}this.store.setState((function(e){e.room.peers=n;var s=e.tracks;!function(e,t,r,n){for(var i,o=f(fe(Object.keys(e),Object.keys(t)));!(i=o()).done;){var a=i.value,s=e[a],c=t[a];ce(s,c)?(de(s.auxiliaryTracks,c.auxiliaryTracks)&&(c.auxiliaryTracks=s.auxiliaryTracks),he(s,c,r,n),Object.assign(s,c)):ue(s,c)?delete e[a]:le(s,c)&&(e[a]=c)}}(e.peers,r,i,o),function(e,t){for(var r,n=f(fe(Object.keys(e),Object.keys(t)));!(r=n()).done;){var i=r.value,o=e[i],a=t[i];ce(o,a)?Object.assign(o,a):ue(o,a)?delete e[i]:le(o,a)&&(e[i]=a)}}(s,i),Object.assign(e.settings,a),t.hmsSDKTracks=o}))},t.onJoin=function(e){this.store.setState((function(t){Object.assign(t.room,y.convertRoom(e)),t.room.isConnected=!0})),this.syncPeers()},t.onRoomUpdate=function(){this.syncPeers()},t.onPeerUpdate=function(e,t){if(e!==E.BECAME_DOMINANT_SPEAKER&&e!==E.RESIGNED_DOMINANT_SPEAKER){var r=this.store.getState($(t.peerId));this.syncPeers(),r||(r=this.store.getState($(t.peerId))),this.hmsNotifications.sendPeerUpdate(e,r)}},t.onTrackUpdate=function(e,t,r){e===g.TRACK_REMOVED?(this.hmsNotifications.sendTrackUpdate(e,t.trackId),this.handleTrackRemove(t,r)):(this.syncPeers(),this.hmsNotifications.sendTrackUpdate(e,t.trackId))},t.handleTrackRemove=function(e,t){var r=this;this.store.setState((function(n){var i=n.peers[t.peerId],o=n.tracks;if(r.isSameStoreSDKTrack(e.trackId,i.audioTrack))delete i.audioTrack;else if(r.isSameStoreSDKTrack(e.trackId,i.videoTrack))delete i.videoTrack;else{var a=i.auxiliaryTracks.indexOf(e.trackId);a>-1&&r.isSameStoreSDKTrack(e.trackId,i.auxiliaryTracks[a])&&i.auxiliaryTracks.splice(a,1)}delete o[e.trackId],delete r.hmsSDKTracks[e.trackId]}))},t.onMessageReceived=function(e){var t=y.convertMessage(e);t.read=!1,t.senderName=this.store.getState(Q(t.sender)),this.onHMSMessage(t),this.hmsNotifications.sendMessageReceived(t)},t.onHMSMessage=function(e){var t=this;this.store.setState((function(r){e.id=String(t.store.getState(F)+1),r.messages.byID[e.id]=e,r.messages.allIDs.push(e.id)}))},t.onAudioLevelUpdate=function(e){this.store.setState((function(t){var r={};e.forEach((function(e){r[e.peerId]=e.audioLevel,t.speakers[e.peerId]||(t.speakers[e.peerId]={})}));for(var n=0,i=Object.entries(t.speakers);n<i.length;n++){var o=i[n],a=o[0],s=o[1];s.audioLevel=r[a]||0,0===s.audioLevel&&delete t.speakers[a]}}))},t.onReconnected=function(){this.syncPeers(),this.hmsNotifications.sendReconnected()},t.onReconnecting=function(e){se.e("Reconnection: received error from sdk",e),this.hmsNotifications.sendReconnecting(e)},t.onError=function(e){1===Math.floor(e.code/1e3)&&this.leave().then((function(){return console.log("error from SDK, left room.")})),this.hmsNotifications.sendError(e),se.e("received error from sdk",e)},t.setEnabledSDKTrack=function(){var e=u(v.mark((function e(t,r){var n;return v.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=this.hmsSDKTracks[t])){e.next=6;break}return e.next=4,n.setEnabled(r);case 4:e.next=7;break;case 6:this.logPossibleInconsistency("track "+t+" not present, unable to enabled/disable");case 7:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),t.setSDKLocalVideoTrackSettings=function(){var e=u(v.mark((function e(t,r){var n;return v.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=this.hmsSDKTracks[t])){e.next=6;break}return e.next=4,n.setSettings(r);case 4:e.next=7;break;case 6:this.logPossibleInconsistency("local track "+t+" not present, unable to set settings");case 7:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),t.setSDKLocalAudioTrackSettings=function(){var e=u(v.mark((function e(t,r){var n;return v.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=this.hmsSDKTracks[t])){e.next=6;break}return e.next=4,n.setSettings(r);case 4:e.next=7;break;case 6:this.logPossibleInconsistency("local track "+t+" not present, unable to set settings");case 7:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),t.enrichHMSTrack=function(e,t){var r=t.getMediaTrackSettings();e.height=r.height,e.width=r.width,e.deviceID=r.deviceId},t.getMediaSettings=function(e){var t,r,n,i;return{audioInputDeviceId:null==(t=e.audioTrack)||null==(r=t.getMediaTrackSettings())?void 0:r.deviceId,videoInputDeviceId:null==(n=e.videoTrack)||null==(i=n.getMediaTrackSettings())?void 0:i.deviceId}},t.localAndVideoUnmuting=function(e){if(this.store.getState(M).videoTrack!==e)return!1;var t=this.store.getState(V),r=this.store.getState(j);return t&&!r},t.logPossibleInconsistency=function(e){se.w("possible inconsistency detected - ",e)},t.isSameStoreSDKTrack=function(e,t){var r;return!!t&&(null==(r=this.hmsSDKTracks[t])?void 0:r.trackId)===e},e}(),ke=((ve={})[E.PEER_JOINED]=m.PEER_JOINED,ve[E.PEER_LEFT]=m.PEER_LEFT,ve[E.AUDIO_TOGGLED]="PEER_AUDIO_UPDATED",ve[E.VIDEO_TOGGLED]="PEER_VIDEO_UPDATED",ve),ge=((pe={})[g.TRACK_ADDED]=m.TRACK_ADDED,pe[g.TRACK_REMOVED]=m.TRACK_REMOVED,pe[g.TRACK_MUTED]=m.TRACK_MUTED,pe[g.TRACK_UNMUTED]=m.TRACK_UNMUTED,pe),me=function(){function e(e){var t=this;this.id=0,this.onNotification=function(e){return t.eventEmitter.addListener("hmsNotification",e),function(){t.eventEmitter.removeListener("hmsNotification",e)}},this.store=e,this.eventEmitter=new s}var t=e.prototype;return t.sendPeerUpdate=function(e,t){var r=this.store.getState($(null==t?void 0:t.id))||t,n=ke[e];if(n){var i=this.createNotification(n,r,p.INFO);this.emitEvent(i)}},t.sendTrackUpdate=function(e,t){var r=this.store.getState(X(t)),n=ge[e];if(n){var i=this.createNotification(n,r,p.INFO);this.emitEvent(i)}},t.sendMessageReceived=function(e){var t=this.createNotification(m.NEW_MESSAGE,e,p.INFO);this.emitEvent(t)},t.sendError=function(e){var t=this.createNotification(m.ERROR,e,p.ERROR);this.emitEvent(t)},t.sendReconnecting=function(e){var t=this.createNotification(m.RECONNECTING,e,p.ERROR);this.emitEvent(t)},t.sendReconnected=function(){var e=this.createNotification(m.RECONNECTED,null,p.INFO);this.emitEvent(e)},t.emitEvent=function(e){this.eventEmitter.emit("hmsNotification",e)},t.createNotification=function(e,t,r,n){return void 0===n&&(n=""),this.id++,{id:this.id,type:e,message:n,data:t,severity:r}},e}(),ye=function(){function e(t,r,n){this.store=t||e.createNewHMSStore(),this.notifications=n||new me(this.store),this.actions=r||new Ee(this.store,new a.HMSSdk,this.notifications),this.initialTriggerOnSubscribe=!1}var t=e.prototype;return t.triggerOnSubscribe=function(){this.initialTriggerOnSubscribe||(se.d("turning on trigger on subscribe"),e.makeStoreTriggerOnSubscribe(this.store),this.initialTriggerOnSubscribe=!0)},t.getStore=function(){return l({},this.store,{setState:function(){throw new Error("Mutating store is not allowed")}})},t.getHMSActions=function(){return this.actions},t.getNotifications=function(){return{onNotification:this.notifications.onNotification}},e.createNewHMSStore=function(){var t=i(r.devtools(e.immerMiddleware((function(){return{room:{id:"",isConnected:!1,name:"",peers:[],shareableLink:"",hasWaitingRoom:!1},peers:{},tracks:{},messages:{byID:{},allIDs:[]},speakers:{},settings:{audioInputDeviceId:"",audioOutputDeviceId:"",videoInputDeviceId:"",maxTileCount:9}}})),"HMSStore")),a=t.setState;t.setState=function(e){return a(n(e))};var s=t.getState;t.getState=function(e){return e?e(s()):s()};var c=t.subscribe;return t.subscribe=function(e,t,r){return t||(t=function(e){return e}),c(e,t,r=r||o)},t},e.makeStoreTriggerOnSubscribe=function(e){var t=e.subscribe;e.subscribe=function(r,n,i){return r(e.getState(n),void 0),t(r,n,i)}},e.immerMiddleware=function(e){return function(t,r,i){return e((function(e){return t(n(e))}),r,i)}},e}();exports.HMSNoticiationSeverity=p,exports.HMSNotificationTypes=m,exports.HMSReactiveStore=ye,exports.HMSSDKActions=Ee,exports.createDefaultStoreState=function(){return{room:{id:"",isConnected:!1,name:"",peers:[],shareableLink:"",hasWaitingRoom:!1},peers:{},tracks:{},messages:{byID:{},allIDs:[]},speakers:{},settings:{audioInputDeviceId:"",audioOutputDeviceId:"",videoInputDeviceId:"",maxTileCount:9}}},exports.selectAuxiliaryAudioByPeerID=ee,exports.selectCameraStreamByPeerID=re,exports.selectDominantSpeaker=G,exports.selectHMSMessages=W,exports.selectHMSMessagesCount=F,exports.selectIsConnectedToRoom=_,exports.selectIsLocalAudioEnabled=function(e){var t=M(e);return b(e,null==t?void 0:t.audioTrack)},exports.selectIsLocalScreenShared=H,exports.selectIsLocalVideoDisplayEnabled=V,exports.selectIsLocalVideoEnabled=j,exports.selectIsPeerAudioEnabled=ne,exports.selectIsPeerVideoEnabled=ie,exports.selectIsSomeoneScreenSharing=function(e){return N(e).some((function(t){return T(e,t)}))},exports.selectLocalAudioTrackID=C,exports.selectLocalMediaSettings=w,exports.selectLocalPeer=M,exports.selectLocalPeerID=L,exports.selectLocalVideoTrackID=K,exports.selectMaxTilesCount=P,exports.selectMessageIDsInOrder=R,exports.selectMessagesMap=I,exports.selectPeerAudioByID=Z,exports.selectPeerByID=$,exports.selectPeerNameByID=Q,exports.selectPeerScreenSharing=function(e){return N(e).find((function(t){return T(e,t)}))},exports.selectPeers=N,exports.selectPeersMap=x,exports.selectPeersScreenSharing=function(e){return N(e).filter((function(t){return T(e,t)}))},exports.selectPeersWithAudioStatus=oe,exports.selectRemotePeers=U,exports.selectRoom=D,exports.selectScreenShareByPeerID=te,exports.selectSpeakers=O,exports.selectTrackByID=X,exports.selectTracksMap=A,exports.selectUnreadHMSMessagesCount=J; | ||
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("reselect"),r=require("zustand/middleware"),n=e(require("immer")),o=e(require("zustand/vanilla")),i=e(require("zustand/shallow")),s=require("@100mslive/hms-video"),a=e(require("events"));function c(e,t,r,n,o,i,s){try{var a=e[i](s),c=a.value}catch(e){return void r(e)}a.done?t(c):Promise.resolve(c).then(n,o)}function u(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function s(e){c(i,n,o,s,a,"next",e)}function a(e){c(i,n,o,s,a,"throw",e)}s(void 0)}))}}function l(){return(l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function d(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return f(e,void 0);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?f(e,void 0):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var h,v,p=(function(e){var t=function(e){var t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",s=n.toStringTag||"@@toStringTag";function a(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{a({},"")}catch(e){a=function(e,t,r){return e[t]=r}}function c(e,t,r,n){var o=Object.create((t&&t.prototype instanceof f?t:f).prototype),i=new b(n||[]);return o._invoke=function(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var s=r.delegate;if(s){var a=k(s,r);if(a){if(a===l)continue;return a}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=u(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===l)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}(e,r,i),o}function u(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var l={};function f(){}function d(){}function h(){}var v={};v[o]=function(){return this};var p=Object.getPrototypeOf,E=p&&p(p(x([])));E&&E!==t&&r.call(E,o)&&(v=E);var S=h.prototype=f.prototype=Object.create(v);function m(e){["next","throw","return"].forEach((function(t){a(e,t,(function(e){return this._invoke(t,e)}))}))}function g(e,t){var n;this._invoke=function(o,i){function s(){return new t((function(n,s){!function n(o,i,s,a){var c=u(e[o],e,i);if("throw"!==c.type){var l=c.arg,f=l.value;return f&&"object"==typeof f&&r.call(f,"__await")?t.resolve(f.__await).then((function(e){n("next",e,s,a)}),(function(e){n("throw",e,s,a)})):t.resolve(f).then((function(e){l.value=e,s(l)}),(function(e){return n("throw",e,s,a)}))}a(c.arg)}(o,i,n,s)}))}return n=n?n.then(s,s):s()}}function k(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method))return l;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var n=u(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,l;var o=n.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,l):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,l)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function y(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function b(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function x(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:D}}function D(){return{value:void 0,done:!0}}return d.prototype=S.constructor=h,h.constructor=d,d.displayName=a(h,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===d||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,a(e,s,"GeneratorFunction")),e.prototype=Object.create(S),e},e.awrap=function(e){return{__await:e}},m(g.prototype),g.prototype[i]=function(){return this},e.AsyncIterator=g,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var s=new g(c(t,r,n,o),i);return e.isGeneratorFunction(r)?s:s.next().then((function(e){return e.done?e.value:s.next()}))},m(S),a(S,s,"Generator"),S[o]=function(){return this},S.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=x,b.prototype={constructor:b,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(y),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return s.type="throw",s.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],s=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var a=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(a&&c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(a){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var s=i?i.completion:{};return s.type=e,s.arg=t,i?(this.method="next",this.next=i.finallyLoc,l):this.complete(s)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),l},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),y(r),l}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;y(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:x(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),l}},e}(e.exports);try{regeneratorRuntime=t}catch(e){Function("r","regeneratorRuntime = r")(t)}}(v={exports:{}}),v.exports);(h=exports.HMSRoomState||(exports.HMSRoomState={})).Disconnected="Disconnected",h.Preview="Preview",h.Connecting="Connecting",h.Connected="Connected",h.Reconnecting="Reconnecting",h.Failed="Failed";var E=function(){return{room:{id:"",isConnected:!1,name:"",peers:[],shareableLink:"",hasWaitingRoom:!1,roomState:exports.HMSRoomState.Disconnected},peers:{},tracks:{},messages:{byID:{},allIDs:[]},speakers:{},settings:{audioInputDeviceId:"",audioOutputDeviceId:"",videoInputDeviceId:"",maxTileCount:9}}};(exports.HMSMessageType||(exports.HMSMessageType={})).CHAT="chat";var S=function(){};S.INFO="info",S.ERROR="error",S.CRITICAL="critical";var m,g,k,T=function(){};T.PEER_JOINED="PEER_JOINED",T.PEER_LEFT="PEER_LEFT",T.NEW_MESSAGE="NEW_MESSAGE",T.ERROR="ERROR",T.RECONNECTING="RECONNECTING",T.RECONNECTED="RECONNECTED",T.TRACK_ADDED="TRACK_ADDED",T.TRACK_REMOVED="TRACK_REMOVED",T.TRACK_MUTED="TRACK_MUTED",T.TRACK_UNMUTED="TRACK_UNMUTED",function(e){e[e.PEER_JOINED=0]="PEER_JOINED",e[e.PEER_LEFT=1]="PEER_LEFT",e[e.AUDIO_TOGGLED=2]="AUDIO_TOGGLED",e[e.VIDEO_TOGGLED=3]="VIDEO_TOGGLED",e[e.BECAME_DOMINANT_SPEAKER=4]="BECAME_DOMINANT_SPEAKER",e[e.RESIGNED_DOMINANT_SPEAKER=5]="RESIGNED_DOMINANT_SPEAKER",e[e.STARTED_SPEAKING=6]="STARTED_SPEAKING",e[e.STOPPED_SPEAKING=7]="STOPPED_SPEAKING"}(m||(m={})),function(e){e[e.PEER_ADDED=0]="PEER_ADDED",e[e.PEER_REMOVED=1]="PEER_REMOVED",e[e.PEER_KNOCKED=2]="PEER_KNOCKED",e[e.ROOM_TYPE_CHANGED=3]="ROOM_TYPE_CHANGED",e[e.METADATA_UPDATED=4]="METADATA_UPDATED",e[e.SCREENSHARE_STARTED=5]="SCREENSHARE_STARTED",e[e.SCREENSHARE_STOPPED=6]="SCREENSHARE_STOPPED",e[e.DEFAULT_UPDATE=7]="DEFAULT_UPDATE"}(g||(g={})),function(e){e[e.TRACK_ADDED=0]="TRACK_ADDED",e[e.TRACK_REMOVED=1]="TRACK_REMOVED",e[e.TRACK_MUTED=2]="TRACK_MUTED",e[e.TRACK_UNMUTED=3]="TRACK_UNMUTED",e[e.TRACK_DESCRIPTION_CHANGED=4]="TRACK_DESCRIPTION_CHANGED"}(k||(k={}));var y=function(){function e(){}return e.convertPeer=function(e){var t,r;return{id:e.peerId,name:e.name,role:e.role,isLocal:e.isLocal,videoTrack:null==(t=e.videoTrack)?void 0:t.trackId,audioTrack:null==(r=e.audioTrack)?void 0:r.trackId,auxiliaryTracks:e.auxiliaryTracks.map((function(e){return e.trackId})),customerUserId:e.customerUserId,customerDescription:e.customerDescription}},e.convertTrack=function(e){return{id:e.trackId,source:e.source,type:e.type,enabled:e.enabled,displayEnabled:e.enabled}},e.convertRoom=function(e){return{id:e.id,name:e.name,hasWaitingRoom:e.hasWaitingRoom,shareableLink:e.shareableLink}},e.convertMessage=function(e){return{sender:e.sender,time:e.time,type:e.type,message:e.message}},e}();function b(e,t){return t&&t.auxiliaryTracks.some((function(t){return!(!t||!e.tracks[t])&&x(e.tracks[t])}))}function x(e){return e&&"video"===e.type&&"screen"===e.source}function D(e,t){return!(!t||!e.tracks[t])&&e.tracks[t].enabled}var R=function(e){return e.room},I=function(e){return e.peers},w=function(e){return e.messages.byID},A=function(e){return e.messages.allIDs},P=function(e){return e.tracks},M=function(e){return e.settings},O=t.createSelector(M,(function(e){return e.maxTileCount})),_=function(e){return e.speakers},N=t.createSelector([R],(function(e){return e&&e.isConnected})),C=t.createSelector([R,I],(function(e,t){return e.peers.map((function(e){return t[e]}))})),L=t.createSelector(C,(function(e){return e.filter((function(e){return e.isLocal}))[0]})),K=t.createSelector(L,(function(e){return null==e?void 0:e.id})),U=t.createSelector(L,(function(e){return null==e?void 0:e.audioTrack})),H=t.createSelector(L,(function(e){return null==e?void 0:e.videoTrack})),j=t.createSelector(C,(function(e){return e.filter((function(e){return!e.isLocal}))})),G=t.createSelector(I,_,(function(e,t){var r=Object.entries(t).sort((function(e,t){var r,n,o=(null==(r=e[1])?void 0:r.audioLevel)||0;return((null==(n=t[1])?void 0:n.audioLevel)||0)>o?1:-1}));if(r.length>0&&r[0][1].audioLevel&&r[0][1].audioLevel>0){var n=r[0][0];if(n in e)return e[n]}return null})),V=function(e){var t=L(e);return D(e,null==t?void 0:t.videoTrack)},F=function(e){var t=L(e);return function(e,t){return!(!t||!e.tracks[t])&&e.tracks[t].displayEnabled}(e,null==t?void 0:t.videoTrack)},J=function(e){return b(e,L(e))},W=t.createSelector(A,(function(e){return e.length})),B=t.createSelector(w,(function(e){return Object.values(e).filter((function(e){return!e.read})).length})),q=t.createSelector(A,w,(function(e,t){var r=[];return e.forEach((function(e){r.push(t[e])})),r})),Y=t.createSelector([R],(function(e){return e&&e.roomState})),z=t.createSelector([R],(function(e){return!!e&&e.roomState===exports.HMSRoomState.Preview}));function $(e){return function(t){return function(r){return e(r,t)}}}var Q=function(e,t){return t},X=t.createSelector([I,Q],(function(e,t){return t?e[t]:null})),Z=t.createSelector([P,Q],(function(e,t){return t?e[t]:null})),ee=$(X),te=$(t.createSelector(X,(function(e){return null==e?void 0:e.name}))),re=$(Z),ne=$(t.createSelector((function(e,t){return t?e.speakers[t]:null}),(function(e){return(null==e?void 0:e.audioLevel)||0}))),oe=$((function(e,t){var r=X(e,t);if(r){var n=null==r?void 0:r.auxiliaryTracks.find((function(t){return(r=e.tracks[t])&&"audio"===r.type;var r}));return n?e.tracks[n]:void 0}})),ie=$((function(e,t){var r=X(e,t);if(r&&b(e,r)){var n=null==r?void 0:r.auxiliaryTracks.find((function(t){return x(e.tracks[t])}));return n?e.tracks[n]:void 0}})),se=$((function(e,t){var r=X(e,t);if(r&&r.videoTrack&&""!==r.videoTrack)return e.tracks[r.videoTrack]})),ae=$((function(e,t){var r=X(e,t);return D(e,null==r?void 0:r.audioTrack)})),ce=$((function(e,t){var r=X(e,t);return D(e,null==r?void 0:r.videoTrack)})),ue=t.createSelector([I,P],(function(e,t){return Object.values(e).map((function(e){var r;return{peer:e,isAudioEnabled:!!e.audioTrack&&(null==(r=t[e.audioTrack])?void 0:r.enabled)}}))})),le="HMS-Store:",fe=function(){function e(){}return e.d=function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];(e=console).debug.apply(e,[le].concat(r))},e.i=function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];(e=console).log.apply(e,[le].concat(r))},e.w=function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];(e=console).warn.apply(e,[le].concat(r))},e.e=function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];(e=console).error.apply(e,[le].concat(r))},e}(),de=function(e,t){return e&&t},he=function(e,t){return e&&!t},ve=function(e,t){return!e&&t},pe=function(e,t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(var r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0},Ee=function(e,t){for(var r,n=new Set,o=d(e);!(r=o()).done;)n.add(r.value);for(var i,s=d(t);!(i=s()).done;)n.add(i.value);return Array.from(n)};function Se(e,t,r,n){e.isLocal&&e.videoTrack&&t.videoTrack&&e.videoTrack!==t.videoTrack&&(n[e.videoTrack]=n[t.videoTrack],delete n[t.videoTrack],r[e.videoTrack]=r[t.videoTrack],r[e.videoTrack].id=e.videoTrack,delete r[t.videoTrack],t.videoTrack=e.videoTrack)}var me,ge,ke=function(){function e(e,t,r){this.hmsSDKTracks={},this.isRoomJoinCalled=!1,this.store=e,this.sdk=t,this.hmsNotifications=r}var t=e.prototype;return t.preview=function(e){if(this.isRoomJoinCalled)this.logPossibleInconsistency("attempting to call preview after join was called");else try{this.sdkPreviewWithListeners(e),this.store.setState((function(e){e.room.roomState=exports.HMSRoomState.Connecting}))}catch(e){throw fe.e("Cannot show preview. Failed to connect to room - ",e),e}},t.join=function(e){if(this.isRoomJoinCalled)this.logPossibleInconsistency("room join is called again");else try{this.sdkJoinWithListeners(e),this.isRoomJoinCalled=!0,this.store.setState((function(e){e.room.roomState=exports.HMSRoomState.Connecting}))}catch(e){throw this.isRoomJoinCalled=!1,fe.e("Failed to connect to room - ",e),e}},t.leave=function(){var e=u(p.mark((function e(){var t=this;return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.store.getState(N)){e.next=4;break}return this.logPossibleInconsistency("room leave is called when no room is connected"),e.abrupt("return");case 4:return e.abrupt("return",this.sdk.leave().then((function(){t.resetState(),fe.i("left room")})).catch((function(e){fe.e("error in leaving room - ",e)})));case 5:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),t.setScreenShareEnabled=function(){var e=u(p.mark((function e(t){return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=5;break}return e.next=3,this.startScreenShare();case 3:e.next=7;break;case 5:return e.next=7,this.stopScreenShare();case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.addTrack=function(){var e=u(p.mark((function e(t,r){return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r="regular"),e.next=3,this.sdk.addTrack(t,r);case 3:this.syncPeers();case 4:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),t.removeTrack=function(){var e=u(p.mark((function e(t){return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sdk.removeTrack(t);case 2:this.syncPeers();case 3:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.setLocalAudioEnabled=function(){var e=u(p.mark((function e(t){var r;return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=this.store.getState(U))){e.next=4;break}return e.next=4,this.setEnabledTrack(r,t);case 4:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.setLocalVideoEnabled=function(){var e=u(p.mark((function e(t){var r;return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=this.store.getState(H))){e.next=4;break}return e.next=4,this.setEnabledTrack(r,t);case 4:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.setEnabledTrack=function(){var e=u(p.mark((function e(t,r){var n,o=this;return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((null==(n=this.store.getState().tracks[t])?void 0:n.enabled)!==r){e.next=4;break}return this.logPossibleInconsistency("local track["+t+"] enabled state - "+r),e.abrupt("return");case 4:return this.store.setState((function(e){e.tracks[t]?e.tracks[t].displayEnabled=r:o.logPossibleInconsistency("track id not found for setEnabled")})),e.prev=5,e.next=8,this.setEnabledSDKTrack(t,r);case 8:this.syncPeers(),e.next=15;break;case 11:throw e.prev=11,e.t0=e.catch(5),this.store.setState((function(e){e.tracks[t].displayEnabled=!r})),e.t0;case 15:this.hmsNotifications.sendTrackUpdate(r?k.TRACK_UNMUTED:k.TRACK_MUTED,t);case 17:case"end":return e.stop()}}),e,this,[[5,11]])})));return function(t,r){return e.apply(this,arguments)}}(),t.setAudioSettings=function(){var e=u(p.mark((function e(t){var r;return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=this.store.getState(U))){e.next=5;break}return e.next=4,this.setSDKLocalAudioTrackSettings(r,t);case 4:this.syncPeers();case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.setVideoSettings=function(){var e=u(p.mark((function e(t){var r;return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=this.store.getState(H))){e.next=5;break}return e.next=4,this.setSDKLocalVideoTrackSettings(r,t);case 4:this.syncPeers();case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.sendMessage=function(e){if(""!==e.trim()){var t=this.sdk.sendMessage(exports.HMSMessageType.CHAT,e),r=y.convertMessage(t);r.read=!0,r.senderName="You",this.onHMSMessage(r)}else fe.d("Ignoring empty message send")},t.setMessageRead=function(e,t){var r=this;this.store.setState((function(n){t?n.messages.byID[t]?n.messages.byID[t].read=e:r.logPossibleInconsistency("no message with id is found"):n.messages.allIDs.forEach((function(t){n.messages.byID[t].read=e}))}))},t.attachVideo=function(){var e=u(p.mark((function e(t,r){var n=this;return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.localAndVideoUnmuting(t)){e.next=4;break}return e.abrupt("return",new Promise((function(e){var o=n.store.subscribe(function(){var i=u(p.mark((function i(s){return p.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(!s){i.next=5;break}return i.next=3,n.attachVideoInternal(t,r);case 3:o(),e();case 5:case"end":return i.stop()}}),i)})));return function(e){return i.apply(this,arguments)}}(),V)})));case 4:return e.next=6,this.attachVideoInternal(t,r);case 6:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),t.detachVideo=function(){var e=u(p.mark((function e(t,r){var n;return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=this.hmsSDKTracks[t])||"video"!==n.type){e.next=6;break}return e.next=4,n.removeSink(r);case 4:e.next=7;break;case 6:this.logPossibleInconsistency("no video track found to remove sink");case 7:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),t.resetState=function(){this.store.setState((function(e){Object.assign(e,E())})),this.isRoomJoinCalled=!1,this.hmsSDKTracks={}},t.sdkJoinWithListeners=function(e){this.sdk.join(e,{onJoin:this.onJoin.bind(this),onRoomUpdate:this.onRoomUpdate.bind(this),onPeerUpdate:this.onPeerUpdate.bind(this),onTrackUpdate:this.onTrackUpdate.bind(this),onMessageReceived:this.onMessageReceived.bind(this),onError:this.onError.bind(this),onReconnected:this.onReconnected.bind(this),onReconnecting:this.onReconnecting.bind(this)}),this.sdk.addAudioListener({onAudioLevelUpdate:this.onAudioLevelUpdate.bind(this)})},t.sdkPreviewWithListeners=function(e){this.sdk.preview(e,{onPreview:this.onPreview.bind(this),onError:this.onError.bind(this)})},t.startScreenShare=function(){var e=u(p.mark((function e(){return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.store.getState(J)){e.next=7;break}return e.next=4,this.sdk.startScreenShare(this.syncPeers.bind(this));case 4:this.syncPeers(),e.next=8;break;case 7:this.logPossibleInconsistency("start screenshare is called while it's on");case 8:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),t.stopScreenShare=function(){var e=u(p.mark((function e(){return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.store.getState(J)){e.next=7;break}return e.next=4,this.sdk.stopScreenShare();case 4:this.syncPeers(),e.next=8;break;case 7:this.logPossibleInconsistency("stop screenshare is called while it's not on");case 8:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),t.attachVideoInternal=function(){var e=u(p.mark((function e(t,r){var n,o,i;return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=this.hmsSDKTracks[t])||"video"!==n.type){e.next=11;break}if(!(null!==(o=r.srcObject)&&o instanceof MediaStream)){e.next=7;break}if((null==(i=o.getVideoTracks()[0])?void 0:i.id)!==n.trackId){e.next=7;break}return e.abrupt("return");case 7:return e.next=9,n.addSink(r);case 9:e.next=12;break;case 11:this.logPossibleInconsistency("no video track found to add sink");case 12:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),t.syncPeers=function(){for(var e,t=this,r={},n=[],o={},i={},s={},a=d(this.sdk.getPeers());!(e=a()).done;){var c=e.value,u=y.convertPeer(c);r[u.id]=u,n.push(u.id);for(var l,f=d([c.audioTrack,c.videoTrack].concat(c.auxiliaryTracks));!(l=f()).done;){var h=l.value;if(h){var v=y.convertTrack(h);this.enrichHMSTrack(v,h),o[v.id]=v,i[h.trackId]=h}}u.isLocal&&Object.assign(s,this.getMediaSettings(c))}this.store.setState((function(e){e.room.peers=n;var a=e.tracks;!function(e,t,r,n){for(var o,i=d(Ee(Object.keys(e),Object.keys(t)));!(o=i()).done;){var s=o.value,a=e[s],c=t[s];de(a,c)?(pe(a.auxiliaryTracks,c.auxiliaryTracks)&&(c.auxiliaryTracks=a.auxiliaryTracks),Se(a,c,r,n),Object.assign(a,c)):he(a,c)?delete e[s]:ve(a,c)&&(e[s]=c)}}(e.peers,r,o,i),function(e,t){for(var r,n=d(Ee(Object.keys(e),Object.keys(t)));!(r=n()).done;){var o=r.value,i=e[o],s=t[o];de(i,s)?Object.assign(i,s):he(i,s)?delete e[o]:ve(i,s)&&(e[o]=s)}}(a,o),Object.assign(e.settings,s),t.hmsSDKTracks=i}))},t.onPreview=function(e){this.store.setState((function(t){Object.assign(t.room,y.convertRoom(e)),t.room.roomState=exports.HMSRoomState.Preview})),this.syncPeers()},t.onJoin=function(e){this.store.setState((function(t){Object.assign(t.room,y.convertRoom(e)),t.room.isConnected=!0,t.room.roomState=exports.HMSRoomState.Connected})),this.syncPeers()},t.onRoomUpdate=function(){this.syncPeers()},t.onPeerUpdate=function(e,t){if(e!==m.BECAME_DOMINANT_SPEAKER&&e!==m.RESIGNED_DOMINANT_SPEAKER){var r=this.store.getState(ee(t.peerId));this.syncPeers(),r||(r=this.store.getState(ee(t.peerId))),this.hmsNotifications.sendPeerUpdate(e,r)}},t.onTrackUpdate=function(e,t,r){e===k.TRACK_REMOVED?(this.hmsNotifications.sendTrackUpdate(e,t.trackId),this.handleTrackRemove(t,r)):(this.syncPeers(),this.hmsNotifications.sendTrackUpdate(e,t.trackId))},t.handleTrackRemove=function(e,t){var r=this;this.store.setState((function(n){var o=n.peers[t.peerId],i=n.tracks;if(r.isSameStoreSDKTrack(e.trackId,o.audioTrack))delete o.audioTrack;else if(r.isSameStoreSDKTrack(e.trackId,o.videoTrack))delete o.videoTrack;else{var s=o.auxiliaryTracks.indexOf(e.trackId);s>-1&&r.isSameStoreSDKTrack(e.trackId,o.auxiliaryTracks[s])&&o.auxiliaryTracks.splice(s,1)}delete i[e.trackId],delete r.hmsSDKTracks[e.trackId]}))},t.onMessageReceived=function(e){var t=y.convertMessage(e);t.read=!1,t.senderName=this.store.getState(te(t.sender)),this.onHMSMessage(t),this.hmsNotifications.sendMessageReceived(t)},t.onHMSMessage=function(e){var t=this;this.store.setState((function(r){e.id=String(t.store.getState(W)+1),r.messages.byID[e.id]=e,r.messages.allIDs.push(e.id)}))},t.onAudioLevelUpdate=function(e){this.store.setState((function(t){var r={};e.forEach((function(e){r[e.peerId]=e.audioLevel,t.speakers[e.peerId]||(t.speakers[e.peerId]={})}));for(var n=0,o=Object.entries(t.speakers);n<o.length;n++){var i=o[n],s=i[0],a=i[1];a.audioLevel=r[s]||0,0===a.audioLevel&&delete t.speakers[s]}}))},t.onReconnected=function(){this.syncPeers(),this.hmsNotifications.sendReconnected(),this.store.setState((function(e){e.room.roomState=exports.HMSRoomState.Connected}))},t.onReconnecting=function(e){fe.e("Reconnection: received error from sdk",e),this.hmsNotifications.sendReconnecting(e),this.store.setState((function(e){e.room.roomState=exports.HMSRoomState.Reconnecting}))},t.onError=function(e){e.isTerminal&&(this.leave().then((function(){return console.log("error from SDK, left room.")})),this.store.setState((function(e){e.room.roomState=exports.HMSRoomState.Failed}))),this.hmsNotifications.sendError(e),fe.e("received error from sdk",e)},t.setEnabledSDKTrack=function(){var e=u(p.mark((function e(t,r){var n;return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=this.hmsSDKTracks[t])){e.next=6;break}return e.next=4,n.setEnabled(r);case 4:e.next=7;break;case 6:this.logPossibleInconsistency("track "+t+" not present, unable to enabled/disable");case 7:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),t.setSDKLocalVideoTrackSettings=function(){var e=u(p.mark((function e(t,r){var n;return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=this.hmsSDKTracks[t])){e.next=6;break}return e.next=4,n.setSettings(r);case 4:e.next=7;break;case 6:this.logPossibleInconsistency("local track "+t+" not present, unable to set settings");case 7:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),t.setSDKLocalAudioTrackSettings=function(){var e=u(p.mark((function e(t,r){var n;return p.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=this.hmsSDKTracks[t])){e.next=6;break}return e.next=4,n.setSettings(r);case 4:e.next=7;break;case 6:this.logPossibleInconsistency("local track "+t+" not present, unable to set settings");case 7:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),t.enrichHMSTrack=function(e,t){var r=t.getMediaTrackSettings();e.height=r.height,e.width=r.width,e.deviceID=r.deviceId},t.getMediaSettings=function(e){var t,r,n,o;return{audioInputDeviceId:null==(t=e.audioTrack)||null==(r=t.getMediaTrackSettings())?void 0:r.deviceId,videoInputDeviceId:null==(n=e.videoTrack)||null==(o=n.getMediaTrackSettings())?void 0:o.deviceId}},t.localAndVideoUnmuting=function(e){if(this.store.getState(L).videoTrack!==e)return!1;var t=this.store.getState(F),r=this.store.getState(V);return t&&!r},t.logPossibleInconsistency=function(e){fe.w("possible inconsistency detected - ",e)},t.isSameStoreSDKTrack=function(e,t){var r;return!!t&&(null==(r=this.hmsSDKTracks[t])?void 0:r.trackId)===e},e}(),Te=((me={})[m.PEER_JOINED]=T.PEER_JOINED,me[m.PEER_LEFT]=T.PEER_LEFT,me[m.AUDIO_TOGGLED]="PEER_AUDIO_UPDATED",me[m.VIDEO_TOGGLED]="PEER_VIDEO_UPDATED",me),ye=((ge={})[k.TRACK_ADDED]=T.TRACK_ADDED,ge[k.TRACK_REMOVED]=T.TRACK_REMOVED,ge[k.TRACK_MUTED]=T.TRACK_MUTED,ge[k.TRACK_UNMUTED]=T.TRACK_UNMUTED,ge),be=function(){function e(e){var t=this;this.id=0,this.onNotification=function(e){return t.eventEmitter.addListener("hmsNotification",e),function(){t.eventEmitter.removeListener("hmsNotification",e)}},this.store=e,this.eventEmitter=new a}var t=e.prototype;return t.sendPeerUpdate=function(e,t){var r=this.store.getState(ee(null==t?void 0:t.id))||t,n=Te[e];if(n){var o=this.createNotification(n,r,S.INFO);this.emitEvent(o)}},t.sendTrackUpdate=function(e,t){var r=this.store.getState(re(t)),n=ye[e];if(n){var o=this.createNotification(n,r,S.INFO);this.emitEvent(o)}},t.sendMessageReceived=function(e){var t=this.createNotification(T.NEW_MESSAGE,e,S.INFO);this.emitEvent(t)},t.sendError=function(e){var t=this.createNotification(T.ERROR,e,S.ERROR);this.emitEvent(t)},t.sendReconnecting=function(e){var t=this.createNotification(T.RECONNECTING,e,S.ERROR);this.emitEvent(t)},t.sendReconnected=function(){var e=this.createNotification(T.RECONNECTED,null,S.INFO);this.emitEvent(e)},t.emitEvent=function(e){this.eventEmitter.emit("hmsNotification",e)},t.createNotification=function(e,t,r,n){return void 0===n&&(n=""),this.id++,{id:this.id,type:e,message:n,data:t,severity:r}},e}(),xe=function(){function e(t,r,n){this.store=t||e.createNewHMSStore(),this.notifications=n||new be(this.store),this.actions=r||new ke(this.store,new s.HMSSdk,this.notifications),this.initialTriggerOnSubscribe=!1}var t=e.prototype;return t.triggerOnSubscribe=function(){this.initialTriggerOnSubscribe||(fe.d("turning on trigger on subscribe"),e.makeStoreTriggerOnSubscribe(this.store),this.initialTriggerOnSubscribe=!0)},t.getStore=function(){return l({},this.store,{setState:function(){throw new Error("Mutating store is not allowed")}})},t.getHMSActions=function(){return this.actions},t.getNotifications=function(){return{onNotification:this.notifications.onNotification}},e.createNewHMSStore=function(){var t=o(r.devtools(e.immerMiddleware((function(){return E()})),"HMSStore")),s=t.setState;t.setState=function(e){return s(n(e))};var a=t.getState;t.getState=function(e){return e?e(a()):a()};var c=t.subscribe;return t.subscribe=function(e,t,r){return t||(t=function(e){return e}),c(e,t,r=r||i)},t},e.makeStoreTriggerOnSubscribe=function(e){var t=e.subscribe;e.subscribe=function(r,n,o){return r(e.getState(n),void 0),t(r,n,o)}},e.immerMiddleware=function(e){return function(t,r,o){return e((function(e){return t(n(e))}),r,o)}},e}();exports.HMSNoticiationSeverity=S,exports.HMSNotificationTypes=T,exports.HMSReactiveStore=xe,exports.HMSSDKActions=ke,exports.createDefaultStoreState=E,exports.selectAuxiliaryAudioByPeerID=oe,exports.selectCameraStreamByPeerID=se,exports.selectDominantSpeaker=G,exports.selectHMSMessages=q,exports.selectHMSMessagesCount=W,exports.selectIsConnectedToRoom=N,exports.selectIsInPreview=z,exports.selectIsLocalAudioEnabled=function(e){var t=L(e);return D(e,null==t?void 0:t.audioTrack)},exports.selectIsLocalScreenShared=J,exports.selectIsLocalVideoDisplayEnabled=F,exports.selectIsLocalVideoEnabled=V,exports.selectIsPeerAudioEnabled=ae,exports.selectIsPeerVideoEnabled=ce,exports.selectIsSomeoneScreenSharing=function(e){return C(e).some((function(t){return b(e,t)}))},exports.selectLocalAudioTrackID=U,exports.selectLocalMediaSettings=M,exports.selectLocalPeer=L,exports.selectLocalPeerID=K,exports.selectLocalVideoTrackID=H,exports.selectMaxTilesCount=O,exports.selectMessageIDsInOrder=A,exports.selectMessagesMap=w,exports.selectPeerAudioByID=ne,exports.selectPeerByID=ee,exports.selectPeerNameByID=te,exports.selectPeerScreenSharing=function(e){return C(e).find((function(t){return b(e,t)}))},exports.selectPeers=C,exports.selectPeersMap=I,exports.selectPeersScreenSharing=function(e){return C(e).filter((function(t){return b(e,t)}))},exports.selectPeersWithAudioStatus=ue,exports.selectRemotePeers=j,exports.selectRoom=R,exports.selectRoomState=Y,exports.selectScreenShareByPeerID=ie,exports.selectSpeakers=_,exports.selectTrackByID=re,exports.selectTracksMap=P,exports.selectUnreadHMSMessagesCount=B; | ||
//# sourceMappingURL=hms-video-store.cjs.production.min.js.map |
{ | ||
"version": "0.1.30", | ||
"version": "0.1.31", | ||
"license": "MIT", | ||
@@ -31,3 +31,3 @@ "main": "dist/index.js", | ||
"peerDependencies": { | ||
"@100mslive/hms-video": "^0.0.61", | ||
"@100mslive/hms-video": "^0.0.67", | ||
"events": "^3.3.0" | ||
@@ -61,3 +61,3 @@ }, | ||
"devDependencies": { | ||
"@100mslive/hms-video": "^0.0.61", | ||
"@100mslive/hms-video": "^0.0.67", | ||
"events": "^3.3.0", | ||
@@ -64,0 +64,0 @@ "@size-limit/preset-small-lib": "^4.11.0", |
@@ -8,2 +8,3 @@ import { | ||
HMSPeerID, | ||
HMSRoomState, | ||
HMSTrack, | ||
@@ -74,2 +75,19 @@ HMSTrackID, | ||
preview(config: sdkTypes.HMSConfig) { | ||
if (this.isRoomJoinCalled) { | ||
this.logPossibleInconsistency('attempting to call preview after join was called'); | ||
return; // ignore | ||
} | ||
try { | ||
this.sdkPreviewWithListeners(config); | ||
this.store.setState(store => { | ||
store.room.roomState = HMSRoomState.Connecting; | ||
}); | ||
} catch (err) { | ||
HMSLogger.e('Cannot show preview. Failed to connect to room - ', err); | ||
throw err; | ||
} | ||
} | ||
join(config: sdkTypes.HMSConfig) { | ||
@@ -83,2 +101,5 @@ if (this.isRoomJoinCalled) { | ||
this.isRoomJoinCalled = true; | ||
this.store.setState(store => { | ||
store.room.roomState = HMSRoomState.Connecting; | ||
}); | ||
} catch (err) { | ||
@@ -164,2 +185,3 @@ this.isRoomJoinCalled = false; // so it can be called again if needed | ||
}); | ||
throw err; | ||
} | ||
@@ -231,40 +253,2 @@ const type = enabled | ||
} | ||
async Detection(isDetection: boolean, isRendering: boolean) { | ||
console.log('isDetection', isDetection); | ||
const trackID = this.store.getState(selectLocalVideoTrackID); | ||
if (trackID && this.localAndVideoUnmuting(trackID)) { | ||
// wait till video unmute has finished | ||
return new Promise<void>(resolve => { | ||
const unsub = this.store.subscribe(async enabled => { | ||
if (enabled) { | ||
await this.attachVideoInternalDetection(trackID, isDetection, isRendering); | ||
unsub(); | ||
resolve(); | ||
} | ||
}, selectIsLocalVideoEnabled); | ||
}); | ||
} else { | ||
if (trackID) await this.attachVideoInternalDetection(trackID, isDetection, isRendering); | ||
} | ||
} | ||
private async attachVideoInternalDetection( | ||
trackID: string, | ||
isDetection: boolean, | ||
isRendering: boolean, | ||
) { | ||
const track = this.hmsSDKTracks[trackID]; | ||
if (track && track.type === 'video') { | ||
// const srcObject = videoElement.srcObject; | ||
// if (srcObject !== null && srcObject instanceof MediaStream) { | ||
// const existingTrackID = srcObject.getVideoTracks()[0]?.id; | ||
// if (existingTrackID === sdkTrack.trackId) { | ||
// // it's already attached, attaching again would just cause flickering | ||
// return; | ||
// } | ||
// } | ||
await (track as HMSLocalVideoTrack).startDetection(isDetection, isRendering); | ||
} else { | ||
this.logPossibleInconsistency('no video track found to add sink'); | ||
} | ||
} | ||
@@ -304,2 +288,9 @@ async detachVideo(trackID: string, videoElement: HTMLVideoElement) { | ||
private sdkPreviewWithListeners(config: sdkTypes.HMSConfig) { | ||
this.sdk.preview(config, { | ||
onPreview: this.onPreview.bind(this), | ||
onError: this.onError.bind(this), | ||
}); | ||
} | ||
private async startScreenShare() { | ||
@@ -400,2 +391,10 @@ const isScreenShared = this.store.getState(selectIsLocalScreenShared); | ||
protected onPreview(sdkRoom: sdkTypes.HMSRoom) { | ||
this.store.setState(store => { | ||
Object.assign(store.room, SDKToHMS.convertRoom(sdkRoom)); | ||
store.room.roomState = HMSRoomState.Preview; | ||
}); | ||
this.syncPeers(); | ||
} | ||
protected onJoin(sdkRoom: sdkTypes.HMSRoom) { | ||
@@ -405,2 +404,3 @@ this.store.setState(store => { | ||
store.room.isConnected = true; | ||
store.room.roomState = HMSRoomState.Connected; | ||
}); | ||
@@ -512,2 +512,5 @@ this.syncPeers(); | ||
this.hmsNotifications.sendReconnected(); | ||
this.store.setState(store => { | ||
store.room.roomState = HMSRoomState.Connected; | ||
}); | ||
} | ||
@@ -518,10 +521,16 @@ | ||
this.hmsNotifications.sendReconnecting(error); | ||
this.store.setState(store => { | ||
store.room.roomState = HMSRoomState.Reconnecting; | ||
}); | ||
} | ||
protected onError(error: SDKHMSException) { | ||
// send notification | ||
if (Math.floor(error.code / 1000) === 1) { | ||
// critical error | ||
if (error.isTerminal) { | ||
// terminal error leave room as it is not recoverable | ||
this.leave().then(() => console.log('error from SDK, left room.')); | ||
this.store.setState(store => { | ||
store.room.roomState = HMSRoomState.Failed; | ||
}); | ||
} | ||
// send notification | ||
this.hmsNotifications.sendError(error); | ||
@@ -528,0 +537,0 @@ HMSLogger.e('received error from sdk', error); |
import { HMSAudioTrackSettings, HMSVideoTrackSettings } from './hmsSDKStore/sdkTypes'; | ||
import { HMSTrackSource } from './schema'; | ||
import { HMSConfig } from './hmsSDKStore/sdkTypes'; | ||
@@ -19,2 +20,3 @@ /** | ||
export interface IHMSActions { | ||
preview(config: HMSConfig): void; | ||
/** | ||
@@ -116,3 +118,2 @@ * join function can be used to join the room, if the room join is successful, | ||
attachVideo(trackID: string, videoElement: HTMLVideoElement): Promise<void>; | ||
Detection(enabled: boolean, isRendering: boolean): Promise<void>; | ||
detachVideo(trackID: string, videoElement: HTMLVideoElement): Promise<void>; | ||
@@ -119,0 +120,0 @@ } |
@@ -5,2 +5,11 @@ import { HMSPeerID } from './peer'; | ||
export enum HMSRoomState { | ||
Disconnected = 'Disconnected', | ||
Preview = 'Preview', | ||
Connecting = 'Connecting', | ||
Connected = 'Connected', | ||
Reconnecting = 'Reconnecting', | ||
Failed = 'Failed', | ||
} | ||
export interface HMSRoom { | ||
@@ -13,2 +22,3 @@ id: HMSRoomID; | ||
hasWaitingRoom: boolean; | ||
roomState: HMSRoomState; | ||
} |
import { HMSPeer, HMSPeerID, HMSTrackID, HMSTrack, HMSSpeaker } from './peer'; | ||
import { HMSMessage, HMSMessageID } from './message'; | ||
import { HMSRoom } from './room'; | ||
import { HMSRoom, HMSRoomState } from './room'; | ||
import { HMSMediaSettings } from './settings'; | ||
@@ -31,2 +31,3 @@ | ||
hasWaitingRoom: false, | ||
roomState: HMSRoomState.Disconnected, | ||
}, | ||
@@ -33,0 +34,0 @@ peers: {}, |
@@ -1,2 +0,2 @@ | ||
import { HMSMessage, HMSPeer, HMSPeerID, HMSRoom, HMSStore } from '../schema'; | ||
import { HMSMessage, HMSPeer, HMSPeerID, HMSRoom, HMSRoomState, HMSStore } from '../schema'; | ||
import { createSelector } from 'reselect'; | ||
@@ -126,1 +126,8 @@ import { isScreenSharing, isTrackDisplayEnabled, isTrackEnabled } from './selectorUtils'; | ||
); | ||
export const selectRoomState = createSelector([selectRoom], room => room && room.roomState); | ||
export const selectIsInPreview = createSelector( | ||
[selectRoom], | ||
room => !!room && room.roomState === HMSRoomState.Preview, | ||
); |
import { | ||
HMSMessageType, | ||
HMSPeer, | ||
HMSRoomState, | ||
HMSSpeaker, | ||
@@ -44,2 +45,3 @@ HMSStore, | ||
hasWaitingRoom: false, | ||
roomState: HMSRoomState.Disconnected, | ||
}, | ||
@@ -46,0 +48,0 @@ peers: { |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
729055
3
7625