|
1 | 1 | import { noop } from "./_namespaces/ts";
|
2 | 2 |
|
3 |
| -type PerfLogger = typeof import("@microsoft/typescript-etw"); |
| 3 | +/** @internal */ |
| 4 | +interface PerfLogger { |
| 5 | + logEvent(msg: string): void; |
| 6 | + logErrEvent(msg: string): void; |
| 7 | + logPerfEvent(msg: string): void; |
| 8 | + logInfoEvent(msg: string): void; |
| 9 | + logStartCommand(command: string, msg: string): void; |
| 10 | + logStopCommand(command: string, msg: string): void; |
| 11 | + logStartUpdateProgram(msg: string): void; |
| 12 | + logStopUpdateProgram(msg: string): void; |
| 13 | + logStartUpdateGraph(): void; |
| 14 | + logStopUpdateGraph(): void; |
| 15 | + logStartResolveModule(name: string): void; |
| 16 | + logStopResolveModule(success: string): void; |
| 17 | + logStartParseSourceFile(filename: string): void; |
| 18 | + logStopParseSourceFile(): void; |
| 19 | + logStartReadFile(filename: string): void; |
| 20 | + logStopReadFile(): void; |
| 21 | + logStartBindFile(filename: string): void; |
| 22 | + logStopBindFile(): void; |
| 23 | + logStartScheduledOperation(operationId: string): void; |
| 24 | + logStopScheduledOperation(): void; |
| 25 | +} |
| 26 | + |
| 27 | +type ImportedPerfLogger = typeof import("@microsoft/typescript-etw"); |
| 28 | + |
| 29 | +// Assert that our PerfLogger type is compatible with the library. |
| 30 | +// TODO(jakebailey): remove this workaround for an api-extractor bug. |
| 31 | +const _perfLoggerCorrectType: PerfLogger extends ImportedPerfLogger ? true : false = true; |
| 32 | + |
| 33 | +// eslint-disable-next-line @typescript-eslint/no-unused-expressions |
| 34 | +_perfLoggerCorrectType; |
| 35 | + |
4 | 36 | const nullLogger: PerfLogger = {
|
5 | 37 | logEvent: noop,
|
6 | 38 | logErrEvent: noop,
|
|
0 commit comments