UNPKG

easy-setup

Version:
36 lines (35 loc) 1.15 kB
/** * Gets the value of an input. * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed. * Returns an empty string if the value is not defined. * * @param name name of the input to get * @param options optional. See InputOptions. * @returns string */ export function getInput(name, options) { const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || ''; if (options && options.required && !val) { throw new Error(`Input required and not supplied: ${name}`); } if (options && options.trimWhitespace === false) { return val; } return val.trim(); } /** * Gets the values of an multiline input. Each value is also trimmed. * * @param name name of the input to get * @param options optional. See InputOptions. * @returns string[] */ export function getMultilineInput(name, options) { const inputs = getInput(name, options) .split('\n') .filter((x) => x !== ''); if (options && options.trimWhitespace === false) { return inputs; } return inputs.map((input) => input.trim()); }