diff options
Diffstat (limited to 'runtime/rt/40_tty.js')
-rw-r--r-- | runtime/rt/40_tty.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/runtime/rt/40_tty.js b/runtime/rt/40_tty.js new file mode 100644 index 000000000..598d33237 --- /dev/null +++ b/runtime/rt/40_tty.js @@ -0,0 +1,28 @@ +// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. + +((window) => { + const core = window.Deno.core; + + function consoleSize(rid) { + return core.jsonOpSync("op_console_size", { rid }); + } + + function isatty(rid) { + return core.jsonOpSync("op_isatty", { rid }); + } + + const DEFAULT_SET_RAW_OPTIONS = { + cbreak: false, + }; + + function setRaw(rid, mode, options = {}) { + const rOptions = { ...DEFAULT_SET_RAW_OPTIONS, ...options }; + core.jsonOpSync("op_set_raw", { rid, mode, options: rOptions }); + } + + window.__bootstrap.tty = { + consoleSize, + isatty, + setRaw, + }; +})(this); |