@ricsam/isolate-console
v0.1.4
Published
Console API implementation for isolated-vm V8 sandbox
Maintainers
Readme
@ricsam/isolate-console
Console API with logging, timing, counting, and grouping.
import { setupConsole } from "@ricsam/isolate-console";
const handle = await setupConsole(context, {
onLog: (level, ...args) => {
console.log(`[${level}]`, ...args);
},
onTime: (label, duration) => {
console.log(`${label}: ${duration}ms`);
},
onCount: (label, count) => {
console.log(`${label}: ${count}`);
},
});Injected Globals:
console.log,console.warn,console.error,console.debug,console.infoconsole.trace,console.dir,console.tableconsole.time,console.timeEnd,console.timeLogconsole.count,console.countResetconsole.group,console.groupCollapsed,console.groupEndconsole.assert,console.clear
Usage in Isolate:
// Basic logging
console.log("Hello", { name: "World" });
console.warn("Warning message");
console.error("Error occurred");
// Timing
console.time("operation");
// ... do work ...
console.timeLog("operation", "checkpoint");
// ... more work ...
console.timeEnd("operation"); // Logs: "operation: 123ms"
// Counting
console.count("clicks"); // clicks: 1
console.count("clicks"); // clicks: 2
console.countReset("clicks");
console.count("clicks"); // clicks: 1
// Grouping
console.group("User Info");
console.log("Name: John");
console.log("Age: 30");
console.groupEnd();Event Handlers:
| Handler | Description |
|---------|-------------|
| onLog | Called for log, warn, error, debug, info, trace, dir, table |
| onTime | Called when console.timeEnd completes a timer |
| onTimeLog | Called when console.timeLog logs without ending |
| onCount | Called when console.count increments |
| onCountReset | Called when console.countReset resets a counter |
| onGroup | Called when console.group or groupCollapsed is invoked |
| onGroupEnd | Called when console.groupEnd is invoked |
| onAssert | Called when console.assert fails |
| onClear | Called when console.clear is invoked |
