(value: unknown)
| 29 | ]); |
| 30 | |
| 31 | function parseBoolean(value: unknown): boolean | undefined { |
| 32 | if (typeof value === "boolean") return value; |
| 33 | if (typeof value !== "string") return undefined; |
| 34 | const normalized = value.trim().toLowerCase(); |
| 35 | if (normalized === "true") return true; |
| 36 | if (normalized === "false") return false; |
| 37 | return undefined; |
| 38 | } |
| 39 | |
| 40 | function parseUnderlineStyle(value: unknown): UnderlineStyle | undefined { |
| 41 | if (typeof value === "string" && VALID_UNDERLINE_STYLES.has(value as UnderlineStyle)) { |