Skip to content
File

Blob: src/sites/static-renderer/attrs.ts

typescript15 lines
1export function readOptionalString(value: unknown): string | null {
2 return typeof value === "string" && value.length > 0 ? value : null;
3}
4 
5export function readPositiveNumber(value: unknown): number | null {
6 if (typeof value === "number" && Number.isFinite(value) && value > 0) {
7 return value;
8 }
9 if (typeof value !== "string" || value.trim() === "") {
10 return null;
11 }
12 const parsed = Number.parseFloat(value);
13 return Number.isFinite(parsed) && parsed > 0 ? parsed : null;
14}