stringd-colors
TypeScript icon, indicating that this package has built-in type declarations

1.10.0 • Public • Published

stringd-colors

Extends a stringd object with ansi styles

Features

  • Supports stringd parsing functionality
  • Extends any object with styles defined here

NPM Version NPM Downloads

NPM

Installing

Via NPM:

npm install stringd-colors

Usage

import cStringd from 'stringd-colors';

cStringd(
  ':{bgcolor(green)}:{color(red)}:{greeting}:{color:close(red)}:{bgcolor:close(green)}',
  { greeting: 'Hello, World' }
);

Result

StringD Colors

API

cStringd(template[, objects])

Parse the template with the colors in cStringd.raw and variables in objects if provided

cStringd(':{color(green)}Hi There:{color:close(green)}');
// '\u001b[32mHi There\u001b[39m'

cStringd.extend([objects])

Return an extension of object with cStringd.raw, hence appending the ansi colors to the object, the absence of object would return cStringd.raw

const stringd = require('stringd');
const cStringd = require('stringd-colors');
stringd(':{color(green)}:{name}:{color:close(green)}', cStringd.extend({name: 'Jon Bellion'}));
// '\u001b[32mJon Bellion\u001b[39m'

cStringd.raw

An object for stringd parsing of ansi styles defined here

Handles

color

This handle, without a specific style specification, selects a random foreground color or modifier.

":{color}" // Random color
":{color(red)}" // Specifically the color red
":{color(underline)}" // Underline
":{color(green, bold)}" // Green foreground and underline

color:close

This handle, without a specific style specification, defaults to closing all foreground colors

":{color:close}" // Close foreground colors
":{color:close(yellow)}" // Close the active yellow style
":{color:close(hidden)}" // Close the hidden modifier

bgcolor

This handle, without a specific style specification, selects a random background color or modifier.

":{bgcolor}" // Random background color
":{bgcolor(cyan)}" // Specifically the color cyan
":{bgcolor(bold)}" // bold
":{bgcolor(yellow, underline)}" // Yellow background and underline

bgcolor:close

This handle, without a specific style specification, defaults to closing all background colors

":{bgcolor:close}" // Close background colors
":{bgcolor:close(magenta)}" // Close the active magenta style
":{bgcolor:close(strikethrough)}" // Close the strikethrough modifier

color:reset

This special handle, closes all ANSI manipulations.

Styles

ANSI style documentation here

Modifiers

  • color(bold)
  • color(dim)
  • color(italic)
  • color(underline)
  • color(inverse)
  • color(hidden)
  • color(strikethrough)
  • color(visible)

Modifiers are also accessible on bgcolor:

Colors

  • color(black)
  • color(red)
  • color(green)
  • color(yellow)
  • color(blue)
  • color(magenta)
  • color(cyan)
  • color(white)
  • color(gray)
  • color(redBright)
  • color(greenBright)
  • color(yellowBright)
  • color(blueBright)
  • color(magentaBright)
  • color(cyanBright)
  • color(whiteBright)

Background colors

  • bgcolor(black)
  • bgcolor(red)
  • bgcolor(green)
  • bgcolor(yellow)
  • bgcolor(blue)
  • bgcolor(magenta)
  • bgcolor(cyan)
  • bgcolor(white)
  • bgcolor(blackBright)
  • bgcolor(redBright)
  • bgcolor(greenBright)
  • bgcolor(yellowBright)
  • bgcolor(blueBright)
  • bgcolor(magentaBright)
  • bgcolor(cyanBright)
  • bgcolor(whiteBright)

Development

Building

Feel free to clone, use in adherance to the license. Pull requests are very much welcome.

git clone https://github.com/miraclx/stringd-colors.git
cd stringd-colors
npm install
# hack on code
npm test

Testing

Tests are executed with Jest. To use it, simple run npm install, it will install Jest and its dependencies in your project's node_modules directory followed by npm test.

To run the tests:

npm install
npm test

License

Apache 2.0 © Miraculous Owonubi (@miraclx) <omiraculous@gmail.com>

Dependencies (2)

Dev Dependencies (4)

Package Sidebar

Install

npm i stringd-colors

Weekly Downloads

776

Version

1.10.0

License

Apache-2.0

Unpacked Size

22.5 kB

Total Files

5

Last publish

Collaborators

  • miraclx