()
| 180 | } |
| 181 | |
| 182 | async render() { |
| 183 | let size = this.state.size; |
| 184 | |
| 185 | let prefix = await this.prefix(); |
| 186 | let separator = await this.separator(); |
| 187 | let message = await this.message(); |
| 188 | |
| 189 | let prompt = [prefix, message, separator].filter(Boolean).join(' '); |
| 190 | this.state.prompt = prompt; |
| 191 | |
| 192 | let header = await this.header(); |
| 193 | let output = await this.format(); |
| 194 | let help = (await this.error()) || (await this.hint()); |
| 195 | let footer = await this.footer(); |
| 196 | |
| 197 | if (help && !output.includes(help)) output += ' ' + help; |
| 198 | prompt += ' ' + output; |
| 199 | |
| 200 | this.clear(size); |
| 201 | this.write([header, prompt, footer].filter(Boolean).join('\n')); |
| 202 | this.restore(); |
| 203 | } |
| 204 | } |
| 205 | |
| 206 | module.exports = StringPrompt; |
no test coverage detected