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 }