Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /usr/lib/node_modules/npm/node_modules/read/lib/ drwxr-xr-x | |
| Viewing file: Select action/file-type: const readline = require('readline')
const Mute = require('mute-stream')
module.exports = async function read ({
default: def = '',
input = process.stdin,
output = process.stdout,
completer,
prompt = '',
silent,
timeout,
edit,
terminal,
replace,
}) {
if (typeof def !== 'undefined' && typeof def !== 'string' && typeof def !== 'number') {
throw new Error('default value must be string or number')
}
let editDef = false
prompt = prompt.trim() + ' '
terminal = !!(terminal || output.isTTY)
if (def) {
if (silent) {
prompt += '(<default hidden>) '
} else if (edit) {
editDef = true
} else {
prompt += '(' + def + ') '
}
}
const m = new Mute({ replace, prompt })
m.pipe(output, { end: false })
output = m
return new Promise((resolve, reject) => {
const rl = readline.createInterface({ input, output, terminal, silent: true, completer })
const timer = timeout && setTimeout(() => onError(new Error('timed out')), timeout)
output.unmute()
rl.setPrompt(prompt)
rl.prompt()
if (silent) {
output.mute()
} else if (editDef) {
rl.line = def
rl.cursor = def.length
rl._refreshLine()
}
const done = () => {
rl.close()
clearTimeout(timer)
output.mute()
output.end()
}
const onError = (er) => {
done()
reject(er)
}
rl.on('error', onError)
rl.on('line', (line) => {
if (silent && terminal) {
output.unmute()
}
done()
// truncate the \n at the end.
const res = line.replace(/\r?\n?$/, '') || def || ''
return resolve(res)
})
rl.on('SIGINT', () => {
rl.close()
onError(new Error('canceled'))
})
})
}
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0268 ]-- |