///
declare namespace signale {
type DefaultMethods =
| "await"
| "complete"
| "error"
| "debug"
| "fatal"
| "fav"
| "info"
| "note"
| "pause"
| "pending"
| "star"
| "start"
| "success"
| "warn"
| "watch"
| "log";
interface CommandType {
/** The icon corresponding to the logger. */
badge: string;
/**
* The color of the label, can be any of the foreground colors supported by
* [chalk](https://github.com/chalk/chalk#colors).
*/
color: string;
/** The label used to identify the type of the logger. */
label: string;
logLevel?: string | undefined;
stream?: NodeJS.WriteStream | NodeJS.WriteStream[] | undefined;
}
interface SignaleConfig {
/** Display the scope name of the logger. */
displayScope?: boolean | undefined;
/** Display the badge of the logger. */
displayBadge?: boolean | undefined;
/** Display the current local date in `YYYY-MM-DD` format. */
displayDate?: boolean | undefined;
/** Display the name of the file that the logger is reporting from. */
displayFilename?: boolean | undefined;
/** Display the label of the logger. */
displayLabel?: boolean | undefined;
/** Display the current local time in `HH:MM:SS` format. */
displayTimestamp?: boolean | undefined;
/** Underline the logger label. */
underlineLabel?: boolean | undefined;
/** Underline the logger message. */
underlineMessage?: boolean | undefined;
underlinePrefix?: boolean | undefined;
underlineSuffix?: boolean | undefined;
uppercaseLabel?: boolean | undefined;
}
interface SignaleOptions {
/** Sets the configuration of an instance overriding any existing global or local configuration. */
config?: SignaleConfig | undefined;
disabled?: boolean | undefined;
/**
* Name of the scope.
*/
scope?: string | undefined;
/**
* Holds the configuration of the custom and default loggers.
*/
types?: Partial> | undefined;
interactive?: boolean | undefined;
logLevel?: string | undefined;
timers?: Map | undefined;
/**
* Destination to which the data is written, can be any valid
* [Writable stream](https://nodejs.org/api/stream.html#stream_writable_streams).
*/
stream?: NodeJS.WriteStream | NodeJS.WriteStream[] | undefined;
secrets?: Array | undefined;
}
interface SignaleConstructor {
new(options?: SignaleOptions): Signale;
}
interface SignaleBase {
/**
* Sets the configuration of an instance overriding any existing global or local configuration.
*
* @param configObj Can hold any of the documented options.
*/
config(configObj: SignaleConfig): Signale;
/**
* Defines the scope name of the logger.
*
* @param name Can be one or more comma delimited strings.
*/
scope(...name: string[]): Signale;
/** Clears the scope name of the logger. */
unscope(): void;
/**
* Sets a timers and accepts an optional label. If none provided the timer will receive a unique label automatically.
*
* @param label Label corresponding to the timer. Each timer must have its own unique label.
* @returns a string corresponding to the timer label.
*/
time(label?: string): string;
/**
* Deactivates the timer to which the given label corresponds. If no label
* is provided the most recent timer, that was created without providing a
* label, will be deactivated.
*
* @param label Label corresponding to the timer, each timer has its own unique label.
* @param span Total running time.
*/
timeEnd(label?: string, span?: number): { label: string; span?: number | undefined };
/**
* Disables the logging functionality of all loggers belonging to a specific instance.
*/
disable(): void;
/**
* Enables the logging functionality of all loggers belonging to a specific instance.
*/
enable(): void;
/**
* Checks whether the logging functionality of a specific instance is enabled.
*
* @returns a boolean that describes whether or not the logger is enabled.
*/
isEnabled(): boolean;
/**
* Adds new secrets/sensitive-information to the targeted Signale instance.
*
* @param secrets Array holding the secrets/sensitive-information to be filtered out.
*/
addSecrets(secrets: string[] | number[]): void;
/**
* Removes all secrets/sensitive-information from the targeted Signale instance.
*/
clearSecrets(): void;
}
type LoggerFunc = (message?: any, ...optionalArgs: any[]) => void;
type Signale =
& SignaleBase
& Record
& Record;
}
declare const signale: signale.Signale & {
Signale: signale.SignaleConstructor;
SignaleConfig: signale.SignaleConfig;
SignaleOptions: signale.SignaleOptions;
DefaultMethods: signale.DefaultMethods;
};
export = signale;