mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
js: fix string.bytes codegen, readline, add tests for strings
(#12060)
This commit is contained in:
32
vlib/readline/readline_js.js.v
Normal file
32
vlib/readline/readline_js.js.v
Normal file
@@ -0,0 +1,32 @@
|
||||
module readline
|
||||
|
||||
#const $readline = require('readline')
|
||||
|
||||
struct Termios {}
|
||||
|
||||
// Only use standard os.get_line
|
||||
// Need implementation for readline capabilities
|
||||
//
|
||||
// read_line_utf8 blocks execution in a loop and awaits user input
|
||||
// characters from a terminal until `EOF` or `Enter` key is encountered
|
||||
// in the input stream.
|
||||
// read_line_utf8 returns the complete input line as an UTF-8 encoded `[]rune` or
|
||||
// an error if the line is empty.
|
||||
// The `prompt` `string` is output as a prefix text for the input capturing.
|
||||
// read_line_utf8 is the main method of the `readline` module and `Readline` struct.
|
||||
|
||||
pub fn (mut r Readline) read_line(prompt string) ?string {
|
||||
res := ''
|
||||
print(prompt)
|
||||
#const rl = $readline.createInterface({input: $process.stdin,output: $process.stdout,prompt: prompt.str})
|
||||
#rl.prompt()
|
||||
#rl.on('line', function (ans) { rl.prompt(); res.str = ans; rl.close();})
|
||||
|
||||
return res
|
||||
}
|
||||
|
||||
pub fn read_line(prompt string) ?string {
|
||||
mut r := Readline{}
|
||||
s := r.read_line(prompt) ?
|
||||
return s
|
||||
}
|
@@ -17,4 +17,4 @@ fn test_struct_readline() {
|
||||
// eprintln('methods: $methods')
|
||||
assert 'read_line_utf8' in methods
|
||||
assert 'read_line' in methods
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user