From e6c49d14b1ea6331d2e13f7a0b74a0e41c142596 Mon Sep 17 00:00:00 2001 From: Leo Kettmeir Date: Mon, 9 Jan 2023 20:19:55 +0100 Subject: feat(runtime/os): add `Deno.env.has()` (#17315) --- cli/tests/unit/os_test.ts | 7 +++++++ cli/tsc/dts/lib.deno.ns.d.ts | 13 +++++++++++++ 2 files changed, 20 insertions(+) (limited to 'cli') diff --git a/cli/tests/unit/os_test.ts b/cli/tests/unit/os_test.ts index 81f912bcc..667c3cc81 100644 --- a/cli/tests/unit/os_test.ts +++ b/cli/tests/unit/os_test.ts @@ -26,6 +26,13 @@ Deno.test({ permissions: { env: true } }, function deleteEnv() { assertEquals(Deno.env.get("TEST_VAR"), undefined); }); +Deno.test({ permissions: { env: true } }, function hasEnv() { + Deno.env.set("TEST_VAR", "A"); + assert(Deno.env.has("TEST_VAR")); + Deno.env.delete("TEST_VAR"); + assert(!Deno.env.has("TEST_VAR")); +}); + Deno.test({ permissions: { env: true } }, function avoidEmptyNamedEnv() { assertThrows(() => Deno.env.set("", "v"), TypeError); assertThrows(() => Deno.env.set("a=a", "v"), TypeError); diff --git a/cli/tsc/dts/lib.deno.ns.d.ts b/cli/tsc/dts/lib.deno.ns.d.ts index ab53a064e..5941a5d57 100644 --- a/cli/tsc/dts/lib.deno.ns.d.ts +++ b/cli/tsc/dts/lib.deno.ns.d.ts @@ -1231,6 +1231,19 @@ declare namespace Deno { */ delete(key: string): void; + /** Check whether an environment variable is present or not. + * + * ```ts + * Deno.env.set("SOME_VAR", "Value"); + * Deno.env.has("SOME_VAR"); // outputs true + * ``` + * + * Requires `allow-env` permission. + * + * @tags allow-env + */ + has(key: string): boolean; + /** Returns a snapshot of the environment variables at invocation as a * simple object of keys and values. * -- cgit v1.2.3