prioritized.grouping/docs/shinylive/webr/webr.mjs

5 lines
67 KiB
JavaScript
Raw Normal View History

2024-01-11 09:43:23 +01:00
var $s=Object.create;var Xr=Object.defineProperty;var Gs=Object.getOwnPropertyDescriptor;var Ks=Object.getOwnPropertyNames;var Qs=Object.getPrototypeOf,Zs=Object.prototype.hasOwnProperty;var U=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+r+'" is not supported')});var _=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var Ys=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Ks(e))!Zs.call(r,n)&&n!==t&&Xr(r,n,{get:()=>e[n],enumerable:!(s=Gs(e,n))||s.enumerable});return r};var te=(r,e,t)=>(t=r!=null?$s(Qs(r)):{},Ys(e||!r||!r.__esModule?Xr(t,"default",{value:r,enumerable:!0}):t,r));var ur=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var i=(r,e,t)=>(ur(r,e,"read from private field"),t?t.call(r):e.get(r)),u=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},d=(r,e,t,s)=>(ur(r,e,"write to private field"),s?s.call(r,t):e.set(r,t),t),$r=(r,e,t,s)=>({set _(n){d(r,e,n,t)},get _(){return i(r,e,s)}}),x=(r,e,t)=>(ur(r,e,"access private method"),t);var Oe=_(I=>{"use strict";Object.defineProperty(I,"__esModule",{value:!0});I.getUint64=I.getInt64=I.setInt64=I.setUint64=I.UINT32_MAX=void 0;I.UINT32_MAX=4294967295;function rn(r,e,t){let s=t/4294967296,n=t;r.setUint32(e,s),r.setUint32(e+4,n)}I.setUint64=rn;function sn(r,e,t){let s=Math.floor(t/4294967296),n=t;r.setUint32(e,s),r.setUint32(e+4,n)}I.setInt64=sn;function nn(r,e){let t=r.getInt32(e),s=r.getUint32(e+4);return t*4294967296+s}I.getInt64=nn;function on(r,e){let t=r.getUint32(e),s=r.getUint32(e+4);return t*4294967296+s}I.getUint64=on});var mt=_(S=>{"use strict";var dr,hr,yr;Object.defineProperty(S,"__esModule",{value:!0});S.utf8DecodeTD=S.TEXT_DECODER_THRESHOLD=S.utf8DecodeJs=S.utf8EncodeTE=S.TEXT_ENCODER_THRESHOLD=S.utf8EncodeJs=S.utf8Count=void 0;var Qr=Oe(),Rt=(typeof process>"u"||((dr=process==null?void 0:process.env)===null||dr===void 0?void 0:dr.TEXT_ENCODING)!=="never")&&typeof TextEncoder<"u"&&typeof TextDecoder<"u";function an(r){let e=r.length,t=0,s=0;for(;s<e;){let n=r.charCodeAt(s++);if(n&4294967168)if(!(n&4294965248))t+=2;else{if(n>=55296&&n<=56319&&s<e){let o=r.charCodeAt(s);(o&64512)===56320&&(++s,n=((n&1023)<<10)+(o&1023)+65536)}n&4294901760?t+=4:t+=3}else{t++;continue}}return t}S.utf8Count=an;function ln(r,e,t){let s=r.length,n=t,o=0;for(;o<s;){let a=r.charCodeAt(o++);if(a&4294967168)if(!(a&4294965248))e[n++]=a>>6&31|192;else{if(a>=55296&&a<=56319&&o<s){let c=r.charCodeAt(o);(c&64512)===56320&&(++o,a=((a&1023)<<10)+(c&1023)+65536)}a&4294901760?(e[n++]=a>>18&7|240,e[n++]=a>>12&63|128,e[n++]=a>>6&63|128):(e[n++]=a>>12&15|224,e[n++]=a>>6&63|128)}else{e[n++]=a;continue}e[n++]=a&63|128}}S.utf8EncodeJs=ln;var Ae=Rt?new TextEncoder:void 0;S.TEXT_ENCODER_THRESHOLD=Rt?typeof process<"u"&&((hr=process==null?void 0:process.env)===null||hr===void 0?void 0:hr.TEXT_ENCODING)!=="force"?200:0:Qr.UINT32_MAX;function cn(r,e,t){e.set(Ae.encode(r),t)}function un(r,e,t){Ae.encodeInto(r,e.subarray(t))}S.utf8EncodeTE=Ae!=null&&Ae.encodeInto?un:cn;var pn=4096;function dn(r,e,t){let s=e,n=s+t,o=[],a="";for(;s<n;){let c=r[s++];if(!(c&128))o.push(c);else if((c&224)===192){let p=r[s++]&63;o.push((c&31)<<6|p)}else if((c&240)===224){let p=r[s++]&63,v=r[s++]&63;o.push((c&31)<<12|p<<6|v)}else if((c&248)===240){let p=r[s++]&63,v=r[s++]&63,ee=r[s++]&63,z=(c&7)<<18|p<<12|v<<6|ee;z>65535&&(z-=65536,o.push(z>>>10&1023|55296),z=56320|z&1023),o.push(z)}else o.push(c);o.length>=pn&&(a+=String.fromCharCode(...o),o.length=0)}return o.length>0&&(a+=String.fromCharCode(...o)),a}S.utf8DecodeJs=dn;var hn=Rt?new TextDecoder:null;S.TEXT_DECODER_THRESHOLD=Rt?typeof process<"u"&&((yr=process==null?void 0:process.env)===null||yr===void 0?void 0:yr.TEXT_DECODER)!=="force"?200:0:Qr.UINT32_MAX;function yn(r,e,t){let s=r.subarray(e,e+t);return hn.decode(s)}S.utf8DecodeTD=yn});var Rr=_(gt=>{"use strict";Object.defineProperty(gt,"__
`)});u(this,nr,e=>{if(m)throw new Error("Plotting with HTML canvas is not yet supported under Node");this.canvas.getContext("2d").drawImage(e,0,0)});u(this,or,()=>{if(m)throw new Error("Plotting with HTML canvas is not yet supported under Node");this.canvas.getContext("2d").clearRect(0,0,this.canvas.width,this.canvas.height)});this.webR=new ar(t),m||(this.canvas=document.createElement("canvas"),this.canvas.setAttribute("width","1008"),this.canvas.setAttribute("height","1008")),d(this,it,e.stdout||i(this,tr)),d(this,at,e.stderr||i(this,rr)),d(this,lt,e.prompt||i(this,sr)),d(this,ct,e.canvasImage||i(this,nr)),d(this,ut,e.canvasNewPage||i(this,or)),this.webR.evalRVoid("options(device=webr::canvas)")}stdin(e){this.webR.writeConsole(e)}interrupt(){this.webR.interrupt()}run(){x(this,ir,Js).call(this)}};it=new WeakMap,at=new WeakMap,lt=new WeakMap,ct=new WeakMap,ut=new WeakMap,tr=new WeakMap,rr=new WeakMap,sr=new WeakMap,nr=new WeakMap,or=new WeakMap,ir=new WeakSet,Js=async function(){for(;;){let e=await this.webR.read();switch(e.type){case"stdout":i(this,it).call(this,e.data);break;case"stderr":i(this,at).call(this,e.data);break;case"prompt":i(this,lt).call(this,e.data);break;case"canvas":e.data.event==="canvasImage"?i(this,ct).call(this,e.data.image):e.data.event==="canvasNewPage"&&i(this,ut).call(this);break;case"closed":return;default:console.warn(`Unhandled output type for webR Console: ${e.type}.`)}}};var io={FONTCONFIG_PATH:"/etc/fonts",R_HOME:"/usr/lib/R",R_ENABLE_JIT:"0"},zs={RArgs:[],REnv:io,baseUrl:Cs,serviceWorkerUrl:"",repoUrl:Ns,homedir:"/home/web_user",interactive:!0,channelType:O.Automatic,createLazyFilesystem:!0},g,pt,cr,Xs,ar=class{constructor(e={}){u(this,cr);u(this,g,void 0);u(this,pt,void 0);this.FS={lookupPath:async e=>{let t={type:"lookupPath",data:{path:e}};return(await i(this,g).request(t)).obj},mkdir:async e=>{let t={type:"mkdir",data:{path:e}};return(await i(this,g).request(t)).obj},mount:async(e,t,s)=>{let n={type:"mount",data:{type:e,options:t,mountpoint:s}};await i(this,g).request(n)},readFile:async(e,t)=>{let s={type:"readFile",data:{path:e,flags:t}};return(await i(this,g).request(s)).obj},rmdir:async e=>{let t={type:"rmdir",data:{path:e}};await i(this,g).request(t)},writeFile:async(e,t,s)=>{let n={type:"writeFile",data:{path:e,data:t,flags:s}};await i(this,g).request(n)},unlink:async e=>{let t={type:"unlink",data:{path:e}};await i(this,g).request(t)},unmount:async e=>{let t={type:"unmount",data:{path:e}};await i(this,g).request(t)}};let t={...zs,...e,REnv:{...zs.REnv,...e.REnv}};d(this,g,Us(t)),this.objs={},this.Shelter=ao(i(this,g)),d(this,pt,i(this,g).initialised.then(async()=>{this.globalShelter=await new this.Shelter,this.RObject=this.globalShelter.RObject,this.RLogical=this.globalShelter.RLogical,this.RInteger=this.globalShelter.RInteger,this.RDouble=this.globalShelter.RDouble,this.RComplex=this.globalShelter.RComplex,this.RCharacter=this.globalShelter.RCharacter,this.RRaw=this.globalShelter.RRaw,this.RList=this.globalShelter.RList,this.RPairlist=this.globalShelter.RPairlist,this.REnvironment=this.globalShelter.REnvironment,this.RSymbol=this.globalShelter.RSymbol,this.RString=this.globalShelter.RString,this.RCall=this.globalShelter.RCall,this.objs={baseEnv:await this.RObject.getPersistentObject("baseEnv"),globalEnv:await this.RObject.getPersistentObject("globalEnv"),null:await this.RObject.getPersistentObject("null"),true:await this.RObject.getPersistentObject("true"),false:await this.RObject.getPersistentObject("false"),na:await this.RObject.getPersistentObject("na")},x(this,cr,Xs).call(this)}))}async init(){return i(this,pt)}close(){i(this,g).close()}async read(){return await i(this,g).read()}async flush(){return await i(this,g).flush()}write(e){i(this,g).write(e)}writeConsole(e){this.write({type:"stdin",data:e+`
`})}interrupt(){i(this,g).interrupt()}async installPackages(e,t){let s=Object.assign({quiet:!1,mount:!0},t);for(let n of e){let o={type:"installPackage",data:{name:n,options:s}};await i(this,g).request(o)}}async destroy(e){await this.globalShelter.destroy(e)}async evalR(e,t){return this.globalShelter.evalR(e,t)}async evalRVoid(e,t){return this.evalRRaw(e,"void",t)}async evalRBoolean(e,t){return this.evalRRaw(e,"boolean",t)}async evalRNumber(e,t){return this.evalRRaw(e,"number",t)}async evalRString(e,t){return this.evalRRaw(e,"string",t)}async evalRRaw(e,t,s={}){let n=C(s,w,c=>c._payload),o={type:"evalRRaw",data:{code:e,options:n,outputType:t}},a=await i(this,g).request(o);switch(a.payloadType){case"raw":return a.obj;case"ptr":throw new X("Unexpected ptr payload type returned from evalRVoid")}}async invokeWasmFunction(e,...t){let s={type:"invokeWasmFunction",data:{ptr:e,args:t}};return(await i(this,g).request(s)).obj}};g=new WeakMap,pt=new WeakMap,cr=new WeakSet,Xs=async function(){for(;;){let e=await i(this,g).readSystem();switch(e.type){case"setTimeoutWasm":setTimeout((t,s)=>{this.invokeWasmFunction(t,...s)},e.data.delay,e.data.ptr,e.data.args);break;case"console.log":console.log(e.data);break;case"console.warn":console.warn(e.data);break;case"console.error":console.error(e.data);break;default:throw new A("Unknown system message type `"+e.type+"`")}}};var b,R,dt,lr=class{constructor(e){u(this,b,"");u(this,R,void 0);u(this,dt,!1);d(this,R,e)}async init(){if(i(this,dt))return;let e={type:"newShelter"},t=await i(this,R).request(e);d(this,b,t.obj),this.RObject=W(i(this,R),i(this,b),"object"),this.RLogical=W(i(this,R),i(this,b),"logical"),this.RInteger=W(i(this,R),i(this,b),"integer"),this.RDouble=W(i(this,R),i(this,b),"double"),this.RComplex=W(i(this,R),i(this,b),"complex"),this.RCharacter=W(i(this,R),i(this,b),"character"),this.RRaw=W(i(this,R),i(this,b),"raw"),this.RList=W(i(this,R),i(this,b),"list"),this.RPairlist=W(i(this,R),i(this,b),"pairlist"),this.REnvironment=W(i(this,R),i(this,b),"environment"),this.RSymbol=W(i(this,R),i(this,b),"symbol"),this.RString=W(i(this,R),i(this,b),"string"),this.RCall=W(i(this,R),i(this,b),"call"),d(this,dt,!0)}async purge(){let e={type:"shelterPurge",data:i(this,b)};await i(this,R).request(e)}async destroy(e){let t={type:"shelterDestroy",data:{id:i(this,b),obj:e._payload}};await i(this,R).request(t)}async size(){let e={type:"shelterSize",data:i(this,b)};return(await i(this,R).request(e)).obj}async evalR(e,t={}){let s=C(t,w,a=>a._payload),n={type:"evalR",data:{code:e,options:s,shelter:i(this,b)}},o=await i(this,R).request(n);switch(o.payloadType){case"raw":throw new X("Unexpected payload type returned from evalR");default:return Y(i(this,R),o)}}async captureR(e,t={}){let s=C(t,w,a=>a._payload),n={type:"captureR",data:{code:e,options:s,shelter:i(this,b)}},o=await i(this,R).request(n);switch(o.payloadType){case"ptr":throw new X("Unexpected payload type returned from evalR");case"raw":{let a=o.obj,c=Y(i(this,R),a.result),p=a.output;for(let v=0;v<p.length;++v)p[v].type!=="stdout"&&p[v].type!=="stderr"&&(p[v].data=Y(i(this,R),p[v].data));return{result:c,output:p}}}}};b=new WeakMap,R=new WeakMap,dt=new WeakMap;function ao(r){return new Proxy(lr,{construct:async()=>{let e=new lr(r);return await e.init(),e}})}export{O as ChannelType,zr as Console,lr as Shelter,ar as WebR,P as WebRChannelError,A as WebRError,X as WebRPayloadError,ht as WebRWorkerError,da as isRCall,ca as isRCharacter,la as isRComplex,aa as isRDouble,na as isREnvironment,Ls as isRFunction,ia as isRInteger,ua as isRList,oa as isRLogical,ta as isRNull,w as isRObject,sa as isRPairlist,pa as isRRaw,ra as isRSymbol};
//# sourceMappingURL=webr.mjs.map