mirror of
				https://github.com/shivammathur/setup-php.git
				synced 2025-10-31 15:26:23 +07:00 
			
		
		
		
	Prioritize with over env for inputs
This commit is contained in:
		
							
								
								
									
										31
									
								
								src/utils.ts
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								src/utils.ts
									
									
									
									
									
								
							| @ -2,6 +2,21 @@ import * as fs from 'fs'; | ||||
| import * as path from 'path'; | ||||
| import * as core from '@actions/core'; | ||||
|  | ||||
| /** | ||||
|  * Function to read environment variable and return a string value. | ||||
|  * | ||||
|  * @param property | ||||
|  */ | ||||
| export async function readEnv(property: string): Promise<string> { | ||||
|   const value = process.env[property]; | ||||
|   switch (value) { | ||||
|     case undefined: | ||||
|       return ''; | ||||
|     default: | ||||
|       return value; | ||||
|   } | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * Function to get inputs from both with and env annotations. | ||||
|  * | ||||
| @ -12,13 +27,17 @@ export async function getInput( | ||||
|   name: string, | ||||
|   mandatory: boolean | ||||
| ): Promise<string> { | ||||
|   const input = process.env[name]; | ||||
|   switch (input) { | ||||
|     case '': | ||||
|     case undefined: | ||||
|       return core.getInput(name, {required: mandatory}); | ||||
|     default: | ||||
|   const input = core.getInput(name); | ||||
|   const env_input = await readEnv(name); | ||||
|   switch (true) { | ||||
|     case input != '': | ||||
|       return input; | ||||
|     case input == '' && env_input != '': | ||||
|       return env_input; | ||||
|     case input == '' && env_input == '' && mandatory: | ||||
|       throw new Error(`Input required and not supplied: ${name}`); | ||||
|     default: | ||||
|       return ''; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Shivam Mathur
					Shivam Mathur