export function readOptionalString(value: unknown): string | null { return typeof value === "string" && value.length > 0 ? value : null; } export function readPositiveNumber(value: unknown): number | null { if (typeof value === "number" && Number.isFinite(value) && value > 0) { return value; } if (typeof value !== "string" || value.trim() === "") { return null; } const parsed = Number.parseFloat(value); return Number.isFinite(parsed) && parsed > 0 ? parsed : null; }