Files
breez-sdk-liquid/packages/wasm/examples/node/src/prompt.js
Ross Savage 46074feba7 Wasm: Add the remaining CLI commands for the node.js example (#861)
* Add the remaining CLI commands for the node.js example

* Address copilot feedback

* Fix typos

* Fix lnurl-pay

* Add send-payment payjoin option
2025-04-07 15:02:46 +00:00

46 lines
1.1 KiB
JavaScript

const readline = require('readline')
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
terminal: true
})
const confirm = (message) => {
return new Promise((resolve) => {
rl.question(`${message} (y/n): `, (answer) => {
resolve(answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes')
})
})
}
const prompt = (prompt) => {
return new Promise((resolve) => {
rl.question(`${prompt} > `, (command) => {
resolve(command)
})
})
}
const question = (message, parser) => {
return new Promise((resolve, reject) => {
rl.question(`${message}: `, (answer) => {
if (answer.length === 0) {
reject('No answer provided')
} else {
if (parser) {
try {
resolve(parser(answer))
} catch (e) {
reject('Invalid answer provided')
}
} else {
resolve(answer)
}
}
})
})
}
module.exports = { confirm, prompt, question }