UNPKG

@catladder/cli

Version:

Panter cli tool for cloud CI/CD and DevOps

66 lines (65 loc) 2.96 kB
import type { CommandInstance } from "vorpal"; type AnyMessagesFn = (message?: any, ...optionalParams: any[]) => void; type StringMessagesFn = (message?: string, ...optionalParams: string[]) => void; type AnyMessageFn = (message?: any) => void; type StringMessageFn = (message?: string) => void; type StringMessageSpreadFn = (...message: string[]) => void; type AnyMessageSpreadFn = (...message: any[]) => void; type SomeKindOfLogFn = AnyMessagesFn | StringMessagesFn | AnyMessageFn | StringMessageFn | StringMessageSpreadFn | AnyMessageSpreadFn; type HasSomeKindOfLogMethod = { log: SomeKindOfLogFn; }; /** * Something that has a .log method taking a string argument. * * null and undefined will fall back to console.log. */ export type LoggerCmdInstance = CommandInstance | Console | HasSomeKindOfLogMethod | null | undefined; type LinesArgItem = string | number | boolean | Date | RegExp | null | undefined; type LinesArg = LinesArgItem | LinesArgItem[]; /** * Logs multiple lines using the log method of the provided {@link LoggerCmdInstance}. * * Line items that are `null` or `undefined` are logged as empty lines. * * @param cmd - The logger instance to use. If `null` or `undefined`, `console` will be used. * * @example * ```ts * logLines(cmd, "line 1", "line 2", null, "line 3"); * logLines(cmd, ...linesArray); // arrays can be spread into the function * logLines(cmd, linesArray); // but it will flatten the plain array for convenience * ``` */ export declare function logLines(cmd?: LoggerCmdInstance, ...lines: LinesArg[]): void; /** * Logs an error message using the log method of the provided {@link LoggerCmdInstance}. * * Line items that are `null` or `undefined` are logged as empty lines. * * @example * ```ts * logError(cmd, "Message"); * logError(cmd, "Message", "Additional message"); * logError(cmd, "Message", "Additional message", "Another additional message line"); * logError(cmd, "Message", ...additionalMessages); // arrays can be spread into the function * logError(cmd, "Message", additionalMessages); // but it will flatten the plain array for convenience * ``` */ export declare const logError: (cmd: LoggerCmdInstance, message: string, ...additionalMessages: LinesArg[]) => void; /** * Logs a warning message using the log method of the provided {@link LoggerCmdInstance}. * * Line items that are `null` or `undefined` are logged as empty lines. * * @example * ```ts * logWarning(cmd, "Message"); * logWarning(cmd, "Message", "Additional message"); * logWarning(cmd, "Message", "Additional message", "Another additional message line"); * logWarning(cmd, "Message", ...additionalMessages); // arrays can be spread into the function * logWarning(cmd, "Message", additionalMessages); // but it will flatten the plain array for convenience * ``` */ export declare const logWarning: (cmd: LoggerCmdInstance, message: string, ...additionalMessages: LinesArg[]) => void; export {};