eFromNode) { const { consoleCall, console: consoleFromVM } = internalBinding('inspector'); for (const key of ObjectKeys(consoleFromVM)) { // If global console has the same method as inspector console, // then wrap these two methods into one. Native wrapper will preserve // the original stack. if (ObjectPrototypeHasOwnProperty(consoleFromNode, key)) { consoleFromNode[key] = FunctionPrototypeBind( consoleCall, consoleFromNode, consoleFromVM[key], consoleFromNode[key], ); ObjectDefineProperty(consoleFromNode[key], 'name', { __proto__: null, value: key, }); } else { // Add additional console APIs from the inspector consoleFromNode[key] = consoleFromVM[key]; } } } module.exports = { getInspectPort, installConsoleExtensions, isInspectorMessage, isUsingInspector, sendInspectorCommand, wrapConsole, };