summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2021-07-26 17:16:48 +0530
committerGitHub <noreply@github.com>2021-07-26 13:46:48 +0200
commitdf26a3563edd501380d5d5da5138eb67acb06645 (patch)
tree3eaa13b4310b53eff4f3cbfa8f199389aa99f39b
parent72ac9c3ae0c5db99af1e1f5d2191fb82dc092acd (diff)
chore(extensions/console): avoid re-checking iterable type (#11349)
-rw-r--r--extensions/console/02_console.js25
1 files changed, 16 insertions, 9 deletions
diff --git a/extensions/console/02_console.js b/extensions/console/02_console.js
index b4b29e1ea..10819cd6f 100644
--- a/extensions/console/02_console.js
+++ b/extensions/console/02_console.js
@@ -351,15 +351,22 @@
const entries = [];
let iter;
- // TODO(littledivy): Avoid re-checking iterable type
- if (ArrayIsArray(value) || isTypedArray(value)) {
- iter = ArrayPrototypeEntries(value);
- } else if (value instanceof Set) {
- iter = SetPrototypeEntries(value);
- } else if (value instanceof Map) {
- iter = MapPrototypeEntries(value);
- } else {
- throw new TypeError("Unreachable");
+ switch (options.typeName) {
+ case "Map":
+ iter = MapPrototypeEntries(value);
+ break;
+ case "Set":
+ iter = SetPrototypeEntries(value);
+ break;
+ case "Array":
+ iter = ArrayPrototypeEntries(value);
+ break;
+ default:
+ if (isTypedArray(value)) {
+ iter = ArrayPrototypeEntries(value);
+ } else {
+ throw new TypeError("unreachable");
+ }
}
let entriesLength = 0;