/home/techb158/.nvm/versions/node/v16.20.2/lib/node_modules/npm/lib/utils
NameSizeModeActions
completion/-0755rm
config/-0755rm
ansi-trim.js1730644editdlrm
audit-error.js9780644editdlrm
cmd-list.js25190644editdlrm
completion.sh18980755editdlrm
did-you-mean.js14980644editdlrm
display.js29080644editdlrm
error-message.js129450644editdlrm
exit-handler.js69290644editdlrm
explain-dep.js38230644editdlrm
explain-eresolve.js26180644editdlrm
format-bytes.js6290644editdlrm
format-search-stream.js40230644editdlrm
get-identity.js7400644editdlrm
is-windows.js2330644editdlrm
log-file.js78270644editdlrm
log-shim.js17180644editdlrm
npm-usage.js19990644editdlrm
open-url-prompt.js15760644editdlrm
open-url.js12020644editdlrm
otplease.js12610644editdlrm
ping.js2520644editdlrm
pulse-till-done.js4120644editdlrm
queryable.js98070644editdlrm
read-user-info.js20370644editdlrm
reify-finish.js8760644editdlrm
reify-output.js50810644editdlrm
replace-info.js8070644editdlrm
tar.js38190644editdlrm
timers.js32570644editdlrm
update-notifier.js45590644editdlrm
validate-lockfile.js10230644editdlrm
web-auth.js5580644editdlrm
Edit: /home/techb158/.nvm/versions/node/v16.20.2/lib/node_modules/npm/lib/utils/replace-info.js (807B)
const { cleanUrl } = require('npm-registry-fetch') const isString = (v) => typeof v === 'string' // split on \s|= similar to how nopt parses options const splitAndReplace = (str) => { // stateful regex, don't move out of this scope const splitChars = /[\s=]/g let match = null let result = '' let index = 0 while (match = splitChars.exec(str)) { result += cleanUrl(str.slice(index, match.index)) + match[0] index = splitChars.lastIndex } return result + cleanUrl(str.slice(index)) } // replaces auth info in an array of arguments or in a strings function replaceInfo (arg) { if (isString(arg)) { return splitAndReplace(arg) } else if (Array.isArray(arg)) { return arg.map((a) => isString(a) ? splitAndReplace(a) : a) } return arg } module.exports = replaceInfo