narraleaf
Version:
Create your visual novel with Electron and React
2 lines (1 loc) • 1.94 kB
JavaScript
;var u=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var I=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of y(e))!f.call(t,a)&&a!==r&&u(t,a,{get:()=>e[a],enumerable:!(n=l(e,a))||n.enumerable});return t};var x=t=>I(u({},"__esModule",{value:!0}),t);var R={};module.exports=x(R);var p=class{constructor(e,r){this.type=e;this.namespace=r}getEventName(e,r){return r?`${this.namespace}.${r}:${String(e)}`:`${this.namespace}:${String(e)}`}};var s=require("electron"),i=class extends p{constructor(e){super("client",e)}invoke(e,r){return s.ipcRenderer.invoke(this.getEventName(e),r)}send(e,r){return s.ipcRenderer.send(this.getEventName(e),r)}onMessage(e,r){let n=(a,c)=>{r(c)};return s.ipcRenderer.on(this.getEventName(e),n),{cancel:()=>{s.ipcRenderer.off(this.getEventName(e),n)}}}onRequest(e,r){let n=async(a,c)=>{let v=await r(c);s.ipcRenderer.send(this.getEventName(e,"reply"),v)};return s.ipcRenderer.on(this.getEventName(e),n),{cancel:()=>{s.ipcRenderer.off(this.getEventName(e),n)}}}};var d=require("electron");var g="NarraLeaf";function m(t=16){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r="";for(let n=0;n<t;n++)r+=e.charAt(Math.floor(Math.random()*e.length));return r}var o=new i("narraleaf"),P={getPlatform(){return o.invoke("getPlatform",{})},app:{terminate(t){o.send("app.terminate",{err:t instanceof Error?t.message:t})}},game:{save:{save(t,e,r){return o.invoke("game.save.save",{gameData:t,type:0,id:e,preview:r})},quickSave(t){let e=m();return o.invoke("game.save.save",{gameData:t,type:1,id:e})},createRecovery(t){let e=m();return o.invoke("game.save.save",{gameData:t,type:2,id:e})},read(t){return o.invoke("game.save.read",{id:t})},list(){return o.invoke("game.save.list",{})}}}};d.contextBridge.exposeInMainWorld(g,P);console.log("[NarraLeaf preload] Preload script loaded");