134 lines
5.8 KiB
TypeScript
134 lines
5.8 KiB
TypeScript
declare module "console" {
|
|
import { InspectOptions } from 'util';
|
|
|
|
global {
|
|
// This needs to be global to avoid TS2403 in case lib.dom.d.ts is present in the same build
|
|
interface Console {
|
|
Console: NodeJS.ConsoleConstructor;
|
|
/**
|
|
* A simple assertion test that verifies whether `value` is truthy.
|
|
* If it is not, an `AssertionError` is thrown.
|
|
* If provided, the error `message` is formatted using `util.format()` and used as the error message.
|
|
*/
|
|
assert(value: any, message?: string, ...optionalParams: any[]): void;
|
|
/**
|
|
* When `stdout` is a TTY, calling `console.clear()` will attempt to clear the TTY.
|
|
* When `stdout` is not a TTY, this method does nothing.
|
|
*/
|
|
clear(): void;
|
|
/**
|
|
* Maintains an internal counter specific to `label` and outputs to `stdout` the number of times `console.count()` has been called with the given `label`.
|
|
*/
|
|
count(label?: string): void;
|
|
/**
|
|
* Resets the internal counter specific to `label`.
|
|
*/
|
|
countReset(label?: string): void;
|
|
/**
|
|
* The `console.debug()` function is an alias for {@link console.log()}.
|
|
*/
|
|
debug(message?: any, ...optionalParams: any[]): void;
|
|
/**
|
|
* Uses {@link util.inspect()} on `obj` and prints the resulting string to `stdout`.
|
|
* This function bypasses any custom `inspect()` function defined on `obj`.
|
|
*/
|
|
dir(obj: any, options?: InspectOptions): void;
|
|
/**
|
|
* This method calls {@link console.log()} passing it the arguments received. Please note that this method does not produce any XML formatting
|
|
*/
|
|
dirxml(...data: any[]): void;
|
|
/**
|
|
* Prints to `stderr` with newline.
|
|
*/
|
|
error(message?: any, ...optionalParams: any[]): void;
|
|
/**
|
|
* Increases indentation of subsequent lines by two spaces.
|
|
* If one or more `label`s are provided, those are printed first without the additional indentation.
|
|
*/
|
|
group(...label: any[]): void;
|
|
/**
|
|
* The `console.groupCollapsed()` function is an alias for {@link console.group()}.
|
|
*/
|
|
groupCollapsed(...label: any[]): void;
|
|
/**
|
|
* Decreases indentation of subsequent lines by two spaces.
|
|
*/
|
|
groupEnd(): void;
|
|
/**
|
|
* The {@link console.info()} function is an alias for {@link console.log()}.
|
|
*/
|
|
info(message?: any, ...optionalParams: any[]): void;
|
|
/**
|
|
* Prints to `stdout` with newline.
|
|
*/
|
|
log(message?: any, ...optionalParams: any[]): void;
|
|
/**
|
|
* This method does not display anything unless used in the inspector.
|
|
* Prints to `stdout` the array `array` formatted as a table.
|
|
*/
|
|
table(tabularData: any, properties?: string[]): void;
|
|
/**
|
|
* Starts a timer that can be used to compute the duration of an operation. Timers are identified by a unique `label`.
|
|
*/
|
|
time(label?: string): void;
|
|
/**
|
|
* Stops a timer that was previously started by calling {@link console.time()} and prints the result to `stdout`.
|
|
*/
|
|
timeEnd(label?: string): void;
|
|
/**
|
|
* For a timer that was previously started by calling {@link console.time()}, prints the elapsed time and other `data` arguments to `stdout`.
|
|
*/
|
|
timeLog(label?: string, ...data: any[]): void;
|
|
/**
|
|
* Prints to `stderr` the string 'Trace :', followed by the {@link util.format()} formatted message and stack trace to the current position in the code.
|
|
*/
|
|
trace(message?: any, ...optionalParams: any[]): void;
|
|
/**
|
|
* The {@link console.warn()} function is an alias for {@link console.error()}.
|
|
*/
|
|
warn(message?: any, ...optionalParams: any[]): void;
|
|
|
|
// --- Inspector mode only ---
|
|
/**
|
|
* This method does not display anything unless used in the inspector.
|
|
* Starts a JavaScript CPU profile with an optional label.
|
|
*/
|
|
profile(label?: string): void;
|
|
/**
|
|
* This method does not display anything unless used in the inspector.
|
|
* Stops the current JavaScript CPU profiling session if one has been started and prints the report to the Profiles panel of the inspector.
|
|
*/
|
|
profileEnd(label?: string): void;
|
|
/**
|
|
* This method does not display anything unless used in the inspector.
|
|
* Adds an event with the label `label` to the Timeline panel of the inspector.
|
|
*/
|
|
timeStamp(label?: string): void;
|
|
}
|
|
|
|
var console: Console;
|
|
|
|
namespace NodeJS {
|
|
interface ConsoleConstructorOptions {
|
|
stdout: WritableStream;
|
|
stderr?: WritableStream;
|
|
ignoreErrors?: boolean;
|
|
colorMode?: boolean | 'auto';
|
|
inspectOptions?: InspectOptions;
|
|
}
|
|
|
|
interface ConsoleConstructor {
|
|
prototype: Console;
|
|
new(stdout: WritableStream, stderr?: WritableStream, ignoreErrors?: boolean): Console;
|
|
new(options: ConsoleConstructorOptions): Console;
|
|
}
|
|
|
|
interface Global {
|
|
console: typeof console;
|
|
}
|
|
}
|
|
}
|
|
|
|
export = console;
|
|
}
|