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 | 146x 146x 146x 146x 146x 146x 146x 146x 146x 146x 146x 146x 146x 146x 146x 146x 146x 146x 146x 146x 146x 146x 146x 146x 146x 146x 146x 146x 146x 687x 687x 687x 687x 592x 681x 35x 35x 1x 1x 34x 35x 95x 60x 30x 60x 60x 60x 60x 687x 3x 3x 686x 687x 146x | '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; |