@stryker-mutator/core
Version:
The extendable JavaScript mutation testing framework
29 lines • 3.7 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_1 in "loggingServer" | "getLogger" | "logger" | keyof T]: K_1 extends "loggingServer" ? LoggingServer : K_1 extends "getLogger" | "logger" | keyof T ? ({ [K_3 in "getLogger" | "logger" | keyof T]: K_3 extends "logger" ? Logger : K_3 extends "getLogger" | keyof T ? ({ [K_5 in "getLogger" | keyof T]: K_5 extends "getLogger" ? (categoryName?: string) => Logger : K_5 extends keyof T ? T[K_5] : never; } extends infer T_7 ? { [K_4 in keyof T_7]: { [K_5 in "getLogger" | keyof T]: K_5 extends "getLogger" ? (categoryName?: string) => Logger : K_5 extends keyof T ? T[K_5] : never; }[K_4]; } : never)[K_3] : never; } extends infer T_5 ? { [K_2 in keyof T_5]: { [K_3 in "getLogger" | "logger" | keyof T]: K_3 extends "logger" ? Logger : K_3 extends "getLogger" | keyof T ? ({ [K_5 in "getLogger" | keyof T]: K_5 extends "getLogger" ? (categoryName?: string) => Logger : K_5 extends keyof T ? T[K_5] : never; } extends infer T_6 ? { [K_4 in keyof T_6]: { [K_5 in "getLogger" | keyof T]: K_5 extends "getLogger" ? (categoryName?: string) => Logger : K_5 extends keyof T ? T[K_5] : never; }[K_4]; } : never)[K_3] : never; }[K_2]; } : never)[K_1] : never; } extends infer T_1 ? { [K in keyof T_1]: { [K_1 in "loggingServer" | "getLogger" | "logger" | keyof T]: K_1 extends "loggingServer" ? LoggingServer : K_1 extends "getLogger" | "logger" | keyof T ? ({ [K_3 in "getLogger" | "logger" | keyof T]: K_3 extends "logger" ? Logger : K_3 extends "getLogger" | keyof T ? ({ [K_5 in "getLogger" | keyof T]: K_5 extends "getLogger" ? (categoryName?: string) => Logger : K_5 extends keyof T ? T[K_5] : never; } extends infer T_4 ? { [K_4 in keyof T_4]: { [K_5 in "getLogger" | keyof T]: K_5 extends "getLogger" ? (categoryName?: string) => Logger : K_5 extends keyof T ? T[K_5] : never; }[K_4]; } : never)[K_3] : never; } extends infer T_2 ? { [K_2 in keyof T_2]: { [K_3 in "getLogger" | "logger" | keyof T]: K_3 extends "logger" ? Logger : K_3 extends "getLogger" | keyof T ? ({ [K_5 in "getLogger" | keyof T]: K_5 extends "getLogger" ? (categoryName?: string) => Logger : K_5 extends keyof T ? T[K_5] : never; } extends infer T_3 ? { [K_4 in keyof T_3]: { [K_5 in "getLogger" | keyof T]: K_5 extends "getLogger" ? (categoryName?: string) => Logger : K_5 extends keyof T ? T[K_5] : never; }[K_4]; } : never)[K_3] : never; }[K_2]; } : never)[K_1] : never; }[K]; } : never>;
export declare namespace provideLogging {
var inject: readonly ["loggingSink", "$injector"];
}
export declare function provideLoggingBackend(injector: Injector): Promise<Injector<{
loggingServerAddress: LoggingServerAddress;
loggingSink: LoggingBackend;
loggingServer: LoggingServer;
}>>;
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<{
loggingServerAddress: LoggingServerAddress;
loggerActiveLevel: LogLevel;
loggingSink: LoggingClient;
}>>;
//# sourceMappingURL=provide-logging.d.ts.map