github.com/kyleu/dbaudit@v0.0.2-0.20240321155047-ff2f2c940496/client/src/audit.ts (about)

     1  // Content managed by Project Forge, see [projectforge.md] for details.
     2  import {opt} from "./dom";
     3  
     4  function renderAudit(msg: string, ...codes: unknown[]) { // eslint-disable-line @typescript-eslint/no-explicit-any
     5    const li = document.createElement("li");
     6    li.innerText = msg;
     7    for (const code of codes) {
     8      const pre = document.createElement("pre");
     9      if (typeof code === "string") {
    10        pre.innerText = code;
    11      } else {
    12        pre.innerText = JSON.stringify(code, null, 2);
    13      }
    14      li.appendChild(pre);
    15    }
    16    return li;
    17  }
    18  
    19  export function audit(msg: string, ...codes: any) { // eslint-disable-line @typescript-eslint/no-explicit-any
    20    const el = opt("#audit-log");
    21    if (el) {
    22      el.appendChild(renderAudit(msg, ...codes));
    23    } else {
    24      console.log("### Audit ###\n" + msg, ...codes);
    25    }
    26  }