@scandit/web-datacapture-core
Version:
Scandit Data Capture SDK for the Web
1 lines • 1.57 kB
JavaScript
import{CHN as e,Id as a}from"./chunk-6RVAZ75N.js";function n(n,t){return async function(p,r){if(function(e,n){if(null==e)return!1;const t=new URL(e.url);return n.senderId===a&&"localhost"===t.hostname||""===t.hostname}(p.senderFrame,r))switch(r.type){case"get-license-key":if(null!=r.payload)try{const a=await async function(e,a){const{fs:n,crypto:t,path:p,app:r}=e,[s,c]=a.publicKey.split(":"),i=p.join(r.getAppPath(),a.licenseDataPath);return function(e,a,n){const p=t.createDecipheriv("aes-256-cbc",a,n);let r=p.update(e,"hex","utf8");return r+=p.final("utf8"),r}((await n.readFile(i)).toString("utf8"),Buffer.from(s,"base64"),Buffer.from(c,"base64"))}(n,{licenseDataPath:r.payload.licenseDataPath,publicKey:t});p.sender.send(e,{type:r.type,senderId:r.senderId,payload:{licenseKey:a??""}})}catch(a){p.sender.send(e,{type:r.type,senderId:r.senderId,payload:{error:a}})}break;case"get-app-info":try{const a=await async function(e){const{fs:a,path:n,app:t}=e;let p=process.cwd();t.isPackaged&&(p=t.getAppPath());const r=await a.readFile(n.join(p,"package.json"),"utf8"),s=JSON.parse(r);return{appId:s.build?.appId??s.appId,name:s.name,version:s.version}}(n);p.sender.send(e,{type:r.type,senderId:r.senderId,payload:{isPackaged:n.app.isPackaged,version:a.version??n.app.getVersion(),appName:a.name??n.app.getName(),appId:a.appId??""}})}catch(a){p.sender.send(e,{type:r.type,senderId:r.senderId,payload:{error:a}})}}}}var t=null,p=null;function r(a,r){p=a,t=n(a,r),p.ipcMain.on(e,t)}function s(){null!=t&&null!=p&&p.ipcMain.off(e,t)}export{r as register,s as unregister};