summaryrefslogtreecommitdiff
path: root/runtime/js/11_workers.js
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/js/11_workers.js')
-rw-r--r--runtime/js/11_workers.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/runtime/js/11_workers.js b/runtime/js/11_workers.js
index f5548d8d1..bd0d1afc8 100644
--- a/runtime/js/11_workers.js
+++ b/runtime/js/11_workers.js
@@ -9,10 +9,12 @@ const {
ObjectPrototypeIsPrototypeOf,
String,
StringPrototypeStartsWith,
+ SymbolFor,
SymbolIterator,
SymbolToStringTag,
} = primordials;
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 { getLocationHref } from "ext:deno_web/12_location.js";
import { serializePermissions } from "ext:runtime/10_permissions.js";
@@ -242,9 +244,26 @@ class Worker extends EventTarget {
}
}
+ [SymbolFor("Deno.privateCustomInspect")](inspect, inspectOptions) {
+ return inspect(
+ createFilteredInspectProxy({
+ object: this,
+ evaluate: ObjectPrototypeIsPrototypeOf(WorkerPrototype, this),
+ keys: [
+ "onerror",
+ "onmessage",
+ "onmessageerror",
+ ],
+ }),
+ inspectOptions,
+ );
+ }
+
[SymbolToStringTag] = "Worker";
}
+const WorkerPrototype = Worker.prototype;
+
defineEventHandler(Worker.prototype, "error");
defineEventHandler(Worker.prototype, "message");
defineEventHandler(Worker.prototype, "messageerror");