const searchParams = new URLSearchParams(window.location.search);

Module.preRun = () => {
};

const arguments = [];
for (let i = 1; true; i++) {
  const arg_i = searchParams.get(`arg_${i}`);
  if (arg_i == null) {
    break;
  }
  arguments.push(arg_i);
}

Module.arguments = arguments;

if (searchParams.get("loghtml") === "1") {
  const divTerm = document.createElement("div");
  divTerm.id = "terminal";
  document.body.append(divTerm);

  function printToStdOut(msg, id) {
    const divMsg = document.createElement("div", {class: "stdout"});
    divMsg.id = id;
    divMsg.append(document.createTextNode(msg));
    divTerm.append(divMsg);
    return divMsg;
  }

  Module.print = (msg) => {
    console.log(msg);
    printToStdOut(msg, "stdout");
  }

  Module.printErr = (msg) => {
    console.error(msg);
    const e = printToStdOut(msg, "stderr");
    e.style = "color:red";
  }

  const divQuit = document.createElement("div");
  divQuit.id = "process-quit";
  document.body.append(divQuit);

  Module.quit = (msg) => {
    divQuit.innerText = msg;
    console.log(`QUIT: ${msg}`)
  }

  Module.onabort = (msg) => {
    printToStdOut(`ABORT: ${msg}`, "stderr");
    console.log(`ABORT: ${msg}`);
  }
}