Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

doc-chomp

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

doc-chomp

Doc Chomp chomps on your document literals

  • 1.1.0
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
293
increased by463.46%
Maintainers
1
Weekly downloads
 
Created
Source

🍴 Doc Chomp

npm doc-chomp Build Status codecov

Doc Chomp chomps on your document literals

Usage

Doc Chomp is useful for keeping nice indentation outside ES6 template literals, while making them internally clean and consistent.

Automatic

The simplest way to use Doc Chomp is to tag a string!

const DocChomp = require('doc-chomp');

let chompedString = DocChomp`
  This string will be trimmed such that all indentation matches this line

  * Extra indentation is supported just fine
    * No problem! 👌🏼

  The line after the DocChomp call shouldn't be used, or Doc Chomp will complain!
  `

function compareStrings() {
  if (chompedString) {
    return chompedString === DocChomp`
      This string will be trimmed such that all indentation matches this line

      * Extra indentation is supported just fine
        * No problem! 👌🏼

      The line after the DocChomp call shouldn't be used, or Doc Chomp will complain!
      `;
  }
}

compareStrings(); // true!

In this example, chompedString will have two space characters trimmed from each line, and the other one will have six removed from each line.

With this usage, the first blank line (adjacent to DocChomp) is removed, and no text may be added on that line as DocChomp. If text was accepted here, Doc Chomp couldn't make a good choice about spacing! If you need to put text on that line, you can use the manual modes below!

Manual

In both of these modes, note that if the line DocChomp is on is blank, it will be omitted from the output, and line numbers begin at the next line.

Indentation line

If passed a number, Doc Chomp will detect the indentation from that line of the input.

function mcGuffin() {
  if (this.glazed) {
    return chompedString === DocChomp(2)`This string will have six space characters removed from the start of each line

      * Because this line is defined as line 2, and used for indentation detection
        * 👌🏼
      `;
  } else {
    return chompedString === DocChomp(2)`
      This is the "first" line (line 0), according to Doc Chomp, because the above line is blank.

      * Which means this is line 2, and used for indentation detection
        * No problem! 👌🏼
      `;
  }
}
Indentation string

If passed a string, Doc Chomp will remove exactly that indentation from each line.

function mcGuffin() {
  if (this.glazed) {
    return chompedString === DocChomp('      ')`This string will have six space characters removed from the start of each line

      * Extra indentation is supported just fine
        * No problem! 👌🏼
      `;
  } else {
    return chompedString === DocChomp('\t\t\t')`This string will have three tab characters removed from the start of each line

			* Extra indentation is supported just fine
				* No problem! 👌🏼
			`;
  }
}

FAQs

Package last updated on 20 Oct 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc