From f946806868ad37624ae96d1b31b882216bb80000 Mon Sep 17 00:00:00 2001 From: Colin Ihrig Date: Wed, 9 Nov 2022 07:29:24 -0500 Subject: [PATCH] feat: stabilize Deno.networkInterfaces() (#16451) --- cli/dts/lib.deno.ns.d.ts | 37 ++++++++++++++++++++++++++++++++ cli/dts/lib.deno.unstable.d.ts | 39 ---------------------------------- runtime/js/90_deno_ns.js | 2 +- runtime/ops/os/mod.rs | 1 - 4 files changed, 38 insertions(+), 41 deletions(-) diff --git a/cli/dts/lib.deno.ns.d.ts b/cli/dts/lib.deno.ns.d.ts index 5e13a509f6..b64e78af2e 100644 --- a/cli/dts/lib.deno.ns.d.ts +++ b/cli/dts/lib.deno.ns.d.ts @@ -332,6 +332,43 @@ declare namespace Deno { */ export function loadavg(): number[]; + /** + * The information for a network interface returned from a call to + * {@linkcode Deno.networkInterfaces}. + * + * @category Network + */ + export interface NetworkInterfaceInfo { + /** The network interface name. */ + name: string; + /** The IP protocol version. */ + family: "IPv4" | "IPv6"; + /** The IP address bound to the interface. */ + address: string; + /** The netmask applied to the interface. */ + netmask: string; + /** The IPv6 scope id or `null`. */ + scopeid: number | null; + /** The CIDR range. */ + cidr: string; + /** The MAC address. */ + mac: string; + } + + /** + * Returns an array of the network interface information. + * + * ```ts + * console.log(Deno.networkInterfaces()); + * ``` + * + * Requires `allow-sys` permission. + * + * @tags allow-sys + * @category Network + */ + export function networkInterfaces(): NetworkInterfaceInfo[]; + /** Reflects the `NO_COLOR` environment variable at program start. * * When the value is `true`, the Deno CLI will attempt to not send color codes diff --git a/cli/dts/lib.deno.unstable.d.ts b/cli/dts/lib.deno.unstable.d.ts index 992e57185a..6c8497cec1 100644 --- a/cli/dts/lib.deno.unstable.d.ts +++ b/cli/dts/lib.deno.unstable.d.ts @@ -314,45 +314,6 @@ declare namespace Deno { swapFree: number; } - /** **UNSTABLE**: New API, yet to be vetted. - * - * The information for a network interface returned from a call to - * {@linkcode Deno.networkInterfaces}. - * - * @category Network - */ - export interface NetworkInterfaceInfo { - /** The network interface name. */ - name: string; - /** The IP protocol version. */ - family: "IPv4" | "IPv6"; - /** The IP address bound to the interface. */ - address: string; - /** The netmask applied to the interface. */ - netmask: string; - /** The IPv6 scope id or `null`. */ - scopeid: number | null; - /** The CIDR range. */ - cidr: string; - /** The MAC address. */ - mac: string; - } - - /** **UNSTABLE**: New API, yet to be vetted. - * - * Returns an array of the network interface information. - * - * ```ts - * console.log(Deno.networkInterfaces()); - * ``` - * - * Requires `allow-sys` permission. - * - * @tags allow-sys - * @category Network - */ - export function networkInterfaces(): NetworkInterfaceInfo[]; - /** **UNSTABLE**: New API, yet to be vetted. * * Returns the user id of the Deno process on POSIX platforms. Returns `null` diff --git a/runtime/js/90_deno_ns.js b/runtime/js/90_deno_ns.js index 69a0ad484c..a0587c7f60 100644 --- a/runtime/js/90_deno_ns.js +++ b/runtime/js/90_deno_ns.js @@ -121,13 +121,13 @@ unrefTimer: __bootstrap.timers.unrefTimer, osRelease: __bootstrap.os.osRelease, hostname: __bootstrap.os.hostname, + networkInterfaces: __bootstrap.os.networkInterfaces, consoleSize: __bootstrap.tty.consoleSize, }; __bootstrap.denoNsUnstable = { DiagnosticCategory: __bootstrap.diagnostics.DiagnosticCategory, systemMemoryInfo: __bootstrap.os.systemMemoryInfo, - networkInterfaces: __bootstrap.os.networkInterfaces, gid: __bootstrap.os.gid, uid: __bootstrap.os.uid, listenDatagram: __bootstrap.net.listenDatagram, diff --git a/runtime/ops/os/mod.rs b/runtime/ops/os/mod.rs index 3b46454035..275461cc1a 100644 --- a/runtime/ops/os/mod.rs +++ b/runtime/ops/os/mod.rs @@ -190,7 +190,6 @@ fn op_os_release(state: &mut OpState) -> Result { fn op_network_interfaces( state: &mut OpState, ) -> Result, AnyError> { - super::check_unstable(state, "Deno.networkInterfaces"); state .borrow_mut::() .sys