Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x | 'use strict'; // User passed `-e` or `--eval` arguments to Node without `-i` or // `--interactive`. const { ObjectDefineProperty, RegExpPrototypeExec, globalThis, } = primordials; const { prepareMainThreadExecution, markBootstrapComplete } = require('internal/process/pre_execution'); const { evalModule, evalScript } = require('internal/process/execution'); const { addBuiltinLibsToObject } = require('internal/modules/cjs/helpers'); const { getOptionValue } = require('internal/options'); prepareMainThreadExecution(); addBuiltinLibsToObject(globalThis, '<eval>'); markBootstrapComplete(); const source = getOptionValue('--eval'); const print = getOptionValue('--print'); const loadESM = getOptionValue('--import').length > 0; if (getOptionValue('--input-type') === 'module') evalModule(source, print); else { // For backward compatibility, we want the identifier crypto to be the // `node:crypto` module rather than WebCrypto. const isUsingCryptoIdentifier = getOptionValue('--experimental-global-webcrypto') && RegExpPrototypeExec(/\bcrypto\b/, source) !== null; const shouldDefineCrypto = isUsingCryptoIdentifier && internalBinding('config').hasOpenSSL; if (isUsingCryptoIdentifier && !shouldDefineCrypto) { // This is taken from `addBuiltinLibsToObject`. const object = globalThis; const name = 'crypto'; const setReal = (val) => { // Deleting the property before re-assigning it disables the // getter/setter mechanism. delete object[name]; object[name] = val; }; ObjectDefineProperty(object, name, { __proto__: null, set: setReal }); } evalScript('[eval]', shouldDefineCrypto ? ( print ? `let crypto=require("node:crypto");{${source}}` : `(crypto=>{{${source}}})(require('node:crypto'))` ) : source, getOptionValue('--inspect-brk'), print, loadESM); } |