mirror of
https://github.com/nodejs/node.git
synced 2025-05-10 03:12:57 +00:00

Use the V8 inspector protocol, if available, to query the list of lexically scoped variables (defined with `let`, `const` or `class`). PR-URL: https://github.com/nodejs/node/pull/16591 Fixes: https://github.com/nodejs/node/issues/983 Reviewed-By: Timothy Gu <timothygu99@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
26 lines
525 B
JavaScript
26 lines
525 B
JavaScript
'use strict';
|
|
|
|
const hasInspector = process.config.variables.v8_enable_inspector === 1;
|
|
const inspector = hasInspector ? require('inspector') : undefined;
|
|
|
|
let session;
|
|
|
|
function sendInspectorCommand(cb, onError) {
|
|
if (!hasInspector) return onError();
|
|
if (session === undefined) session = new inspector.Session();
|
|
try {
|
|
session.connect();
|
|
try {
|
|
return cb(session);
|
|
} finally {
|
|
session.disconnect();
|
|
}
|
|
} catch (e) {
|
|
return onError();
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
sendInspectorCommand
|
|
};
|