2 lines
1.3 KiB
JavaScript
2 lines
1.3 KiB
JavaScript
const fs=require("fs"),path=require("path"),{pathToFileURL}=require("url");const build=path.resolve(process.argv[2]||"build-web/configure/bin");(async()=>{globalThis.__dirname=`${build}${path.sep}`;globalThis.require=require;const m=await import(pathToFileURL(path.join(build,"FreeCADWebTemplatePyModRuntimeProbe.js")));const p=await m.default({wasmBinary:fs.readFileSync(path.join(build,"FreeCADWebTemplatePyModRuntimeProbe.wasm"))});const c=(n,t="number",a=[])=>p.ccall(n,t,a.length?["string"]:[],a);const valid="src/Mod/TemplatePyMod/DocumentObject.py",bad="src/Mod/TemplatePyMod/Missing.py";const before=c("fc_web_templatepymod_python_api_probe","number",[valid]),countBefore=c("fc_web_templatepymod_python_api_count"),rejected=c("fc_web_templatepymod_python_api_probe","number",[bad]),error=c("fc_web_templatepymod_error","string"),after=c("fc_web_templatepymod_python_api_probe","number",[valid]),countAfter=c("fc_web_templatepymod_python_api_count"),result={before,countBefore,rejected,error,after,countAfter,resourcesReleased:c("fc_web_templatepymod_resources_released")};if(!(before===1&&countBefore===65&&rejected===0&&error==="TemplatePyMod Python source entry is not locked"&&after===1&&countAfter===65&&result.resourcesReleased===1))throw Error(JSON.stringify(result));console.log(JSON.stringify(result))})().catch(e=>{console.error(e);process.exitCode=1})
|