UNPKG

@aimee-blue/ab-service-kit

Version:
37 lines (36 loc) 1.87 kB
import { OperatorFunction, Observable } from 'rxjs'; import { BasicLogger } from './basicLogger'; import { TagNotification } from '../notifications'; export declare type LogNotification = TagNotification | 'audit'; export interface ILogTextParams { prefix: string; tags?: unknown[]; suffix?: unknown[]; } export declare type LogOn<K extends string = string> = Array<LogNotification | Observable<K>>; export interface ILogStreamParamsCore<T, Y> extends ILogTextParams { on?: LogOn; project?: (stream: Observable<T>) => Observable<Y>; logger?: BasicLogger; } export declare type LogTextParamsMap = Partial<Record<LogNotification, ILogTextParams>>; export declare type LogStreamParams<T, Y> = ILogStreamParamsCore<T, Y> & LogTextParamsMap; export declare type LogEventsArg<T, Y> = LogStreamParams<T, Y> | string; export declare function logEventsParams<T, Y>(arg: LogEventsArg<T, Y>, defaultLogger?: Readonly<{ log: (message?: unknown, ...parameters: unknown[]) => void; warn: (message?: unknown, ...parameters: unknown[]) => void; error: (message?: unknown, ...parameters: unknown[]) => void; }>): LogStreamParams<T, Y> & { logger: BasicLogger; }; export declare function logEvents<T, Y>(paramsRaw: LogEventsArg<T, Y>): OperatorFunction<T, T>; export declare type LogEventsOperator<T, Y> = (paramsRaw: LogEventsArg<T, Y>) => OperatorFunction<T, T>; export declare function createTaggedLogEvents(tags: unknown[], logger?: Readonly<{ log: (message?: unknown, ...parameters: unknown[]) => void; warn: (message?: unknown, ...parameters: unknown[]) => void; error: (message?: unknown, ...parameters: unknown[]) => void; }>): { <T, Y>(paramsRaw: LogEventsArg<T, Y>): OperatorFunction<T, T>; withTags(...extraTags: unknown[]): any; }; export declare type TaggedLogEventsOperator = ReturnType<typeof createTaggedLogEvents>;