"use strict"; const path = require("node:path"); async function main() { const modulePath = path.resolve(process.argv[2]); const createModule = require(modulePath); const module = await createModule({ print() {}, printErr() {} }); const capabilities = JSON.parse( module.ccall("mfem_demo_capabilities", "string", [], []), ); const result = JSON.parse( module.ccall("mfem_demo_solve", "string", ["number", "number"], [6, 2]), ); if (!capabilities.wasm || !result.ok || result.trueDofs <= 0 || result.iterations <= 0) { throw new Error(`Unexpected MFEM Wasm result: ${JSON.stringify(result)}`); } process.stdout.write( `MFEM ${capabilities.mfemVersion} Wasm solve: dofs=${result.trueDofs} iterations=${result.iterations} l2=${result.l2Error}\n`, ); } main().catch((error) => { console.error(error); process.exitCode = 1; });