Remove indentation from multiline strings, e.g. ones that were created with template literals
npm install noindentnoindentnoindent cleans out the indentation,
typescript
import noindent from 'noindent'
(() => {
const result = noindent(
)
})()
`
produces result (whitespaces and line breaks that
are preserved are displayed as symbols):
`
Example·input⏎
⏎
Usually,·this·would·result·in·a·string⏎
that·contains·lots·of·unwanted·whitespaces⏎
⏎
··Which·can·lead·to·unwanted·results·if⏎
··the·strings·are·used·by·whitespace-sensitive⏎
··code⏎
⏎
Or·if·the·output·is·used·as·text·where⏎
whitespace·is·visible.
`
Note that further indentations, i.e. blocks of text that
are further offset from the rest of the text, are preserved. Also,
if the string is ended in a last line which only contains spaces, this
line is omitted.
Installation
Install with yarn add noindent or npm i noindent --save,
then import with import noindent from 'noindent'
or const noindent = require('noindent').
Corner Cases
Various alternative syntax applications should work as well. The following
code snippets all produce the output
`
Test1⏎
Test2⏎
··Test3
`
$3
`typescript
import noindent from 'noindent'
(() => {
const result = noindent(Test1
)
})()
`
$3
`typescript
import noindent from 'noindent'
(() => {
const result = noindent(
)
})()
``