JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 102816
  • Score
    100M100P100Q162689F
  • License MIT

Parse strings containing ANSI style characters.

Package Exports

  • ansi-parser

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ansi-parser) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

ansi-parser

Patreon PayPal AMA Version Downloads Get help on Codementor

Parse strings containing ANSI style characters.

☁️ Installation

$ npm i --save ansi-parser

📋 Example

// Dependencies
var AnsiParser = require("ansi-parser");

// Parse the ANSI input
console.log(AnsiParser.parse("\u001b[1m\u001b[38;5;231mHello\u001b[0m\u001b[22m World"));
// [
//   {
//       style: "\u00\u001b[1m\u001b[38;5;231",
//       content: "H"
//   },
//   {
//      style: "\u00\u001b[1m\u001b[38;5;231",
//      content: "e"
//   },
//   ...
// ]

// Remove ANSI styles
console.log(AnsiParser.removeAnsi("\u001b[1m\u001b[38;5;231mHello\u001b[0m\u001b[22m World"));
// => "Hello World"

📝 Documentation

parse(input)

Parses the string containing ANSI styles.

Params

  • String input: The input string.

Return

  • Array An array of object like below:

    [
      {
          style: "\u00\u001b[1m\u001b[38;5;231",
          content: "H"
      },
      {
         style: "\u00\u001b[1m\u001b[38;5;231",
         content: "e"
      },
      ...
    ]

getAtIndex(input, noAnsi, index)

Returns the content and ANSI style at known index.

Params

  • String input: The input string.
  • String noAnsi: The input string without containing ansi styles.
  • Number index: The character index.

Return

  • Object An object containing the following fields:
  • style (String): The ANSI style at provided index.
  • content (String): The content (character) at provided index.

removeAnsi(input)

Removes ANSI styles from the input string.

Params

  • String input: The input string.

Return

  • String The string without ANSI styles.

stringify(arr)

Stringifies an array of objects in the format defined by AnsiParser.

Params

  • Array arr: The input array.

Return

  • String The stringified input array.

addChar(arr, c, s, e)

Adds a new char into array.

Params

  • Array arr: The input array.
  • String c: The char to add.
  • String s: ANSI start style.
  • String e: ANSI end style.

😋 How to contribute

Have an idea? Found a bug? See how to contribute.

💰 Donations

Another way to support the development of my open-source modules is to set up a recurring donation, via Patreon. 🚀

PayPal donations are appreciated too! Each dollar helps.

Thanks! ❤️

💫 Where is this library used?

If you are using this library in one of your projects, add it in this list. ✨

  • bug-killer—Simple way to log messages in stdout or other stream.
  • cli-box—A library to generate ASCII boxes via NodeJS
  • cli-cal (by Falco Nogatz)—Github-like calendar graph for the CLI
  • cli-gh-cal—GitHub like calendar graphs in command line.
  • ghcal—See the GitHub contributions calendar of a user in the command line.
  • git-stats-colors—Adds colors to the git-stats inputs.
  • github-stats—Visualize stats about GitHub users and projects in your terminal.
  • idea—A lightweight CLI tool and module for keeping ideas in a safe place quick and easy.
  • jupyter-dashboards-server (by Jupyter Development Team)—Serves Jupyter notebooks as standalone dashboards
  • le-table—Another NodeJS module for creating ASCII tables.
  • overlap—Overlap two strings that contain new lines. Useful for ASCII drawings.
  • tilda—Tiny module for building command line tools.

📜 License

MIT © Ionică Bizău