@docusign/iam-sdk
Version:
Developer-friendly & type-safe Typescript SDK specifically catered to leverage *@docusign/iam-sdk* API.
42 lines (32 loc) • 907 B
text/typescript
/*
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
*/
import { dlv } from "./dlv.js";
import * as z from "zod";
export interface Env {
DOCUSIGN_IAM_CLIENT_ACCESS_TOKEN?: string | undefined;
DOCUSIGN_IAM_CLIENT_DEBUG?: boolean | undefined;
}
export const envSchema: z.ZodType<Env, z.ZodTypeDef, unknown> = z.object({
DOCUSIGN_IAM_CLIENT_ACCESS_TOKEN: z.string().optional(),
DOCUSIGN_IAM_CLIENT_DEBUG: z.coerce.boolean().optional(),
});
let envMemo: Env | undefined = undefined;
/**
* Reads and validates environment variables.
*/
export function env(): Env {
if (envMemo) {
return envMemo;
}
envMemo = envSchema.parse(
dlv(globalThis, "process.env") ?? dlv(globalThis, "Deno.env") ?? {},
);
return envMemo;
}
/**
* Clears the cached env object. Useful for testing with a fresh environment.
*/
export function resetEnv() {
envMemo = undefined;
}