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

    Форматтеры

    Форматтеры преобразуют массив входных данных в строку. Все форматтеры наследуют абстрактный класс BaseFormatter.

    abstract class BaseFormatter<Input extends LoggerInput<T>, T = never> {
    public constructor(protected readonly separator: string = "\n") {}
    public execute(input: Input[]): string;
    public filter(input: LoggerInput[]): { can: Input[]; cannot: LoggerInput[] };
    public abstract canFormat(input: LoggerInput): boolean;
    protected abstract format(input: Input[]): string[];
    }
    • execute — применяет форматирование и соединяет результат через разделитель.
    • filter — разделяет входной массив на те элементы, которые может обработать форматтер, и остальные.
    • canFormat — проверяет, может ли форматтер обработать конкретное значение.
    • format — преобразует массив обработанных данных в массив строк.

    Вызывает toString() у объектов, которые имеют этот метод.

    class DefaultFormatter extends BaseFormatter<{ toString(): string }>
    

    Форматирует ошибки в строку с именем, сообщением, причиной (cause) и стеком.

    class ErrorFormatter extends BaseFormatter<Error>
    

    Преобразует null и undefined в строки "null" и "undefined".

    class NullableFormatter extends BaseFormatter<Nullable>
    

    Составной форматтер, который применяет массив форматтеров последовательно. Каждый форматтер обрабатывает свою часть данных. Если после всех форматтеров остались необработанные данные, они преобразуются через toString().

    class FormatterHandler extends BaseFormatter<LoggerInput> {
    public constructor(private readonly formatters: BaseFormatter<LoggerInput>[]);
    }