diff options
Diffstat (limited to 'ext/fetch')
-rw-r--r-- | ext/fetch/20_headers.js | 15 | ||||
-rw-r--r-- | ext/fetch/21_formdata.js | 12 | ||||
-rw-r--r-- | ext/fetch/23_request.js | 27 | ||||
-rw-r--r-- | ext/fetch/23_response.js | 33 | ||||
-rw-r--r-- | ext/fetch/27_eventsource.js | 21 |
5 files changed, 75 insertions, 33 deletions
diff --git a/ext/fetch/20_headers.js b/ext/fetch/20_headers.js index b99758de5..d03751d08 100644 --- a/ext/fetch/20_headers.js +++ b/ext/fetch/20_headers.js @@ -26,7 +26,9 @@ const { ArrayPrototypeSort, ArrayPrototypeJoin, ArrayPrototypeSplice, + ObjectFromEntries, ObjectHasOwn, + ObjectPrototypeIsPrototypeOf, RegExpPrototypeTest, Symbol, SymbolFor, @@ -441,13 +443,14 @@ class Headers { } } - [SymbolFor("Deno.privateCustomInspect")](inspect) { - const headers = {}; - // deno-lint-ignore prefer-primordials - for (const header of this) { - headers[header[0]] = header[1]; + [SymbolFor("Deno.privateCustomInspect")](inspect, inspectOptions) { + if (ObjectPrototypeIsPrototypeOf(HeadersPrototype, this)) { + return `${this.constructor.name} ${ + inspect(ObjectFromEntries(this), inspectOptions) + }`; + } else { + return `${this.constructor.name} ${inspect({}, inspectOptions)}`; } - return `Headers ${inspect(headers)}`; } } diff --git a/ext/fetch/21_formdata.js b/ext/fetch/21_formdata.js index 84d31898e..12ce2bb58 100644 --- a/ext/fetch/21_formdata.js +++ b/ext/fetch/21_formdata.js @@ -26,10 +26,12 @@ const { MapPrototypeSet, MathRandom, ObjectFreeze, + ObjectFromEntries, ObjectPrototypeIsPrototypeOf, SafeMap, SafeRegExp, Symbol, + SymbolFor, StringFromCharCode, StringPrototypeCharCodeAt, StringPrototypeTrim, @@ -262,6 +264,16 @@ class FormData { ArrayPrototypePush(list, entry); } } + + [SymbolFor("Deno.privateCustomInspect")](inspect, inspectOptions) { + if (ObjectPrototypeIsPrototypeOf(FormDataPrototype, this)) { + return `${this.constructor.name} ${ + inspect(ObjectFromEntries(this), inspectOptions) + }`; + } else { + return `${this.constructor.name} ${inspect({}, inspectOptions)}`; + } + } } webidl.mixinPairIterable("FormData", FormData, entryList, "name", "value"); diff --git a/ext/fetch/23_request.js b/ext/fetch/23_request.js index bbaf886a6..b78ed07be 100644 --- a/ext/fetch/23_request.js +++ b/ext/fetch/23_request.js @@ -483,18 +483,21 @@ class Request { ); } - [SymbolFor("Deno.customInspect")](inspect) { - return inspect(createFilteredInspectProxy({ - object: this, - evaluate: ObjectPrototypeIsPrototypeOf(RequestPrototype, this), - keys: [ - "bodyUsed", - "headers", - "method", - "redirect", - "url", - ], - })); + [SymbolFor("Deno.privateCustomInspect")](inspect, inspectOptions) { + return inspect( + createFilteredInspectProxy({ + object: this, + evaluate: ObjectPrototypeIsPrototypeOf(RequestPrototype, this), + keys: [ + "bodyUsed", + "headers", + "method", + "redirect", + "url", + ], + }), + inspectOptions, + ); } } diff --git a/ext/fetch/23_response.js b/ext/fetch/23_response.js index 83fad403a..0b37c1229 100644 --- a/ext/fetch/23_response.js +++ b/ext/fetch/23_response.js @@ -408,21 +408,24 @@ class Response { return second; } - [SymbolFor("Deno.customInspect")](inspect) { - return inspect(createFilteredInspectProxy({ - object: this, - evaluate: ObjectPrototypeIsPrototypeOf(ResponsePrototype, this), - keys: [ - "body", - "bodyUsed", - "headers", - "ok", - "redirected", - "status", - "statusText", - "url", - ], - })); + [SymbolFor("Deno.privateCustomInspect")](inspect, inspectOptions) { + return inspect( + createFilteredInspectProxy({ + object: this, + evaluate: ObjectPrototypeIsPrototypeOf(ResponsePrototype, this), + keys: [ + "body", + "bodyUsed", + "headers", + "ok", + "redirected", + "status", + "statusText", + "url", + ], + }), + inspectOptions, + ); } } diff --git a/ext/fetch/27_eventsource.js b/ext/fetch/27_eventsource.js index 6e35bb693..1db65d748 100644 --- a/ext/fetch/27_eventsource.js +++ b/ext/fetch/27_eventsource.js @@ -5,6 +5,7 @@ const core = globalThis.Deno.core; import * as webidl from "ext:deno_webidl/00_webidl.js"; +import { createFilteredInspectProxy } from "ext:deno_console/01_console.js"; import { URL } from "ext:deno_url/00_url.js"; import DOMException from "ext:deno_web/01_dom_exception.js"; import { @@ -25,6 +26,7 @@ const { NumberIsFinite, NumberIsNaN, ObjectDefineProperties, + ObjectPrototypeIsPrototypeOf, Promise, StringPrototypeEndsWith, StringPrototypeIncludes, @@ -34,6 +36,7 @@ const { StringPrototypeStartsWith, StringPrototypeToLowerCase, Symbol, + SymbolFor, } = primordials; // Copied from https://github.com/denoland/deno_std/blob/e0753abe0c8602552862a568348c046996709521/streams/text_line_stream.ts#L20-L74 @@ -345,6 +348,24 @@ class EventSource extends EventTarget { } } } + + [SymbolFor("Deno.privateCustomInspect")](inspect, inspectOptions) { + return inspect( + createFilteredInspectProxy({ + object: this, + evaluate: ObjectPrototypeIsPrototypeOf(EventSourcePrototype, this), + keys: [ + "readyState", + "url", + "withCredentials", + "onopen", + "onmessage", + "onerror", + ], + }), + inspectOptions, + ); + } } const EventSourcePrototype = EventSource.prototype; |