Skip to content

Commit ec79ad5

Browse files
committed
Add console
1 parent ee350b8 commit ec79ad5

File tree

1 file changed

+58
-0
lines changed
  • crates/bindings-typescript/src/server

1 file changed

+58
-0
lines changed

crates/bindings-typescript/src/server/rt.ts

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -564,3 +564,61 @@ function wrapSyscall<F extends (...args: any[]) => any>(
564564
},
565565
}[name];
566566
}
567+
568+
function fmtLog(...data: any[]) {
569+
return data.join(' ');
570+
}
571+
572+
const console_level_error = 0;
573+
const console_level_warn = 1;
574+
const console_level_info = 2;
575+
const console_level_debug = 3;
576+
const console_level_trace = 4;
577+
const console_level_panic = 101;
578+
579+
const console = {
580+
__proto__: {},
581+
[Symbol.toStringTag]: 'console',
582+
assert: (condition = false, ...data: any[]) => {
583+
if (!condition) {
584+
sys.console_log(console_level_error, fmtLog(...data));
585+
}
586+
},
587+
clear: () => {},
588+
debug: (...data: any[]) => {
589+
sys.console_log(console_level_debug, fmtLog(...data));
590+
},
591+
error: (...data: any[]) => {
592+
sys.console_log(console_level_error, fmtLog(...data));
593+
},
594+
info: (...data: any[]) => {
595+
sys.console_log(console_level_info, fmtLog(...data));
596+
},
597+
log: (...data: any[]) => {
598+
sys.console_log(console_level_info, fmtLog(...data));
599+
},
600+
table: (tabularData: any, properties: any) => {
601+
sys.console_log(console_level_info, fmtLog(tabularData));
602+
},
603+
trace: (...data: any[]) => {
604+
sys.console_log(console_level_trace, fmtLog(...data));
605+
},
606+
warn: (...data: any[]) => {
607+
sys.console_log(console_level_warn, fmtLog(...data));
608+
},
609+
dir: (item: any, options: any) => {},
610+
dirxml: (...data: any[]) => {},
611+
// Counting
612+
count: (label = 'default') => {},
613+
countReset: (label = 'default') => {},
614+
// Grouping
615+
group: (...data: any[]) => {},
616+
groupCollapsed: (...data: any[]) => {},
617+
groupEnd: () => {},
618+
// Timing
619+
time: (label = 'default') => {},
620+
timeLog: (label = 'default', ...data: any[]) => {},
621+
timeEnd: (label = 'default') => {},
622+
};
623+
// @ts-ignore
624+
globalThis.console = console;

0 commit comments

Comments
 (0)