chore(tty): soft-remove Deno.isatty() (#25410)

Towards #22079
This commit is contained in:
Asher Gomez 2024-09-04 18:12:11 +10:00 committed by GitHub
parent cb454351d4
commit ac33fc2892
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 5 additions and 25 deletions

View File

@ -2875,25 +2875,6 @@ declare namespace Deno {
signal?: AbortSignal;
}
/**
* Check if a given resource id (`rid`) is a TTY (a terminal).
*
* ```ts
* // This example is system and context specific
* const nonTTYRid = Deno.openSync("my_file.txt").rid;
* const ttyRid = Deno.openSync("/dev/tty6").rid;
* console.log(Deno.isatty(nonTTYRid)); // false
* console.log(Deno.isatty(ttyRid)); // true
* ```
*
* @deprecated This will be soft-removed in Deno 2.0. See the
* {@link https://docs.deno.com/runtime/manual/advanced/migrate_deprecations | Deno 1.x to 2.x Migration Guide}
* for migration instructions.
*
* @category I/O
*/
export function isatty(rid: number): boolean;
/**
* A variable-sized buffer of bytes with `read()` and `write()` methods.
*

View File

@ -1,5 +1,5 @@
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { core, internals, primordials } from "ext:core/mod.js";
import { core, primordials } from "ext:core/mod.js";
import { op_console_size } from "ext:core/ops";
const {
Uint32Array,
@ -15,12 +15,9 @@ function consoleSize() {
return { columns: size[0], rows: size[1] };
}
// Note: This function was soft-removed in Deno 2. Its types have been removed,
// but its implementation has been kept to avoid breaking changes.
function isatty(rid) {
internals.warnOnDeprecatedApi(
"Deno.isatty()",
new Error().stack,
"Use `Deno.stdin.isTerminal()`, `Deno.stdout.isTerminal()`, `Deno.stderr.isTerminal()` or `Deno.FsFile.isTerminal()` instead.",
);
return isTerminal(rid);
}

View File

@ -20,6 +20,7 @@ Deno.test(
function isatty() {
// CI not under TTY, so cannot test stdin/stdout/stderr.
const f = Deno.openSync("tests/testdata/assets/hello.txt");
// @ts-ignore `Deno.isatty()` was soft-removed in Deno 2.
assert(!Deno.isatty(f.rid));
f.close();
},
@ -29,6 +30,7 @@ Deno.test(function isattyError() {
let caught = false;
try {
// Absurdly large rid.
// @ts-ignore `Deno.isatty()` was soft-removed in Deno 2.
Deno.isatty(0x7fffffff);
} catch (e) {
caught = true;