```
export function truncate(text: string, limit: number): string {
  if (typeof limit !== 'number' || limit < 3 || !Number.isInteger(limit)) {
    throw new Error("limit must be an integer of at least 3");
  }
  
  if (text.length <= limit) return text;
  
  return text.slice(0, limit - 4) + "...";
}
```