mirror of
https://github.com/denoland/deno.git
synced 2025-03-03 09:31:22 -05:00
fix(op_crates): Don't use Deno.inspect
in op crates (#9332)
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
This commit is contained in:
parent
47b3e4bada
commit
900953a65a
10 changed files with 48 additions and 63 deletions
4
cli/tests/084_worker_custom_inspect.ts
Normal file
4
cli/tests/084_worker_custom_inspect.ts
Normal file
|
@ -0,0 +1,4 @@
|
|||
new Worker(
|
||||
new URL("084_worker_custom_inspect_worker.ts", import.meta.url).href,
|
||||
{ type: "module" },
|
||||
);
|
2
cli/tests/084_worker_custom_inspect.ts.out
Normal file
2
cli/tests/084_worker_custom_inspect.ts.out
Normal file
|
@ -0,0 +1,2 @@
|
|||
[WILDCARD]ReadableStream { locked: false }
|
||||
[WILDCARD]
|
2
cli/tests/084_worker_custom_inspect_worker.ts
Normal file
2
cli/tests/084_worker_custom_inspect_worker.ts
Normal file
|
@ -0,0 +1,2 @@
|
|||
console.log(new ReadableStream());
|
||||
close();
|
|
@ -2685,6 +2685,11 @@ console.log("finish");
|
|||
assert_eq!(out, "");
|
||||
}
|
||||
|
||||
itest!(_084_worker_custom_inspect {
|
||||
args: "run --allow-read 084_worker_custom_inspect.ts",
|
||||
output: "084_worker_custom_inspect.ts.out",
|
||||
});
|
||||
|
||||
itest!(js_import_detect {
|
||||
args: "run --quiet --reload js_import_detect.ts",
|
||||
output: "js_import_detect.ts.out",
|
||||
|
|
|
@ -124,9 +124,6 @@ unitTest(function eventInspectOutput(): void {
|
|||
];
|
||||
|
||||
for (const [event, outputProvider] of cases) {
|
||||
assertEquals(
|
||||
event[Symbol.for("Deno.customInspect")](),
|
||||
outputProvider(event),
|
||||
);
|
||||
assertEquals(Deno.inspect(event), outputProvider(event));
|
||||
}
|
||||
});
|
||||
|
|
|
@ -7,8 +7,6 @@
|
|||
"use strict";
|
||||
|
||||
((window) => {
|
||||
const customInspect = Symbol.for("Deno.customInspect");
|
||||
|
||||
class AssertionError extends Error {
|
||||
constructor(msg) {
|
||||
super(msg);
|
||||
|
@ -3224,10 +3222,8 @@
|
|||
return iterator;
|
||||
}
|
||||
|
||||
[customInspect]() {
|
||||
return `${this.constructor.name} ${
|
||||
Deno.inspect({ locked: this.locked })
|
||||
}`;
|
||||
[Symbol.for("Deno.customInspect")](inspect) {
|
||||
return `${this.constructor.name} ${inspect({ locked: this.locked })}`;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3308,8 +3304,8 @@
|
|||
readableStreamReaderGenericRelease(this);
|
||||
}
|
||||
|
||||
[customInspect]() {
|
||||
return `${this.constructor.name} { closed: ${String(this.closed)} }`;
|
||||
[Symbol.for("Deno.customInspect")](inspect) {
|
||||
return `${this.constructor.name} ${inspect({ closed: this.closed })}`;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3597,12 +3593,9 @@
|
|||
return this[_writable];
|
||||
}
|
||||
|
||||
[customInspect]() {
|
||||
[Symbol.for("Deno.customInspect")](inspect) {
|
||||
return `${this.constructor.name} ${
|
||||
Deno.inspect(
|
||||
{ readable: this.readable, writable: this.writable },
|
||||
{ depth: 1 },
|
||||
)
|
||||
inspect({ readable: this.readable, writable: this.writable })
|
||||
}`;
|
||||
}
|
||||
}
|
||||
|
@ -3736,10 +3729,8 @@
|
|||
return acquireWritableStreamDefaultWriter(this);
|
||||
}
|
||||
|
||||
[customInspect]() {
|
||||
return `${this.constructor.name} ${
|
||||
Deno.inspect({ locked: this.locked })
|
||||
}`;
|
||||
[Symbol.for("Deno.customInspect")](inspect) {
|
||||
return `${this.constructor.name} ${inspect({ locked: this.locked })}`;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -143,8 +143,8 @@
|
|||
});
|
||||
}
|
||||
|
||||
[Symbol.for("Deno.customInspect")]() {
|
||||
return buildCustomInspectOutput(this, EVENT_PROPS);
|
||||
[Symbol.for("Deno.customInspect")](inspect) {
|
||||
return buildCustomInspectOutput(this, EVENT_PROPS, inspect);
|
||||
}
|
||||
|
||||
get bubbles() {
|
||||
|
@ -387,14 +387,9 @@
|
|||
}
|
||||
}
|
||||
|
||||
function buildCustomInspectOutput(obj, props) {
|
||||
const inspectObj = {};
|
||||
|
||||
for (const prop of props) {
|
||||
inspectObj[prop] = obj[prop];
|
||||
}
|
||||
|
||||
return `${obj.constructor.name} ${Deno.inspect(inspectObj)}`;
|
||||
function buildCustomInspectOutput(object, keys, inspect) {
|
||||
const inspectObject = Object.fromEntries(keys.map((k) => [k, object[k]]));
|
||||
return `${object.constructor.name} ${inspect(inspectObject)}`;
|
||||
}
|
||||
|
||||
function defineEnumerableProps(
|
||||
|
@ -1041,7 +1036,7 @@
|
|||
return "ErrorEvent";
|
||||
}
|
||||
|
||||
[Symbol.for("Deno.customInspect")]() {
|
||||
[Symbol.for("Deno.customInspect")](inspect) {
|
||||
return buildCustomInspectOutput(this, [
|
||||
...EVENT_PROPS,
|
||||
"message",
|
||||
|
@ -1049,7 +1044,7 @@
|
|||
"lineno",
|
||||
"colno",
|
||||
"error",
|
||||
]);
|
||||
], inspect);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1095,13 +1090,13 @@
|
|||
this.#reason = reason;
|
||||
}
|
||||
|
||||
[Symbol.for("Deno.customInspect")]() {
|
||||
[Symbol.for("Deno.customInspect")](inspect) {
|
||||
return buildCustomInspectOutput(this, [
|
||||
...EVENT_PROPS,
|
||||
"wasClean",
|
||||
"code",
|
||||
"reason",
|
||||
]);
|
||||
], inspect);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1118,13 +1113,13 @@
|
|||
this.lastEventId = eventInitDict?.lastEventId ?? "";
|
||||
}
|
||||
|
||||
[Symbol.for("Deno.customInspect")]() {
|
||||
[Symbol.for("Deno.customInspect")](inspect) {
|
||||
return buildCustomInspectOutput(this, [
|
||||
...EVENT_PROPS,
|
||||
"data",
|
||||
"origin",
|
||||
"lastEventId",
|
||||
]);
|
||||
], inspect);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1146,11 +1141,11 @@
|
|||
return "CustomEvent";
|
||||
}
|
||||
|
||||
[Symbol.for("Deno.customInspect")]() {
|
||||
[Symbol.for("Deno.customInspect")](inspect) {
|
||||
return buildCustomInspectOutput(this, [
|
||||
...EVENT_PROPS,
|
||||
"detail",
|
||||
]);
|
||||
], inspect);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1169,13 +1164,13 @@
|
|||
this.total = eventInitDict?.total ?? 0;
|
||||
}
|
||||
|
||||
[Symbol.for("Deno.customInspect")]() {
|
||||
[Symbol.for("Deno.customInspect")](inspect) {
|
||||
return buildCustomInspectOutput(this, [
|
||||
...EVENT_PROPS,
|
||||
"lengthComputable",
|
||||
"loaded",
|
||||
"total",
|
||||
]);
|
||||
], inspect);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -522,7 +522,7 @@
|
|||
class URL {
|
||||
#searchParams = null;
|
||||
|
||||
[Symbol.for("Deno.customInspect")]() {
|
||||
[Symbol.for("Deno.customInspect")](inspect) {
|
||||
const object = {
|
||||
href: this.href,
|
||||
origin: this.origin,
|
||||
|
@ -536,12 +536,7 @@
|
|||
hash: this.hash,
|
||||
search: this.search,
|
||||
};
|
||||
if (typeof globalThis?.Deno?.inspect == "function") {
|
||||
return `URL ${Deno.inspect(object)}`;
|
||||
}
|
||||
return `URL { ${
|
||||
Object.entries(object).map(([k, v]) => `${k}: ${v}`).join(", ")
|
||||
} }`;
|
||||
return `${this.constructor.name} ${inspect(object)}`;
|
||||
}
|
||||
|
||||
#updateSearchParams = () => {
|
||||
|
|
|
@ -166,7 +166,7 @@
|
|||
enumerable: true,
|
||||
},
|
||||
[Symbol.for("Deno.customInspect")]: {
|
||||
value: function () {
|
||||
value: function (inspect) {
|
||||
const object = {
|
||||
hash: this.hash,
|
||||
host: this.host,
|
||||
|
@ -178,12 +178,7 @@
|
|||
protocol: this.protocol,
|
||||
search: this.search,
|
||||
};
|
||||
if (typeof globalThis?.Deno?.inspect == "function") {
|
||||
return `Location ${Deno.inspect(object)}`;
|
||||
}
|
||||
return `Location { ${
|
||||
Object.entries(object).map(([k, v]) => `${k}: ${v}`).join(", ")
|
||||
} }`;
|
||||
return `${this.constructor.name} ${inspect(object)}`;
|
||||
},
|
||||
},
|
||||
});
|
||||
|
@ -328,7 +323,7 @@
|
|||
configurable: true,
|
||||
},
|
||||
[Symbol.for("Deno.customInspect")]: {
|
||||
value: function () {
|
||||
value: function (inspect) {
|
||||
const object = {
|
||||
hash: this.hash,
|
||||
host: this.host,
|
||||
|
@ -340,12 +335,7 @@
|
|||
protocol: this.protocol,
|
||||
search: this.search,
|
||||
};
|
||||
if (typeof globalThis?.Deno?.inspect == "function") {
|
||||
return `WorkerLocation ${Deno.inspect(object)}`;
|
||||
}
|
||||
return `WorkerLocation { ${
|
||||
Object.entries(object).map(([k, v]) => `${k}: ${v}`).join(", ")
|
||||
} }`;
|
||||
return `${this.constructor.name} ${inspect(object)}`;
|
||||
},
|
||||
},
|
||||
});
|
||||
|
|
|
@ -873,7 +873,11 @@
|
|||
nonUniqueCustomInspect in value &&
|
||||
typeof value[nonUniqueCustomInspect] === "function"
|
||||
) {
|
||||
return String(value[nonUniqueCustomInspect]());
|
||||
// TODO(nayeemrmn): `inspect` is passed as an argument because custom
|
||||
// inspect implementations in `op_crates` need it, but may not have access
|
||||
// to the `Deno` namespace in web workers. Remove when the `Deno`
|
||||
// namespace is always enabled.
|
||||
return String(value[nonUniqueCustomInspect](inspect));
|
||||
}
|
||||
if (value instanceof Error) {
|
||||
return String(value.stack);
|
||||
|
|
Loading…
Add table
Reference in a new issue