diff options
author | Luca Casonato <lucacasonato@yahoo.com> | 2021-03-18 19:25:25 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-18 19:25:25 +0100 |
commit | 62716422b9f57b11f3a0afb01f5011b63702226d (patch) | |
tree | 4f086a4a644c97488e3319028509fe5293496505 | |
parent | 20627c91364d2a992fdfaaad7c8ae86454dbc2ed (diff) |
chore(console): distinguish between log levels (#9824)
Change `Console.#printFunc` to pass a log level as the second argument
(0 = debug, 3 = error), instead of a boolean for `isErr`. This does not
change the Deno runtime behaviour at all.
-rw-r--r-- | cli/tests/unit/console_test.ts | 10 | ||||
-rw-r--r-- | op_crates/console/02_console.js | 41 | ||||
-rw-r--r-- | runtime/js/99_main.js | 4 |
3 files changed, 41 insertions, 14 deletions
diff --git a/cli/tests/unit/console_test.ts b/cli/tests/unit/console_test.ts index 286b693ff..402f448bc 100644 --- a/cli/tests/unit/console_test.ts +++ b/cli/tests/unit/console_test.ts @@ -316,12 +316,12 @@ unitTest(function consoleTestStringifyCircular(): void { stringify(console), `console { log: [Function: log], - debug: [Function: log], - info: [Function: log], + debug: [Function: debug], + info: [Function: info], dir: [Function: dir], dirxml: [Function: dir], warn: [Function: warn], - error: [Function: warn], + error: [Function: error], assert: [Function: assert], count: [Function: count], countReset: [Function: countReset], @@ -1191,9 +1191,9 @@ function mockConsole(f: ConsoleExamineFunc): void { const err = new StringBuffer(); const both = new StringBuffer(); const csl = new Console( - (x: string, isErr: boolean, printsNewLine: boolean): void => { + (x: string, level: number, printsNewLine: boolean): void => { const content = x + (printsNewLine ? "\n" : ""); - const buf = isErr ? err : out; + const buf = level > 1 ? err : out; buf.add(content); both.add(content); }, diff --git a/op_crates/console/02_console.js b/op_crates/console/02_console.js index 0077571a6..587ec0ec2 100644 --- a/op_crates/console/02_console.js +++ b/op_crates/console/02_console.js @@ -1505,18 +1505,35 @@ ...getConsoleInspectOptions(), indentLevel: this.indentLevel, }) + "\n", - false, + 1, ); }; - debug = this.log; - info = this.log; + debug = (...args) => { + this.#printFunc( + inspectArgs(args, { + ...getConsoleInspectOptions(), + indentLevel: this.indentLevel, + }) + "\n", + 0, + ); + }; + + info = (...args) => { + this.#printFunc( + inspectArgs(args, { + ...getConsoleInspectOptions(), + indentLevel: this.indentLevel, + }) + "\n", + 1, + ); + }; dir = (obj, options = {}) => { this.#printFunc( inspectArgs([obj], { ...getConsoleInspectOptions(), ...options }) + "\n", - false, + 1, ); }; @@ -1528,11 +1545,19 @@ ...getConsoleInspectOptions(), indentLevel: this.indentLevel, }) + "\n", - true, + 2, ); }; - error = this.warn; + error = (...args) => { + this.#printFunc( + inspectArgs(args, { + ...getConsoleInspectOptions(), + indentLevel: this.indentLevel, + }) + "\n", + 3, + ); + }; assert = (condition = false, ...args) => { if (condition) { @@ -1724,8 +1749,8 @@ clear = () => { this.indentLevel = 0; - this.#printFunc(CSI.kClear, false); - this.#printFunc(CSI.kClearScreenDown, false); + this.#printFunc(CSI.kClear, 1); + this.#printFunc(CSI.kClearScreenDown, 1); }; trace = (...args) => { diff --git a/runtime/js/99_main.js b/runtime/js/99_main.js index 233c5cd43..a2fff2571 100644 --- a/runtime/js/99_main.js +++ b/runtime/js/99_main.js @@ -290,7 +290,9 @@ delete Object.prototype.__proto__; btoa: util.writable(btoa), clearInterval: util.writable(timers.clearInterval), clearTimeout: util.writable(timers.clearTimeout), - console: util.writable(new Console(core.print)), + console: util.writable( + new Console((msg, level) => core.print(msg, level > 1)), + ), crypto: util.readOnly(crypto), fetch: util.writable(fetch.fetch), performance: util.writable(performance.performance), |