diff options
Diffstat (limited to 'v_windows/v/vlib/os/os_js.js.v')
-rw-r--r-- | v_windows/v/vlib/os/os_js.js.v | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/v_windows/v/vlib/os/os_js.js.v b/v_windows/v/vlib/os/os_js.js.v new file mode 100644 index 0000000..008a7c1 --- /dev/null +++ b/v_windows/v/vlib/os/os_js.js.v @@ -0,0 +1,127 @@ +module os + +pub fn mkdir(path string) ?bool { + $if js_node { + if path == '.' { + return true + } + #$fs.mkdirSync(path.valueOf()) + + return true + } $else { + return false + } +} + +pub fn is_dir(path string) bool { + res := false + $if js_node { + #res.val = $fs.existsSync(path,str) && $fs.lstatSync(path.str).isDirectory() + } + return res +} + +pub fn is_link(path string) bool { + res := false + $if js_node { + #res.val = $fs.existsSync(path.str) && $fs.lstatSync(path.str).isSymbolicLink() + } + return res +} + +pub fn exists(path string) bool { + res := false + $if js_node { + #res.val = $fs.existsSync(path.str) + } + return res +} + +pub fn ls(path string) ?[]string { + if !is_dir(path) { + return error('ls(): cannot open dir $dir') + } + + result := []string{} + $if js_node { + #let i = 0 + #$fs.readdirSync(path.str).forEach((path) => result.arr[i++] = new builtin.string(path)) + } + return result +} + +pub fn get_raw_line() string { + return '' +} + +pub fn executable() string { + return '' +} + +pub fn is_executable(path string) bool { + eprintln('TODO: There is no isExecutable on fs.stats') + return false +} + +pub fn rmdir(path string) ? { + $if js_node { + err := '' + #try { + #$fs.rmdirSync(path.str) + #return; + #} catch (e) { + #err.str = 'Failed to remove "' + path.str + '": ' + e.toString() + #} + + return error(err) + } +} + +pub fn rm(path string) ? { + $if js_node { + err := '' + #try { + #$fs.rmSync(path.str) + #return; + #} catch (e) { + #err.str = 'Failed to remove "' + path.str + '": ' + e.toString() + #} + + return error(err) + } +} + +pub fn cp(src string, dst string) ? { + $if js_node { + err := '' + #try { + #$fs.cpSync(src.str,dst.str); + #return; + #} catch (e) { + #err.str = 'failed to copy ' + src.str + ' to ' + dst.str + ': ' + e.toString(); + #} + + return error(err) + } +} + +pub fn read_file(s string) ?string { + mut err := '' + err = err + res := '' + #try { + #res.str = $fs.readFileSync(s.str).toString() + #} catch (e) { + #err.str = 'Failed to read file: ' + e.toString() + #return error(err) + #} + + return res +} + +pub fn getwd() string { + res := '' + #res.str = $process.cwd() + + return res +} |