js-log-lib
Version:
浏览器和 node 共用的 log 样式,行为控制工具,可以自定义输出样式,其核心原理是采用了 ANSI 指令以及 css 属性,更多用法可以参照 ANSI 的详细介绍
43 lines (42 loc) • 1.88 kB
TypeScript
import { IOpts, IGlobalOpts, IColorMode, IColorType, IRGB, IColor, ITextStyle, IMoveParams, IColorStr, ICursor } from "./types";
declare class ANSI {
moveTo: (opts: IMoveParams) => string;
scrollTo: (row: number) => string;
getCursor: (cursor: ICursor) => string;
getColorMode: (mode: IColorMode) => string;
getColorType: (type: IColorType) => string;
getRGB: (options: Partial<IRGB>) => string;
getColor: (color: IColorStr) => string;
getTextStyle: (textStyle: ITextStyle) => string;
getANSI: (params: string, isStyle?: boolean) => string;
reset: () => string;
}
export declare class JSLog extends ANSI {
readonly stylePlaceholder = "%c";
isNode: boolean;
private globalOpts;
constructor(globalOpts?: IGlobalOpts);
mixins(opts: IGlobalOpts): Partial<{
text: string;
reset: boolean;
type: string;
split: boolean;
color: IColor | IColor[];
textStyle: "reset" | "bold" | "dim" | "italic" | "underline" | "inverse" | "hidden" | "strikethrough" | "noBold" | "noItalic" | "noUnderline" | "noBlink" | "noInverse" | "noHidden" | "noStrikethrough" | ("reset" | "bold" | "dim" | "italic" | "underline" | "inverse" | "hidden" | "strikethrough" | "noBold" | "noItalic" | "noUnderline" | "noBlink" | "noInverse" | "noHidden" | "noStrikethrough")[];
cursor: "savePosition" | "restorePosition" | "reportPosition" | "toStart" | "toLineStart" | "toLineEnd" | "eraseDisplay" | "eraseLine";
move: IMoveParams;
scroll: number;
style: Partial<CSSStyleDeclaration>;
}>;
clear(): void;
log: (...args: IOpts[]) => this;
private createQueue;
private formate;
private formatCursor;
private formatText;
private formatColor;
private formatStyle;
private logFn;
checkOptions(opts?: IGlobalOpts): void;
}
export default JSLog;