UNPKG

@salutejs/jazz-sdk-electron-plugins

Version:

Jazz SDK electron plugins

2 lines (1 loc) 2.51 kB
"use strict";var e=require("@salutejs/jazz-sdk-electron/preload"),t=require("electron"),r=require("rx-effects"),o=require("rxjs");const n="jazz-sdk-desktop-capturer-ipc-channel",s="jazz-sdk-ask-display-media-stream",a="jazz-sdk-capturer-sources-event";function i(e,t,r,o){return new(r||(r=Promise))((function(t,n){function s(e){try{i(o.next(e))}catch(e){n(e)}}function a(e){try{i(o.throw(e))}catch(e){n(e)}}function i(e){var o;e.done?t(e.value):(o=e.value,o instanceof r?o:new r((function(e){e(o)}))).then(s,a)}i((o=o.apply(e,[])).next())}))}function c(){const c=r.createScope(),d=c.createController((()=>function(t){const{ipcRenderer:c}=t,d=r.createScope(),u=e.createEventBus();let p;const y=e=>{p=e,u({type:"askDisplayMediaStream"})};c.on(s,y),d.add((()=>{c.off(s,y)}));const l=(e,t)=>{u(t)};return c.on(a,l),d.add((()=>{c.off(a,l)})),{capturerSourcesStartProcess:e=>i(this,0,void 0,(function*(){const t={payload:e,type:"capturerSourcesStartProcess"};return(yield c.invoke(n,t)).payload})),capturerSourcesFinishProcess:()=>i(this,0,void 0,(function*(){return(yield c.invoke(n,{type:"capturerSourcesFinishProcess"})).payload})),getDesktopCapturerSources:e=>i(this,0,void 0,(function*(){const t={payload:e,type:"getDesktopCapturerSources"};return(yield c.invoke(n,t)).payload})),askForMediaAccess:e=>i(this,0,void 0,(function*(){const t={payload:{type:e},type:"askForMediaAccess"};return(yield c.invoke(n,t)).payload})),getMediaAccessStatus:e=>i(this,0,void 0,(function*(){const t={payload:{type:e},type:"getMediaAccessStatus"};return(yield c.invoke(n,t)).payload})),openSystemSettings:e=>i(this,0,void 0,(function*(){const t={payload:{key:e},type:"systemSettings"};return(yield c.invoke(n,t)).payload})),replyDisplayMediaStream:(e,t=!1)=>{const r={source:e,audio:t};null==p||p.sender.send("jazz-sdk-reply-display-media-stream",r),p=void 0},osInfo:()=>i(this,0,void 0,(function*(){return(yield c.invoke(n,{type:"osInfo"})).payload})),subscribe:(e,t)=>{const r=u.event$.pipe(o.filter((t=>t.type===e))).subscribe((e=>{t("payload"in e?e.payload:void 0)}));return()=>r.unsubscribe()},once:(e,t)=>{const r=u.event$.pipe(o.filter((t=>t.type===e)),o.take(1)).subscribe((e=>{t("payload"in e?e.payload:void 0)}));return()=>r.unsubscribe()},destroy:()=>{d.destroy()}}}({ipcRenderer:t.ipcRenderer}))),u={ipcMain:d};return t.contextBridge.exposeInMainWorld("jazz-sdk-desktop-capturer-bridge",u),{destroy:c.destroy}}exports.desktopCapturerPlugin=function(){return e.createModule({name:"DesktopCapturerPlugin",factory:c})};