| 58 | * `logger` replaces the default `ConsoleLogger`. |
| 59 | */ |
| 60 | export function resolveDebugOption( |
| 61 | debug: DebugOption | undefined, |
| 62 | ): InternalLogger { |
| 63 | if (debug === undefined) { |
| 64 | return new InternalLogger(new ConsoleLogger(), errorsOnlyCategories()) |
| 65 | } |
| 66 | if (debug === true) { |
| 67 | return new InternalLogger(new ConsoleLogger(), ALL_ON) |
| 68 | } |
| 69 | if (debug === false) { |
| 70 | return new InternalLogger(new ConsoleLogger(), ALL_OFF) |
| 71 | } |
| 72 | const { logger, ...cats }: DebugConfig = debug |
| 73 | const userLogger: Logger = logger ?? new ConsoleLogger() |
| 74 | return new InternalLogger(userLogger, resolveCategoriesFromPartial(cats)) |
| 75 | } |