UNPKG

@unkey/api

Version:

Developer-friendly & type-safe Typescript SDK specifically catered to leverage *@unkey/api* API.

62 lines (49 loc) 1.35 kB
/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; export interface Env { UNKEY_ROOT_KEY?: string | undefined; UNKEY_DEBUG?: boolean | undefined; } export const envSchema: z.ZodType<Env, z.ZodTypeDef, unknown> = z.object({ UNKEY_ROOT_KEY: z.string().optional(), UNKEY_DEBUG: z.coerce.boolean().optional(), }); /** * Checks for the existence of the Deno global object to determine the environment. * @returns {boolean} True if the runtime is Deno, false otherwise. */ function isDeno() { if ("Deno" in globalThis) { return true; } return false; } let envMemo: Env | undefined = undefined; /** * Reads and validates environment variables. */ export function env(): Env { if (envMemo) { return envMemo; } const globals = globalThis as { Deno?: { env?: { toObject?: () => Record<string, string | undefined> } }; process?: { env?: Record<string, string | undefined> }; }; let envObject: Record<string, unknown> = {}; if (isDeno()) { envObject = globals.Deno?.env?.toObject?.() ?? {}; } else { envObject = globals.process?.env ?? {}; } envMemo = envSchema.parse(envObject); return envMemo; } /** * Clears the cached env object. Useful for testing with a fresh environment. */ export function resetEnv() { envMemo = undefined; }