summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorBert Belder <bertbelder@gmail.com>2019-03-03 17:12:10 -0800
committerBert Belder <bertbelder@gmail.com>2019-03-03 19:19:01 -0800
commit2e9d43391ff977dffe8377be79267119ee1554bc (patch)
treeddc2dc173278a1a7140bc41a6bab2036cf6361fd /js
parent2af04e674d69863a318b311090a89aaae0108fdd (diff)
libdeno: remove `prints_newline` parameter from libdeno.print()
Diffstat (limited to 'js')
-rw-r--r--js/console.ts39
-rw-r--r--js/console_test.ts22
2 files changed, 20 insertions, 41 deletions
diff --git a/js/console.ts b/js/console.ts
index 93a9c72f0..ac8982d4c 100644
--- a/js/console.ts
+++ b/js/console.ts
@@ -341,18 +341,6 @@ function stringifyWithQuotes(
}
}
-// Returns true when the console is collapsed.
-function isCollapsed(
- collapsedAt: number | null | undefined,
- indentLevel: number | null | undefined
-) {
- if (collapsedAt == null || indentLevel == null) {
- return false;
- }
-
- return collapsedAt <= indentLevel;
-}
-
/** TODO Do not expose this from "deno" namespace.
* @internal
*/
@@ -464,22 +452,23 @@ export function stringifyArgs(
}
const { collapsedAt, indentLevel } = options;
- if (
- !isCollapsed(collapsedAt, indentLevel) &&
- indentLevel != null &&
- indentLevel > 0
- ) {
- const groupIndent = " ".repeat(indentLevel);
- if (str.indexOf("\n") !== -1) {
- str = str.replace(/\n/g, `\n${groupIndent}`);
+ const isCollapsed =
+ collapsedAt != null && indentLevel != null && collapsedAt <= indentLevel;
+ if (!isCollapsed) {
+ if (indentLevel != null && indentLevel > 0) {
+ const groupIndent = " ".repeat(indentLevel);
+ if (str.indexOf("\n") !== -1) {
+ str = str.replace(/\n/g, `\n${groupIndent}`);
+ }
+ str = groupIndent + str;
}
- str = groupIndent + str;
+ str += "\n";
}
return str;
}
-type PrintFunc = (x: string, isErr?: boolean, printsNewline?: boolean) => void;
+type PrintFunc = (x: string, isErr?: boolean) => void;
const countMap = new Map<string, number>();
const timerMap = new Map<string, number>();
@@ -500,8 +489,7 @@ export class Console {
indentLevel: this.indentLevel,
collapsedAt: this.collapsedAt
}),
- false,
- !isCollapsed(this.collapsedAt, this.indentLevel)
+ false
);
};
@@ -522,8 +510,7 @@ export class Console {
indentLevel: this.indentLevel,
collapsedAt: this.collapsedAt
}),
- true,
- !isCollapsed(this.collapsedAt, this.indentLevel)
+ true
);
};
diff --git a/js/console_test.ts b/js/console_test.ts
index 85ec16de8..b8ad0ac92 100644
--- a/js/console_test.ts
+++ b/js/console_test.ts
@@ -1,24 +1,16 @@
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
-import { test, assertEqual, assert } from "./test_util.ts";
+import { assert, assertEqual, test } from "./test_util.ts";
// Some of these APIs aren't exposed in the types and so we have to cast to any
// in order to "trick" TypeScript.
// tslint:disable-next-line:no-any
-const {
- Console,
- libdeno,
- stringifyArgs,
- inspect,
- readAll,
- write,
- stdout
-} = Deno as any;
+const { Console, libdeno, stringifyArgs, inspect, write, stdout } = Deno as any;
const console = new Console(libdeno.print);
// tslint:disable-next-line:no-any
function stringify(...args: any[]): string {
- return stringifyArgs(args);
+ return stringifyArgs(args).replace(/\n$/, "");
}
test(function consoleTestAssertShouldNotThrowError() {
@@ -139,16 +131,16 @@ test(function consoleTestStringifyWithDepth() {
const nestedObj: any = { a: { b: { c: { d: { e: { f: 42 } } } } } };
assertEqual(
stringifyArgs([nestedObj], { depth: 3 }),
- "{ a: { b: { c: [Object] } } }"
+ "{ a: { b: { c: [Object] } } }\n"
);
assertEqual(
stringifyArgs([nestedObj], { depth: 4 }),
- "{ a: { b: { c: { d: [Object] } } } }"
+ "{ a: { b: { c: { d: [Object] } } } }\n"
);
- assertEqual(stringifyArgs([nestedObj], { depth: 0 }), "[Object]");
+ assertEqual(stringifyArgs([nestedObj], { depth: 0 }), "[Object]\n");
assertEqual(
stringifyArgs([nestedObj], { depth: null }),
- "{ a: { b: { c: { d: [Object] } } } }"
+ "{ a: { b: { c: { d: [Object] } } } }\n"
);
// test inspect is working the same way
assertEqual(