File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11import { CloudFormationClient , ListExportsCommand } from "@aws-sdk/client-cloudformation"
22
3- export function getConfigFromEnvVar ( varName : string ) : string {
3+ export function getConfigFromEnvVar ( varName : string , defaultValue : string | undefined = undefined ) : string {
44 const value = process . env [ varName ]
55 if ( ! value ) {
6+ if ( defaultValue ) {
7+ return defaultValue
8+ }
69 throw new Error ( `Environment variable ${ varName } is not set` )
710 }
811 return value
912}
1013
11- export function getBooleanConfigFromEnvVar ( varName : string ) : boolean {
12- const value = getConfigFromEnvVar ( varName )
14+ export function getBooleanConfigFromEnvVar ( varName : string , defaultValue : string | undefined = undefined ) : boolean {
15+ const value = getConfigFromEnvVar ( varName , defaultValue )
1316 return value . toLowerCase ( ) === "true"
1417}
1518
16- export function getNumberConfigFromEnvVar ( varName : string ) : number {
17- const value = getConfigFromEnvVar ( varName )
19+ export function getNumberConfigFromEnvVar ( varName : string , defaultValue : string | undefined = undefined ) : number {
20+ const value = getConfigFromEnvVar ( varName , defaultValue )
1821 return Number ( value )
1922}
2023
Original file line number Diff line number Diff line change @@ -102,6 +102,12 @@ describe("config helpers", () => {
102102 . toThrow ( "Environment variable MISSING is not set" )
103103 } )
104104
105+ test ( "getConfigFromEnvVar uses the default value when provided" , ( ) => {
106+ delete process . env . OPTIONAL
107+
108+ expect ( getConfigFromEnvVar ( "OPTIONAL" , "defaultValue" ) ) . toBe ( "defaultValue" )
109+ } )
110+
105111 test ( "getBooleanConfigFromEnvVar maps string booleans" , ( ) => {
106112 process . env . FEATURE_FLAG = "true"
107113 process . env . OTHER_FLAG = "false"
You can’t perform that action at this time.
0 commit comments