From 7ce2b58bcf412924464578f3469c210b34894c8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Og=C3=B3rek?= Date: Tue, 27 Dec 2022 00:16:12 +0100 Subject: feat(unstable): Add "Deno.osUptime()" API (#17179) This PR adds support for `Deno.osUptime` which reports number of seconds since os was booted. It will allow us to be compatible with Node's `os.uptime` - https://nodejs.org/api/os.html#osuptime Partially based on https://docs.rs/uptime_lib/latest/src/uptime_lib/lib.rs.html --- cli/tsc/diagnostics.rs | 1 + cli/tsc/dts/lib.deno.ns.d.ts | 1 + cli/tsc/dts/lib.deno.unstable.d.ts | 15 +++++++++++++++ 3 files changed, 17 insertions(+) (limited to 'cli/tsc') diff --git a/cli/tsc/diagnostics.rs b/cli/tsc/diagnostics.rs index 4413398c2..8323fd7ac 100644 --- a/cli/tsc/diagnostics.rs +++ b/cli/tsc/diagnostics.rs @@ -46,6 +46,7 @@ const UNSTABLE_DENO_PROPS: &[&str] = &[ "ServeInit", "ServeTlsInit", "Handler", + "osUptime", ]; static MSG_MISSING_PROPERTY_DENO: Lazy = Lazy::new(|| { diff --git a/cli/tsc/dts/lib.deno.ns.d.ts b/cli/tsc/dts/lib.deno.ns.d.ts index fa68dc1bd..4dafd7388 100644 --- a/cli/tsc/dts/lib.deno.ns.d.ts +++ b/cli/tsc/dts/lib.deno.ns.d.ts @@ -4120,6 +4120,7 @@ declare namespace Deno { | "systemMemoryInfo" | "networkInterfaces" | "osRelease" + | "osUptime" | "uid" | "gid"; } diff --git a/cli/tsc/dts/lib.deno.unstable.d.ts b/cli/tsc/dts/lib.deno.unstable.d.ts index f1b8d99e9..77d350503 100644 --- a/cli/tsc/dts/lib.deno.unstable.d.ts +++ b/cli/tsc/dts/lib.deno.unstable.d.ts @@ -1691,6 +1691,21 @@ declare namespace Deno { /** The buffered output from the child process' `stderr`. */ readonly stderr: Uint8Array; } + + /** **UNSTABLE**: New API, yet to be vetted. + * + * Returns the Operating System uptime in number of seconds. + * + * ```ts + * console.log(Deno.osUptime()); + * ``` + * + * Requires `allow-sys` permission. + * + * @tags allow-sys + * @category Runtime Environment + */ + export function osUptime(): number; } /** **UNSTABLE**: New API, yet to be vetted. -- cgit v1.2.3