UNPKG

interprocess

Version:

A scalable and type-safe Electron IPC management tool with enhanced DX

3 lines (2 loc) 5.95 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var l=require("electron"),H=Object.defineProperty,K=Object.defineProperties,B=Object.getOwnPropertyDescriptors,j=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,P=(r,e,t)=>e in r?H(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,d=(r,e)=>{for(var t in e||(e={}))V.call(e,t)&&P(r,t,e[t]);if(j)for(var t of j(e))W.call(e,t)&&P(r,t,e[t]);return r},Y=(r,e)=>K(r,B(e));const y={apiKey:"api",exposeAll:!1};function $(r,e,t){function n(a=y){const{apiKey:o,exposeAll:i,append:c}=Object.assign(y,a),p=d({invoke:e},c),s={handle:r,remove:t},b=d(d({},s),p),u=Y(d({},s),{invoke:e}),T=i?b:p,m=a.override?d(d({},a.override(u)),c):T;return l.contextBridge.exposeInMainWorld(o||y.apiKey,m),{key:o,api:m}}return n}var G=Object.defineProperty,q=Object.defineProperties,z=Object.getOwnPropertyDescriptors,w=Object.getOwnPropertySymbols,F=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable,I=(r,e,t)=>e in r?G(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Q=(r,e)=>{for(var t in e||(e={}))F.call(e,t)&&I(r,t,e[t]);if(w)for(var t of w(e))J.call(e,t)&&I(r,t,e[t]);return r},U=(r,e)=>q(r,z(e));function X(r){return Object.keys(r?.main||{}).reduce((e,t)=>{const n=t;return U(Q({},e),{[n]:async(...a)=>l.ipcRenderer.invoke(n,...a)})},{})}const O={INTERNAL:{SYNC_AVAILABLE_RENDERER_IPCS:"@interprocess:syncAvailableRendererIpcs"}};var Z=Object.defineProperty,ee=Object.defineProperties,re=Object.getOwnPropertyDescriptors,R=Object.getOwnPropertySymbols,te=Object.prototype.hasOwnProperty,ne=Object.prototype.propertyIsEnumerable,E=(r,e,t)=>e in r?Z(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,oe=(r,e)=>{for(var t in e||(e={}))te.call(e,t)&&E(r,t,e[t]);if(R)for(var t of R(e))ne.call(e,t)&&E(r,t,e[t]);return r},ae=(r,e)=>ee(r,re(e));function ce(r){return Object.keys(r?.renderer||{}).reduce((e,t)=>{const n=t;return ae(oe({},e),{[n]:async a=>{const o=r.renderer[n],i=a;return l.ipcRenderer.invoke(O.INTERNAL.SYNC_AVAILABLE_RENDERER_IPCS,{type:"add",key:n}),l.ipcRenderer.on(n,async function(c,...p){let s;i&&(s=await i(c,{[n]:o,data:p[0]},...p)),!i&&o&&(s=await o(c,p[0])),c.sender.send(n,s)})}})},{})}var ie=Object.defineProperty,le=Object.defineProperties,pe=Object.getOwnPropertyDescriptors,g=Object.getOwnPropertySymbols,se=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable,A=(r,e,t)=>e in r?ie(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,k=(r,e)=>{for(var t in e||(e={}))se.call(e,t)&&A(r,t,e[t]);if(g)for(var t of g(e))de.call(e,t)&&A(r,t,e[t]);return r},h=(r,e)=>le(r,pe(e));function ve(r){const e=Object.keys(r?.main||{}).reduce((n,a)=>{const o=a;return h(k({},n),{[o]:()=>{l.ipcMain.removeHandler(o)}})},{}),t=Object.keys(r?.renderer||{}).reduce((n,a)=>{const o=a;return h(k({},n),{[o]:()=>{var i,c;!((i=r?.renderer)!=null&&i[o])||(l.ipcRenderer.removeListener(o,r.renderer[o]),(c=r?.renderer)==null||delete c[o],l.ipcRenderer.invoke(O.INTERNAL.SYNC_AVAILABLE_RENDERER_IPCS,{type:"remove",key:o}))}})},{});return{mainRemove:e,rendererRemove:t}}function be(){return process.type==="browser"}const ue=new Set,f={main:{availableRendererIpcChannels:ue}};let S=!1;function ye(){S||!be()||(l.ipcMain.handle(O.INTERNAL.SYNC_AVAILABLE_RENDERER_IPCS,(r,e)=>{e.type==="add"&&f.main.availableRendererIpcChannels.add(e.key),e.type==="remove"&&f.main.availableRendererIpcChannels.delete(e.key)}),S=!0)}var Oe=Object.defineProperty,fe=Object.defineProperties,me=Object.getOwnPropertyDescriptors,C=Object.getOwnPropertySymbols,je=Object.prototype.hasOwnProperty,Pe=Object.prototype.propertyIsEnumerable,N=(r,e,t)=>e in r?Oe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,$e=(r,e)=>{for(var t in e||(e={}))je.call(e,t)&&N(r,t,e[t]);if(C)for(var t of C(e))Pe.call(e,t)&&N(r,t,e[t]);return r},we=(r,e)=>fe(r,me(e));function Ie(r){return ye(),Object.keys(r?.renderer||{}).reduce((e,t)=>{const n=t;return we($e({},e),{[n]:async(a,...o)=>new Promise((i,c)=>{if(!f.main.availableRendererIpcChannels.has(n))return c(`No handler registered for '${n}'`);const p=async function(s,...b){const u=await b[0];i(u),l.ipcMain.removeListener(n,p)};l.ipcMain.addListener(n,p),a.webContents.send(n,...o)})})},{})}var Re=Object.defineProperty,Ee=Object.defineProperties,ge=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertySymbols,Ae=Object.prototype.hasOwnProperty,ke=Object.prototype.propertyIsEnumerable,M=(r,e,t)=>e in r?Re(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,he=(r,e)=>{for(var t in e||(e={}))Ae.call(e,t)&&M(r,t,e[t]);if(L)for(var t of L(e))ke.call(e,t)&&M(r,t,e[t]);return r},Se=(r,e)=>Ee(r,ge(e));function Ce(r){return Object.keys(r?.main||{}).reduce((e,t)=>{const n=t;return Se(he({},e),{[n]:async a=>{const o=r.main[n];return!a&&o?l.ipcMain.handle(n,o):l.ipcMain.handle(n,(i,...c)=>a(i,{[n]:o,data:c[0]},...c))}})},{})}function _(r){const e=Ie(r),t=Ce(r),n=X(r),a=ce(r),{mainRemove:o,rendererRemove:i}=ve(r),c=$(a,n,i);return{ipcs:r,exposeApiToGlobalWindow:c,ipcMain:{handle:t,invoke:e,remove:o},ipcRenderer:{handle:a,invoke:n,remove:i}}}function Ne(r){return r}var Le=Object.defineProperty,Me=Object.defineProperties,_e=Object.getOwnPropertyDescriptors,D=Object.getOwnPropertySymbols,De=Object.prototype.hasOwnProperty,xe=Object.prototype.propertyIsEnumerable,x=(r,e,t)=>e in r?Le(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,v=(r,e)=>{for(var t in e||(e={}))De.call(e,t)&&x(r,t,e[t]);if(D)for(var t of D(e))xe.call(e,t)&&x(r,t,e[t]);return r},Te=(r,e)=>Me(r,_e(e));function He(...r){const e=r?.reduce((t,n)=>Te(v({},t),{main:v(v({},t.main),n.main),renderer:v(v({},t.renderer),n.renderer)}),{main:{},renderer:{}});return _(e)}exports.combineIpcs=He,exports.createApiToGlobalWindowExposer=$,exports.createInterprocess=_,exports.createIpcSlice=Ne; //# sourceMappingURL=index.js.map