@shapilev/console-step
v1.0.9
Published
Create visually appealing console.log messages with ease
Downloads
7
Maintainers
Readme
Console Step
Console Step is an npm library that enhances your console logs by making them visually appealing. It provides a structured and colorful way to log messages, objects, arrays, and more, with different levels and color varieties.
Table of Contents
Introduction
Console Step allows you to create step-based logs with nested levels and a variety of styles. It is particularly useful for applications that require structured and easy-to-read console output, such as CLI tools and development logging.
Installation
To install ConsoleStep, use npm:
npm install @shapilev/console-step
Features
- Create Steps: Create steps with different values and styles.
- Nested Steps: Create nested steps to represent hierarchical data.
- Colored Output: Use different colors for different types of messages.
- Object and Array Logging: Log objects and arrays with appropriate formatting.
- Paragraph Logging: Break long text into paragraphs for better readability.
Usage
import { ConsoleStep, StepVariety } from "@shapilev/console-step";
const fetchToServer = () => false;
new ConsoleStep("Ping server").logAfter((step) => {
if(fetchToServer()) {
step.createStep("Pong!", StepVariety.Success);
} else {
step.createStep("Server is down!", StepVariety.Error);
};
})
new ConsoleStep("AI Summary Request").logAfter((step) => {
step.createStep("Model: GPT-3.5-turbo");
step.createStep("Task: Summarize article");
step.createStep("Language: English");
step.createStep("Temperature: 0.5");
});
new ConsoleStep("AI Summary Response").logAfter((step) => {
step.createStepObject({
title: "OpenAI Released GPT-4o model",
pricing: 0.0002,
description:
"Some relatively short text about what is the GPT-4o model about",
url: "https://openai.com/blog/gpt-4o/",
});
});
Methods
createStep
createStep(value: string | boolean | number, variety?: StepVariety, level?: number): ConsoleStep
- value: The message or value for the step.
- variety: (Optional) The style variety for the step. Default is StepVariety.Default.
- level: (Optional) The level of nesting for the step. Default is the current level.
createStepParagraph
Creates a step with a long text, breaking it into paragraphs.
createStepParagraph(text: string, variety?: StepVariety): ConsoleStep
- text: The long text to be logged.
- variety: (Optional) The style variety for the text. Default is StepVariety.Default.
createStepObject
Logs an object with a formatted output.
createStepObject(obj: object, pointer?: ConsoleStep): void
- obj: The object to be logged.
- pointer: (Optional) The parent step. Default is the current step.
createStepArray
Logs an array with a formatted output.
createStepArray(arr: (object | boolean | number | string)[], pointer?: ConsoleStep): void
- arr: The array to be logged.
- pointer: (Optional) The parent step. Default is the current step.
log
Logs the current step and all nested steps to the console.
log(): void
logAfter
Logs the steps after executing a callback.
logAfter<T>(callback: (step: ConsoleStep) => NonPromise<T>): NonPromise<T>
- callback: A function that performs actions and returns a result.
logAfterAsync
Logs the steps after executing an asynchronous callback.
logAfterAsync<T>(callback: () => Promise<T>): Promise<T>
- callback: An asynchronous function that performs actions and returns a result.
StepVariety
An enum of various colors to use when logging texts
export enum StepVariety {
Default = 'default',
Error = 'redBright',
Success = 'greenBright',
Info = 'blueBright',
Warning = 'yellowBright',
ObjectBrackets = 'magentaBright',
ArrayBrackets = 'cyanBright',
}