diff --git a/ext/console/01_console.js b/ext/console/01_console.js index 67c75f74d2c081..b3624ea7caa26e 100644 --- a/ext/console/01_console.js +++ b/ext/console/01_console.js @@ -136,6 +136,7 @@ const { WeakSetPrototypeHas, isNaN, } = primordials; +import { previewEntries } from "ext:deno_node/internal_binding/util.ts"; let noColor = () => false; @@ -1493,9 +1494,7 @@ function getIteratorBraces(type, tag) { const iteratorRegExp = new SafeRegExp(" Iterator] {$"); function formatIterator(braces, ctx, value, recurseTimes) { - // TODO(wafuwafu13): Implement - // const { 0: entries, 1: isKeyValue } = previewEntries(value, true); - const { 0: entries, 1: isKeyValue } = value; + const { 0: entries, 1: isKeyValue } = previewEntries(value, true); if (isKeyValue) { // Mark entry iterators as such. braces[0] = StringPrototypeReplace( @@ -1704,16 +1703,12 @@ function formatWeakCollection(ctx) { } function formatWeakSet(ctx, value, recurseTimes) { - // TODO(wafuwafu13): Implement - // const entries = previewEntries(value); - const entries = value; + const entries = previewEntries(value); return formatSetIterInner(ctx, recurseTimes, entries, kWeak); } function formatWeakMap(ctx, value, recurseTimes) { - // TODO(wafuwafu13): Implement - // const entries = previewEntries(value); - const entries = value; + const entries = previewEntries(value); return formatMapIterInner(ctx, recurseTimes, entries, kWeak); } diff --git a/ext/node/polyfills/internal/console/constructor.mjs b/ext/node/polyfills/internal/console/constructor.mjs index 5ea9eeb3a22f11..afa18bb97e4b68 100644 --- a/ext/node/polyfills/internal/console/constructor.mjs +++ b/ext/node/polyfills/internal/console/constructor.mjs @@ -17,17 +17,7 @@ import { validateInteger, validateObject, } from "ext:deno_node/internal/validators.mjs"; -const previewEntries = (iter, isKeyValue) => { - if (isKeyValue) { - const arr = [...iter]; - if (Array.isArray(arr[0]) && arr[0].length === 2) { - return [[].concat(...arr), true]; - } - return [arr, false]; - } else { - return [...iter]; - } -}; +import { previewEntries } from "ext:deno_node/internal_binding/util.ts"; import { Buffer } from "node:buffer"; const { isBuffer } = Buffer; import { @@ -475,7 +465,6 @@ const consoleMethods = { // https://console.spec.whatwg.org/#table table(tabularData, properties) { - console.log("tabularData", tabularData); if (properties !== undefined) { validateArray(properties, "properties"); } diff --git a/ext/node/polyfills/internal_binding/util.ts b/ext/node/polyfills/internal_binding/util.ts index 38eeebee007624..651fe9a4b67752 100644 --- a/ext/node/polyfills/internal_binding/util.ts +++ b/ext/node/polyfills/internal_binding/util.ts @@ -129,3 +129,18 @@ export function getOwnNonIndexProperties( } return result; } + +export function previewEntries( + iter: Iterable, + isKeyValue?: boolean, +): Array { + if (isKeyValue) { + const arr = [...iter]; + if (Array.isArray(arr[0]) && arr[0].length === 2) { + return [([] as unknown[]).concat(...arr), true]; + } + return [arr, false]; + } else { + return [...iter]; + } +}