diff options
Diffstat (limited to 'lib/inspector.js')
-rw-r--r-- | lib/inspector.js | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/inspector.js b/lib/inspector.js index 198d87ae44..08cf938999 100644 --- a/lib/inspector.js +++ b/lib/inspector.js @@ -9,6 +9,7 @@ const { ERR_INSPECTOR_NOT_AVAILABLE, ERR_INSPECTOR_NOT_CONNECTED, ERR_INSPECTOR_NOT_ACTIVE, + ERR_INSPECTOR_NOT_WORKER, ERR_INVALID_ARG_TYPE, ERR_INVALID_CALLBACK } = require('internal/errors').codes; @@ -20,8 +21,11 @@ if (!hasInspector) const EventEmitter = require('events'); const { validateString } = require('internal/validators'); const util = require('util'); +const { isMainThread } = require('worker_threads'); + const { Connection, + MainThreadConnection, open, url, waitForDebugger @@ -47,6 +51,16 @@ class Session extends EventEmitter { new Connection((message) => this[onMessageSymbol](message)); } + connectToMainThread() { + if (isMainThread) + throw new ERR_INSPECTOR_NOT_WORKER(); + if (this[connectionSymbol]) + throw new ERR_INSPECTOR_ALREADY_CONNECTED('The inspector session'); + this[connectionSymbol] = + new MainThreadConnection( + (message) => queueMicrotask(() => this[onMessageSymbol](message))); + } + [onMessageSymbol](message) { const parsed = JSON.parse(message); try { |