summaryrefslogtreecommitdiff
path: root/runtime/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 /runtime/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 'runtime/js')
-rw-r--r--runtime/js/40_tty.js13
-rw-r--r--runtime/js/41_prompt.js7
2 files changed, 12 insertions, 8 deletions
diff --git a/runtime/js/40_tty.js b/runtime/js/40_tty.js
index e94fc0374..97e35e0c3 100644
--- a/runtime/js/40_tty.js
+++ b/runtime/js/40_tty.js
@@ -1,9 +1,9 @@
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
-import { core, primordials } from "ext:core/mod.js";
+import { core, internals, primordials } from "ext:core/mod.js";
const {
op_console_size,
- op_isatty,
-} = core.ensureFastOps();
+ op_is_terminal,
+} = core.ensureFastOps(true);
const {
Uint32Array,
} = primordials;
@@ -16,7 +16,12 @@ function consoleSize() {
}
function isatty(rid) {
- return op_isatty(rid);
+ internals.warnOnDeprecatedApi(
+ "Deno.isatty()",
+ new Error().stack,
+ "Use `stdStream.isTerminal()` instead.",
+ );
+ return op_is_terminal(rid);
}
export { consoleSize, isatty };
diff --git a/runtime/js/41_prompt.js b/runtime/js/41_prompt.js
index fce1ac9ac..d0e065538 100644
--- a/runtime/js/41_prompt.js
+++ b/runtime/js/41_prompt.js
@@ -9,14 +9,13 @@ const {
Uint8Array,
} = primordials;
-import { isatty } from "ext:runtime/40_tty.js";
import { stdin } from "ext:deno_io/12_io.js";
const LF = StringPrototypeCharCodeAt("\n", 0);
const CR = StringPrototypeCharCodeAt("\r", 0);
function alert(message = "Alert") {
- if (!isatty(stdin.rid)) {
+ if (!stdin.isTerminal()) {
return;
}
@@ -26,7 +25,7 @@ function alert(message = "Alert") {
}
function confirm(message = "Confirm") {
- if (!isatty(stdin.rid)) {
+ if (!stdin.isTerminal()) {
return false;
}
@@ -40,7 +39,7 @@ function confirm(message = "Confirm") {
function prompt(message = "Prompt", defaultValue) {
defaultValue ??= "";
- if (!isatty(stdin.rid)) {
+ if (!stdin.isTerminal()) {
return null;
}