Complete worked example
typescript
function parsePageSize(raw:unknown):number|undefined{
if(typeof raw !== "string" || raw.trim() === "")return undefined;
const value=Number(raw);return Number.isInteger(value)&&value>=1&&value<=100?value:undefined;
}- Reasoning
- The parser defines accepted text, numeric bounds and absence behavior explicitly.