summaryrefslogtreecommitdiff
path: root/ext/io/12_io.js
diff options
context:
space:
mode:
authorAsher Gomez <ashersaupingomez@gmail.com>2024-01-24 10:01:56 +1100
committerGitHub <noreply@github.com>2024-01-24 00:01:56 +0100
commit4eedac3604dad9f366d28868077eb02eddc22661 (patch)
treedda70cd31e731aad73e986002ef30acb84692dc4 /ext/io/12_io.js
parent60688c563e6d02813b021ad91132fe1eb3f103b6 (diff)
feat: `Deno.{stdin,stdout,stderr}.isTerminal()`, deprecate `Deno.isatty()` (#22011)
This change: 1. Implements `Deno.stdin.isTerminal()`, `Deno.stdout.isTerminal()` and `Deno.stderr.isTerminal()`. 2. Deprecates `Deno.isatty()` for removal in Deno v2, in favour of the above instance methods. 3. Replaces use of `Deno.isatty()` with the above instance methods. Related #21995 --------- Co-authored-by: Bartek IwaƄczuk <biwanczuk@gmail.com> Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
Diffstat (limited to 'ext/io/12_io.js')
-rw-r--r--ext/io/12_io.js13
1 files changed, 13 insertions, 0 deletions
diff --git a/ext/io/12_io.js b/ext/io/12_io.js
index d9b91a947..9f4a3766b 100644
--- a/ext/io/12_io.js
+++ b/ext/io/12_io.js
@@ -7,6 +7,7 @@
import { core, primordials } from "ext:core/mod.js";
const {
op_stdin_set_raw,
+ op_is_terminal,
} = core.ensureFastOps(true);
const {
Uint8Array,
@@ -197,6 +198,10 @@ class Stdin {
const cbreak = !!(options.cbreak ?? false);
op_stdin_set_raw(mode, cbreak);
}
+
+ isTerminal() {
+ return op_is_terminal(this.rid);
+ }
}
class Stdout {
@@ -227,6 +232,10 @@ class Stdout {
}
return this.#writable;
}
+
+ isTerminal() {
+ return op_is_terminal(this.rid);
+ }
}
class Stderr {
@@ -257,6 +266,10 @@ class Stderr {
}
return this.#writable;
}
+
+ isTerminal() {
+ return op_is_terminal(this.rid);
+ }
}
const stdin = new Stdin();