@salutejs/jazz-sdk-electron
Version:
Jazz SDK Electron
2 lines (1 loc) • 16.9 kB
JavaScript
import{filterByType as t,declareRuntimeModule as r,JAZZ_ACTIVITY_TOKEN as e,JazzRoomTokens as n,JAZZ_ROOM_CONTEXT_TOKEN as o,JAZZ_SDK_CONTEXT_TOKEN as a,createModule as i,JAZZ_SDK_PLATFORM_TOKEN as c,createJazzSdk as p}from"@salutejs/jazz-sdk-web";import{token as u,injectable as s,createContainer as l}from"ditox";import{declareController as d}from"nrgy/mvc";import{tap as f,filter as y,take as h}from"rxjs";import{observe as v}from"nrgy/rxjs";function m(t){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},m(t)}function g(t){var r=function(t,r){if("object"!=m(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,r||"default");if("object"!=m(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==m(r)?r:r+""}function b(t,r,e){return(r=g(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}function w(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}function O(t){return function(t){if(Array.isArray(t))return w(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,r){if(t){if("string"==typeof t)return w(t,r);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?w(t,r):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function j(t,r,e,n,o,a,i){try{var c=t[a](i),p=c.value}catch(t){return void e(t)}c.done?r(p):Promise.resolve(p).then(n,o)}function T(t){return function(){var r=this,e=arguments;return new Promise((function(n,o){var a=t.apply(r,e);function i(t){j(a,n,o,i,c,"next",t)}function c(t){j(a,n,o,i,c,"throw",t)}i(void 0)}))}}var E,k=Object.prototype,P=k.hasOwnProperty,x="function"==typeof Symbol?Symbol:{},L=x.iterator||"@@iterator",S=x.asyncIterator||"@@asyncIterator",_=x.toStringTag||"@@toStringTag";function z(t,r,e,n){var o=r&&r.prototype instanceof A?r:A,a=Object.create(o.prototype),i=new q(n||[]);return a._invoke=function(t,r,e){var n=I;return function(o,a){if(n===C)throw new Error("Generator is already running");if(n===D){if("throw"===o)throw a;return W()}for(e.method=o,e.arg=a;;){var i=e.delegate;if(i){var c=X(i,e);if(c){if(c===R)continue;return c}}if("next"===e.method)e.sent=e._sent=e.arg;else if("throw"===e.method){if(n===I)throw n=D,e.arg;e.dispatchException(e.arg)}else"return"===e.method&&e.abrupt("return",e.arg);n=C;var p=N(t,r,e);if("normal"===p.type){if(n=e.done?D:M,p.arg===R)continue;return{value:p.arg,done:e.done}}"throw"===p.type&&(n=D,e.method="throw",e.arg=p.arg)}}}(t,e,i),a}function N(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}var I="suspendedStart",M="suspendedYield",C="executing",D="completed",R={};function A(){}function $(){}function K(){}var Z={};Z[L]=function(){return this};var J=Object.getPrototypeOf,G=J&&J(J(Q([])));G&&G!==k&&P.call(G,L)&&(Z=G);var V=K.prototype=A.prototype=Object.create(Z);function F(t){["next","throw","return"].forEach((function(r){t[r]=function(t){return this._invoke(r,t)}}))}function U(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===$||"GeneratorFunction"===(r.displayName||r.name))}function H(t,r){function e(n,o,a,i){var c=N(t[n],t,o);if("throw"!==c.type){var p=c.arg,u=p.value;return u&&"object"===m(u)&&P.call(u,"__await")?r.resolve(u.__await).then((function(t){e("next",t,a,i)}),(function(t){e("throw",t,a,i)})):r.resolve(u).then((function(t){p.value=t,a(p)}),(function(t){return e("throw",t,a,i)}))}i(c.arg)}var n;this._invoke=function(t,o){function a(){return new r((function(r,n){e(t,o,r,n)}))}return n=n?n.then(a,a):a()}}function X(t,r){var e=t.iterator[r.method];if(e===E){if(r.delegate=null,"throw"===r.method){if(t.iterator.return&&(r.method="return",r.arg=E,X(t,r),"throw"===r.method))return R;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return R}var n=N(e,t.iterator,r.arg);if("throw"===n.type)return r.method="throw",r.arg=n.arg,r.delegate=null,R;var o=n.arg;return o?o.done?(r[t.resultName]=o.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=E),r.delegate=null,R):o:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,R)}function Y(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function B(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function q(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(Y,this),this.reset(!0)}function Q(t){if(t){var r=t[L];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var e=-1,n=function r(){for(;++e<t.length;)if(P.call(t,e))return r.value=t[e],r.done=!1,r;return r.value=E,r.done=!0,r};return n.next=n}}return{next:W}}function W(){return{value:E,done:!0}}$.prototype=V.constructor=K,K.constructor=$,K[_]=$.displayName="GeneratorFunction",F(H.prototype),H.prototype[S]=function(){return this},F(V),V[_]="Generator",V[L]=function(){return this},V.toString=function(){return"[object Generator]"},q.prototype={constructor:q,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=E,this.done=!1,this.delegate=null,this.method="next",this.arg=E,this.tryEntries.forEach(B),!t)for(var r in this)"t"===r.charAt(0)&&P.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=E)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function e(e,n){return a.type="throw",a.arg=t,r.next=e,n&&(r.method="next",r.arg=E),!!n}for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n],a=o.completion;if("root"===o.tryLoc)return e("end");if(o.tryLoc<=this.prev){var i=P.call(o,"catchLoc"),c=P.call(o,"finallyLoc");if(i&&c){if(this.prev<o.catchLoc)return e(o.catchLoc,!0);if(this.prev<o.finallyLoc)return e(o.finallyLoc)}else if(i){if(this.prev<o.catchLoc)return e(o.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return e(o.finallyLoc)}}}},abrupt:function(t,r){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc<=this.prev&&P.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=r&&r<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=r,o?(this.method="next",this.next=o.finallyLoc,R):this.complete(a)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),R},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),B(e),R}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;B(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,e){return this.delegate={iterator:Q(t),resultName:r,nextLoc:e},"next"===this.method&&(this.arg=E),R}};var tt={wrap:z,isGeneratorFunction:U,AsyncIterator:H,mark:function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,K):(t.__proto__=K,_ in t||(t[_]="GeneratorFunction")),t.prototype=Object.create(V),t},awrap:function(t){return{__await:t}},async:function(t,r,e,n,o){void 0===o&&(o=Promise);var a=new H(z(t,r,e,n),o);return U(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},keys:function(t){var r=[];for(var e in t)r.push(e);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},values:Q};function rt(){var t=window.JAZZ_SDK_ELECTRON_BRIDGE;if(void 0===t)throw new Error("Failed connect to the preload layer. Please setup createJazzSdkElectronPreload from @salutejs/jazz-sdk-electron/preload to preload layer of electron");return t}var et=u({key:"JAZZ_SDK_ELECTRON_CONTEXT_TOKEN"}),nt={Transport:u({key:"JAZZ_SDK_ELECTRON_TOKENS_TRANSPORT_TOKEN"})},ot=u({key:"JAZZ_SDK_ELECTRON_ENDPOINT_CONTEXT_TOKEN"}),at={Transport:u({key:"JAZZ_SDK_ELECTRON_ENDPOINT_TOKENS_TRANSPORT_TOKEN"})};function it(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),e.push.apply(e,n)}return e}function ct(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?it(Object(e),!0).forEach((function(r){b(t,r,e[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):it(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}))}return t}var pt=d().params().apply((function(r){var e=r.params,n=r.scope,o=e.jazzActivity,a=e.transport,i=e.event$,c=e.participants,p=e.jazzRoomContext,u=e.jazzSdkContext;n.add(o.event$.pipe(t("reaction","raiseHand","releaseHand"),f((function(t){a.send(t)}))).subscribe()),n.add(i.pipe(t("participantLeft","participantJoined","participantUpdate","participants","localParticipantChanged","participantUpdate","localParticipantId","disconnecting"),f(a.send)).subscribe()),n.add(p.roomTrackManager.event$.pipe(t("addTrack","trackMuteChanged"),f((function(t){a.send({type:"roomTrackManager:".concat(t.type),payload:{isLocal:t.payload.isLocal,isMuted:t.payload.isMuted,mediaType:t.payload.mediaType,participantId:t.payload.participantId,streamId:t.payload.stream.id}})}))).subscribe()),n.add(p.roomTrackManager.event$.pipe(t("trackUpdated"),f((function(t){a.send({type:"roomTrackManager:".concat(t.type),payload:{isMuted:t.payload.isMuted,mediaType:t.payload.mediaType,streamId:t.payload.stream.id,isLocal:t.payload.isLocal,participantId:t.payload.participantId}})}))).subscribe()),n.add(p.roomTrackManager.event$.pipe(t("removeTrack"),f((function(t){a.send({type:"roomTrackManager:".concat(t.type),payload:{isLocal:t.payload.isLocal,mediaType:t.payload.mediaType,participantId:t.payload.participantId,streamId:t.payload.stream.id,isMuted:t.payload.isMuted}})}))).subscribe()),n.add(u.localTrackManager.event$.pipe(t("addTrack","muteTrackChanged","localTrackUpdated"),f((function(t){a.send({type:"localTrackManager:".concat(t.type),payload:{mediaType:t.payload.mediaType,isMuted:t.payload.isMuted,streamId:t.payload.stream.id}})}))).subscribe()),n.add(u.localTrackManager.event$.pipe(t("removeTrack"),f((function(t){a.send({type:"localTrackManager:".concat(t.type),payload:{mediaType:t.payload.mediaType,streamId:t.payload.stream.id}})}))).subscribe()),n.add(u.localTrackManager.event$.pipe(t("disposeTrack"),f((function(t){a.send({type:"localTrackManager:".concat(t.type),payload:{mediaType:t.payload.mediaType,streamId:t.payload.stream.id}})}))).subscribe()),n.onDestroy(a.on("registerEndpoint",(function(t){var r=t.endpointName,e=c.localParticipantId();e&&a.send({type:"localParticipantId",payload:{participantId:e},to:r}),a.send({type:"participants",payload:{participants:O(c.participantIds()).map((function(t){var r=c.getParticipant(t);return ct(ct({},r),{},{name:r.name()})}))},to:r}),a.send({type:"handsRaised",payload:{handsRaised:O(o.handsRaised())},to:r});var n=c.$localParticipant.get();n&&a.send({type:"localParticipantChanged",payload:{participant:n},to:r})})))})),ut=r({factory:s((function(t){var r=t.jazzActivity,e=t.jazzRoom,n=t.transport,o=t.participants,a=t.jazzSdkContext,i=t.jazzRoomContext;return new pt({event$:e.event$,jazzActivity:r,participants:o,transport:n,jazzSdkContext:a,jazzRoomContext:i})}),{transport:nt.Transport,jazzActivity:e,jazzRoom:n.Room,participants:n.Participants,jazzRoomContext:o,jazzSdkContext:a})});function st(){return(st=T(tt.mark((function t(){return tt.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",i({name:"TransportEndpointSenderPlugin",imports:{jazzSdkContext:a},factory:function(t){return t.deps.jazzSdkContext.moduleManager.registerModule("addRoom",ut),{}}}));case 1:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function lt(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),e.push.apply(e,n)}return e}function dt(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?lt(Object(e),!0).forEach((function(r){b(t,r,e[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):lt(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}))}return t}var ft=[function(){return st.apply(this,arguments)}()];function yt(){return ht.apply(this,arguments)}function ht(){return ht=T(tt.mark((function t(){var r,e,n,o,a,i,u,s,d,f,y=arguments;return tt.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=(r=y.length>0&&void 0!==y[0]?y[0]:{}).container,n=r.plugins,o=void 0===n?[]:n,(a=null!=e?e:l()).bindValue(c,"desktop"),i=rt(),u=i.transport,s={transport:u},a.bindValue(et,s),a.bindValue(nt.Transport,u),d=[].concat(ft,O(o)),t.next=11,p(dt(dt({},r),{},{plugins:d,container:a}));case 11:return f=t.sent,t.abrupt("return",{container:f.container,event$:f.event$,destroy:function(){f.destroy()}});case 13:case"end":return t.stop()}}),t)}))),ht.apply(this,arguments)}function vt(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),e.push.apply(e,n)}return e}function mt(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?vt(Object(e),!0).forEach((function(r){b(t,r,e[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):vt(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}))}return t}function gt(t){return bt.apply(this,arguments)}function bt(){return(bt=T(tt.mark((function t(r){var e,n,o,i,u,s,d,f,y,h,v;return tt.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=r.container,n=r.endpointName,o=r.plugins,i=void 0===o?[]:o,u=r.bridge,(s=null!=e?e:l()).bindValue(c,"desktop"),d=u?u():rt(),f=d.transport,y={transport:f},s.bindValue(ot,y),s.bindValue(at.Transport,f),t.next=9,p(mt(mt({},r),{},{plugins:i,container:s}));case 9:return h=t.sent,v=h.container.resolve(a),v.logger.log("=== Started the JazzSdkElectronEndpoint:".concat(n," ===")),f.send({type:"registerEndpoint",payload:{endpointName:n}}),t.abrupt("return",{container:h.container,destroy:function(){h.destroy()}});case 14:case"end":return t.stop()}}),t)})))).apply(this,arguments)}var wt="JAZZ_SDK_ELECTRON_IPC_CHANNEL",Ot=d().params().apply((function(t){var r=t.scope,e=t.params.ipcRenderer,n=r.signal(),o=function(t,r){n(r)};e.on(wt,o),r.onDestroy((function(){e.off(wt,o)}));var a=new Map,i=function(t,r){var e=a.get(t);if(e){var n=e.get(r);n&&(n.unsubscribe(),e.delete(r),0===e.size&&a.delete(t))}},c=function(t,r,e){var n,o=a.get(t);return o?(o.get(r)||null===(n=a.get(t))||void 0===n||n.set(r,e),function(){return i(t,r)}):(a.set(t,new Map([[r,e]])),function(){return i(t,r)})};r.onDestroy((function(){a.forEach((function(t){t.forEach((function(t){t.unsubscribe()})),t.clear()})),a.clear()}));var p,u=function(t,r){var e=v(n).pipe(y((function(r){return r.type===t}))).subscribe((function(t){"payload"in t?r(t.payload):r()}));return c(t,r,e)},s={send:function(t){e.send(wt,t)},once:function(t,r){var e=v(n).pipe(y((function(r){return r.type===t})),h(1)).subscribe((function(e){i(t,r),"payload"in e?r(e.payload):r()}));return c(t,r,e)},on:u,subscribe:u,addListener:function(){u.apply(void 0,arguments)},off:i,removeListener:i,__invoke:(p=T(tt.mark((function t(r){return tt.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",e.invoke(wt,r).then((function(t){return t.payload})));case 1:case"end":return t.stop()}}),t)}))),function(t){return p.apply(this,arguments)}),withType:function(){return s}};return s}));export{et as JAZZ_SDK_ELECTRON_CONTEXT_TOKEN,ot as JAZZ_SDK_ELECTRON_ENDPOINT_CONTEXT_TOKEN,at as JazzSdkElectronEndpointTokens,nt as JazzSdkElectronTokens,Ot as TransportController,yt as createJazzSdkElectron,gt as createJazzSdkElectronEndpoint};