@maddimathon/utility-typescript
Version:
TypeScript utilities (types, functions, classes) to use in various projects.
651 lines (650 loc) • 27.4 kB
TypeScript
/**
* @since 0.1.1
*
* @packageDocumentation
*/
/*!
* @maddimathon/utility-typescript@2.0.0-beta.5
* @license MIT
*/
import type { ConsoleUtility, RecursivePartial, TupleShift } from '../../types/index.js';
import { MessageMaker } from '../../classes/MessageMaker.js';
import { VariableInspector } from '../../classes/VariableInspector.js';
import { NodeConsole_Prompt } from './NodeConsole/NodeConsole_Prompt.js';
export * from './NodeConsole/NodeConsole_Error.js';
export * from './NodeConsole/NodeConsole_Prompt.js';
/**
* A configurable class for outputting to console within node.
*
* Includes formatting and interactive utilities.
*
* @see {@link MessageMaker} Used to format strings for output. Initialized in the constructor.
*
* @since 0.1.1
* @since 2.0.0-alpha — Prompters moved to a {@link NodeConsole_Prompt} property instead.
*
* @experimental
*/
export declare class NodeConsole implements ConsoleUtility<[undefined | RecursivePartial<NodeConsole.MsgArgs>]> {
#private;
/**
* Prints sample output to the console via NodeConsole.log().
*
* @category Static
*
* @returns An example, constructed instance used for the sample.
*/
static sample(args?: RecursivePartial<NodeConsole.Args & {
debug: boolean;
}>): Promise<NodeConsole>;
/**
* Samples the interactive methods.
*
* @category Static
*/
static sampleInteractivity(nc?: NodeConsole, args?: RecursivePartial<NodeConsole.Args & {
debug: boolean;
}>): Promise<NodeConsole>;
/**
* A local instance of {@link MessageMaker} initialized using
* `{@link NodeConsole.Args}.msgMaker`.
*
* @category Utilities
*/
readonly msg: MessageMaker;
/**
* Public alias for internal prompting methods.
*
* @category Interactive
*/
readonly prompt: NodeConsole_Prompt;
/**
* A completed args object.
*
* @category Args
*/
readonly args: NodeConsole.Args;
/**
* @category Args
*
* @source
*/
get ARGS_DEFAULT(): NodeConsole.Args;
/**
* Build a complete args object.
*
* @category Args
*/
buildArgs(args?: RecursivePartial<NodeConsole.Args>): NodeConsole.Args;
/**
* Gets the `maxWidth` from {@link NodeConsole.args}, or default (`120`) if
* none is set.
*
* @category Args
*/
get maxWidth(): number;
constructor(args?: RecursivePartial<NodeConsole.Args>);
/**
* Runs given string as a terminal command, optional with arguments.
*
* @category Terminal
*
* @param cmd Command to run in the terminal.
* @param cmdArgs Optional. Passed to {@link NodeConsole.cmdArgs}. Default `{}`.
* @param literalFalse Optional. Passed to {@link NodeConsole.cmdArgs}. Default `undefined`.
* @param equals Optional. Passed to {@link NodeConsole.cmdArgs}. Default `undefined`.
*/
cmd(cmd: string, cmdArgs?: Parameters<NodeConsole['cmdArgs']>[0], literalFalse?: Parameters<NodeConsole['cmdArgs']>[1], equals?: Parameters<NodeConsole['cmdArgs']>[2]): string;
/**
* Formats an arguments object into a command-line string of arguments.
*
* @category Terminal
*
* @param obj Arguments to translate.
* @param literalFalse Optional. If true, false arguments are converted to
* `--key=false`. Otherwise false args are `--no-key`.
* Default false.
* @param equals Optional. Whether argument keys should include an
* equals character (e.g., `--key=false`). Default true.
*/
cmdArgs(obj: {
[key: string]: boolean | number | string | null;
}, literalFalse?: boolean, equals?: boolean): string;
/**
* @since 2.0.0-beta.3
*/
protected _bulkOutput(via: ConsoleUtility.OutputMethod, msgs: MessageMaker.BulkMsgs, args?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.BulkMsgArgs>): void;
/**
* Output longer messages with per-section formatting.
*
* @category Outputters
*
* @since 2.0.0-beta.3
*/
get bulk(): NodeConsole.BulkMethods;
/**
* @since 2.0.0-beta.3
*/
protected _timestampOutput(via: ConsoleUtility.OutputMethod, msg: Parameters<MessageMaker['timestamped']>[0], args?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.TimestampedArgs>): void;
/**
* Output messages (long or short) prepended with a timestamp.
*
* @category Outputters
*
* @since 2.0.0-beta.3
*/
get timestamp(): NodeConsole.TimestampMethods;
/**
* Output an inspection of the given variable to the console, with a timestamp if desired.
*
* @category Outputters
*
* @since 2.0.0-beta.3
*/
get vi(): NodeConsole.VarDumpMethods;
/**
* Base method for outputting the given message to the console.
*
* @category Outputters
*
* @param msg The message to be output. Processed by {@link MessageMaker.msg}.
* @param args Optional. Configuration for the output and message, if any.
*
* @see {@link MessageMaker.msg} Used to format the message.
*
* @since 2.0.0-beta.3
*/
protected output(via: ConsoleUtility.OutputMethod, msg: string | string[], args?: RecursivePartial<NodeConsole.MsgArgs>): void;
/**
* Outputs the given message to the console.
*/
log(...params: TupleShift<Parameters<typeof this.output>>): void;
/**
* Outputs the given message to the console.
*
* @category Outputters
*
* @see {@link MessageMaker.msg} Used to format the message.
*
* @deprecated 2.0.0-beta.3 — Use {@link NodeConsole.bulk.log} instead.
*/
logs(...args: Parameters<NodeConsole['bulk']['log']>): void;
/**
* Outputs the given message to the console prefixed with a timestamp.
*
* @category Outputters
*
* @deprecated 2.0.0-beta.3 — Use {@link NodeConsole.timestamp.log} instead.
*/
timestampLog(...args: Parameters<NodeConsole['timestamp']['log']>): void;
/**
* Outputs the given message to the console prefixed with a timestamp.
*
* @category Outputters
*
* @see {@link NodeConsole.timestamp.log} Used to print the inspection.
*
* @see {@link VariableInspector} Used to inspect the variable.
* @see {@link VariableInspector.stringify} Used to inspect the variable.
*
* @deprecated 2.0.0-beta.3 — Use {@link NodeConsole.vi.timestamp.log} instead.
*/
timestampVarDump(...args: Parameters<NodeConsole['vi']['timestamp']['log']>): void;
/**
* Outputs an inspection of the given variable to the console.
*
* @category Outputters
*
* @see {@link NodeConsole.log} Used to print the inspection.
*
* @see {@link VariableInspector} Used to inspect the variable.
* @see {@link VariableInspector.stringify} Used to inspect the variable.
*
* @deprecated 2.0.0-beta.3 — Use {@link NodeConsole.vi.log} instead.
*/
varDump(...args: Parameters<NodeConsole['vi']['log']>): void;
/**
* Outputs a heading string to the console.
*
* @category Outputters (Pre-formatted)
*
* @see {@link MessageMaker.msg} Used to format the message.
*
* @deprecated 2.0.0-beta.3 — Create wrapper functions for more project-specfic formatting to replace this method.
*/
heading(heading: string, level: number, _args?: RecursivePartial<Omit<NodeConsole.MsgArgs & MessageMaker.BulkMsgArgs, "linesIn" | "linesOut">>, via?: ConsoleUtility.OutputMethod): void;
/**
* Outputs a separator string to the console.
*
* @category Outputters (Pre-formatted)
*
* @see {@link MessageMaker.msg} Used to format the message.
*
* @deprecated 2.0.0-beta.3 — Create wrapper functions for more project-specfic formatting to replace this method.
*/
separator(args?: RecursivePartial<NodeConsole.MsgArgs>, via?: ConsoleUtility.OutputMethod): void;
/**
* Alias for {@link NodeConsole.log} with `via: "debug"` argument.
*
* @category Aliases
*/
debug(...params: TupleShift<Parameters<typeof this.output>>): void;
/**
* Alias for {@link NodeConsole.logs} with `via: "debug"` argument.
*
* @category Aliases
*
* @deprecated 2.0.0-beta.3 — Use {@link NodeConsole.bulk.debug} instead.
*/
debugs(...args: Parameters<NodeConsole['bulk']['debug']>): void;
/**
* Alias for {@link NodeConsole.log} with `via: "error"` argument.
*
* @category Aliases
*
* @since 2.0.0-beta.3
*/
error(...params: TupleShift<Parameters<typeof this.output>>): void;
/**
* Outputs a level-one heading string to the console.
*
* Alias for {@link MessageMaker.heading}.
*
* @category Outputters (Pre-formatted)
*
* @deprecated 2.0.0-beta.3 — Create wrapper functions for more project-specfic formatting to replace this method.
*/
h1(heading: string, args?: RecursivePartial<NodeConsole.MsgArgs>): void;
/**
* Outputs a level-two heading string to the console.
*
* Alias for {@link MessageMaker.heading}.
*
* @category Outputters (Pre-formatted)
*
* @deprecated 2.0.0-beta.3 — Create wrapper functions for more project-specfic formatting to replace this method.
*/
h2(heading: string, args?: RecursivePartial<NodeConsole.MsgArgs>): void;
/**
* Outputs a level-three heading string to the console.
*
* Alias for {@link MessageMaker.heading}.
*
* @category Outputters (Pre-formatted)
*
* @deprecated 2.0.0-beta.3 — Create wrapper functions for more project-specfic formatting to replace this method.
*/
h3(heading: string, args?: RecursivePartial<NodeConsole.MsgArgs>): void;
/**
* Alias for {@link NodeConsole.verbose}.
*
* @category Aliases
*
* @since 2.0.0-beta.3
*/
info(...params: Parameters<typeof this.verbose>): void;
/**
* Alias for {@link NodeConsole.separator}.
*
* @category Aliases
*
* @deprecated 2.0.0-beta.3 — Create wrapper functions for more project-specfic formatting to replace this method.
*/
sep(...params: Parameters<NodeConsole['separator']>): void;
/**
* Alias for {@link NodeConsole.log} with `via: "info"` argument.
*
* @category Aliases
*/
verbose(...params: TupleShift<Parameters<typeof this.output>>): void;
/**
* Alias for {@link NodeConsole.log} with `via: "warn"` argument.
*
* @category Aliases
*/
warn(...params: TupleShift<Parameters<typeof this.output>>): void;
/**
* Alias for {@link NodeConsole.logs} with `via: "warn"` argument.
*
* @category Aliases
*
* @deprecated 2.0.0-beta.3 — Use {@link NodeConsole.bulk.warn} instead.
*/
warns(...args: Parameters<NodeConsole['bulk']['warn']>): void;
}
/**
* Used only for {@link NodeConsole}.
*
* @since 0.1.1
* @since 2.0.0-alpha — Removed CmdErrorHandler type.
*/
export declare namespace NodeConsole {
/**
* Optional configuration for {@link NodeConsole}.
*
* @since 0.1.1
*/
type Args = {
argsRecursive: true;
/**
* Optional overrides used when initializing {@link MessageMaker}.
*/
msgMaker: RecursivePartial<MessageMaker.Args>;
prompt: NodeConsole_Prompt.Args;
/**
* An override for the output of this
*/
separator: null | [string | string[]] | [string | string[], undefined | Partial<MsgArgs>];
/**
* Default colour slugs for formatting prompts.
*/
styleClrs: {
[K in "disabled" | "error" | "help" | "highlight"]: MessageMaker.Colour;
};
/**
* Optional overrides used when initializing {@link VariableInspector}.
*/
varInspect: Partial<VariableInspector.Args>;
};
/**
* @since 2.0.0-beta.3
*/
interface BulkMethods {
/**
* Alias for {@link NodeConsole.bulk.log} with `via: "debug"` argument.
*
* @see {@link MessageMaker.bulk} Used to format the message.
*
* @param msgs The messages to be output. Processed by {@link MessageMaker.bulk}.
* @param args Optional. Configuration for the output and message, if any.
*
* @since 2.0.0-beta.3 — Renamed from NodeConsole.debugs to NodeConsole.bulk.debug
*/
readonly debug: (msgs: MessageMaker.BulkMsgs, args?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.BulkMsgArgs>) => void;
/**
* Alias for {@link NodeConsole.bulk.log} with `via: "error"` argument.
*
* @see {@link MessageMaker.bulk} Used to format the message.
*
* @param msgs The messages to be output. Processed by {@link MessageMaker.bulk}.
* @param args Optional. Configuration for the output and message, if any.
*
* @since 2.0.0-beta.3
*/
readonly error: (msgs: MessageMaker.BulkMsgs, args?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.BulkMsgArgs>) => void;
/**
* Outputs the given message to the console.
*
* @see {@link MessageMaker.bulk} Used to format the message.
*
* @param msgs The messages to be output. Processed by {@link MessageMaker.bulk}.
* @param args Optional. Configuration for the output and message, if any.
*
* @since 2.0.0-beta.3 — Renamed from NodeConsole.logs to NodeConsole.bulk.log
*/
readonly log: (msgs: MessageMaker.BulkMsgs, args?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.BulkMsgArgs>) => void;
/**
* Alias for {@link NodeConsole.bulk.log} with `via: "info"` argument.
*
* @see {@link MessageMaker.bulk} Used to format the message.
*
* @param msgs The messages to be output. Processed by {@link MessageMaker.bulk}.
* @param args Optional. Configuration for the output and message, if any.
*
* @since 2.0.0-beta.3
*/
readonly verbose: (msgs: MessageMaker.BulkMsgs, args?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.BulkMsgArgs>) => void;
/**
* Alias for {@link NodeConsole.bulk.log} with `via: "warn"` argument.
*
* @see {@link MessageMaker.bulk} Used to format the message.
*
* @param msgs The messages to be output. Processed by {@link MessageMaker.bulk}.
* @param args Optional. Configuration for the output and message, if any.
*
* @since 2.0.0-beta.3 — Renamed from NodeConsole.warns to NodeConsole.bulk.warn
*/
readonly warn: (msgs: MessageMaker.BulkMsgs, args?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.BulkMsgArgs>) => void;
}
/**
* Error thrown from the terminal in {@link NodeConsole.cmd}.
*
* @since 0.1.1
*/
type CmdError = {
status: number;
signal: number | null;
output?: string[];
pid: number;
stdout?: string;
stderr?: string;
};
/**
* Optional configuration for {@link NodeConsole.log}.
*
* @since 0.1.1
* @since 2.0.0-beta.3 — Removed `via` property.
*/
type MsgArgs = Partial<MessageMaker.MsgArgs>;
/**
* @since 2.0.0-beta.3
*/
interface TimestampMethods {
/**
* Alias for {@link NodeConsole.timestamp.log} with `via: "debug"` argument.
*
* @see {@link MessageMaker.timestamped} Used to format the message.
*
* @param msg The message to be output. Processed by {@link MessageMaker.msg}.
* @param args Optional. Configuration for the output and message, if any.
*
* @since 2.0.0-beta.3
*/
readonly debug: (msg: Parameters<MessageMaker['timestamped']>[0], args?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.TimestampedArgs>) => void;
/**
* Alias for {@link NodeConsole.timestamp.log} with `via: "error"` argument.
*
* @see {@link MessageMaker.timestamped} Used to format the message.
*
* @param msg The message to be output. Processed by {@link MessageMaker.msg}.
* @param args Optional. Configuration for the output and message, if any.
*
* @since 2.0.0-beta.3
*/
readonly error: (msg: Parameters<MessageMaker['timestamped']>[0], args?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.TimestampedArgs>) => void;
/**
* Outputs the given message to the console prefixed with a timestamp.
*
* @see {@link MessageMaker.timestamped} Used to format the message.
*
* @param msg The message to be output. Processed by {@link MessageMaker.msg}.
* @param args Optional. Configuration for the output and message, if any.
*
* @since 2.0.0-beta.3 — Renamed from NodeConsole.timestampLog to NodeConsole.timestamp.log
*/
readonly log: (msg: Parameters<MessageMaker['timestamped']>[0], args?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.TimestampedArgs>) => void;
/**
* Alias for {@link NodeConsole.timestamp.log} with `via: "info"` argument.
*
* @see {@link MessageMaker.timestamped} Used to format the message.
*
* @param msg The message to be output. Processed by {@link MessageMaker.msg}.
* @param args Optional. Configuration for the output and message, if any.
*
* @since 2.0.0-beta.3
*/
readonly verbose: (msg: Parameters<MessageMaker['timestamped']>[0], args?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.TimestampedArgs>) => void;
/**
* Alias for {@link NodeConsole.timestamp.log} with `via: "warn"` argument.
*
* @see {@link MessageMaker.timestamped} Used to format the message.
*
* @param msg The message to be output. Processed by {@link MessageMaker.msg}.
* @param args Optional. Configuration for the output and message, if any.
*
* @since 2.0.0-beta.3
*/
readonly warn: (msg: Parameters<MessageMaker['timestamped']>[0], args?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.TimestampedArgs>) => void;
}
/**
* @since 2.0.0-beta.3
*/
interface VarDumpMethods {
/**
* Output an inspection of the given variable to the console as debug info.
*
* @see {@link NodeConsole.debug} Used to print the inspection.
*
* @see {@link VariableInspector.stringify} Used to inspect the variable.
*
* @param variable The variable to be inspected.
* @param args Optional. Configuration for the variable inspection and message, if any.
*
* @since 2.0.0-beta.3
*/
readonly debug: (variable: ConstructorParameters<typeof VariableInspector>[0], args?: ConstructorParameters<typeof VariableInspector>[1] & {
msg?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.BulkMsgArgs>;
}) => void;
/**
* Output an inspection of the given variable to the console as error info.
*
* @see {@link NodeConsole.error} Used to print the inspection.
*
* @see {@link VariableInspector.stringify} Used to inspect the variable.
*
* @param variable The variable to be inspected.
* @param args Optional. Configuration for the variable inspection and message, if any.
*
* @since 2.0.0-beta.3
*/
readonly error: (variable: ConstructorParameters<typeof VariableInspector>[0], args?: ConstructorParameters<typeof VariableInspector>[1] & {
msg?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.BulkMsgArgs>;
}) => void;
/**
* Output an inspection of the given variable to the console.
*
* @see {@link NodeConsole.log} Used to print the inspection.
*
* @see {@link VariableInspector.stringify} Used to inspect the variable.
*
* @param variable The variable to be inspected.
* @param args Optional. Configuration for the variable inspection and message, if any.
*
* @since 2.0.0-beta.3 — Renamed from NodeConsole.varDump to NodeConsole.vi.log and updated params.
*/
readonly log: (variable: ConstructorParameters<typeof VariableInspector>[0], args?: ConstructorParameters<typeof VariableInspector>[1] & {
msg?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.BulkMsgArgs>;
}) => void;
/**
* Output an inspection of the given variable to the console as additional info.
*
* @see {@link NodeConsole.verbose} Used to print the inspection.
*
* @see {@link VariableInspector.stringify} Used to inspect the variable.
*
* @param variable The variable to be inspected.
* @param args Optional. Configuration for the variable inspection and message, if any.
*/
readonly verbose: (variable: ConstructorParameters<typeof VariableInspector>[0], args?: ConstructorParameters<typeof VariableInspector>[1] & {
msg?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.BulkMsgArgs>;
}) => void;
/**
* Output an inspection of the given variable to the console as a warning.
*
* @see {@link NodeConsole.warn} Used to print the inspection.
*
* @see {@link VariableInspector.stringify} Used to inspect the variable.
*
* @param variable The variable to be inspected.
* @param args Optional. Configuration for the variable inspection and message, if any.
*/
readonly warn: (variable: ConstructorParameters<typeof VariableInspector>[0], args?: ConstructorParameters<typeof VariableInspector>[1] & {
msg?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.BulkMsgArgs>;
}) => void;
/**
* For outputting var dumps prepended with a timestamp.
*/
readonly timestamp: {
/**
* Alias for {@link NodeConsole.bulk.log} with `via: "debug"` argument.
*
* @see {@link NodeConsole.debug} Used to print the inspection.
*
* @see {@link VariableInspector.stringify} Used to inspect the variable.
*
* @param variable The variable to be inspected.
* @param args Optional. Configuration for the variable inspection and message, if any.
*
* @since 2.0.0-beta.3
*/
readonly debug: (variable: ConstructorParameters<typeof VariableInspector>[0], args?: ConstructorParameters<typeof VariableInspector>[1] & {
msg?: RecursivePartial<NodeConsole.MsgArgs & Omit<MessageMaker.TimestampedArgs, 'time'>>;
time?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.TimestampedArgs['time']>;
}) => void;
/**
* Alias for {@link NodeConsole.bulk.log} with `via: "error"` argument.
*
* @see {@link NodeConsole.error} Used to print the inspection.
*
* @see {@link VariableInspector.stringify} Used to inspect the variable.
*
* @param variable The variable to be inspected.
* @param args Optional. Configuration for the variable inspection and message, if any.
*
* @since 2.0.0-beta.3
*/
readonly error: (variable: ConstructorParameters<typeof VariableInspector>[0], args?: ConstructorParameters<typeof VariableInspector>[1] & {
msg?: RecursivePartial<NodeConsole.MsgArgs & Omit<MessageMaker.TimestampedArgs, 'time'>>;
time?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.TimestampedArgs['time']>;
}) => void;
/**
* Output an inspection of the given variable to the console.
*
* @see {@link NodeConsole.log} Used to print the inspection.
*
* @see {@link VariableInspector.stringify} Used to inspect the variable.
*
* @param variable The variable to be inspected.
* @param args Optional. Configuration for the variable inspection and message, if any.
*
* @since 2.0.0-beta.3 — Renamed from NodeConsole.timestampVarDump to NodeConsole.vi.timestamp.log and updated params.
*/
readonly log: (variable: ConstructorParameters<typeof VariableInspector>[0], args?: ConstructorParameters<typeof VariableInspector>[1] & {
msg?: RecursivePartial<NodeConsole.MsgArgs & Omit<MessageMaker.TimestampedArgs, 'time'>>;
time?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.TimestampedArgs['time']>;
}) => void;
/**
* Alias for {@link NodeConsole.bulk.log} with `via: "info"` argument.
*
* @see {@link NodeConsole.verbose} Used to print the inspection.
*
* @see {@link VariableInspector.stringify} Used to inspect the variable.
*
* @param variable The variable to be inspected.
* @param args Optional. Configuration for the variable inspection and message, if any.
*
* @since 2.0.0-beta.3
*/
readonly verbose: (variable: ConstructorParameters<typeof VariableInspector>[0], args?: ConstructorParameters<typeof VariableInspector>[1] & {
msg?: RecursivePartial<NodeConsole.MsgArgs & Omit<MessageMaker.TimestampedArgs, 'time'>>;
time?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.TimestampedArgs['time']>;
}) => void;
/**
* Alias for {@link NodeConsole.bulk.log} with `via: "warn"` argument.
*
* @see {@link NodeConsole.warn} Used to print the inspection.
*
* @see {@link VariableInspector.stringify} Used to inspect the variable.
*
* @param variable The variable to be inspected.
* @param args Optional. Configuration for the variable inspection and message, if any.
*
* @since 2.0.0-beta.3
*/
readonly warn: (variable: ConstructorParameters<typeof VariableInspector>[0], args?: ConstructorParameters<typeof VariableInspector>[1] & {
msg?: RecursivePartial<NodeConsole.MsgArgs & Omit<MessageMaker.TimestampedArgs, 'time'>>;
time?: RecursivePartial<NodeConsole.MsgArgs & MessageMaker.TimestampedArgs['time']>;
}) => void;
};
}
}