1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-21 15:04:11 -05:00

feat: deprecate Deno.Listener.rid (#22076)

For removal in Deno v2.
This commit is contained in:
Asher Gomez 2024-01-25 04:52:55 +11:00 committed by GitHub
parent f5097d9d3b
commit abaffad028
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 15 additions and 5 deletions

View file

@ -1,6 +1,6 @@
// 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 {
BadResourcePrototype,
InterruptedPrototype,
@ -216,6 +216,11 @@ class Listener {
}
get rid() {
internals.warnOnDeprecatedApi(
"Deno.Listener.rid",
new Error().stack,
"Use `Deno.Listener` instance methods instead.",
);
return this.#rid;
}
@ -227,10 +232,10 @@ class Listener {
let promise;
switch (this.addr.transport) {
case "tcp":
promise = op_net_accept_tcp(this.rid);
promise = op_net_accept_tcp(this.#rid);
break;
case "unix":
promise = op_net_accept_unix(this.rid);
promise = op_net_accept_unix(this.#rid);
break;
default:
throw new Error(`Unsupported transport: ${this.addr.transport}`);
@ -276,7 +281,7 @@ class Listener {
}
close() {
core.close(this.rid);
core.close(this.#rid);
}
[SymbolDispose]() {

View file

@ -35,7 +35,12 @@ declare namespace Deno {
/** Return the address of the `Listener`. */
readonly addr: Addr;
/** Return the rid of the `Listener`. */
/**
* Return the rid of the `Listener`.
*
* @deprecated Use {@linkcode Deno.Listener} instance methods instead.
* {@linkcode Deno.Listener.rid} will be removed in Deno 2.0.
*/
readonly rid: number;
[Symbol.asyncIterator](): AsyncIterableIterator<T>;