fluent-interface-colors
v3.2.2
Published
JavaScript fluent interface pattern implementation done with coloring for console messages
Downloads
5
Readme
Simple JavaScript fluent interface implementation
Overview
This is a small educational project that:
- Styles and colorizes terminal messages in node.js using ANSI codes,
- Implements a fluent API pattern for simplicity of use,
- Allows easy chained styling of console messages.
Not all possible features are implemented (yet, anyways) - this project is not meant as a replacement for established libraries ...but I won't stop anyone from trying to use it anyways.
- [x] Core text colors,
- [x] Core text styling (bold, italic, strikethrough...),
- [x] Multiple styles/colors per line,
- [x] Additional color codes,
- [x] Background colors
- [x] Bold colors
- [x] ()-less syntax
Usage
- Import the project's code
const colors = require("fluent-interface-colors")
- Start logging messages
colors.red.bold.log("Hello world!")
More
- To use multiple styles per line simply use the .then(message) and .and(message) methods
//Reset style for the next segment
colors.red.bold.then("Hello").blue.italic.log(" world!")
//Keep styling for the next segment
colors.red.bold.and("Hello ").blue.italic.log("world!")
Spaces are not added automatically between strings.
- To preformat a message and have it ready to print from the console (or formatted further) somewhere else, use the format(message) method
const formatted = colors.bold.format("Preformatted message")
console.log(formatted)
//To add onto the message styles simply wrap it in another chain
colors.underline.magenta.log(formatted)
Full list of colors and styles
- Colors:
- black,
- red,
- green,
- yellow,
- blue,
- magenta,
- cyan,
- white.
You can prefix all of the above with:
- b for bold, or bright, (e.g., bgreen),
- bg for background (e. g., bgred),
- bbg for both (e. g. bbgmagenta).
-Styles:
- bold,
- dim,
- italic,
- underline,
- inverse,
- hidden (invisible),
- strikethrough.