* Parse a flag that must be a positive integer (>= 1) when supplied. * Negative values or non-integers fail loudly instead of flowing into * the SDK and producing opaque AWS validation errors mid-render.
(raw: unknown, flagName: string)
| 429 | * the SDK and producing opaque AWS validation errors mid-render. |
| 430 | */ |
| 431 | function parsePositiveInt(raw: unknown, flagName: string): number | undefined { |
| 432 | const n = parseIntFlag(raw); |
| 433 | if (n === undefined) return undefined; |
| 434 | if (!Number.isInteger(n) || n < 1) { |
| 435 | throw new Error(`[lambda] ${flagName} must be a positive integer; got ${n}`); |
| 436 | } |
| 437 | return n; |
| 438 | } |
| 439 | |
| 440 | /** |
| 441 | * Parse a string-union flag against a closed set of allowed values. |