(data: Record<string, unknown>, compact: boolean)
| 20 | * Format output based on compact mode - omit null/empty, use single-line JSON |
| 21 | */ |
| 22 | export function formatOutput(data: Record<string, unknown>, compact: boolean): string { |
| 23 | if (compact) { |
| 24 | const filtered = Object.fromEntries( |
| 25 | Object.entries(data).filter(([_, v]: [string, unknown]) => { |
| 26 | if (v == null) return false |
| 27 | if (Array.isArray(v) && v.length === 0) return false |
| 28 | if (typeof v === 'object' && v !== null && !Array.isArray(v) && Object.keys(v).length === 0) return false |
| 29 | return true |
| 30 | }) |
| 31 | ) |
| 32 | return JSON.stringify(filtered) |
| 33 | } |
| 34 | return JSON.stringify(data, null, 2) |
| 35 | } |
| 36 | |
| 37 | export function isPythonBuiltin(name: string): boolean { |
| 38 | return PYTHON_BUILTINS.has(name) |
no outgoing calls
no test coverage detected