(obj: T)
| 18 | } |
| 19 | |
| 20 | export function redactObject<T extends Record<string, unknown>>(obj: T): Record<string, unknown> { |
| 21 | const out: Record<string, unknown> = {}; |
| 22 | for (const [k, v] of Object.entries(obj)) { |
| 23 | if (v !== null && typeof v === 'object' && !Array.isArray(v)) { |
| 24 | out[k] = SENSITIVE_KEY_PATTERN.test(k) |
| 25 | ? '[redacted nested object]' |
| 26 | : redactObject(v as Record<string, unknown>); |
| 27 | } else { |
| 28 | out[k] = redactValue(k, v); |
| 29 | } |
| 30 | } |
| 31 | return out; |
| 32 | } |
no test coverage detected