@stryker-mutator/core
Version:
The extendable JavaScript mutation testing framework
30 lines • 2.03 kB
TypeScript
import { Injector } from 'typed-inject';
import { LoggingSink } from './logging-sink.js';
import { Logger } from '@stryker-mutator/api/logging';
import { coreTokens } from '../di/index.js';
import { LoggingServer, LoggingServerAddress } from './logging-server.js';
import { LoggingBackend } from './logging-backend.js';
import { LoggingClient } from './logging-client.js';
import { LogLevel } from '@stryker-mutator/api/core';
export declare function provideLogging<T extends {
[coreTokens.loggingSink]: LoggingSink;
}>(injector: Injector<T>): Injector<{ [K in "getLogger" | "logger" | "loggingServer" | keyof T]: K extends "loggingServer" ? LoggingServer : K extends "getLogger" | "logger" | keyof T ? ({ [K_1 in "getLogger" | "logger" | keyof T]: K_1 extends "logger" ? Logger : K_1 extends "getLogger" | keyof T ? ({ [K_2 in "getLogger" | keyof T]: K_2 extends "getLogger" ? (categoryName?: string) => Logger : K_2 extends keyof T ? T[K_2] : never; } extends infer T_3 ? { [K_2 in keyof T_3]: T_3[K_2]; } : never)[K_1] : never; } extends infer T_2 ? { [K_1 in keyof T_2]: T_2[K_1]; } : never)[K] : never; } extends infer T_1 ? { [K in keyof T_1]: T_1[K]; } : never>;
export declare namespace provideLogging {
var inject: readonly ["loggingSink", "$injector"];
}
export declare function provideLoggingBackend(injector: Injector, loggerConsoleOut: NodeJS.WriteStream): Promise<Injector<{
loggerConsoleOut: NodeJS.WriteStream;
loggingServer: LoggingServer;
loggingServerAddress: LoggingServerAddress;
loggingSink: LoggingBackend;
}>>;
export declare namespace provideLoggingBackend {
var inject: readonly ["$injector"];
}
export type LoggingProvider = ReturnType<typeof provideLogging>;
export declare function provideLoggingClient(injector: Injector, loggingServerAddress: LoggingServerAddress, activeLogLevel: LogLevel): Promise<Injector<{
loggerActiveLevel: LogLevel;
loggingServerAddress: LoggingServerAddress;
loggingSink: LoggingClient;
}>>;
//# sourceMappingURL=provide-logging.d.ts.map