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 59 60 61 | 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 616x 616x 616x 616x 522x 610x 34x 34x 1x 1x 33x 34x 94x 60x 30x 60x 60x 60x 60x 616x 3x 3x 615x 616x 137x | 'use strict'; const { ArrayPrototypeConcat, RegExpPrototypeExec, decodeURIComponent, } = primordials; const { getOptionValue } = require('internal/options'); const { fetchModule } = require('internal/modules/esm/fetch_module'); // Do not eagerly grab .manifest, it may be in TDZ const policy = getOptionValue('--experimental-policy') ? require('internal/process/policy') : null; const experimentalNetworkImports = getOptionValue('--experimental-network-imports'); const { Buffer: { from: BufferFrom } } = require('buffer'); const fs = require('internal/fs/promises').exports; const { URL } = require('internal/url'); const { ERR_INVALID_URL, ERR_UNSUPPORTED_ESM_URL_SCHEME, } = require('internal/errors').codes; const readFileAsync = fs.readFile; const DATA_URL_PATTERN = /^[^/]+\/[^,;]+(?:[^,]*?)(;base64)?,([\s\S]*)$/; async function defaultGetSource(url, context, defaultGetSource) { const parsed = new URL(url); let source; if (parsed.protocol === 'file:') { source = await readFileAsync(parsed); } else if (parsed.protocol === 'data:') { const match = RegExpPrototypeExec(DATA_URL_PATTERN, parsed.pathname); if (!match) { throw new ERR_INVALID_URL(url); } const { 1: base64, 2: body } = match; source = BufferFrom(decodeURIComponent(body), base64 ? 'base64' : 'utf8'); } else if (experimentalNetworkImports && ( parsed.protocol === 'https:' || parsed.protocol === 'http:' )) { const res = await fetchModule(parsed, context); source = await res.body; } else { throw new ERR_UNSUPPORTED_ESM_URL_SCHEME(parsed, ArrayPrototypeConcat([ 'file', 'data', experimentalNetworkImports ? ['https', 'http'] : [], ])); } if (policy?.manifest) { policy.manifest.assertIntegrity(parsed, source); } return source; } exports.defaultGetSource = defaultGetSource; |