@100mslive/hms-video-store
Advanced tools
Comparing version 0.1.14 to 0.1.15
@@ -17,3 +17,3 @@ import { HMSMessage, HMSPeer, HMSPeerID, HMSRoom, HMSStore } from '../schema'; | ||
export declare const selectRemotePeers: import("reselect").OutputSelector<HMSStore, HMSPeer[], (res: HMSPeer[]) => HMSPeer[]>; | ||
export declare const selectDominantSpeakerName: import("reselect").OutputSelector<HMSStore, string | null, (res1: Record<string, HMSPeer>, res2: Record<string, import("../schema").HMSSpeaker>) => string | null>; | ||
export declare const selectDominantSpeaker: import("reselect").OutputSelector<HMSStore, HMSPeer | null, (res1: Record<string, HMSPeer>, res2: Record<string, import("../schema").HMSSpeaker>) => HMSPeer | null>; | ||
export declare const selectIsLocalAudioEnabled: (store: HMSStore) => boolean; | ||
@@ -25,4 +25,5 @@ export declare const selectIsLocalVideoEnabled: (store: HMSStore) => boolean; | ||
export declare const selectPeerScreenSharing: (store: HMSStore) => HMSPeer | undefined; | ||
export declare const selectPeersScreenSharing: (store: HMSStore) => HMSPeer[]; | ||
export declare const selectHMSMessagesCount: import("reselect").OutputSelector<HMSStore, number, (res: string[]) => number>; | ||
export declare const selectUnreadHMSMessagesCount: import("reselect").OutputSelector<HMSStore, number, (res: Record<string, HMSMessage>) => number>; | ||
export declare const selectHMSMessages: import("reselect").OutputSelector<HMSStore, HMSMessage[], (res1: string[], res2: Record<string, HMSMessage>) => HMSMessage[]>; |
@@ -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("@100mslive/hms-video"),n=e(require("zustand/vanilla")),o=require("zustand/middleware"),i=e(require("immer"));function a(e,t,r,n,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}function s(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function s(e){a(i,n,o,s,c,"next",e)}function c(e){a(i,n,o,s,c,"throw",e)}s(void 0)}))}}function c(){return(c=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 u(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 l(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 u(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)?u(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 d,f,h=(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",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 o=Object.create((t&&t.prototype instanceof d?t:d).prototype),i=new w(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 a=r.delegate;if(a){var s=S(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,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 d(){}function f(){}function h(){}var p={};p[o]=function(){return this};var v=Object.getPrototypeOf,g=v&&v(v(T([])));g&&g!==t&&r.call(g,o)&&(p=g);var y=h.prototype=d.prototype=Object.create(p);function k(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(o,i){function a(){return new t((function(n,a){!function n(o,i,a,s){var c=u(e[o],e,i);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)}(o,i,n,a)}))}return n=n?n.then(a,a):a()}}function S(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,S(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 b(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 x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(b,this),this.reset(!0)}function T(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:I}}function I(){return{value:void 0,done:!0}}return f.prototype=y.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(y),e},e.awrap=function(e){return{__await:e}},k(m.prototype),m.prototype[i]=function(){return this},e.AsyncIterator=m,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new m(c(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},k(y),s(y,a,"Generator"),y[o]=function(){return this},y.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=T,w.prototype={constructor:w,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(x),!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 o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(s&&c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){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 a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.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),x(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;x(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:T(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)}}(f={exports:{}}),f.exports);(exports.HMSMessageType||(exports.HMSMessageType={})).CHAT="chat",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"}(d||(d={}));var p=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}))}},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 v(e,t){return t&&t.auxiliaryTracks.some((function(t){return!(!t||!e.tracks[t])&&g(e.tracks[t])}))}function g(e){return e&&"video"===e.type&&"screen"===e.source}function y(e,t){return!(!t||!e.tracks[t])&&e.tracks[t].enabled}var k=function(e){return e.room},m=function(e){return e.peers},S=function(e){return e.messages.byID},b=function(e){return e.messages.allIDs},x=function(e){return e.tracks},w=function(e){return e.settings},T=t.createSelector(w,(function(e){return e.maxTileCount})),I=function(e){return e.speakers},E=t.createSelector([k],(function(e){return e&&e.isConnected})),D=t.createSelector([k,m],(function(e,t){return e.peers.map((function(e){return t[e]}))})),L=t.createSelector(D,(function(e){return e.filter((function(e){return e.isLocal}))[0]})),P=t.createSelector(L,(function(e){return e.id})),M=t.createSelector(L,(function(e){return null==e?void 0:e.audioTrack})),A=t.createSelector(L,(function(e){return null==e?void 0:e.videoTrack})),O=t.createSelector(D,(function(e){return e.filter((function(e){return!e.isLocal}))})),_=t.createSelector(m,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].name}return null})),R=function(e){var t=L(e);return y(e,null==t?void 0:t.audioTrack)},N=function(e){var t=L(e);return y(e,null==t?void 0:t.videoTrack)},j=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)},K=function(e){return v(e,L(e))},C=t.createSelector(b,(function(e){return e.length})),G=t.createSelector(S,(function(e){return Object.values(e).filter((function(e){return!e.read})).length})),H=t.createSelector(b,S,(function(e,t){var r=[];return e.forEach((function(e){r.push(t[e])})),r}));function U(e){return function(t){return function(r){return e(r,t)}}}var V=t.createSelector([m,function(e,t){return t}],(function(e,t){return t?e[t]:null})),J=U(V),F=U(t.createSelector(V,(function(e){return null==e?void 0:e.name}))),B=U(t.createSelector((function(e,t){return t?e.speakers[t]:null}),(function(e){return(null==e?void 0:e.audioLevel)||0}))),W=U((function(e,t){var r=V(e,t);if(r&&v(e,r)){var n=null==r?void 0:r.auxiliaryTracks.find((function(t){return g(e.tracks[t])}));return n?e.tracks[n]:void 0}})),q=U((function(e,t){var r=V(e,t);if(r&&r.videoTrack&&""!==r.videoTrack)return e.tracks[r.videoTrack]})),Y=U((function(e,t){var r=V(e,t);return y(e,null==r?void 0:r.audioTrack)})),z=U((function(e,t){var r=V(e,t);return y(e,null==r?void 0:r.videoTrack)})),$=t.createSelector([m,x],(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)}}))})),Q="HMS-Store:",X=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,[Q].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,[Q].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,[Q].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,[Q].concat(r))},e}(),Z=function(e,t){return e&&t},ee=function(e,t){return e&&!t},te=function(e,t){return!e&&t},re=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},ne=function(e,t){for(var r,n=new Set,o=l(e);!(r=o()).done;)n.add(r.value);for(var i,a=l(t);!(i=a()).done;)n.add(i.value);return Array.from(n)};function oe(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 ie=function(){function e(e,t){this.hmsSDKTracks={},this.isRoomJoinCalled=!1,this.store=e,this.sdk=t}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,X.e("Failed to connect to room - ",e),e}},t.leave=function(){var e=s(h.mark((function e(){var t=this;return h.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.store.getState(E)){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(),X.i("left room")})).catch((function(e){X.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=s(h.mark((function e(t){return h.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.setLocalAudioEnabled=function(){var e=s(h.mark((function e(t){var r;return h.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=this.store.getState(M))){e.next=6;break}return this.store.getState(R)===t&&this.logPossibleInconsistency("local audio track muted states."),e.next=6,this.setEnabledTrack(r,t);case 6:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.setLocalVideoEnabled=function(){var e=s(h.mark((function e(t){var r;return h.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=this.store.getState(A))){e.next=6;break}return this.store.getState(N)===t&&this.logPossibleInconsistency("local video track muted states."),e.next=6,this.setEnabledTrack(r,t);case 6:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.setAudioSettings=function(){var e=s(h.mark((function e(t){var r;return h.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=this.store.getState(M))){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=s(h.mark((function e(t){var r;return h.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=this.store.getState(A))){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=p.convertMessage(t);r.read=!0,r.senderName="You",this.onHMSMessage(r)}else X.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=s(h.mark((function e(t,r){var n=this;return h.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=s(h.mark((function i(a){return h.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(!a){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)}}(),N)})));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=s(h.mark((function e(t,r){var n;return h.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)}),this.sdk.addAudioListener({onAudioLevelUpdate:this.onAudioLevelUpdate.bind(this)})},t.startScreenShare=function(){var e=s(h.mark((function e(){return h.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.store.getState(K)){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=s(h.mark((function e(){return h.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.store.getState(K)){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=s(h.mark((function e(t,r){var n,o,i;return h.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.setEnabledTrack=function(){var e=s(h.mark((function e(t,r){var n,o=this;return h.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=3;break}return e.abrupt("return");case 3:return this.store.setState((function(e){e.tracks[t]?e.tracks[t].displayEnabled=r:o.logPossibleInconsistency("track id not found for setEnabled")})),e.prev=4,e.next=7,this.setEnabledSDKTrack(t,r);case 7:this.syncPeers(),e.next=13;break;case 10:e.prev=10,e.t0=e.catch(4),this.store.setState((function(e){e.tracks[t].displayEnabled=!r}));case 13:case"end":return e.stop()}}),e,this,[[4,10]])})));return function(t,r){return e.apply(this,arguments)}}(),t.syncPeers=function(){for(var e,t=this,r={},n=[],o={},i={},a={},s=l(this.sdk.getPeers());!(e=s()).done;){var c=e.value,u=p.convertPeer(c);r[u.id]=u,n.push(u.id);for(var d,f=l([c.audioTrack,c.videoTrack].concat(c.auxiliaryTracks));!(d=f()).done;){var h=d.value;if(h){var v=p.convertTrack(h);this.enrichHMSTrack(v,h),o[v.id]=v,i[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 o,i=l(ne(Object.keys(e),Object.keys(t)));!(o=i()).done;){var a=o.value,s=e[a],c=t[a];Z(s,c)?(re(s.auxiliaryTracks,c.auxiliaryTracks)&&(c.auxiliaryTracks=s.auxiliaryTracks),oe(s,c,r,n),Object.assign(s,c)):ee(s,c)?delete e[a]:te(s,c)&&(e[a]=c)}}(e.peers,r,o,i),function(e,t){for(var r,n=l(ne(Object.keys(e),Object.keys(t)));!(r=n()).done;){var o=r.value,i=e[o],a=t[o];Z(i,a)?Object.assign(i,a):ee(i,a)?delete e[o]:te(i,a)&&(e[o]=a)}}(s,o),Object.assign(e.settings,a),t.hmsSDKTracks=i}))},t.onJoin=function(e){this.store.setState((function(t){Object.assign(t.room,p.convertRoom(e)),t.room.isConnected=!0})),this.syncPeers()},t.onRoomUpdate=function(){this.syncPeers()},t.onPeerUpdate=function(e){e!==d.BECAME_DOMINANT_SPEAKER&&e!==d.RESIGNED_DOMINANT_SPEAKER&&this.syncPeers()},t.onTrackUpdate=function(){this.syncPeers()},t.onMessageReceived=function(e){var t=p.convertMessage(e);t.read=!1,t.senderName=this.store.getState(F(t.sender)),this.onHMSMessage(t)},t.onHMSMessage=function(e){var t=this;this.store.setState((function(r){e.id=String(t.store.getState(C)+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],a=i[0],s=i[1];s.audioLevel=r[a]||0,0===s.audioLevel&&delete t.speakers[a]}}))},t.onError=function(e){1===Math.floor(e.code/1e3)&&this.leave().then((function(){return console.log("error from SDK, left room.")})),X.e("received error from sdk",e)},t.setEnabledSDKTrack=function(){var e=s(h.mark((function e(t,r){var n;return h.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=s(h.mark((function e(t,r){var n;return h.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=s(h.mark((function e(t,r){var n;return h.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(j),r=this.store.getState(N);return t&&!r},t.logPossibleInconsistency=function(e){X.w("possible inconsistency detected - ",e)},e}();exports.HMSReactiveStore=function(){function e(t,n){this.store=t||e.createNewHMSStore(),this.hmsActions=n||new ie(this.store,new r.HMSSdk)}var t=e.prototype;return t.getStore=function(){return c({},this.store,{setState:function(){throw new Error("Mutating store is not allowed")}})},t.getHMSActions=function(){return this.hmsActions},t.onNotification=function(){throw new Error("Not yet implemented")},e.createNewHMSStore=function(){var t=n(o.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")),r=t.setState;t.setState=function(e){return r(i(e))};var a=t.getState;return t.getState=function(e){return e?e(a()):a()},t},e.immerMiddleware=function(e){return function(t,r,n){return e((function(e){return t(i(e))}),r,n)}},e}(),exports.HMSSDKActions=ie,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.selectCameraStreamByPeerID=q,exports.selectDominantSpeakerName=_,exports.selectHMSMessages=H,exports.selectHMSMessagesCount=C,exports.selectIsConnectedToRoom=E,exports.selectIsLocalAudioEnabled=R,exports.selectIsLocalScreenShared=K,exports.selectIsLocalVideoDisplayEnabled=j,exports.selectIsLocalVideoEnabled=N,exports.selectIsPeerAudioEnabled=Y,exports.selectIsPeerVideoEnabled=z,exports.selectIsSomeoneScreenSharing=function(e){return D(e).some((function(t){return v(e,t)}))},exports.selectLocalAudioTrackID=M,exports.selectLocalMediaSettings=w,exports.selectLocalPeer=L,exports.selectLocalPeerID=P,exports.selectLocalVideoTrackID=A,exports.selectMaxTilesCount=T,exports.selectMessageIDsInOrder=b,exports.selectMessagesMap=S,exports.selectPeerAudioByID=B,exports.selectPeerByID=J,exports.selectPeerNameByID=F,exports.selectPeerScreenSharing=function(e){return D(e).find((function(t){return v(e,t)}))},exports.selectPeers=D,exports.selectPeersMap=m,exports.selectPeersWithAudioStatus=$,exports.selectRemotePeers=O,exports.selectRoom=k,exports.selectScreenShareByPeerID=W,exports.selectSpeakers=I,exports.selectTracksMap=x,exports.selectUnreadHMSMessagesCount=G; | ||
"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("@100mslive/hms-video"),n=e(require("zustand/vanilla")),o=require("zustand/middleware"),i=e(require("immer"));function a(e,t,r,n,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}function s(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function s(e){a(i,n,o,s,c,"next",e)}function c(e){a(i,n,o,s,c,"throw",e)}s(void 0)}))}}function c(){return(c=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 u(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 l(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 u(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)?u(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 d,f,h=(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",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 o=Object.create((t&&t.prototype instanceof d?t:d).prototype),i=new w(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 a=r.delegate;if(a){var s=S(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,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 d(){}function f(){}function h(){}var p={};p[o]=function(){return this};var v=Object.getPrototypeOf,g=v&&v(v(T([])));g&&g!==t&&r.call(g,o)&&(p=g);var y=h.prototype=d.prototype=Object.create(p);function k(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(o,i){function a(){return new t((function(n,a){!function n(o,i,a,s){var c=u(e[o],e,i);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)}(o,i,n,a)}))}return n=n?n.then(a,a):a()}}function S(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,S(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 b(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 x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(b,this),this.reset(!0)}function T(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:I}}function I(){return{value:void 0,done:!0}}return f.prototype=y.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(y),e},e.awrap=function(e){return{__await:e}},k(m.prototype),m.prototype[i]=function(){return this},e.AsyncIterator=m,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new m(c(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},k(y),s(y,a,"Generator"),y[o]=function(){return this},y.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=T,w.prototype={constructor:w,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(x),!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 o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(s&&c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){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 a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.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),x(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;x(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:T(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)}}(f={exports:{}}),f.exports);(exports.HMSMessageType||(exports.HMSMessageType={})).CHAT="chat",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"}(d||(d={}));var p=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}))}},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 v(e,t){return t&&t.auxiliaryTracks.some((function(t){return!(!t||!e.tracks[t])&&g(e.tracks[t])}))}function g(e){return e&&"video"===e.type&&"screen"===e.source}function y(e,t){return!(!t||!e.tracks[t])&&e.tracks[t].enabled}var k=function(e){return e.room},m=function(e){return e.peers},S=function(e){return e.messages.byID},b=function(e){return e.messages.allIDs},x=function(e){return e.tracks},w=function(e){return e.settings},T=t.createSelector(w,(function(e){return e.maxTileCount})),I=function(e){return e.speakers},E=t.createSelector([k],(function(e){return e&&e.isConnected})),D=t.createSelector([k,m],(function(e,t){return e.peers.map((function(e){return t[e]}))})),P=t.createSelector(D,(function(e){return e.filter((function(e){return e.isLocal}))[0]})),L=t.createSelector(P,(function(e){return e.id})),M=t.createSelector(P,(function(e){return null==e?void 0:e.audioTrack})),A=t.createSelector(P,(function(e){return null==e?void 0:e.videoTrack})),O=t.createSelector(D,(function(e){return e.filter((function(e){return!e.isLocal}))})),_=t.createSelector(m,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})),R=function(e){var t=P(e);return y(e,null==t?void 0:t.audioTrack)},j=function(e){var t=P(e);return y(e,null==t?void 0:t.videoTrack)},N=function(e){var t=P(e);return function(e,t){return!(!t||!e.tracks[t])&&e.tracks[t].displayEnabled}(e,null==t?void 0:t.videoTrack)},K=function(e){return v(e,P(e))},C=t.createSelector(b,(function(e){return e.length})),G=t.createSelector(S,(function(e){return Object.values(e).filter((function(e){return!e.read})).length})),H=t.createSelector(b,S,(function(e,t){var r=[];return e.forEach((function(e){r.push(t[e])})),r}));function U(e){return function(t){return function(r){return e(r,t)}}}var V=t.createSelector([m,function(e,t){return t}],(function(e,t){return t?e[t]:null})),J=U(V),F=U(t.createSelector(V,(function(e){return null==e?void 0:e.name}))),B=U(t.createSelector((function(e,t){return t?e.speakers[t]:null}),(function(e){return(null==e?void 0:e.audioLevel)||0}))),W=U((function(e,t){var r=V(e,t);if(r&&v(e,r)){var n=null==r?void 0:r.auxiliaryTracks.find((function(t){return g(e.tracks[t])}));return n?e.tracks[n]:void 0}})),q=U((function(e,t){var r=V(e,t);if(r&&r.videoTrack&&""!==r.videoTrack)return e.tracks[r.videoTrack]})),Y=U((function(e,t){var r=V(e,t);return y(e,null==r?void 0:r.audioTrack)})),z=U((function(e,t){var r=V(e,t);return y(e,null==r?void 0:r.videoTrack)})),$=t.createSelector([m,x],(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)}}))})),Q="HMS-Store:",X=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,[Q].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,[Q].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,[Q].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,[Q].concat(r))},e}(),Z=function(e,t){return e&&t},ee=function(e,t){return e&&!t},te=function(e,t){return!e&&t},re=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},ne=function(e,t){for(var r,n=new Set,o=l(e);!(r=o()).done;)n.add(r.value);for(var i,a=l(t);!(i=a()).done;)n.add(i.value);return Array.from(n)};function oe(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 ie=function(){function e(e,t){this.hmsSDKTracks={},this.isRoomJoinCalled=!1,this.store=e,this.sdk=t}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,X.e("Failed to connect to room - ",e),e}},t.leave=function(){var e=s(h.mark((function e(){var t=this;return h.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.store.getState(E)){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(),X.i("left room")})).catch((function(e){X.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=s(h.mark((function e(t){return h.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.setLocalAudioEnabled=function(){var e=s(h.mark((function e(t){var r;return h.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=this.store.getState(M))){e.next=6;break}return this.store.getState(R)===t&&this.logPossibleInconsistency("local audio track muted states."),e.next=6,this.setEnabledTrack(r,t);case 6:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.setLocalVideoEnabled=function(){var e=s(h.mark((function e(t){var r;return h.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=this.store.getState(A))){e.next=6;break}return this.store.getState(j)===t&&this.logPossibleInconsistency("local video track muted states."),e.next=6,this.setEnabledTrack(r,t);case 6:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.setAudioSettings=function(){var e=s(h.mark((function e(t){var r;return h.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=this.store.getState(M))){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=s(h.mark((function e(t){var r;return h.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=this.store.getState(A))){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=p.convertMessage(t);r.read=!0,r.senderName="You",this.onHMSMessage(r)}else X.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=s(h.mark((function e(t,r){var n=this;return h.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=s(h.mark((function i(a){return h.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(!a){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)}}(),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.detachVideo=function(){var e=s(h.mark((function e(t,r){var n;return h.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)}),this.sdk.addAudioListener({onAudioLevelUpdate:this.onAudioLevelUpdate.bind(this)})},t.startScreenShare=function(){var e=s(h.mark((function e(){return h.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.store.getState(K)){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=s(h.mark((function e(){return h.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.store.getState(K)){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=s(h.mark((function e(t,r){var n,o,i;return h.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.setEnabledTrack=function(){var e=s(h.mark((function e(t,r){var n,o=this;return h.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=3;break}return e.abrupt("return");case 3:return this.store.setState((function(e){e.tracks[t]?e.tracks[t].displayEnabled=r:o.logPossibleInconsistency("track id not found for setEnabled")})),e.prev=4,e.next=7,this.setEnabledSDKTrack(t,r);case 7:this.syncPeers(),e.next=13;break;case 10:e.prev=10,e.t0=e.catch(4),this.store.setState((function(e){e.tracks[t].displayEnabled=!r}));case 13:case"end":return e.stop()}}),e,this,[[4,10]])})));return function(t,r){return e.apply(this,arguments)}}(),t.syncPeers=function(){for(var e,t=this,r={},n=[],o={},i={},a={},s=l(this.sdk.getPeers());!(e=s()).done;){var c=e.value,u=p.convertPeer(c);r[u.id]=u,n.push(u.id);for(var d,f=l([c.audioTrack,c.videoTrack].concat(c.auxiliaryTracks));!(d=f()).done;){var h=d.value;if(h){var v=p.convertTrack(h);this.enrichHMSTrack(v,h),o[v.id]=v,i[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 o,i=l(ne(Object.keys(e),Object.keys(t)));!(o=i()).done;){var a=o.value,s=e[a],c=t[a];Z(s,c)?(re(s.auxiliaryTracks,c.auxiliaryTracks)&&(c.auxiliaryTracks=s.auxiliaryTracks),oe(s,c,r,n),Object.assign(s,c)):ee(s,c)?delete e[a]:te(s,c)&&(e[a]=c)}}(e.peers,r,o,i),function(e,t){for(var r,n=l(ne(Object.keys(e),Object.keys(t)));!(r=n()).done;){var o=r.value,i=e[o],a=t[o];Z(i,a)?Object.assign(i,a):ee(i,a)?delete e[o]:te(i,a)&&(e[o]=a)}}(s,o),Object.assign(e.settings,a),t.hmsSDKTracks=i}))},t.onJoin=function(e){this.store.setState((function(t){Object.assign(t.room,p.convertRoom(e)),t.room.isConnected=!0})),this.syncPeers()},t.onRoomUpdate=function(){this.syncPeers()},t.onPeerUpdate=function(e){e!==d.BECAME_DOMINANT_SPEAKER&&e!==d.RESIGNED_DOMINANT_SPEAKER&&this.syncPeers()},t.onTrackUpdate=function(){this.syncPeers()},t.onMessageReceived=function(e){var t=p.convertMessage(e);t.read=!1,t.senderName=this.store.getState(F(t.sender)),this.onHMSMessage(t)},t.onHMSMessage=function(e){var t=this;this.store.setState((function(r){e.id=String(t.store.getState(C)+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],a=i[0],s=i[1];s.audioLevel=r[a]||0,0===s.audioLevel&&delete t.speakers[a]}}))},t.onError=function(e){1===Math.floor(e.code/1e3)&&this.leave().then((function(){return console.log("error from SDK, left room.")})),X.e("received error from sdk",e)},t.setEnabledSDKTrack=function(){var e=s(h.mark((function e(t,r){var n;return h.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=s(h.mark((function e(t,r){var n;return h.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=s(h.mark((function e(t,r){var n;return h.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(P).videoTrack!==e)return!1;var t=this.store.getState(N),r=this.store.getState(j);return t&&!r},t.logPossibleInconsistency=function(e){X.w("possible inconsistency detected - ",e)},e}();exports.HMSReactiveStore=function(){function e(t,n){this.store=t||e.createNewHMSStore(),this.hmsActions=n||new ie(this.store,new r.HMSSdk)}var t=e.prototype;return t.getStore=function(){return c({},this.store,{setState:function(){throw new Error("Mutating store is not allowed")}})},t.getHMSActions=function(){return this.hmsActions},t.onNotification=function(){throw new Error("Not yet implemented")},e.createNewHMSStore=function(){var t=n(o.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")),r=t.setState;t.setState=function(e){return r(i(e))};var a=t.getState;return t.getState=function(e){return e?e(a()):a()},t},e.immerMiddleware=function(e){return function(t,r,n){return e((function(e){return t(i(e))}),r,n)}},e}(),exports.HMSSDKActions=ie,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.selectCameraStreamByPeerID=q,exports.selectDominantSpeaker=_,exports.selectHMSMessages=H,exports.selectHMSMessagesCount=C,exports.selectIsConnectedToRoom=E,exports.selectIsLocalAudioEnabled=R,exports.selectIsLocalScreenShared=K,exports.selectIsLocalVideoDisplayEnabled=N,exports.selectIsLocalVideoEnabled=j,exports.selectIsPeerAudioEnabled=Y,exports.selectIsPeerVideoEnabled=z,exports.selectIsSomeoneScreenSharing=function(e){return D(e).some((function(t){return v(e,t)}))},exports.selectLocalAudioTrackID=M,exports.selectLocalMediaSettings=w,exports.selectLocalPeer=P,exports.selectLocalPeerID=L,exports.selectLocalVideoTrackID=A,exports.selectMaxTilesCount=T,exports.selectMessageIDsInOrder=b,exports.selectMessagesMap=S,exports.selectPeerAudioByID=B,exports.selectPeerByID=J,exports.selectPeerNameByID=F,exports.selectPeerScreenSharing=function(e){return D(e).find((function(t){return v(e,t)}))},exports.selectPeers=D,exports.selectPeersMap=m,exports.selectPeersScreenSharing=function(e){return D(e).filter((function(t){return v(e,t)}))},exports.selectPeersWithAudioStatus=$,exports.selectRemotePeers=O,exports.selectRoom=k,exports.selectScreenShareByPeerID=W,exports.selectSpeakers=I,exports.selectTracksMap=x,exports.selectUnreadHMSMessagesCount=G; | ||
//# sourceMappingURL=hms-video-store.cjs.production.min.js.map |
{ | ||
"version": "0.1.14", | ||
"version": "0.1.15", | ||
"license": "MIT", | ||
@@ -30,3 +30,3 @@ "main": "dist/index.js", | ||
"peerDependencies": { | ||
"@100mslive/hms-video": "^0.0.20" | ||
"@100mslive/hms-video": "^0.0.25" | ||
}, | ||
@@ -33,0 +33,0 @@ "husky": { |
@@ -63,3 +63,3 @@ # 100ms Reactive Store | ||
hmsStore.subscribe(onSpeakerUpdate, selectDominantSpeakerName); | ||
hmsStore.subscribe(onSpeakerUpdate, selectDominantSpeaker); | ||
``` | ||
@@ -66,0 +66,0 @@ |
@@ -47,3 +47,3 @@ import { HMSMessage, HMSPeer, HMSPeerID, HMSRoom, HMSStore } from '../schema'; | ||
export const selectDominantSpeakerName = createSelector( | ||
export const selectDominantSpeaker = createSelector( | ||
selectPeersMap, | ||
@@ -65,3 +65,3 @@ selectSpeakers, | ||
if (peerID in peersMap) { | ||
return peersMap[peerID].name; | ||
return peersMap[peerID]; | ||
} | ||
@@ -103,2 +103,7 @@ } | ||
export const selectPeersScreenSharing = (store: HMSStore): HMSPeer[] => { | ||
const peers = selectPeers(store); | ||
return peers.filter(peer => isScreenSharing(store, peer)); | ||
}; | ||
export const selectHMSMessagesCount = createSelector( | ||
@@ -105,0 +110,0 @@ selectMessageIDsInOrder, |
@@ -8,3 +8,3 @@ import { makeFakeStore } from '../fakeStore'; | ||
selectCameraStreamByPeerID, | ||
selectDominantSpeakerName, | ||
selectDominantSpeaker, | ||
selectHMSMessages, | ||
@@ -29,2 +29,3 @@ selectHMSMessagesCount, | ||
selectPeerScreenSharing, | ||
selectPeersScreenSharing, | ||
selectPeersWithAudioStatus, | ||
@@ -100,2 +101,3 @@ selectRemotePeers, | ||
expect(selectPeerScreenSharing(fakeStore)).toBe(peerScreenSharing); | ||
expect(selectPeersScreenSharing(fakeStore)).toEqual([peerScreenSharing]); | ||
}); | ||
@@ -115,3 +117,3 @@ | ||
fakeStore.speakers[peerScreenSharing.id] = { audioLevel: 10 }; | ||
expect(selectDominantSpeakerName(fakeStore)).toBe(localPeer.name); | ||
expect(selectDominantSpeaker(fakeStore)).toBe(localPeer); | ||
}); | ||
@@ -118,0 +120,0 @@ |
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
591837
6145