Doc Chomp chomps on your document literals
npm install doc-chomp !doc-chomp  
Doc Chomp chomps on your document literals
Doc Chomp is useful for keeping nice indentation outside ES6 template literals, while making them internally clean and consistent.
The simplest way to use Doc Chomp is to tag a string!
``javascript
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!
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.
`javascriptThis string will have six space characters removed from the start of each line
function mcGuffin() {
if (this.glazed) {
return chompedString === DocChomp(2)
* 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.
`javascriptThis string will have six space characters removed from the start of each line
function mcGuffin() {
if (this.glazed) {
return chompedString === DocChomp(' ')
* Extra indentation is supported just fine
* No problem! 👌🏼
;This string will have three tab characters removed from the start of each line
} else {
return chompedString === DocChomp('\t\t\t')
* Extra indentation is supported just fine
* No problem! 👌🏼
;``
}
}