@xuda.io/runtime-bundle
Version:
The Xuda Runtime Bundle refers to a collection of scripts and libraries packaged together to provide the necessary runtime environment for executing plugins or components in the Xuda platform.
1 lines • 1.18 kB
JavaScript
export const loader=async function(SESSION_ID){const db=await func.utils.connect_pouchdb(SESSION_ID);var _session=SESSION_OBJ[SESSION_ID];try{const response=await fetch(`https://${_session.domain}/${_session.app_id}_startup_data.${_session?.opt?.app_build_id?.toString()||"0"}.json`,{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json"}});if(!response.ok){glb.register_startup_programs=true;return}const json=await response.json();db.put({_id:`cache_rt_info`,data:{code:1,data:json.rt_info_obj},docType:"cache_app"});for await(const[plugin_name,val]of Object.entries(json.plugins_setup)){await db.put({_id:`cache_plugin_setup_${plugin_name}`,data:val,docType:"cache_plugin"})}const loader_module=await func.common.get_module(SESSION_ID,`xuda-progs-loader-module.mjs`);for await(const[prog_id,val]of Object.entries(json.docs_obj)){await loader_module.save_objects_cache(SESSION_ID,prog_id,"DOCS_OBJ",val)}setTimeout(()=>{for(let prog_id of[...json.rt_info_obj?.accessible_deployed_progs_arr,...json.rt_info_obj?.accessible_deployed_tables_arr]||[]){loader_module.DOCS_OBJ_get(SESSION_ID,prog_id)}},2e4);return json}catch(err){console.warn(err.message)}};