INNER CODE UNIT · TypeScript
parseIntegerInput
cloudposse/atmos · .github/actions/stopwatch/src/index.ts:65
function parseIntegerInput(name: string, minimum: number, maximum = Number.MAX_SAFE_INTEGER): number {
const value = Number.parseInt(getInput(name), 10);
if (!Number.isInteger(value) || value < minimum || value > maximum) {
throw new Error(`${name} must be an integer between ${minimum} and ${maximum}`);
}
return value;
}
/** Writes a multiline-safe GitHub Actions output. */
async function setOutput(name: string, value: string | number | boolean): Promise<void> {
const outputFile = process.env.GITHUB_OUTPUT;
if (outputFile === undefined || outputFile === "") {
console.log(`${name}=${value}`);
return;
}
const delimiter = `ghadelimiter_${randomUUID()}`;
await appendFile(outputFile, `${name}<<${delimiter}\n${value}\n${delimiter}\n`, "utf8");