fock-logger - v7.0.1
    Preparing search index...

    Типы и интерфейсы

    Основные типы экспортируются из пакета. Ниже приведены наиболее важные.

    Тип данных, которые можно передать в логгер. Может быть объектом с toString(), null/undefined, ошибкой или пользовательским типом T.

    type LoggerInput<T = never> = Prettify<
    { toString(): string } | Nullable | Error | T
    >;

    Настройки уровней логирования.

    export type LoggerLevels<Levels extends Record<string, number>> = {
    readonly levels: Levels;
    readonly level: keyof Levels;
    };

    Контекст вызова (включает уровень и флаги).

    type LoggerContext<Levels extends Record<string, number>> =
    BaseLoggerContext & {
    readonly level: keyof Levels;
    };

    Базовая часть контекста.

    type BaseLoggerContext = {
    readonly separator?: string;
    readonly writeFile?: boolean;
    readonly log?: boolean;
    };

    Параметры конструктора логгера.

    type LoggerConstructor<Levels extends Record<string, number>, T = never> = {
    readonly timestampService?: TimestampServiceType;
    readonly fileService?: FileServiceType;
    readonly formatterHandler?: BaseFormatter<LoggerInput<T>, T>;
    readonly name: string;
    readonly userInputSettings?: Partial<UserInputSettings>;
    readonly baseLevels: LoggerLevels<Levels>;
    readonly baseContext?: BaseLoggerContext;
    };

    Настройки для пользовательского ввода.

    type UserInputSettings = {
    readonly prefix: string;
    readonly separator: string;
    };

    Интерфейс файлового сервиса.

    type FileServiceType = {
    read(): Promise<string>;
    write(data: string): Promise<boolean>;
    overwrite(data: string): Promise<void>;
    delete(): Promise<void>;
    close(): void;
    };

    Интерфейс сервиса временных меток.

    type TimestampServiceType = {
    execute(date?: Date): string;
    };

    Интерфейс для обёртки строки.

    type WrapperType = {
    execute(value: string): string;
    };

    Интерфейс для включаемых/выключаемых компонентов.

    type TurnableType<Type, Return = Type> = {
    readonly enabled: boolean;
    execute(value: Type, use?: boolean): Return;
    enable(): void;
    disable(): void;
    turn(on: boolean): void;
    };

    Типы для аффиксов.

    type Affix = "prefix" | "suffix";
    type AffixType = { execute(affix: string, value: string): string };
    type AffixHandlerType<Affixes extends AffixType[]> = {
    execute(affixes: AllToString<Affixes>, value: string): string;
    };

    Входной параметр для методов execute и read.

    type InputParameter<T = never> = LoggerInput<T> | LoggerInput<T>[];
    

    Настройки для метода read.

    type LoggerReadListeners = {
    onReadable?: () => void;
    onError?: (error: unknown) => void;
    onEnd?: () => void;
    onData?: (chunk: unknown) => void;
    onStart?: () => void;
    };

    type LoggerReadListenersParameter = {
    listeners?: (input: ReadStream) => LoggerReadListeners;
    };

    type LoggerReadConfigurationParameter<Levels extends string> =
    LoggerBaseConfigurationParameter<Levels> & LoggerReadListenersParameter;