Files
singlechat/node_modules/concurrently/dist/src/logger.d.ts

73 lines
2.4 KiB
TypeScript

import * as Rx from 'rxjs';
import { Command, CommandIdentifier } from './command';
export declare class Logger {
private readonly hide;
private readonly raw;
private readonly prefixFormat?;
private readonly prefixLength;
private readonly timestampFormat;
/**
* Last character emitted.
* If `undefined`, then nothing has been logged yet.
*/
private lastChar?;
/**
* Observable that emits when there's been output logged.
* If `command` is is `undefined`, then the log is for a global event.
*/
readonly output: Rx.Subject<{
command: Command | undefined;
text: string;
}>;
constructor({ hide, prefixFormat, prefixLength, raw, timestampFormat, }: {
/**
* Which command(s) should have their output hidden.
*/
hide?: CommandIdentifier | CommandIdentifier[];
/**
* Whether output should be formatted to include prefixes and whether "event" logs will be
* logged.
*/
raw?: boolean;
/**
* The prefix format to use when logging a command's output.
* Defaults to the command's index.
*/
prefixFormat?: string;
/**
* How many characters should a prefix have at most, used when the prefix format is `command`.
*/
prefixLength?: number;
/**
* Date format used when logging date/time.
* @see https://date-fns.org/v2.0.1/docs/format
*/
timestampFormat?: string;
});
private shortenText;
private getPrefixesFor;
getPrefix(command: Command): string;
colorText(command: Command, text: string): string;
/**
* Logs an event for a command (e.g. start, stop).
*
* If raw mode is on, then nothing is logged.
*/
logCommandEvent(text: string, command: Command): void;
logCommandText(text: string, command: Command): void;
/**
* Logs a global event (e.g. sending signals to processes).
*
* If raw mode is on, then nothing is logged.
*/
logGlobalEvent(text: string): void;
/**
* Logs a table from an input object array, like `console.table`.
*
* Each row is a single input item, and they are presented in the input order.
*/
logTable(tableContents: Record<string, unknown>[]): void;
log(prefix: string, text: string, command?: Command): void;
emit(command: Command | undefined, text: string): void;
}