@@ -281,40 +281,44 @@ export function envVarDirective(
281281 name = resolved ;
282282 }
283283
284- let resolvedValue = process . env [ name ] ;
285-
286- if ( ! resolvedValue && name === 'APP_CONFIG_ENV' ) {
287- resolvedValue = envType ;
288- }
289-
290- if ( resolvedValue ) {
284+ const parseValue = ( value : string ) => {
291285 if ( parseInt ) {
292- const parsed = Number . parseInt ( resolvedValue , 10 ) ;
286+ const parsed = Number . parseInt ( value , 10 ) ;
293287
294288 if ( Number . isNaN ( parsed ) ) {
295- throw new AppConfigError ( `Failed to parseInt(${ resolvedValue } )` ) ;
289+ throw new AppConfigError ( `Failed to parseInt(${ value } )` ) ;
296290 }
297291
298292 return parse ( parsed , { shouldFlatten : true } ) ;
299293 }
300294
301295 if ( parseFloat ) {
302- const parsed = Number . parseFloat ( resolvedValue ) ;
296+ const parsed = Number . parseFloat ( value ) ;
303297
304298 if ( Number . isNaN ( parsed ) ) {
305- throw new AppConfigError ( `Failed to parseFloat(${ resolvedValue } )` ) ;
299+ throw new AppConfigError ( `Failed to parseFloat(${ value } )` ) ;
306300 }
307301
308302 return parse ( parsed , { shouldFlatten : true } ) ;
309303 }
310304
311305 if ( parseBool ) {
312- const parsed = resolvedValue . toLowerCase ( ) !== 'false' && resolvedValue !== '0' ;
306+ const parsed = value . toLowerCase ( ) !== 'false' && value !== '0' ;
313307
314308 return parse ( parsed , { shouldFlatten : true } ) ;
315309 }
316310
317- return parse ( resolvedValue , { shouldFlatten : true } ) ;
311+ return parse ( value , { shouldFlatten : true } ) ;
312+ } ;
313+
314+ let resolvedValue = process . env [ name ] ;
315+
316+ if ( ! resolvedValue && name === 'APP_CONFIG_ENV' ) {
317+ resolvedValue = envType ;
318+ }
319+
320+ if ( resolvedValue ) {
321+ return parseValue ( resolvedValue ) ;
318322 }
319323
320324 if ( typeof value === 'object' && value . fallback !== undefined ) {
@@ -327,7 +331,7 @@ export function envVarDirective(
327331 validateString ( fallback , [ ...ctx , key , [ InObject , 'fallback' ] ] ) ;
328332 }
329333
330- return parse ( fallback , { shouldFlatten : true } ) ;
334+ return parseValue ( fallback ) ;
331335 }
332336
333337 throw new AppConfigError ( `$envVar could not find ${ name } environment variable` ) ;
0 commit comments