Skip to content

Commit

Permalink
feat: expose originalConsole
Browse files Browse the repository at this point in the history
  • Loading branch information
eliassjogreen committed Feb 23, 2024
1 parent 57fef8d commit cccc462
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 10 deletions.
30 changes: 28 additions & 2 deletions mod.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,30 @@
const console = globalThis.console;
/**
* A copy of the original console object.
*/
export const originalConsole: Console = {
assert: console?.assert.bind(console),
clear: console?.clear.bind(console),
count: console?.count.bind(console),
countReset: console?.countReset.bind(console),
debug: console?.debug.bind(console),
dir: console?.dir.bind(console),
dirxml: console?.dirxml.bind(console),
error: console?.error.bind(console),
group: console?.group.bind(console),
groupCollapsed: console?.groupCollapsed.bind(console),
groupEnd: console?.groupEnd.bind(console),
info: console?.info.bind(console),
log: console?.log.bind(console),
table: console?.table.bind(console),
time: console?.time.bind(console),
timeEnd: console?.timeEnd.bind(console),
timeLog: console?.timeLog.bind(console),
trace: console?.trace.bind(console),
warn: console?.warn.bind(console),
timeStamp: console?.timeStamp.bind(console),
profile: console?.profile.bind(console),
profileEnd: console?.profileEnd.bind(console),
};

type RecursivePartial<T> = {
[P in keyof T]?: RecursivePartial<T[P]>;
Expand Down Expand Up @@ -242,7 +268,7 @@ export class ConsoleReadableStream extends ReadableStream<Log> {

// deno-lint-ignore no-explicit-any
cancel(reason?: any): Promise<void> {
globalThis.console = console;
globalThis.console = originalConsole;
return super.cancel(reason);
}
}
16 changes: 8 additions & 8 deletions writables/console.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Log } from "../mod.ts";
import { originalConsole, Log } from "../mod.ts";

/**
* A writable stream that logs {@link Log logs} to the {@link console} using
Expand All @@ -11,32 +11,32 @@ export class ConsoleWritableStream extends WritableStream<Log> {
write(log) {
if (log.groups.length > groups) {
groups = log.groups.length;
console.group(log.groups.at(-1));
originalConsole.group(...log.groups.at(-1));
}

if (groups < log.groups.length) {
console.groupEnd();
originalConsole.groupEnd();
}

switch (log.level) {
case "trace": {
console.trace(log.data);
originalConsole.trace(...log.data);
break;
}
case "debug": {
console.debug(log.data);
originalConsole.debug(...log.data);
break;
}
case "info": {
console.info(log.data);
originalConsole.info(...log.data);
break;
}
case "warn": {
console.warn(log.data);
originalConsole.warn(...log.data);
break;
}
case "error": {
console.error(log.data);
originalConsole.error(...log.data);
break;
}
}
Expand Down

0 comments on commit cccc462

Please sign in to comment.